/* FKS visual page: stable image-and-copy sections. */
.sg-fks-visual-page.sg-page-ninchi,
.sg-fks-visual-page .entry-body {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.sg-mobile-layout { display: none; }
.sg-desktop-layout { display: block; }

.fks-mobile-story {
	background: linear-gradient(180deg, #f3f8ff 0%, #fff 22%, #f7fbff 100%);
	color: #05244c;
	padding: 20px 0 36px;
}
.fks-mobile-story__hero,
.fks-mobile-story__section {
	background: transparent;
	border: 1px solid #d7e4f5;
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(5, 36, 76, .07);
	margin: 0 auto 18px;
	overflow: hidden;
	width: min(100% - 32px, 680px);
}
.fks-mobile-story__hero {
	border: 0;
	box-shadow: none;
	border-radius: 0;
	margin: 0 auto;
	width: min(100%, 680px);
}
.fks-mobile-story__copy { padding: 26px 22px; }
.fks-mobile-story__copy h1,
.fks-mobile-story__copy h2 {
	border: 0 !important;
	box-shadow: none !important;
	color: #05244c;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-weight: 500;
	line-height: 1.35;
	margin: 0;
}
.fks-mobile-story__copy h1 { color: #123d86; font-size: clamp(31px, 9vw, 44px); }
.fks-mobile-story__copy h2 { font-size: clamp(23px, 6.7vw, 32px); }
.fks-mobile-story__copy p {
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: 16px;
	line-height: 1.85;
	margin: 16px 0 0;
}
.fks-mobile-story__lead { color: #123d86; font-size: 19px !important; font-weight: 600; line-height: 1.6 !important; }
.fks-mobile-story__eyebrow { color: #b88624; font-size: 13px !important; font-weight: 700; letter-spacing: .08em; margin-top: 0 !important; }
.fks-mobile-story img { display: block; height: auto; max-width: 100%; width: 100%; }
.fks-mobile-story__product-pack {
	background: #fff;
	object-fit: contain;
}
.fks-mobile-story__product-pack-wrap { position: relative; }
.sg-fks-visual-page--zh .fks-zh-pack-registration {
	position: absolute;
	top: 4.7%;
	right: 2.6%;
	z-index: 1;
	padding: .12em .25em;
	background: #e2edf3;
	color: #102c69;
	font-family: "Microsoft YaHei", "Noto Sans SC", sans-serif;
	font-size: clamp(8px, 2.05vw, 13px);
	font-weight: 700;
	line-height: 1.15;
	white-space: nowrap;
}
.fks-mobile-story__product-facts {
	aspect-ratio: 3 / 1;
	background: #fff;
	border: 0;
	/* Increase the artwork by five pixels as a whole while preserving its
	 * intrinsic 3:1 proportion. */
	margin: 0 2.5px;
	object-fit: cover;
	object-position: center;
	width: calc(100% - 5px) !important;
}
.sg-fks-visual-page--ja .fks-mobile-story__product-facts {
	/* Lift the supplied off-white Japanese texture to a clean white mobile
	 * background, while keeping the original Japanese artwork and lettering. */
	filter: brightness(1.07) contrast(1.03);
}
.sg-fks-visual-page--zh .fks-mobile-story__product-facts {
	/* Match the Japanese presentation: the visual nearly reaches each edge,
	 * leaving just a five-pixel breathing room. */
	margin-left: 2.5px;
}
.sg-fks-visual-page--zh .fks-mobile-story__copy,
.sg-fks-visual-page--zh .fks-mobile-story__copy h1,
.sg-fks-visual-page--zh .fks-mobile-story__copy h2,
.sg-fks-visual-page--zh .fks-mobile-story__copy p { font-family: "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif; }
.sg-fks-visual-page--zh .fks-mobile-story__copy h1,
.sg-fks-visual-page--zh .fks-mobile-story__copy h2 { font-weight: 600; }

/* The first HTML block immediately following the three-item product facts.
 * It is intentionally isolated so later mobile sections retain their own
 * visual treatment until they are reviewed separately. */
.fks-mobile-story__hero + .fks-mobile-story__section {
	background: #0a3f8f;
	border-color: #0a3f8f;
	box-shadow: none;
}
.fks-mobile-story__hero + .fks-mobile-story__section .fks-mobile-story__copy {
	padding-block: 22px;
}
.fks-mobile-story__hero + .fks-mobile-story__section .fks-mobile-story__copy h2,
.fks-mobile-story__hero + .fks-mobile-story__section .fks-mobile-story__copy p {
	color: #fff;
}
.fks-mobile-story__hero + .fks-mobile-story__section .fks-mobile-story__copy h2 {
	font-size: clamp(15px, 4.8vw, 20px);
	line-height: 1.35;
	white-space: nowrap;
}

/* The next research-introduction block uses a mobile-only vertical profile:
 * portrait, Japanese nameplate, English name, then the editorial biography. */
.fks-mobile-story__hero + .fks-mobile-story__section + .fks-mobile-story__section {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.fks-mobile-researcher {
	margin-top: 24px;
	text-align: center;
}
.fks-mobile-researcher > img {
	width: min(100%, 420px);
	margin: 0 auto;
	object-fit: contain;
}
.fks-mobile-researcher__nameplate {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: min(100%, 230px);
	margin-top: 14px;
	padding: 8px 24px;
	border: 1px solid #b88624;
	color: #b88624;
}
.fks-mobile-researcher__nameplate p,
.fks-mobile-researcher__english,
.fks-mobile-researcher__bio {
	margin: 0 !important;
}
.fks-mobile-researcher__nameplate p {
	font-size: 18px !important;
	font-weight: 600;
	line-height: 1.4 !important;
}
.fks-mobile-researcher__english {
	margin-top: 10px !important;
	color: #b88624;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 17px !important;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.4 !important;
}
.fks-mobile-researcher__bio {
	margin-top: 16px !important;
	color: #05244c;
	font-size: 16px !important;
	line-height: 1.85 !important;
	text-align: left;
}
.fks-mobile-researcher__achievements {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-auto-flow: row;
	align-items: start;
	gap: clamp(10px, 2.6vw, 14px);
	width: calc(100vw - 10px);
	max-width: 560px;
	margin: 24px calc(50% - 50vw + 5px) 0 !important;
	overflow: clip;
}
.fks-mobile-researcher__achievement {
	display: block;
	min-width: 0;
	width: 100% !important;
	max-width: 100%;
	height: auto;
	border: 0;
	border-radius: 0;
	background-color: #fff;
	box-shadow: none;
}
.fks-mobile-researcher__achievement--one {
	grid-column: 1 / -1;
	justify-self: center;
	/* The top tile has the same width as either lower tile. */
	width: calc((100% - clamp(10px, 2.6vw, 14px)) / 2) !important;
}
@media (max-width: 340px) {
	.fks-mobile-researcher__achievements { gap: 8px; }
	.fks-mobile-researcher__achievement--one { width: calc((100% - 8px) / 2) !important; }
}

/* Third mobile block: normal-flow scientific illustration after the copy.
 * No absolute positioning, fixed height, or crop is used, so narrow and
 * non-standard viewports cannot stack the artwork onto the HTML content. */
.fks-mobile-story__hero + .fks-mobile-story__section + .fks-mobile-story__section + .fks-mobile-story__section {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.fks-mobile-story__molecule {
	margin: 18px 0 0;
	width: 100%;
	height: auto;
	object-fit: contain;
}
.fks-mobile-benefits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(10px, 2.6vw, 14px);
	width: calc(100vw - 10px);
	max-width: 560px;
	margin: 24px calc(50% - 50vw + 5px) 0;
	overflow: visible;
}
.fks-mobile-benefits__top {
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	min-width: 0;
}
.fks-mobile-benefit {
	display: block;
	min-width: 0;
	width: 100% !important;
	max-width: 100%;
	height: auto;
	background: #fff;
}
.fks-mobile-benefits__top .fks-mobile-benefit {
	width: calc((100% - clamp(10px, 2.6vw, 14px)) / 2) !important;
	max-width: calc((100% - clamp(10px, 2.6vw, 14px)) / 2);
}

/* Mobile strength section: the original image heading is rebuilt as live HTML;
 * the raster now contains only the three numbered reason cards. */
.fks-mobile-story__section--strength .fks-mobile-story__copy {
	padding-bottom: 20px;
}
.fks-mobile-strength-divider {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 26px 0 16px;
	color: #0b3b82;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: clamp(16px, 4.6vw, 22px);
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}
.fks-mobile-strength-divider::before,
.fks-mobile-strength-divider::after {
	content: "";
	flex: 1 1 0;
	min-width: 12px;
	border-top: 1px solid #0b3b82;
}
.fks-mobile-strength-divider span { flex: 0 1 auto; }
.fks-mobile-strength-cards {
	display: grid;
	gap: 12px;
	width: 100%;
}
.fks-mobile-strength-cards img {
	border-radius: 10px;
	width: 100% !important;
}
.fks-mobile-strength-comparison {
	margin-top: 18px;
	border-radius: 12px;
	width: 100% !important;
}
.fks-mobile-process {
	display: grid;
	justify-items: center;
	margin: 28px auto 4px;
	max-width: 300px;
	width: 100%;
}
.fks-mobile-process__step {
	background: transparent;
	border: 0 !important;
	box-sizing: border-box;
	box-shadow: none !important;
	padding: 6px 16px 18px;
	text-align: center;
	width: 100%;
}
.fks-mobile-process__number {
	color: #bd912e;
	display: block;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: 26px;
	line-height: 1;
	margin-bottom: 4px;
}
.fks-mobile-process__step img {
	display: block;
	margin: 0 auto 8px;
	max-width: 78px;
	width: 78px !important;
	height: auto;
}
.fks-mobile-process__step h3 {
	color: #05244c;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
}
.fks-mobile-process__step p {
	color: #05244c;
	font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 14px;
	line-height: 1.7;
	margin: 8px 0 0;
}
.fks-mobile-process__connector {
	background: #caa34d;
	height: 22px;
	width: 1px;
}
.fks-mobile-process-panels {
	display: grid;
	gap: 18px;
	margin-top: 30px;
	width: 100%;
}
.fks-mobile-process-panels img {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100% !important;
}
.fks-mobile-process-panels-section .fks-mobile-story__copy {
	padding-top: 0;
}
.sg-fks-visual-page--zh .fks-mobile-process__number,
.sg-fks-visual-page--zh .fks-mobile-process__step h3,
.sg-fks-visual-page--zh .fks-mobile-process__step p {
	font-family: "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
}
.sg-fks-visual-page--zh .fks-mobile-strength-divider {
	font-family: "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
	font-size: clamp(15px, 4.3vw, 20px);
}
@media (max-width: 340px) {
	.fks-mobile-benefits { gap: 8px; }
	.fks-mobile-benefits__top .fks-mobile-benefit { width: calc((100% - 8px) / 2) !important; max-width: calc((100% - 8px) / 2); }
}

/* Product-page-only purchase entry: placed after the final FKS visual section. */
.sg-fks-purchase-cta {
	display: flex;
	justify-content: center;
	padding: clamp(40px, 5vw, 72px) 24px;
	background: #fff;
}

.sg-fks-purchase-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-width: 220px;
	min-height: 48px;
	padding: 12px 26px;
	border-radius: 4px;
	background: #c9001c;
	color: #fff;
	font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s ease;
}

.sg-fks-purchase-cta__button:hover,
.sg-fks-purchase-cta__button:focus {
	background: #a60017;
	color: #fff;
}

/* The Lightning page container is intentionally released for this full-bleed
 * visual page; each visual section still caps itself at 1536px. */
body.page-id-61 .site-body-container.container,
body.page-id-10 .site-body-container.container,
body.page-id-61 .main-section--col--two,
body.page-id-10 .main-section--col--two {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

body.page-id-61 .sg-fks-visual-page,
body.page-id-10 .sg-fks-visual-page {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

/* The FKS visual page starts directly below the site header. */
body.page-id-61 .page-header,
body.page-id-61 #breadcrumb,
body.page-id-10 .page-header,
body.page-id-10 #breadcrumb {
	display: none;
}

.fks-visual-section {
	position: relative;
	width: 100%;
	max-width: 1536px;
	margin: 0 auto;
	overflow: visible;
}

.fks-section-image {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

.fks-section-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.fks-section-copy {
	position: absolute;
	left: var(--copy-left);
	top: var(--copy-top);
	width: var(--copy-width);
	color: #05244c;
	pointer-events: auto;
}

.fks-section-copy h1,
.fks-section-copy h2,
.fks-section-01-note h2 {
	margin: 0;
	border: 0 !important;
	box-shadow: none !important;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
	font-size: clamp(26px, 3.2vw, 52px);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: .04em;
	color: #05244c;
}

.fks-section-copy p {
	margin: clamp(12px, 1.5vw, 22px) 0 0;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
	font-size: clamp(14px, 1.15vw, 18px);
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: .02em;
}

.sg-fks-visual-page--zh .fks-section-copy,
.sg-fks-visual-page--zh .fks-section-01-note,
.sg-fks-visual-page--zh .fks-section-03-role-divider,
.sg-fks-visual-page--zh .fks-researcher-profile {
	font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;
}

.sg-fks-visual-page--zh .fks-section-copy h1,
.sg-fks-visual-page--zh .fks-section-copy h2,
.sg-fks-visual-page--zh .fks-section-01-note h2,
.sg-fks-visual-page--zh .fks-section-03-role-divider span,
.sg-fks-visual-page--zh .fks-researcher-identity h3 {
	font-family: "STSong", "Songti SC", "Noto Serif SC", serif !important;
	font-weight: 600;
	letter-spacing: .02em;
	color: #183b83;
}

/* The Section 01 disclosure strip uses a dark-blue background. Its title
 * must remain white even though Chinese headings elsewhere are deep blue. */
.sg-fks-visual-page--zh .fks-section-01-note h2 {
	color: #fff;
}

/* Chinese editable copy follows the deep-blue heading / dark-gray body
 * hierarchy already embedded in the supplied visual source artwork. */
.sg-fks-visual-page--zh .fks-section-copy p {
	font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif !important;
	font-weight: 500;
	letter-spacing: 0;
	color: #26313d;
	line-height: 1.72;
}

.fks-section-copy .fks-copy-lead {
	font-size: clamp(16px, 1.45vw, 22px);
	font-weight: 700;
	line-height: 1.65;
}

.fks-section-kicker {
	margin-top: 0 !important;
	font-size: clamp(14px, 1.35vw, 20px) !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
}

.fks-product-badge {
	display: inline-block;
	margin: 0 0 clamp(12px, 1.3vw, 20px) !important;
	padding: .18em .5em;
	border: 1px solid #315d9c;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
	font-size: clamp(14px, 1.35vw, 21px) !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.fks-section-01 .fks-section-copy h1 {
	font-size: clamp(34px, 4.6vw, 76px);
	line-height: 1.15;
	color: #123d86;
}

.fks-section-01 .fks-copy-lead {
	color: #123d86;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
	font-size: clamp(25px, 2.55vw, 40px) !important;
	font-weight: 500 !important;
	line-height: 1.45;
}

.fks-section-01 .fks-product-badge {
	border-color: #3563a6;
	color: #123d86;
}

.fks-section-01-note {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: clamp(24px, 4vw, 72px);
	align-items: center;
	padding: clamp(28px, 4vw, 64px) clamp(20px, 4vw, 72px);
	background: linear-gradient(120deg, #0b3976 0%, #174f95 100%);
	color: #fff;
}

.fks-section-01-note h2 {
	color: #fff;
	font-size: clamp(27px, 3vw, 48px);
}

.fks-section-01-note p,
.fks-section-01-note small {
	margin: 0;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
	font-size: clamp(14px, 1.15vw, 18px);
	font-weight: 500;
	line-height: 1.8;
}

.fks-section-01-note small {
	display: block;
	margin-top: .7em;
	font-size: clamp(11px, .85vw, 14px);
	opacity: .82;
}

/* The Japanese disclosure title is deliberately kept on one line on desktop.
 * Give its column the visual priority without changing the right-hand copy. */
/* Keep the Japanese note title in one line from tablet landscape upward.
 * The left column is intentionally given more room; the supporting copy
 * remains in the right column and continues to wrap naturally. */
@media (min-width: 700px) {
	.sg-fks-visual-page--ja .fks-section-01-note {
		/* Keep enough room for the one-line title, while reserving a
		 * comfortable reading column for the disclosure copy. */
		grid-template-columns: minmax(0, 1.25fr) minmax(0, .95fr);
		gap: clamp(18px, 1.55vw, 26px);
	}

	.sg-fks-visual-page--ja .fks-section-01-note h2 {
		font-size: clamp(24px, 2.3vw, 38px);
		letter-spacing: -.035em;
		white-space: nowrap;
	}
}

.fks-section-02 .fks-section-copy h2 {
	font-size: clamp(28px, 3.9vw, 61px);
	line-height: 1.22;
}

.fks-section-02 .fks-section-copy {
	--fks-gold: #b88624;
}

/* The research visual is a supplied raster asset. Replace its Chinese
 * terminology with selectable HTML without altering the Japanese graphic. */
.sg-fks-visual-page--zh .fks-section-02 {
	position: relative;
}

.sg-fks-visual-page--zh .fks-zh-registration-label {
	position: absolute;
	z-index: 2;
	left: 78.6%;
	top: 91.05%;
	display: block;
	min-width: 15.7%;
	padding: .12em .18em;
	background: #fdfdfd;
	color: #112d78;
	font-family: "Microsoft YaHei", "Noto Sans SC", sans-serif;
	font-size: clamp(12px, 1.75vw, 27px);
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: .02em;
	white-space: nowrap;
}

.fks-section-02 .fks-copy-lead {
	margin-top: clamp(3px, .45vw, 7px);
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
	font-size: clamp(19px, 1.65vw, 26px) !important;
	font-weight: 500 !important;
	line-height: 1.45;
	letter-spacing: .04em;
}

/* Section 02 is deliberately HTML, rather than a composite graphic: the
 * portrait and every string can be replaced without re-exporting artwork. */
.fks-research-origin {
	overflow: hidden;
	padding: clamp(24px, 3.3vw, 54px) clamp(28px, 5.2vw, 88px) clamp(28px, 3.7vw, 62px);
	background:
		radial-gradient(circle at 94% 10%, rgba(185, 214, 245, .48) 0 11px, transparent 12px),
		radial-gradient(circle at 88% 17%, rgba(204, 224, 246, .55) 0 21px, transparent 22px),
		linear-gradient(135deg, #f8fbff 0%, #fff 48%, #f7fbff 100%);
	color: #052b5d;
}

.fks-research-origin__header {
	display: flex;
	align-items: flex-start;
	gap: clamp(10px, 1.1vw, 18px);
	margin-bottom: clamp(18px, 2vw, 32px);
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}

.fks-research-origin__number {
	color: #113b82;
	font-size: clamp(42px, 5.3vw, 84px);
	font-weight: 600;
	line-height: .82;
}

.fks-research-origin__header p,
.fks-research-origin__header small { margin: 0; display: block; }
.fks-research-origin__header p { font-size: clamp(20px, 2vw, 32px); font-weight: 700; line-height: 1.1; }
.fks-research-origin__header small { margin-top: 4px; color: #31538d; font-size: clamp(11px, 1vw, 16px); font-weight: 700; letter-spacing: .09em; }

.fks-research-origin__main {
	display: grid;
	grid-template-columns: minmax(255px, .72fr) minmax(0, 1.28fr);
	gap: clamp(28px, 4.5vw, 74px);
	align-items: center;
}

.fks-research-origin__portrait {
	align-self: stretch;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: 0;
	background: transparent;
}

.fks-research-origin__portrait img {
	display: block;
	width: 118%;
	max-width: none;
	max-height: min(43vw, 640px);
	margin: 0;
	object-fit: contain;
	object-position: center bottom;
	transform: translateX(-4%);
}

.fks-research-origin__copy h2 {
	margin: 0;
	color: #052b5d;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: clamp(30px, 4vw, 62px);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: .06em;
}

.fks-research-origin__lead {
	margin: clamp(16px, 2vw, 30px) 0 0;
	padding-bottom: clamp(10px, 1.15vw, 18px);
	border-bottom: 1px solid #c99732;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: clamp(17px, 1.7vw, 27px);
	line-height: 1.5;
}

.fks-research-origin__profile { display: grid; grid-template-columns: minmax(190px, .88fr) minmax(0, 1.25fr); gap: clamp(20px, 2.3vw, 38px); align-items: center; margin-top: clamp(16px, 2.1vw, 34px); }
.fks-research-origin__identity { text-align: center; }
.fks-research-origin__identity p { display: inline-block; margin: 0; padding: .35em .9em; border-radius: 3px; background: linear-gradient(110deg, #966009, #d8a127 43%, #f5cd68 55%, #98610a); box-shadow: 0 3px 8px rgba(131, 79, 0, .25); color: #fff; font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size: clamp(12px, 1.25vw, 19px); font-weight: 600; line-height: 1.3; letter-spacing: .07em; white-space: nowrap; }
.fks-research-origin__identity h3 { margin: clamp(12px, 1.25vw, 20px) 0 0; color: #052b5d; font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size: clamp(29px, 3.3vw, 54px); font-weight: 500; line-height: 1.1; letter-spacing: .14em; }
.fks-research-origin__identity span { display: block; margin-top: 4px; color: #bd8525; font-family: Georgia, "Times New Roman", serif; font-size: clamp(14px, 1.35vw, 21px); font-weight: 600; letter-spacing: .06em; }
.fks-research-origin__bio { margin: 0; padding-left: clamp(16px, 1.8vw, 30px); border-left: 1px solid #c99732; color: #102d5a; font-size: clamp(14px, 1.3vw, 20px); line-height: 1.85; }

.fks-research-origin__achievements { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(20px, 2.7vw, 44px); border-top: 1px solid #d6b66a; }
.fks-research-origin__achievements article { display: grid; grid-template-columns: clamp(38px, 4vw, 64px) 1fr; gap: clamp(10px, 1.1vw, 18px); padding: clamp(16px, 2vw, 30px); color: #092d67; }
.fks-research-origin__achievements article + article { border-left: 1px solid #d6b66a; }
.fks-research-origin__achievements img { width: 100%; max-width: 64px; margin: 0; align-self: start; }
.fks-research-origin__achievements h3 { margin: 0; color: #113b82; font-size: clamp(14px, 1.35vw, 21px); line-height: 1.5; }
.fks-research-origin__achievements p { margin: 7px 0 0; color: #17283c; font-size: clamp(12px, 1.08vw, 17px); line-height: 1.65; }

.sg-fks-visual-page--ja .fks-research-origin {
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}

/* Mincho occupies more horizontal space than the former sans fallback.
 * Keep the approved Japanese desktop composition to two title lines. */
.sg-fks-visual-page--ja .fks-research-origin__main {
	grid-template-columns: minmax(230px, .64fr) minmax(0, 1.36fr);
}

.sg-fks-visual-page--ja .fks-research-origin__copy h2 {
	font-size: clamp(30px, 3.25vw, 50px);
	letter-spacing: .035em;
	white-space: nowrap;
}

.sg-fks-visual-page--ja .fks-research-origin__profile {
	grid-template-columns: minmax(230px, .98fr) minmax(0, 1.15fr);
}

.sg-fks-visual-page--ja .fks-research-origin__identity h3 {
	font-size: clamp(28px, 2.8vw, 44px);
	white-space: nowrap;
}

.sg-fks-visual-page--zh .fks-research-origin { font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif; }
.sg-fks-visual-page--zh .fks-research-origin__header,
.sg-fks-visual-page--zh .fks-research-origin__copy h2,
.sg-fks-visual-page--zh .fks-research-origin__lead,
.sg-fks-visual-page--zh .fks-research-origin__identity p,
.sg-fks-visual-page--zh .fks-research-origin__identity h3 { font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif; }

/* Section 02: source imagery remains in replaceable PNG fragments while all
 * explanatory copy is HTML. This keeps the supplied composition intact. */
.fks-plasmalogen-science {
	padding: clamp(34px, 4vw, 64px) clamp(30px, 3.2vw, 54px) clamp(26px, 2.8vw, 44px);
	overflow: hidden;
	background:
		radial-gradient(circle at 96% 8%, rgba(175, 205, 239, .35), transparent 12%),
		linear-gradient(135deg, #f8fbff 0%, #fff 45%, #f8fbff 100%);
	color: #062b73;
}
.fks-plasmalogen-science__header { display:flex; align-items:flex-start; gap:clamp(10px,1vw,16px); position:relative; z-index:2; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; }
.fks-plasmalogen-science__header > span { color:#092e86; font-size:clamp(48px,5.4vw,82px); font-weight:600; line-height:.82; }
.fks-plasmalogen-science__header div { padding-left:clamp(10px,1vw,17px); border-left:2px solid #15428f; }
.fks-plasmalogen-science__header p,.fks-plasmalogen-science__header small { display:block; margin:0; }
.fks-plasmalogen-science__header p { font-size:clamp(18px,1.75vw,28px); font-weight:600; line-height:1.1; }
.fks-plasmalogen-science__header small { margin-top:6px; font-size:clamp(10px,.92vw,14px); font-weight:700; letter-spacing:.08em; }
.fks-plasmalogen-science__hero { position:relative; min-height:clamp(350px,31vw,480px); }
.fks-plasmalogen-science__intro { position:relative; z-index:2; width:43%; padding-top:clamp(25px,2.4vw,38px); }
.fks-plasmalogen-science__intro h2 { margin:0; color:#062b73; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(25px,2.35vw,37px); font-weight:500; line-height:1.35; letter-spacing:.04em; }
.fks-plasmalogen-science__intro p { margin:clamp(14px,1.6vw,25px) 0 0; color:#062b73; font-size:clamp(14px,1.2vw,18px); line-height:1.75; }
.fks-plasmalogen-science__molecule { position:absolute; z-index:1; top:clamp(-72px,-4vw,-25px); right:clamp(-54px,-3.6vw,-22px); width:68%; }
.fks-plasmalogen-science__molecule > img { display:block; width:100%; margin:0; }
.fks-plasmalogen-science__molecule > div { position:absolute; left:31%; top:78%; color:#092e86; }
.fks-plasmalogen-science__molecule h3 { margin:0; font-size:clamp(15px,1.35vw,21px); line-height:1.3; }
.fks-plasmalogen-science__molecule h3::after { content:""; display:inline-block; width:clamp(90px,9vw,145px); margin-left:14px; border-top:2px solid #2e73db; vertical-align:middle; }
.fks-plasmalogen-science__molecule p { margin:6px 0 0; color:#152237; font-size:clamp(10px,.87vw,13px); font-weight:600; line-height:1.55; }
.fks-plasmalogen-science__divider { display:flex; align-items:center; gap:clamp(14px,2vw,32px); margin:0 0 9px; color:#082f80; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(19px,1.8vw,28px); font-weight:600; letter-spacing:.12em; text-align:center; }
.fks-plasmalogen-science__divider::before,.fks-plasmalogen-science__divider::after { content:""; flex:1; border-top:1px solid #9cb9e7; }
.fks-plasmalogen-science__benefits { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #b8cef2; border-radius:14px; background:rgba(255,255,255,.56); }
.fks-plasmalogen-science__benefits article { display:grid; grid-template-columns:clamp(76px,7.8vw,118px) 1fr; gap:clamp(10px,1.2vw,20px); min-width:0; padding:clamp(18px,2vw,30px); }
.fks-plasmalogen-science__benefits article + article { border-left:1px solid #b8cef2; }
.fks-plasmalogen-science__benefits img { width:100%; margin:0; }
.fks-plasmalogen-science__benefits h3 { margin:clamp(5px,.5vw,8px) 0 0; color:#092e86; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(16px,1.35vw,21px); line-height:1.5; }
.fks-plasmalogen-science__benefits p { grid-column:1 / -1; margin:0; color:#121c29; font-size:clamp(11px,.94vw,14px); font-weight:600; line-height:1.65; }
.fks-plasmalogen-science__research { display:grid; grid-template-columns:clamp(160px,16%,245px) minmax(0,1fr) minmax(200px,23%,330px); align-items:center; gap:clamp(18px,2.3vw,36px); margin-top:clamp(18px,2vw,30px); padding:clamp(18px,2vw,30px); border:1px solid #b8cef2; border-radius:14px; background:rgba(255,255,255,.56); }
.fks-plasmalogen-science__research > img { width:100%; margin:0; align-self:end; }
.fks-plasmalogen-science__research h3 { margin:0; color:#092e86; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(17px,1.55vw,24px); line-height:1.45; }
.fks-plasmalogen-science__research > div p { margin:clamp(10px,1vw,15px) 0 0; color:#161c26; font-size:clamp(11px,.95vw,15px); font-weight:600; line-height:1.7; }
.fks-plasmalogen-science__research aside { padding-left:clamp(18px,2.4vw,38px); border-left:1px solid #b8cef2; text-align:center; }
.fks-plasmalogen-science__research aside img { display:block; width:clamp(70px,7vw,110px); margin:0 auto 8px; }
.fks-plasmalogen-science__research aside p { margin:0; color:#092e86; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(13px,1.15vw,18px); font-weight:600; line-height:1.55; }
.sg-fks-visual-page--zh .fks-plasmalogen-science,
.sg-fks-visual-page--zh .fks-plasmalogen-science__header,
.sg-fks-visual-page--zh .fks-plasmalogen-science__intro h2,
.sg-fks-visual-page--zh .fks-plasmalogen-science__divider,
.sg-fks-visual-page--zh .fks-plasmalogen-science__benefits h3,
.sg-fks-visual-page--zh .fks-plasmalogen-science__research h3,
.sg-fks-visual-page--zh .fks-plasmalogen-science__research aside p { font-family:"Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif; }
@media (max-width: 1150px) {
	.fks-plasmalogen-science__hero { min-height:360px; }
	.fks-plasmalogen-science__benefits article { grid-template-columns:64px 1fr; padding:16px 12px; }
	.fks-plasmalogen-science__research { grid-template-columns:130px minmax(0,1fr); }
	.fks-plasmalogen-science__research aside { grid-column:2; padding-top:12px; padding-left:0; border-top:1px solid #b8cef2; border-left:0; display:flex; align-items:center; gap:12px; text-align:left; }
	.fks-plasmalogen-science__research aside img { width:62px; margin:0; }
}

/* The lower-left research card in section 04 is independent HTML. Its image
 * and four circular icons can be replaced without changing the card copy. */
.fks-section-05-research-panel {
	position: absolute;
	z-index: 3;
	left: 3%;
	bottom: 6.1%;
	width: calc(47% - 5px);
	height: 26.8%;
	display: grid;
	grid-template-columns: 28% 72%;
	overflow: hidden;
	border: 1px solid #c6d8f1;
	border-radius: clamp(10px, 1vw, 16px);
	background: #e3e8ef;
	color: #0b367f;
}
.fks-section-05-research-panel__person { display:flex; flex-direction:column; align-items:center; min-width:0; padding:clamp(8px,.85vw,13px) clamp(8px,.75vw,11px); text-align:center; }
.fks-section-05-research-panel__person img { display:block; width:82%; height:clamp(82px,7.3vw,112px); margin:0; object-fit:contain; object-position:center bottom; transform:translateX(-10px); }
.fks-section-05-research-panel__person p { margin:clamp(5px,.45vw,7px) 0 0; color:#0a3986; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(14px,1.15vw,18px); font-weight:600; }
.fks-section-05-research-panel__person small { display:block; margin-top:3px; color:#102d60; font-size:clamp(10px,.78vw,12px); font-weight:600; line-height:1.42; }
.fks-section-05-research-panel__content { min-width:0; padding:clamp(9px,.85vw,13px) clamp(8px,.8vw,12px) clamp(8px,.7vw,11px); border-left:1px solid #b7cce9; }
.fks-section-05-research-panel__content header { display:flex; align-items:center; gap:clamp(8px,.8vw,13px); }
.fks-section-05-research-panel__content header img { width:clamp(25px,2.1vw,33px); height:clamp(25px,2.1vw,33px); margin:0; }
.fks-section-05-research-panel__content h3 { flex:1; display:flex; align-items:center; gap:clamp(7px,.7vw,11px); margin:0; color:#123c88; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(14px,1.08vw,17px); font-weight:600; line-height:1.25; white-space:nowrap; }
.fks-section-05-research-panel__content h3::after { content:""; flex:1; border-top:1px solid #9fb9e3; }
.fks-section-05-research-panel__items { display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(5px,.5vw,8px); }
.fks-section-05-research-panel__items article { min-width:0; padding:0 clamp(4px,.45vw,7px); text-align:center; }
.fks-section-05-research-panel__items article + article { border-left:1px solid #b7cce9; }
.fks-section-05-research-panel__items img { display:block; width:clamp(31px,2.9vw,44px); height:clamp(31px,2.9vw,44px); margin:0 auto; }
.fks-section-05-research-panel__items h4 { margin:clamp(4px,.4vw,6px) 0 0; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; color:#123c88; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(12px,.95vw,15px); font-weight:700; line-height:1.32; }
.fks-section-05-research-panel__items p { margin:clamp(4px,.4vw,6px) 0 0; color:#102b5c; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(10px,.75vw,12px); font-weight:600; line-height:1.45; }
.sg-fks-visual-page--zh .fks-section-05-research-panel,
.sg-fks-visual-page--zh .fks-section-05-research-panel__person p,
.sg-fks-visual-page--zh .fks-section-05-research-panel__content h3,
.sg-fks-visual-page--zh .fks-section-05-research-panel__items h4,

.sg-fks-visual-page--zh .fks-section-05-research-panel__items p { font-family:"Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif; }

/* The lower-right research-to-practical card keeps text in HTML while each
 * illustration remains a replaceable, independent asset. */
.fks-section-05-practical-panel { position:absolute; z-index:3; right:3%; bottom:6.1%; width:calc(47% - 5px); height:26.8%; overflow:hidden; border:1px solid #eadab9; border-radius:clamp(10px,1vw,16px); background:linear-gradient(104deg,#fffdf9 0%,#fff8ed 100%); color:#263956; }
.fks-section-05-practical-panel__header { position:relative; z-index:2; display:flex; align-items:center; gap:clamp(8px,.8vw,13px); padding:clamp(13px,1.25vw,20px) clamp(15px,1.5vw,25px) 0; }
.fks-section-05-practical-panel__header img { display:block; width:clamp(28px,2.7vw,42px); height:clamp(28px,2.7vw,42px); margin:0; object-fit:contain; }
.fks-section-05-practical-panel__header h3 { flex:1; display:flex; align-items:center; gap:clamp(9px,1vw,16px); margin:0; color:#bd8424; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(15px,1.35vw,21px); font-weight:600; line-height:1.3; white-space:nowrap; }
.fks-section-05-practical-panel__header h3::after { content:""; flex:1; border-top:1px solid #d7af66; }
.fks-section-05-practical-panel__visual { position:absolute; z-index:1; left:clamp(12px,1.3vw,22px); bottom:clamp(9px,.8vw,14px); width:31%; height:62%; margin:0; object-fit:contain; object-position:center center; }
.fks-section-05-practical-panel__copy { position:relative; z-index:2; width:39%; margin:clamp(14px,1.4vw,23px) 0 clamp(14px,1.2vw,20px) 35%; color:#263956; font-family:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif; font-size:clamp(12px,1.03vw,16px); font-weight:600; line-height:1.72; }
.fks-section-05-practical-panel__couple-wrap { position:absolute; z-index:1; right:0; bottom:0; width:35%; height:100%; overflow:hidden; }
.fks-section-05-practical-panel__couple-wrap::after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(90deg,rgba(255,250,242,.98) 0%,rgba(255,250,242,.72) 24%,rgba(255,250,242,0) 78%); }
.fks-section-05-practical-panel__couple { display:block; width:100%; height:100%; margin:0; object-fit:cover; object-position:right bottom; }
.sg-fks-visual-page--zh .fks-section-05-practical-panel, .sg-fks-visual-page--zh .fks-section-05-practical-panel__header h3, .sg-fks-visual-page--zh .fks-section-05-practical-panel__copy { font-family:"Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif; }

@media (max-width: 1150px) {
	/* Keep the two bottom cards inside the section at zoom-triggered widths. */
	.fks-section-05-research-panel { width:calc(47% - 5px); grid-template-columns:29% 71%; }
	.fks-section-05-practical-panel { width:calc(47% - 5px); }
	.fks-section-05-practical-panel__header { padding:10px 12px 0; }
	.fks-section-05-practical-panel__copy { width:41%; margin-top:12px; margin-left:34%; font-size:11px; line-height:1.62; }
	.fks-section-05-practical-panel__visual { left:8px; bottom:7px; }
	.fks-section-05-practical-panel__couple-wrap { width:35%; }
	.fks-section-05-research-panel__person { padding:10px 8px; }
	.fks-section-05-research-panel__person img { height:92px; }
	.fks-section-05-research-panel__content { padding:10px; }
	.fks-section-05-research-panel__items { margin-top:8px; }
}

@media (max-width: 1150px) {
	.fks-research-origin__main { grid-template-columns: minmax(220px, .77fr) minmax(0, 1.23fr); gap: 28px; }
	.fks-research-origin__profile { grid-template-columns: 1fr; gap: 15px; }
	.fks-research-origin__bio { padding-left: 0; padding-top: 13px; border-top: 1px solid #c99732; border-left: 0; }
	.fks-research-origin__achievements article { grid-template-columns: 38px 1fr; padding: 16px 13px; }
}

.fks-researcher-profile {
	display: grid;
	grid-template-columns: minmax(220px, .88fr) minmax(0, 1.42fr);
	gap: clamp(18px, 2.6vw, 44px);
	align-items: center;
	margin-top: clamp(5px, .65vw, 10px);
	padding-top: clamp(18px, 1.8vw, 28px);
	border-top: 1px solid var(--fks-gold);
}

.fks-researcher-identity,
.fks-researcher-bio {
	min-width: 0;
}

.fks-researcher-badge {
	display: inline-block;
	margin: 0 !important;
	padding: .34em .92em;
	border-radius: 3px;
	background: linear-gradient(110deg, #8f5b06 0%, #d59b1f 32%, #ffe39a 50%, #d59b1f 68%, #8f5b06 100%);
	background-size: 220% auto;
	box-shadow: 0 3px 10px rgba(150, 94, 8, .22), inset 0 1px rgba(255, 255, 255, .35);
	animation: fks-gold-shimmer 4.5s ease-in-out infinite;
	color: #fff;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
	font-size: clamp(14px, 1.45vw, 21px) !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: .08em !important;
	white-space: nowrap;
}

.fks-researcher-identity h3 {
	margin: clamp(10px, 1vw, 16px) 0 0;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: clamp(34px, 3.65vw, 58px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: .15em;
	text-align: center;
	color: #05244c;
}

/* Lightning adds a generic heading decoration; it is not part of the name. */
.fks-researcher-identity h3::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.fks-researcher-name-en {
	margin: 2px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--fks-gold);
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(16px, 1.35vw, 21px) !important;
	font-weight: 600 !important;
	letter-spacing: .06em !important;
	text-align: center;
}

/* Keep the English researcher name as text only: no inherited divider. */
.fks-researcher-name-en::before,
.fks-researcher-name-en::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.fks-researcher-bio {
	padding-left: clamp(18px, 2.1vw, 32px);
	border-left: 1px solid var(--fks-gold);
}

.fks-researcher-bio p {
	margin: 0;
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
	font-size: clamp(15px, 1.17vw, 18px);
	font-weight: 500;
	line-height: 1.78;
	color: #1f272c;
}

@keyframes fks-gold-shimmer {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
	.fks-researcher-badge { animation: none; }
}

.fks-section-03 .fks-section-copy h2,
.fks-section-04 .fks-section-copy h2 {
	font-size: clamp(27px, 3.35vw, 54px);
}

/* Section 04: the source image already contains the 03 / strength heading.
 * Keep the HTML copy as the two-line main title and its supporting paragraph. */
.fks-section-04 .fks-section-copy h2 {
	padding: 0 !important;
	font-size: clamp(23px, 2.15vw, 34px);
	line-height: 1.28;
	color: #05244c;
}

.fks-section-04 .fks-section-copy p {
	margin-top: clamp(12px, 1.1vw, 18px);
	color: #05244c;
	font-size: clamp(14px, 1.15vw, 18px);
	line-height: 1.65;
}

/* Section 05: source image carries the numbered process and lower cards.
 * The HTML layer supplies only the editorial title and introduction in the
 * intentionally blank upper-left area. */
.fks-section-05 .fks-section-copy h2 {
	padding: 0 !important;
	font-size: clamp(25px, 2.9vw, 47px);
	line-height: 1.27;
	letter-spacing: .05em;
	color: #05244c;
}

.fks-section-05 .fks-section-copy p {
	margin-top: clamp(10px, 1vw, 16px);
	color: #05244c;
	font-size: clamp(15px, 1.25vw, 19px);
	font-weight: 600;
	line-height: 1.75;
}

.fks-section-03 .fks-section-copy h2 {
	padding: 0 !important;
	font-size: clamp(26px, 2.1vw, 35px);
	line-height: 1.3;
}

.fks-section-03 .fks-section-copy p {
	margin-top: clamp(10px, 1vw, 16px);
	width: 86%;
	font-size: clamp(17px, 1.42vw, 22px);
	line-height: 1.65;
}

.fks-section-03-role-divider {
	position: absolute;
	/* Keep the chapter separator above the source-image card frame (which begins at roughly 54%). */
	top: 50%;
	left: 4%;
	right: 4%;
	z-index: 3;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: clamp(16px, 2.2vw, 38px);
	align-items: center;
	pointer-events: auto;
}

.fks-section-03-role-divider::before,
.fks-section-03-role-divider::after {
	content: "";
	border-top: 1px solid #cbd8ec;
}

.fks-section-03-role-divider span {
	font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: clamp(20px, 2.05vw, 32px);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: .08em;
	color: #183b83;
	white-space: nowrap;
}

/* The Chinese source image starts its card frame slightly higher. Keep this
 * chapter divider entirely above that frame instead of letting its text cross it. */
.sg-fks-visual-page--zh .fks-section-03-role-divider {
	top: 47%;
}

.sg-fks-visual-page--zh .fks-section-03-role-divider span {
	font-size: clamp(20px, 1.9vw, 30px);
	font-weight: 600;
	letter-spacing: .03em;
	color: #183b83;
}

.sg-fks-visual-page--zh .fks-section-03 .fks-section-copy p {
	width: 78%;
	font-size: clamp(15px, 1.2vw, 19px);
}

/* Chinese FKS page: unify editable text fonts only. Colours, sizing,
 * spacing and the artwork's existing visual treatment stay untouched. */
.sg-fks-visual-page--zh .fks-section-copy h1,
.sg-fks-visual-page--zh .fks-section-copy h2,
.sg-fks-visual-page--zh .fks-section-01-note h2,
.sg-fks-visual-page--zh .fks-section-03-role-divider span,
.sg-fks-visual-page--zh .fks-researcher-identity h3,
.sg-fks-visual-page--zh .fks-section-copy .fks-copy-lead {
	font-family: "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif !important;
}

.sg-fks-visual-page--zh .fks-section-copy p,
.sg-fks-visual-page--zh .fks-product-badge,
.sg-fks-visual-page--zh .fks-section-01-note p,
.sg-fks-visual-page--zh .fks-section-01-note small,
.sg-fks-visual-page--zh .fks-researcher-badge,
.sg-fks-visual-page--zh .fks-researcher-bio p,
.sg-fks-visual-page--zh .sg-fks-purchase-cta__button {
	font-family: "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif !important;
}

@media (max-width: 900px), (max-width: 1366px) and (max-height: 600px) {
	.sg-fks-visual-page .sg-desktop-layout { display: none; }
	.sg-fks-visual-page .sg-mobile-layout { display: block; }
	.fks-visual-section {
		display: flex;
		flex-direction: column;
	}

	.fks-section-overlay {
		position: static;
		order: 1;
		pointer-events: auto;
	}

	.fks-section-copy {
		position: static;
		width: auto;
		padding: 28px 24px 20px;
		background: #fff;
	}

	.fks-section-image {
		order: 2;
	}

	.fks-section-03-role-divider {
		position: static;
		order: 2;
		margin: 0 24px 20px;
	}

	.fks-section-03 .fks-section-image {
		order: 3;
	}

	.fks-section-copy h1,
	.fks-section-copy h2 {
		font-size: clamp(26px, 7.2vw, 42px) !important;
	}

	.fks-section-copy p,
	.fks-section-copy .fks-copy-lead {
		font-size: 15px;
	}

	.fks-researcher-profile {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.fks-researcher-bio {
		padding-left: 0;
		border-top: 1px solid var(--fks-gold);
		border-left: 0;
		padding-top: 18px;
	}

	.fks-section-01-note {
		/* Keep the editorial sequence on narrow screens: copy → image → note. */
		order: 3;
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 28px 24px;
	}
}

/* Desktop canvas reduction: the supplied artwork and its HTML copy must
 * shrink together. Percentage copy coordinates remain unchanged, while every
 * typography and spacing value below follows the same 85% scale. */
@media (min-width: 901px) and (min-height: 601px) {
	.fks-visual-section { max-width: 1306px; }

	.fks-section-copy h1,
	.fks-section-copy h2,
	.fks-section-01-note h2 { font-size: clamp(22px, 2.72vw, 44px); }
	.fks-section-copy p { font-size: clamp(12px, .98vw, 15px); }
	.fks-section-copy .fks-copy-lead { font-size: clamp(14px, 1.23vw, 19px); }
	.fks-section-kicker { font-size: clamp(12px, 1.15vw, 17px) !important; }
	.fks-product-badge {
		margin-bottom: clamp(10px, 1.1vw, 17px) !important;
		font-size: clamp(12px, 1.15vw, 18px) !important;
	}

	.fks-section-01 .fks-section-copy h1 { font-size: clamp(29px, 3.91vw, 65px); }
	.fks-section-01 .fks-copy-lead { font-size: clamp(21px, 2.17vw, 34px) !important; }
	.fks-section-01-note {
		gap: clamp(20px, 3.4vw, 61px);
		padding: clamp(24px, 3.4vw, 54px) clamp(17px, 3.4vw, 61px);
	}
	.fks-section-01-note h2 { font-size: clamp(23px, 2.55vw, 41px); }
	.fks-section-01-note p,
	.fks-section-01-note small { font-size: clamp(12px, .98vw, 15px); }
	.fks-section-01-note small { font-size: clamp(9px, .72vw, 12px); }
	.sg-fks-visual-page--ja .fks-section-01-note h2 { font-size: clamp(20px, 1.96vw, 32px); }

	.fks-section-02 .fks-section-copy h2 { font-size: clamp(24px, 3.32vw, 52px); }
	.fks-section-02 .fks-copy-lead { font-size: clamp(16px, 1.4vw, 22px) !important; }
	.fks-researcher-profile {
		grid-template-columns: minmax(187px, .88fr) minmax(0, 1.42fr);
		gap: clamp(15px, 2.21vw, 37px);
		margin-top: clamp(4px, .55vw, 9px);
		padding-top: clamp(15px, 1.53vw, 24px);
	}
	.fks-researcher-badge { font-size: clamp(12px, 1.23vw, 18px) !important; }
	.fks-researcher-identity h3 { font-size: clamp(29px, 3.1vw, 49px); }
	.fks-researcher-name-en { font-size: clamp(14px, 1.15vw, 18px) !important; }
	.fks-researcher-bio { padding-left: clamp(15px, 1.79vw, 27px); }
	.fks-researcher-bio p { font-size: clamp(13px, .995vw, 15px); }

	.fks-section-03 .fks-section-copy h2,
	.fks-section-04 .fks-section-copy h2 { font-size: clamp(23px, 2.85vw, 46px); }
	.fks-section-04 .fks-section-copy h2 { font-size: clamp(20px, 1.83vw, 29px); }
	.fks-section-04 .fks-section-copy p { font-size: clamp(12px, .98vw, 15px); }
	.fks-section-05 .fks-section-copy h2 { font-size: clamp(21px, 2.47vw, 40px); }
	.fks-section-05 .fks-section-copy p { font-size: clamp(13px, 1.06vw, 16px); }
	.fks-section-03 .fks-section-copy h2 { font-size: clamp(22px, 1.79vw, 30px); }
	.fks-section-03 .fks-section-copy p { font-size: clamp(14px, 1.21vw, 19px); }
	.fks-section-03-role-divider { gap: clamp(14px, 1.87vw, 32px); }
	.fks-section-03-role-divider span { font-size: clamp(17px, 1.74vw, 27px); }
	.sg-fks-visual-page--zh .fks-section-03-role-divider span { font-size: clamp(17px, 1.62vw, 26px); }
	.sg-fks-visual-page--zh .fks-section-03 .fks-section-copy p { font-size: clamp(13px, 1.02vw, 16px); }
}

/* Bottom researcher panel: replaces the old text-in-image research card. */
.fks-mobile-story__section:has(.fks-mobile-process) .fks-mobile-process-panels,
.fks-mobile-process-panels-section {
	display: none;
}

.fks-researcher-panel-section {
	padding-top: 0 !important;
}

.fks-researcher-panel {
	box-sizing: border-box;
	display: grid;
	gap: 22px;
	width: 100%;
	padding: 24px;
	border: 1px solid #d9e3f1;
	border-radius: 18px;
	background: linear-gradient(135deg, #fbfdff 0%, #f2f6fc 100%);
	color: #092f73;
}

.fks-researcher-panel__identity {
	display: grid;
	grid-template-columns: minmax(112px, 35%) minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

.fks-researcher-panel__identity > img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center top;
	border-radius: 12px;
	background: #fff;
}

.fks-researcher-panel__identity p,
.fks-researcher-panel__priorities p,
.fks-researcher-panel__priorities h2,
.fks-researcher-panel__priorities h3 {
	margin: 0;
}

.fks-researcher-panel__identity p {
	font-size: clamp(13px, 3.45vw, 17px);
	line-height: 1.65;
}

.fks-researcher-panel__identity .fks-researcher-panel__name {
	margin-bottom: 6px;
	font-size: clamp(23px, 6vw, 32px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: .08em;
}

.fks-researcher-panel__priorities {
	min-width: 0;
	padding-top: 18px;
	border-top: 1px solid #cbd8ed;
}

.fks-researcher-panel__priorities h2 {
	font-size: clamp(20px, 5.3vw, 28px);
	line-height: 1.35;
	text-align: center;
}

.fks-researcher-panel__items {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin-top: 18px;
}

.fks-researcher-panel__items article {
	min-width: 0;
	padding: 0 0 16px;
	border-bottom: 1px solid #d5dfed;
	text-align: center;
}

.fks-researcher-panel__items article:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.fks-researcher-panel__items img {
	display: block;
	width: 46px;
	height: 46px;
	margin: 0 auto 8px;
	object-fit: contain;
}

.fks-researcher-panel__items h3 {
	font-size: clamp(17px, 4.45vw, 23px);
	line-height: 1.42;
}

.fks-researcher-panel__items p {
	margin-top: 6px;
	font-size: clamp(13px, 3.45vw, 17px);
	line-height: 1.7;
	color: #263a5d;
}

.fks-researcher-panel__practical {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 18px;
}

@media (min-width: 700px) {
	.fks-researcher-panel {
		grid-template-columns: minmax(190px, .68fr) minmax(0, 2fr);
		align-items: stretch;
		padding: 26px;
	}

	.fks-researcher-panel__identity {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.fks-researcher-panel__identity > img {
		max-width: 190px;
	}

	.fks-researcher-panel__priorities {
		padding: 0 0 0 24px;
		border-top: 0;
		border-left: 1px solid #cbd8ed;
	}

	.fks-researcher-panel__items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
	}

	.fks-researcher-panel__items article {
		padding: 0 16px;
		border-right: 1px solid #d5dfed;
		border-bottom: 0;
	}

	.fks-researcher-panel__items article:last-child {
		border-right: 0;
	}
}
