/**
 * Nexus Point — main stylesheet
 *
 * 設計變數取自舊主題的 SCSS 原始碼（assets/scss/base/_global.scss 等），
 * 不是從瀏覽器逆向猜測的。
 *
 * 字體：舊站每個字重註冊成一個獨立的 font-family（'Sabon LT Std-bold'…），
 * 這裡改回標準做法——單一 family + font-weight，語意正確且 fallback 行為才對。
 */

/* ═══════════ Fonts ═══════════ */

/*
 * ⚠️ Sabon 有兩種檔案格式，Windows 上看起來粗細不同（2026-10-27 客戶用 PC 回報「原站比較粗」）：
 *   -CFF.woff   原版 PostScript 外框（原站主題 nexus-point/assets/fonts/ 那組）
 *   .woff2      轉檔過的 TrueType 外框（原站 Elementor 上傳的那組）
 * Mac 上兩者幾乎一樣；Windows 的渲染器對兩種外框處理不同，CFF 明顯較粗較黑。
 * 原站除了 Team 卡片的姓名用 TrueType，其餘全部是 CFF → 這裡照抄。
 */
@font-face {
	font-family: 'Sabon LT Std';
	src: url('../fonts/SabonLTStd-Roman-CFF.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Sabon LT Std';
	src: url('../fonts/SabonLTStd-Bold-CFF.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
/*
 * 「Heavy」= 原站的 'Sabon LT Std' family：它把 Bold 檔註冊成 font-weight: normal。
 * 結果：H1、作品標題、Insights 標題等寫 500 的地方，英文是 Bold 字形，但中文備援字型照 500 走；
 * 寫 600／700 的地方（hero、Insights 標題）瀏覽器還會再合成加粗一次。
 * 只宣告 normal 是刻意的——宣告成 700 就不會合成加粗，也不會跟原站一樣。
 */
@font-face {
	font-family: 'Sabon LT Std Heavy';
	src: url('../fonts/SabonLTStd-Bold-CFF.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
/* Team 卡片姓名：原站（Essential Grid）用的是 TrueType 版 Roman。 */
@font-face {
	font-family: 'Sabon LT Std TTF';
	src: url('../fonts/SabonLTStd-Roman.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Sabon LT Std';
	src: url('../fonts/SabonLTStd-Italic.woff2') format('woff2'),
	     url('../fonts/SabonLTStd-Italic.woff') format('woff');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Fakt Pro';
	src: url('../fonts/FaktPro-Light.woff2') format('woff2'),
	     url('../fonts/FaktPro-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Fakt Pro';
	src: url('../fonts/FaktPro-Normal.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Fakt Pro';
	src: url('../fonts/FaktPro-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Fakt Pro';
	src: url('../fonts/FaktPro-Bold.woff2') format('woff2'),
	     url('../fonts/FaktPro-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* ═══════════ Tokens ═══════════ */

:root {
	/*
	 * ⚠️ 字型 fallback 鏈的關鍵細節：**Sabon LT Std 與 Fakt Pro 都沒有中文字形。**
	 *
	 * 中文字元會沿著 fallback 鏈往下找，所以「鏈的最後一個」決定了中文長什麼樣。
	 *
	 * 原站宣告的是 `font-family: "Sabon LT Std Regular"`——後面什麼都沒有。
	 * 沒有 generic family，Chrome 就用它的預設字體，在 macOS 繁中環境是
	 * **PingFang TC（黑體／非襯線）**。所以原站的中文是「非襯線」。
	 *
	 * 如果這裡在鏈尾寫 `serif`，等於明確要求襯線體 → 中文會變成宋體（Songti TC），
	 * 跟原站完全不同。**絕對不要在 --serif 的鏈尾放 generic `serif`。**
	 *
	 * ⚠️ Windows 的中文字型「不要」寫進來，鏈尾也「不要」放 generic（2026-10-27 客戶 PC 實測後改）。
	 *    原站中文是交給 Windows 系統備援挑字型，字重 500 的中文在 PC 上會顯示成粗體；
	 *    明確寫 'Microsoft JhengHei' 會改走 CSS 字重比對 → 500 變成一般字重，PC 上看起來比原站細。
	 *    要跟原站一樣，就得走同一條路：清單裡不放任何 Windows 有的中文字型，讓系統自己備援。
	 *    macOS 列 PingFang 沒差（原站的備援結果也是 PingFang，且 PingFang 本身有 500）。
	 */
	--cjk: 'PingFang TC', 'PingFang SC', 'Hiragino Sans GB';

	--serif: 'Sabon LT Std', var(--cjk);
	--serif-heavy: 'Sabon LT Std Heavy', var(--cjk);
	--serif-ttf: 'Sabon LT Std TTF', var(--cjk);
	--sans: 'Fakt Pro', -apple-system, 'Helvetica Neue', Arial, var(--cjk);

	--navy-900: #051b32; /* 內文 */
	--navy-800: #092443; /* 頁首 / 頁尾底色（實測） */
	--navy-700: #092443; /* 標題 */
	--blue-500: #003b94; /* h1 */
	--grey-500: #6c7787;
	--tan-500:  #9e9286; /* 小標（ABOUT US / RECENT NEWS） */
	--white: #fff;

	--wrap: 1140px;      /* 純內容寬（不含左右 gutter） */
	--gutter: 24px;
	--wrap-box: calc(1140px + 48px);  /* = wrap + gutter*2，給 border-box 用 */

	--hero-fade: 2000ms;   /* 舊站量測值（英文；中文 1000ms 由模板覆寫） */
	--slide-fade: 500ms;   /* 裝飾輪播轉場，由 template 以 inline style 覆寫 */
	--grey-050: #f7f8f9;   /* Recent News 區塊底色（實測） */
}

/*
 * 簡中／繁中各用自己的蘋方（2026-10-27 客戶回報簡中字體跟原站不同）。
 *
 * 原站中文沒指定字型，瀏覽器依 html lang 挑：
 *   簡中 → Windows 微軟雅黑／macOS PingFang SC
 *   繁中 → Windows 微軟正黑／macOS PingFang TC
 * macOS 這裡明確指定；Windows 不寫，交給系統依 lang 備援（理由見 :root 的 --cjk）。
 *
 * ⚠️ --serif 系列／--sans 在 :root 就已經把 var(--cjk) 展開了，
 *    只覆寫 --cjk 不會生效，所有變數都要一起重新定義。
 */
.lang-zh-hans {
	--cjk: 'PingFang SC', 'Hiragino Sans GB';
	--serif: 'Sabon LT Std', var(--cjk);
	--serif-heavy: 'Sabon LT Std Heavy', var(--cjk);
	--serif-ttf: 'Sabon LT Std TTF', var(--cjk);
	--sans: 'Fakt Pro', -apple-system, 'Helvetica Neue', Arial, var(--cjk);
}
.lang-zh-hant {
	--cjk: 'PingFang TC';
	--serif: 'Sabon LT Std', var(--cjk);
	--serif-heavy: 'Sabon LT Std Heavy', var(--cjk);
	--serif-ttf: 'Sabon LT Std TTF', var(--cjk);
	--sans: 'Fakt Pro', -apple-system, 'Helvetica Neue', Arial, var(--cjk);
}

/* ═══════════ Base ═══════════ */

*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, h4, p, figure, ul, ol { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img { max-width: 100%; height: auto; display: block; }

body {
	font-family: var(--sans);
	color: var(--navy-900);
	background: var(--white);
	/* ⚠️ 不要加 -webkit-font-smoothing: antialiased。
	   原站是預設的 auto；改成 antialiased 會讓 macOS 上所有文字的筆畫變細變淡，
	   中文尤其明顯（整頁看起來「灰灰的」）。這不是 1:1。 */
}

p {
	color: var(--navy-900);
	font-family: var(--sans);
	font-size: 18px;
	line-height: 39px;
}

h1 {
	color: var(--blue-500);
	/* 英文是 Sabon Bold 字形（使用者 2026-07-16 確認）；中文照原站走 500。見 Heavy 的說明。 */
	font-family: var(--serif-heavy);
	font-size: 62px;
	font-weight: 500;
	line-height: 70px;
}

h2 {
	color: var(--navy-700);
	font-family: var(--serif);
	font-weight: 500;
	font-size: 28px;
	line-height: 48px;
}

a { color: inherit; }

@media (max-width: 767px) {
	p  { font-size: 15px; line-height: 31px; }
	h1 { font-size: 35px; line-height: 38px; }
	h2 { font-size: 21px; line-height: 36px; }
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: 12px 20px;
	background: var(--white);
	color: var(--navy-800);
}
.skip-link:focus {
	left: 0;
	clip-path: none;
	width: auto; height: auto;
}

:where(a, button):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.section-label {
	color: var(--tan-500);
	font-family: var(--sans);
	font-size: 15px;      /* 實測 */
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 30px;    /* 實測 */
	text-transform: uppercase;
	margin-bottom: 20px;
}

/* ═══════════ Header ═══════════ */

.site-header {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 100;
	transition: background-color 300ms ease;  /* 原站實測 0.3s */
}

.site-header--solid,
.site-header.is-scrolled {
	background-color: var(--navy-800);
}

.site-header--transparent:not(.is-scrolled) {
	background-color: transparent;
}

.site-header__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: flex;
	align-items: center;
	/* ⚠️ 不是 space-between！原站選單從 logo 右側 x527 開始「靠左連續排」。
	   space-between 會把選單推到右緣——中文選單字少，離 logo 就特別遠
	   （使用者實際抓到的 bug）。 */
	justify-content: flex-start;
	/* 實測：
	     頂端   → 總高 111px（padding 25px、內容列 61px）
	     捲動後 → 總高 81px （padding 10px、內容列 61px）
	   內容列固定 61px，logo（120×68）比它高、是「溢出」的——
	   若讓 logo 撐開這一列，總高會變成 118px（我第一版就是這樣錯的）。
	   高度的變化完全來自 padding，logo 尺寸自始至終不變。 */
	height: 111px;                 /* border-box：內容列 = 111 − 25 − 25 = 61px */
	padding-top: 25px;
	padding-bottom: 25px;
	transition: height 300ms ease, padding 300ms ease;
}

/* 捲動後：總高 81px（內容列仍是 81 − 10 − 10 = 61px）。logo 尺寸不變。 */
.site-header.is-scrolled .site-header__inner {
	height: 81px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.site-header__logo { margin-left: -10px; }  /* 實測：logo x380，內容左緣 390 */
.site-header__logo img { width: 120px; height: 68px; }  /* 舊站實測 */

.site-header__wordmark {
	color: var(--white);
	font-family: var(--serif);
	letter-spacing: 2px;
	font-size: 16px;
}

.site-nav {
	display: flex;
	align-items: center;
	margin-left: 32px;   /* 依量測校準：首項 a 落在 x527 */
	/* ⚠️ 不是多餘的 opacity：讓 Windows 上的選單／語言切換文字改用「灰階反鋸齒」，跟原站一樣。
	   原站頁首文字在 Windows Edge 是灰階反鋸齒（彩邊 0%），新站原本是 ClearType 子像素
	   （彩邊 52.8%、筆畫像素 1977 vs 原站 2157）→ 客戶覺得原站字「比較亮、好讀」（2026-10-28）。
	   加上 .999 之後：彩邊 0%、筆畫 2149；顏色差 < 1/255，看不出來。Edge 156 headless 在 100/125/150% 實測。
	   不用 will-change/transform：手機版 .site-nav 是 position:fixed，祖先加 transform 會讓它的定位跑掉。
	   Mac 上沒有 ClearType，所以看不出差別；刪掉前要先在 Windows 上比對。 */
	opacity: 0.999;
}

.site-nav__list,
.site-nav__lang {
	display: flex;
	align-items: center;
	gap: 0;              /* 實測：li 之間無間距，pitch 由連結左右 padding 提供 */
}

/* 實測：Fakt Pro 12px / weight 500 / 無字距 / 純白（無透明度） */
.site-nav__list a,
.site-nav__lang a {
	color: var(--white);
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: normal;
	text-transform: uppercase;
	text-decoration: none;
	padding: 10px 17.5px;   /* pitch 對齊原站（每項比 15px 版寬 5px） */
	display: block;
	white-space: nowrap;    /* INVESTOR LOGIN / 简体中文 不可折行 */
}
.site-nav__list a:hover,
.site-nav__lang a:hover { opacity: 0.8; }

/* 中文版選單 pitch 較寬（實測：每項 ≈ 文字 + 65px；關於我們→團隊 = 114px） */
.lang-zh-hant .site-nav__list a,
.lang-zh-hans .site-nav__list a { padding: 10px 32.5px; }
.lang-zh-hant .site-nav__list .investor-login a,
.lang-zh-hans .site-nav__list .investor-login a { padding: 10px 32.5px; margin-left: 0; }
.lang-zh-hant .site-nav__list .wpml-ls-item a,
.lang-zh-hans .site-nav__list .wpml-ls-item a { padding: 10px 12px; }  /* 原站中文的語言項間距較寬 */
.lang-zh-hant .site-nav__list li.wpml-ls-item:first-of-type,
.lang-zh-hans .site-nav__list li.wpml-ls-item:first-of-type { margin-left: 15px; }

.site-nav__lang a { text-transform: none; }

/* INVESTOR LOGIN：灰白底方塊 + 黑字（實測：li.investor-login bg #EAF0F6、圓角 2px、
   黑字 12px w400；clone 過來的選單項本來就帶 investor-login class） */
.site-nav__list .investor-login a {
	background: #eaf0f6;
	border-radius: 2px;
	color: #000;
	font-weight: 400;
	padding: 10px 24px;   /* 實測盒寬 127（Fakt 字寬略異，用 padding 補足） */
	margin-left: 6px;     /* 依量測校準：a 落在 x1280 */
}
/* 原站整顆按鈕（li）是 opacity .8：底色混到深藍、黑字也變淡（2026-10-27 實測，之前漏掉） */
.site-nav__list .investor-login { opacity: 0.8; }
.site-nav__list .investor-login a:hover { opacity: 0.85; }

/* 語言切換前的間距（實測：INVESTOR 盒尾 1409 → 简体中文 1427） */
.site-nav__list .wpml-ls-item a { text-transform: none; padding: 10px 3px; }  /* 實測：語言項是窄 padding */
.site-nav__list li.wpml-ls-item { margin-left: 6px; }
.site-nav__list li.wpml-ls-item:first-of-type { margin-left: 26px; }  /* 依量測校準：简体中文落在 x1427 */

/* ── 頁首選單：以「文字實際位置」對齊原站（2026-10-23 實測，1920 寬，量文字 Range 不量連結盒）──
   原站各項不是同一條中線：一般選單偏下，INVESTOR LOGIN 置中，語言項介於兩者。
   英文版文字頂端：一般 59.5／INSIGHTS 圖 41（170×42）／INVESTOR 49.5／語言 55.5
   中文版文字頂端：一般 58／投資者登錄 48／語言 54
   垂直用 position:relative + top 微調，不影響橫向排版。只套桌機（≤1024 是漢堡選單）。 */
@media (min-width: 1025px) {
	/* 英文選單總寬超過 1140 內容寬：原站 logo 不縮、選單往右溢出；不鎖的話 flex 會把 logo 壓到 97 寬、整排左移 */
	.site-header__logo,
	.site-nav { flex-shrink: 0; }

	/* 橫向（文字左緣）英文：ABOUT 540.6／INSIGHTS 圖 1088／INVESTOR 1293.2／简体 1428／繁體 1488.3 */
	.site-nav { margin-left: 25.1px; }
	.site-nav .site-nav__list .menu-item--image { padding: 0 5.2px 0 19px; }  /* 要蓋過檔案後段的 padding: 0 17px */
	/* 語言項前的 li 不是第一個 li，:first-of-type 永遠不成立 → 用 WPML 的 wpml-ls-first-item */
	.site-nav__list li.wpml-ls-first-item { margin-left: 10.6px; }

	/* 中文：關於我們 555.8、每項間距 +0.5、投資者登錄 1254.6、English 1379.7、简体／繁體 1468 */
	.lang-zh-hant .site-nav,
	.lang-zh-hans .site-nav { margin-left: 25.3px; }
	.lang-zh-hant .site-nav__list a,
	.lang-zh-hans .site-nav__list a,
	.lang-zh-hant .site-nav__list .investor-login a,
	.lang-zh-hans .site-nav__list .investor-login a { padding-left: 32.75px; padding-right: 32.75px; }
	.lang-zh-hant .site-nav__list .wpml-ls-item a,
	.lang-zh-hans .site-nav__list .wpml-ls-item a { padding-left: 12px; padding-right: 12px; }
	.lang-zh-hant .site-nav__list li.wpml-ls-first-item,
	.lang-zh-hans .site-nav__list li.wpml-ls-first-item { margin-left: 20.4px; }
	.lang-zh-hant .site-nav__list li.wpml-ls-item + li.wpml-ls-item,
	.lang-zh-hans .site-nav__list li.wpml-ls-item + li.wpml-ls-item { margin-left: 23.4px; }
	.site-nav__list > li:not(.investor-login):not(.wpml-ls-item):not(.menu-item--image) > a { position: relative; top: 10.2px; }
	.site-nav__list .menu-item--image { flex-shrink: 0; }
	.site-nav__list .menu-item--image img { max-width: none; position: relative; top: 6.5px; }  /* 全域 img max-width:100% 會把圖壓成 149 寬 */
	.site-nav__list .wpml-ls-item a { position: relative; top: 8.5px; }
	.lang-zh-hant .site-nav__list > li:not(.investor-login):not(.wpml-ls-item) > a,
	.lang-zh-hans .site-nav__list > li:not(.investor-login):not(.wpml-ls-item) > a { top: 7.5px; }
	.lang-zh-hant .site-nav__list .investor-login a,
	.lang-zh-hans .site-nav__list .investor-login a { position: relative; top: -2.5px; }
	.lang-zh-hant .site-nav__list .wpml-ls-item a,
	.lang-zh-hans .site-nav__list .wpml-ls-item a { top: 7px; }
	.lang-zh-hant .site-nav__list .wpml-ls-item-en a,
	.lang-zh-hans .site-nav__list .wpml-ls-item-en a { top: 5.7px; }
}

/* 漢堡鈕 */
.site-header__toggle {
	display: none;
	position: relative;
	z-index: 110;   /* 必須高於全螢幕 nav，否則開啟後按不到「關閉」（手機沒有 Escape 鍵） */
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
}
.site-header__toggle-bar {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--white);
	transition: transform 200ms ease, opacity 200ms ease;
}

@media (max-width: 1024px) {
	.site-header__toggle { display: flex; }

	.site-nav {
		position: fixed;
		inset: 0;
		flex-direction: column;
		justify-content: center;
		gap: 32px;
		background: var(--navy-800);
		transform: translateX(100%);
		transition: transform 250ms ease;
		visibility: hidden;
	}
	.site-nav.is-open {
		transform: translateX(0);
		visibility: visible;
	}
	.site-nav__list {
		flex-direction: column;
		gap: 18px;
	}
	.site-nav__list a { font-size: 16px; }

	/* 選單開啟時，漢堡鈕變 X */
	.site-header__toggle[aria-expanded='true'] .site-header__toggle-bar:nth-child(2) {
		transform: translateY(7px) rotate(45deg);
	}
	.site-header__toggle[aria-expanded='true'] .site-header__toggle-bar:nth-child(3) {
		opacity: 0;
	}
	.site-header__toggle[aria-expanded='true'] .site-header__toggle-bar:nth-child(4) {
		transform: translateY(-7px) rotate(-45deg);
	}

	body.nav-open { overflow: hidden; }
}

/* ═══════════ Hero ═══════════ */

.hero {
	position: relative;
	min-height: 100svh;
	overflow: hidden;
	display: flex;
	align-items: center;
	background: var(--navy-800);
}

/* @supports fallback：舊瀏覽器不認得 svh */
@supports not (height: 100svh) {
	.hero { min-height: 100vh; }
}

.hero__slides { position: absolute; inset: 0; }

/* 淡化時長由 front-page.php 依語言用 inline --hero-fade 覆寫（英 2000ms／中 1000ms）；曲線同 Swiper 預設 ease */
.hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity var(--hero-fade) ease;
}
.hero__slide.is-active { opacity: 1; }

/* 不做 Ken Burns：原站 Elementor 只掛了 ken-burns--active、沒有 --in/--out，實際 transform 一直是 none（2026-10-23 實測） */
.hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 文字輪播：一次一段；新的一段從右側 100% 淡入（= Elementor fadeInRight，1.25s ease） */
.hero-text [hidden] { display: none; }
.hero-text .is-entering { animation: nexus-hero-fade-in-right 1.25s ease both; }
@keyframes nexus-hero-fade-in-right {
	from { opacity: 0; transform: translate3d(100%, 0, 0); }
	to   { opacity: 1; transform: none; }
}

/* 桌機版位（原站實測，1920 寬，視窗高 800／910／1000 三種都驗過）：
   hero 高 105vh；文字容器頂 42vh、文字盒再下 50px；左緣比內容區多 20px；
   文字從右邊滑入時，超出原站 1200 寬容器（文字左緣起算 1150）的部分要裁掉。 */
@media (min-width: 1025px) {
	.hero {
		min-height: 0;
		height: 105vh;
		align-items: flex-start;
	}
	/* 中文模板 hero 較矮（103vh，視窗 996 → 1026），文字位置跟英文一樣 */
	.lang-zh-hant .hero,
	.lang-zh-hans .hero { height: 103vh; }
	.hero__content { padding-top: calc(42vh + 50px); }
	.hero-text {
		margin-left: 20px;
		max-width: 1150px;
		overflow-x: clip;
	}
}

.hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
}

.hero__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 0 var(--gutter);
}

.hero__headline {
	color: var(--white);
	font-family: var(--serif-heavy);   /* 原站：Bold 檔 + 700 → 再合成加粗一次 */
	font-size: 42px;
	font-weight: 700;
	line-height: 57px;
	max-width: 660px;   /* 舊站實測值：660px 才會斷成 3 行 */
	text-align: left;
}

@media (max-width: 767px) {
	.hero__headline { font-size: 26px; line-height: 36px; }
}

.hero__controls {
	position: absolute;
	right: 24px;
	bottom: 24px;
	z-index: 3;
}

.hero__pause,
.news-slider__pause {
	width: 40px;
	height: 40px;
	border: 1px solid rgb(255 255 255 / 0.6);
	border-radius: 50%;
	background: rgb(0 0 0 / 0.25);
	color: var(--white);
	cursor: pointer;
	display: grid;
	place-items: center;
}

/* 暫停 / 播放圖示（純 CSS，不用 icon font） */
.hero__pause [data-icon],
.news-slider__pause [data-icon] {
	width: 10px;
	height: 12px;
	border-left: 3px solid currentColor;
	border-right: 3px solid currentColor;
}
.hero__pause.is-paused [data-icon],
.news-slider__pause.is-paused [data-icon] {
	width: 0;
	height: 0;
	border: 0;
	border-left: 11px solid currentColor;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
}

/* ═══════════ 投資主張 ═══════════ */

.thesis__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 90px var(--gutter);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
}

@media (max-width: 767px) {
	.thesis__inner {
		grid-template-columns: 1fr;
		padding: 56px var(--gutter);
		gap: 32px;
	}
}

/* ═══════════ About ═══════════ */

.about-intro__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 90px var(--gutter);
}

/* 實測：H2 級距，Sabon LT Std 28px/48px weight 500，容器 920px */
.about-intro__text {
	font-family: var(--serif);
	font-size: 28px;
	line-height: 48px;
	font-weight: 500;
	color: var(--navy-700);
	max-width: 920px;
}

@media (max-width: 767px) {
	.about-intro__inner { padding: 56px var(--gutter); }
	.about-intro__text { font-size: 21px; line-height: 36px; }  /* 對齊 h2 的手機級距 */
}

/* ═══════════ Recent News ═══════════ */

.recent-news {
	background: var(--grey-050);
	padding-bottom: 69px;  /* 實測 */
}

/* 實測：左欄 632px、右輪播 350px、間距 158px（1140 = 632 + 158 + 350） */
.recent-news__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 90px var(--gutter);
	display: grid;
	grid-template-columns: 632px 1fr;
	gap: 158px;
	align-items: start;
}

.news-layout {
	display: grid;
	grid-template-columns: 632px 1fr;
	gap: 158px;
	align-items: start;
}

@media (max-width: 1024px) {
	.recent-news__inner,
	.news-layout {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.recent-news__inner { padding: 56px var(--gutter); }
}

/* ═══════════ News 列表 ═══════════ */

.news-item {
	padding: 24px 0;
	border-bottom: 1px solid rgb(9 36 67 / 0.12);
}
.news-item:first-child { padding-top: 0; }

.news-item__date {
	color: var(--navy-700);
	opacity: 0.5;
	font-family: var(--sans);
	font-weight: 300;
	font-size: 12px;
	line-height: 22px;
	margin-bottom: 6px;
}

/* 實測：Sabon LT Std 28px/48px weight 500 */
.news-item__title {
	font-family: var(--serif);
	font-weight: 500;
	font-size: 28px;
	line-height: 48px;
	color: var(--navy-700);
}
.news-item__title a {
	text-decoration: none;
	transition: opacity 150ms ease;
}
.news-item__title a:hover { opacity: 0.7; }

.news-item__source {
	color: var(--grey-500);
	font-family: var(--sans);
	font-size: 13px;
	line-height: 22px;
	margin-top: 8px;
}

@media (max-width: 767px) {
	.news-item__title { font-size: 21px; line-height: 36px; }
}

.page-news__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 166px var(--gutter) 90px;  /* 111px header + 留白 */
}

/* 大標「News」：Sabon 62px/70px weight 700 #003B94（= h1 token；字重經使用者確認） */
.page-news__title { margin-bottom: 56px; }

/* ── /news/ 版面（2026-10-23 對原站實測，1920 寬、無管理列，量文字 Range 推回盒子）──
   h1 盒頂 204 → RECENT NEWS 盒頂 356（h1 底到小標 82）→ 列表＋右側輪播同在 386 起；
   每則：日期盒 22 → 間距 20 → 標題（48 行高）→ 底 25 → 1px 線 #DFDFE0 → 下一則日期前 20；首則日期在列表頂下 10。
   只限 .page-news：首頁 Recent News 共用 news-item，另有自己的量測，不動。只套桌機（手機未量測）。 */
@media (min-width: 1025px) {
	.page-news .page-news__inner { padding-top: 204px; }
	.page-news .page-news__title { margin-bottom: 82px; }
	.page-news .news-layout__main > .section-label { margin-bottom: 0; }
	.page-news .news-layout__aside { margin-top: 30px; }
	/* 每則結構首頁 Recent News 與 /news/ 相同（原站同一個 JetEngine listing，首頁實測 pitch 也是 184） */
	.page-news .news-item,
	.recent-news .news-item { padding: 20px 0 25px; border-bottom-color: #dfdfe0; }
	.page-news .news-item:first-child,
	.recent-news .news-item:first-child { padding-top: 10px; }
	.page-news .news-item__date,
	.recent-news .news-item__date { margin: 0 0 20px; }   /* h6 不在全域 reset 內，瀏覽器預設上邊距約 28px */

	/* 首頁（2026-10-23 實測，視窗 1920×996）：hero 底 → ABOUT US 文字頂 137；內文底 → 灰底區 150；
	   灰底頂 → RECENT NEWS 盒頂 99.5；小標下 20.5 起列表與右側輪播（同 /news/ 的對齊方式） */
	.about-intro__inner { padding-top: 130px; padding-bottom: 150px; }
	.recent-news__inner { padding-top: 99.5px; padding-bottom: 60px; }   /* 最後一條分隔線 → 頁尾 129 = 60 + 外層 69 */
	.recent-news__list > .section-label { margin-bottom: 20.5px; }
	.recent-news__aside { margin-top: 50.5px; }
	.page-news .pagination { margin-top: 27px; }        /* 實測：分頁數字文字頂 1384 */

	/* 中文版是另一份模板（簡繁相同）：h1 盒頂 175 → 小標 335（間距 90）→ 列表與輪播 385（小標下 20） */
	.lang-zh-hant .page-news .page-news__inner,
	.lang-zh-hans .page-news .page-news__inner { padding-top: 175px; }
	.lang-zh-hant .page-news .page-news__title,
	.lang-zh-hans .page-news .page-news__title { margin-bottom: 90px; }
	.lang-zh-hant .page-news .news-layout__main > .section-label,
	.lang-zh-hans .page-news .news-layout__main > .section-label { margin-bottom: 20px; }
	.lang-zh-hant .page-news .news-layout__aside,
	.lang-zh-hans .page-news .news-layout__aside { margin-top: 50px; }
}

.pagination {
	margin-top: 48px;
	font-family: var(--sans);
	font-size: 14px;
}
.pagination .page-numbers {
	display: inline-block;
	padding: 8px 14px;
	text-decoration: none;
	color: var(--navy-700);
}
.pagination .page-numbers.current {
	font-weight: 700;
	color: var(--blue-500);
}

/* ═══════════ 裝飾輪播 ═══════════ */

/* 實測：350 × 430（直式，非 4:3）。
   原站是 slide（水平滑動）不是 fade → track 排成一列、用 translateX 滑動，
   位移由 carousel.js 設定（含尾端複製第一張做無縫迴圈）。 */
.news-slider {
	position: relative;
	max-width: 350px;
	margin-left: auto;   /* 靠齊內容區右緣 */
}

.news-slider__viewport {
	position: relative;
	aspect-ratio: 350 / 430;
	overflow: hidden;
}

.news-slider__track {
	display: flex;
	height: 100%;
	transition: transform var(--slide-fade) ease;  /* 首頁 500ms、/news/ 與 About 1250ms */
}

.news-slider__slide {
	flex: 0 0 100%;
	min-width: 0;
}

.news-slider__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 40px;
	height: 40px;
	border: 0;
	background: rgb(0 0 0 / 0.28);
	color: var(--white);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.news-slider__arrow--prev { left: 0; }
.news-slider__arrow--next { right: 0; }

.news-slider__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
}

.news-slider__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgb(9 36 67 / 0.25);
	cursor: pointer;
}
.news-slider__dot.is-active { background: var(--navy-700); }

.news-slider__pause {
	position: absolute;
	right: 8px;
	bottom: 8px;
	z-index: 2;
	width: 32px;
	height: 32px;
}

/* 只有一張圖時不顯示任何控制項 */
.news-slider.is-static .news-slider__arrow,
.news-slider.is-static .news-slider__dots,
.news-slider.is-static .news-slider__pause,
.hero.is-static .hero__controls {
	display: none;
}

/* ═══════════ About 頁 ═══════════ */
/*
 * 版面實測自原站 /about/（1920，圖片載入完成後量測，2026-07-16）：
 *   h1 頂 y245（62/70 #003B94）→ 間距 90 → 小標 y405 → 間距 50 → 兩欄 y485
 *   兩欄各 570：左輪播 480×565；右內文 x996 w534（= 570 − 縮排 36），18/39 #051B32
 *   S1 底 padding 100（欄底 1050 → S2 頂 1150）
 *   S2 #F7F7F7（⚠️ 與 Recent News 的 #F7F8F9 不同，不共用變數）：
 *      padding 頂 72、小標→清單 EN 60／中文 20（原站三份模板各調各的）、
 *      清單 570 寬、li 縮排 64 無符號、18/39 連續零間距、底 padding 124
 *      （驗算：72+30+60+351+124 = 637 = 區塊實測高 ✓）
 *   S3 200px spacer
 */

.about-story__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 245px var(--gutter) 100px;
}

.about-story__title { margin-bottom: 90px; }
.about-story__label { margin-bottom: 50px; }

.about-story__row { display: flex; }
.about-story__media { flex: 0 0 570px; }
.about-story__text {
	flex: 1;
	padding-left: 36px;
}
/* 段落連續無間距；兩段之間的空行是內容裡的空段（照原站） */

/* About 版輪播：480×565、箭頭透明底、圓點在圖片內部底緣（皆實測） */
.about-slider {
	max-width: 480px;
	margin-left: 0;
}
.about-slider .news-slider__viewport { aspect-ratio: 480 / 565; }
.about-slider .news-slider__arrow {
	width: 25px;
	height: 25px;
	background: transparent;
	color: rgb(238 238 238 / 0.9);
	font-size: 25px;
}
.about-slider .news-slider__arrow--prev { left: 10px; }
.about-slider .news-slider__arrow--next { right: 10px; }
.about-slider .news-slider__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 5px;
	z-index: 2;
	margin: 0;
	gap: 12px;
}
.about-slider .news-slider__dot {
	width: 12px;
	height: 12px;
	background: rgb(0 0 0 / 0.2);
}
.about-slider .news-slider__dot.is-active { background: #000; }

.about-partner { background: #f7f7f7; }

.about-partner__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 72px var(--gutter) 124px;
}

.about-partner__label { margin-bottom: 60px; }
.lang-zh-hant .about-partner__label,
.lang-zh-hans .about-partner__label { margin-bottom: 20px; }

.about-partner__list { max-width: 570px; }
.about-partner__list li {
	position: relative;
	padding-left: 64px;
	font-family: var(--sans);
	font-size: 18px;
	line-height: 39px;
	color: var(--navy-900);
}
/* 每項前面的短橫線（舊主題 #why-partner ul li:before，照抄） */
.about-partner__list li::before {
	content: '';
	position: absolute;
	top: 20px;
	left: 0;
	width: 27px;
	height: 1px;
	border-top: 1px solid var(--grey-500);
}

.about-spacer { height: 200px; }

/* ⚠️ 行動版尚未對照原站實測，以下是暫定的合理收斂，之後要補量 */
@media (max-width: 1024px) {
	.about-story__row { display: block; }
	.about-story__media { margin-bottom: 40px; }
	.about-story__text { padding-left: 0; }
}
@media (max-width: 767px) {
	.about-story__inner { padding: 160px var(--gutter) 56px; }
	.about-story__title { margin-bottom: 40px; }
	.about-partner__inner { padding: 48px var(--gutter) 64px; }
	/* 舊主題手機版只改字級，縮排維持 64、橫線位置不變 */
	.about-partner__list li { font-size: 15px; line-height: 31px; }
	.about-spacer { height: 100px; }
}

/* ═══════════ Strategy 頁 ═══════════ */
/*
 * 官網 /strategy/ 實測（lazy-load 圖片捲入視窗後等待 2 秒）：
 *   Desktop 1920：h1 x390 y204；介紹 x390 y489 w866；圖片 x930 y923 600×400；
 *   頁籤 x400 y1503 w1120；panel 內容三欄 x421 / 529 / 960。
 *   Mobile 390：h1 x20 y110；介紹 x20 y228 w350；圖片 x20 w350；
 *   頁籤改手風琴，panel 內容 x41（icon）/ x101（文字）。
 */

.strategy-title__inner,
.strategy-intro__inner,
.strategy-visual__inner,
.strategy-tabs__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
}

.strategy-title__inner {
	padding: 204px var(--gutter) 70px;
}

.strategy-intro {
	background: #f7f7f7;
}

.strategy-intro__inner {
	padding: 145px var(--gutter) 150px;
}

.strategy-intro h2 {
	max-width: 76%;
}

.strategy-visual {
	position: relative;
	z-index: 1;
	margin-top: -100px;
}

.strategy-visual__inner {
	height: 570px;
	padding: 0 var(--gutter);
}

.strategy-visual__figure {
	width: 600px;
	height: 400px;
	margin-left: auto;
	box-shadow: 0 6px 60px -3px rgb(0 0 0 / 0.5);
}

.strategy-visual__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.strategy-visual__label {
	margin-top: 140px;
	margin-left: 10px;
	margin-bottom: 0;
}

.lang-zh-hant .strategy-visual__label,
.lang-zh-hans .strategy-visual__label {
	margin-top: 130px;
}

.strategy-tabs__inner {
	padding: 10px 34px 0;
}

.strategy-tabs__nav {
	display: flex;
	align-items: flex-end;
}

.strategy-tabs__button,
.strategy-tabs__mobile-button {
	border: 0;
	background: transparent;
	color: var(--navy-900);
	font-family: var(--sans);
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	cursor: pointer;
}

.strategy-tabs__button {
	min-height: 66px;
	padding: 20px 25px;
	border: 1px solid transparent;
	border-bottom: 0;
	/* 官網截圖中的未啟用標籤是深藍，而非黑色。 */
	color: var(--navy-900);
	line-height: 16px;
}

.strategy-tabs__button.is-active,
.strategy-tabs__button[aria-selected="true"] {
	position: relative;
	z-index: 1;
	border-color: #d8d8d8;
	/* Active tab：白底、金色文字（與官網 Strategy 的標籤狀態一致）。 */
	background: var(--white);
	color: var(--tan-500);
}

/* 蓋掉下方 panel 的上框線，讓 active tab 沒有下底線並與內容區連成一體。 */
.strategy-tabs__button.is-active::after,
.strategy-tabs__button[aria-selected="true"]::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 1px;
	background: var(--white);
}

.lang-zh-hant .strategy-tabs__button,
.lang-zh-hans .strategy-tabs__button {
	height: 61.328px;
	min-height: 0;
}

.strategy-tabs__button:focus-visible,
.strategy-tabs__mobile-button:focus-visible {
	outline: 2px solid var(--blue-500);
	outline-offset: -3px;
}

.strategy-tabs sup,
.strategy-footnotes sup {
	position: relative;
	top: -0.3em;
	font-size: 0.65em;
	line-height: 0;
}

.lang-zh-hant .strategy-tabs__button sup,
.lang-zh-hans .strategy-tabs__button sup {
	font-size: 0.834em;
}

.strategy-tabs__mobile-button {
	display: none;
}

.strategy-panel {
	border: 1px solid #d8d8d8;
}

.strategy-panel[hidden] {
	display: none;
}

.strategy-panel__inner {
	padding: 139px 20px 160px;
}

.strategy-panel--main .strategy-panel__inner {
	padding-top: 210px;
	padding-bottom: 110px;
}

.strategy-panel--danacap .strategy-panel__inner {
	padding-top: 100px;
	padding-bottom: 109px;
}

.strategy-panel__item {
	display: grid;
	grid-template-columns: 80px 381px minmax(0, 1fr);
	column-gap: 28px;
	align-items: start;
}

.strategy-panel__item:not(:last-child) {
	margin-bottom: 65px;
	padding-bottom: 65px;
	border-bottom: 1px solid #e0e0e0;
}

.strategy-panel--overview .strategy-panel__item:nth-child(2) {
	margin-bottom: 75px;
}

.strategy-panel__icon {
	width: 65px;
	height: 65px;
	margin-top: 10px;
	object-fit: contain;
}

.strategy-panel__title {
	grid-column: 2;
}

.strategy-panel--overview .strategy-panel__item:nth-child(3) .strategy-panel__title {
	margin-top: 20px;
}

.lang-zh-hant .strategy-panel--overview .strategy-panel__item:nth-child(3) .strategy-panel__title,
.lang-zh-hans .strategy-panel--overview .strategy-panel__item:nth-child(3) .strategy-panel__title {
	margin-top: 0;
}

.strategy-panel--overview .strategy-panel__item:last-child .strategy-panel__title {
	max-width: 361px;
}

.strategy-panel__body {
	grid-column: 3;
	margin-left: 22px;
}

.strategy-footnotes {
	margin-top: 20px;
	margin-bottom: 10px;
	min-height: 89px;
}

.strategy-footnotes p {
	font-size: 18px;
	line-height: 39px;
}

.strategy-footnotes strong {
	font-weight: 700;
}

@media (max-width: 1024px) {
	.strategy-intro h2 {
		max-width: none;
	}

	.strategy-visual {
		margin-top: 0;
		background: #f7f7f7;
	}

	.strategy-visual__inner {
		height: auto;
		padding-top: 60px;
		padding-bottom: 100px;
	}

	.strategy-visual__figure {
		margin-right: auto;
	}
}

@media (max-width: 767px) {
	.strategy-title__inner {
		padding: 110px 20px 30px;
	}

	.strategy-intro__inner {
		padding: 50px 20px 30px;
	}

	.strategy-visual__inner {
		padding: 60px 10px 100px;
	}

	.strategy-visual__figure {
		width: auto;
		height: auto;
		aspect-ratio: 3 / 2;
		margin: 0 10px;
	}

	.strategy-visual__label {
		margin-top: 140px;
		margin-left: 0;
	}

	.lang-zh-hant .strategy-visual__inner,
	.lang-zh-hans .strategy-visual__inner {
		padding-bottom: 10px;
	}

	.lang-zh-hans .strategy-visual__inner {
		padding-bottom: 20px;
	}

	.lang-zh-hant .strategy-visual__label,
	.lang-zh-hans .strategy-visual__label {
		margin-top: 230px;
	}

	.lang-zh-hans .strategy-visual__label {
		margin-left: 10px;
	}

	.strategy-tabs__inner {
		padding: 10px 10px 0;
	}

	.lang-zh-hans .strategy-tabs__inner {
		padding-right: 20px;
		padding-left: 20px;
	}

	.strategy-tabs__nav {
		display: none;
	}

	.strategy-tabs__mobile-button {
		display: block;
		width: 100%;
		min-height: 40px;
		padding: 7px 20px;
		border: 1px solid #d8d8d8;
		font-size: 15px;
		line-height: 24px;
		text-align: left;
	}

.strategy-tabs__mobile-button.is-active {
	background: var(--white);
	color: var(--tan-500);
}

	.strategy-panel {
		border-top: 0;
	}

	.strategy-panel__inner,
	.strategy-panel--main .strategy-panel__inner,
	.strategy-panel--danacap .strategy-panel__inner {
		padding: 131px 30px 59px;
	}

	.strategy-panel__item {
		grid-template-columns: 40px minmax(0, 1fr);
		column-gap: 20px;
	}

	.strategy-panel__item:not(:last-child) {
		margin-bottom: 65px;
		padding-bottom: 65px;
	}

	.strategy-panel--overview .strategy-panel__item:nth-child(2) {
		margin-bottom: 95px;
	}

	.strategy-panel--main .strategy-panel__inner,
	.strategy-panel--danacap .strategy-panel__inner {
		padding: 141px 30px 170px;
	}

	.strategy-panel--main .strategy-panel__item,
	.strategy-panel--danacap .strategy-panel__item {
		display: block;
	}

	.strategy-panel--main .strategy-panel__item:not(:last-child),
	.strategy-panel--danacap .strategy-panel__item:not(:last-child) {
		margin-bottom: 70px;
		padding-bottom: 70px;
	}

	.strategy-panel__icon {
		width: 39px;
		height: 39px;
		margin-top: 10px;
	}

	.strategy-panel--overview .strategy-panel__item:nth-child(3) .strategy-panel__icon {
		margin-top: -10px;
	}

	.lang-zh-hant .strategy-panel--overview .strategy-panel__item:nth-child(3) .strategy-panel__icon,
	.lang-zh-hans .strategy-panel--overview .strategy-panel__item:nth-child(3) .strategy-panel__icon {
		margin-top: 10px;
	}

	.strategy-panel--main .strategy-panel__icon,
	.strategy-panel--danacap .strategy-panel__icon {
		width: 65px;
		height: 65px;
		margin-top: 0;
	}

	.strategy-panel__title,
	.strategy-panel__body {
		grid-column: 2;
	}

	.strategy-panel__title {
		max-width: 198px;
	}

	.strategy-panel--overview .strategy-panel__item:nth-child(3) .strategy-panel__title {
		margin-top: 0;
	}

	.strategy-panel--overview .strategy-panel__item:last-child .strategy-panel__title {
		max-width: 178px;
	}

	.strategy-panel--main .strategy-panel__title,
	.strategy-panel--danacap .strategy-panel__title {
		width: calc(100% - 50px);
		max-width: none;
		margin-top: -10px;
	}

	.strategy-panel__body {
		margin-top: 22px;
		margin-left: 0;
	}

	.strategy-panel--main .strategy-panel__body,
	.strategy-panel--danacap .strategy-panel__body {
		margin-top: 0;
	}

	.lang-zh-hant .strategy-panel--main .strategy-panel__item:last-child::after,
	.lang-zh-hans .strategy-panel--main .strategy-panel__item:last-child::after {
		content: '';
		display: block;
	}

	.lang-zh-hant .strategy-panel--main .strategy-panel__item:last-child::after { height: 31px; }
	.lang-zh-hans .strategy-panel--main .strategy-panel__item:last-child::after { height: 60px; }

	.lang-zh-hant .strategy-panel--danacap .strategy-panel__inner,
	.lang-zh-hans .strategy-panel--danacap .strategy-panel__inner {
		padding: 131px 30px 170px;
	}

	.lang-zh-hant .strategy-panel--danacap .strategy-panel__item,
	.lang-zh-hans .strategy-panel--danacap .strategy-panel__item {
		display: grid;
		grid-template-columns: 6.5% 3.5% calc(40% - 50px) 50px 50%;
		column-gap: 0;
	}

	.lang-zh-hant .strategy-panel--danacap .strategy-panel__item:not(:last-child),
	.lang-zh-hans .strategy-panel--danacap .strategy-panel__item:not(:last-child) {
		margin-bottom: 65px;
		padding-bottom: 65px;
	}

	.lang-zh-hant .strategy-panel--danacap .strategy-panel__icon,
	.lang-zh-hans .strategy-panel--danacap .strategy-panel__icon {
		grid-column: 1;
		width: 100%;
		height: auto;
		margin-top: 10.75px;
	}

	.lang-zh-hant .strategy-panel--danacap .strategy-panel__title,
	.lang-zh-hans .strategy-panel--danacap .strategy-panel__title {
		grid-column: 3;
		width: auto;
		max-width: none;
		margin-top: 0;
	}

	.lang-zh-hant .strategy-panel--danacap .strategy-panel__body,
	.lang-zh-hans .strategy-panel--danacap .strategy-panel__body {
		grid-column: 5;
	}

	.strategy-footnotes {
		margin-top: 21px;
		margin-bottom: 10px;
		min-height: 134px;
	}

	.strategy-tabs__group:nth-child(1) .strategy-tabs__mobile-button { height: 40px; }
	.strategy-tabs__group:nth-child(2) .strategy-tabs__mobile-button { height: 43.328px; }
	.strategy-tabs__group:nth-child(3) .strategy-tabs__mobile-button { height: 47.273px; }

	.lang-zh-hant .strategy-tabs__group:nth-child(1) .strategy-tabs__mobile-button,
	.lang-zh-hans .strategy-tabs__group:nth-child(1) .strategy-tabs__mobile-button,
	.lang-zh-hant .strategy-tabs__group:nth-child(2) .strategy-tabs__mobile-button,
	.lang-zh-hans .strategy-tabs__group:nth-child(2) .strategy-tabs__mobile-button { height: 43.5px; }

	.lang-zh-hant .strategy-tabs__group:nth-child(3) .strategy-tabs__mobile-button,
	.lang-zh-hans .strategy-tabs__group:nth-child(3) .strategy-tabs__mobile-button { height: 43.328px; }

	.lang-zh-hant .strategy-panel--overview .strategy-panel__inner {
		padding-bottom: 149px;
	}

	.lang-zh-hant .strategy-panel--overview .strategy-panel__item:nth-child(2),
	.lang-zh-hans .strategy-panel--overview .strategy-panel__item:nth-child(2) {
		margin-bottom: 75px;
	}

	.lang-zh-hans .strategy-panel--overview .strategy-panel__title {
		max-width: 178px;
	}

	.lang-zh-hans .strategy-panel--overview .strategy-panel__item:last-child .strategy-panel__title {
		max-width: 158px;
	}

	.lang-zh-hans .strategy-footnotes {
		margin-top: 31px;
		margin-right: -10px;
		margin-left: -10px;
	}

	.strategy-footnotes p {
		font-size: 15px;
		line-height: 31px;
	}
}

/* ═══════════ Sustainable Investing 頁 ═══════════ */
/* 官網 /sustainable-investing/ 實測（1920px，lazy-load 後）：
 * h1 x390/y204；引言 x390/y489/w866；主圖 x930/y875/600×400。
 * 六列內容為 114 / 456 / 570 三欄，圖示 x390、標題 x504、內文 x960。
 */
.sustainability-title__inner,
.sustainability-intro__inner,
.sustainability-visual__inner,
.sustainability-content__inner,
.sustainability-documents__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
}

.sustainability-title__inner {
	padding: 204px var(--gutter) 70px;
}


.sustainability-intro {
	position: relative;
	background: #f7f7f7;
}

.sustainability-intro__inner {
	padding: 145px var(--gutter) 150px;
}

/* 原站不是縮窄灰底，而是用 #_custom_sideCoverer 蓋掉右側：其相對於
   1140px 容器的 left:90% / width:calc(-40% + 50vw)，換算成 viewport
   座標即以下兩個值。主視覺在後一個 section，會自然疊在遮罩上方。 */
.sustainability-intro__side-cover {
	position: absolute;
	top: -75px;
	left: calc(50% + 456px);
	width: calc(50% - 456px);
	height: 80vh;
	background: #fff;
	pointer-events: none;
}

.sustainability-intro h2 {
	max-width: 76%;
}

.sustainability-visual {
	position: relative;
	z-index: 1;
	margin-top: -100px;
}

.sustainability-visual__inner {
	height: 400px;
	padding: 0 var(--gutter);
}

.sustainability-visual__figure {
	width: 600px;
	height: 400px;
	margin-left: auto;
	box-shadow: 0 6px 60px -3px rgb(0 0 0 / 0.5);
}

.sustainability-visual__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sustainability-content__inner {
	padding: 120px var(--gutter) 0;
}

.sustainability-item {
	display: grid;
	grid-template-columns: 114px 456px minmax(0, 570px);
	align-items: start;
}

.sustainability-item:not(:last-child) {
	margin-bottom: 65px;
	padding-bottom: 65px;
	border-bottom: 1px solid #e0e0e0;
}

.sustainability-item__icon {
	grid-column: 1;
	width: 65px;
	height: 60px;
	margin-top: 10px;
	object-fit: contain;
}

.sustainability-item__title {
	grid-column: 2;
	padding-right: 50px;
}

.sustainability-item:nth-child(4) .sustainability-item__title {
	margin-top: 20px;
}

/* 官網第 4–6 列在 Elementor 內各有 10px 額外的列間留白；
 * 以 margin/padding 對沖，讓分隔線仍落在原本的 y 座標。 */
.sustainability-item:nth-child(3),
.sustainability-item:nth-child(4) {
	margin-bottom: 75px;
}

.sustainability-item:nth-child(5) {
	margin-bottom: 75px;
}

.sustainability-item:nth-child(4),
.sustainability-item:nth-child(5) {
	padding-bottom: 55px;
}

.sustainability-item__body {
	grid-column: 3;
}

.sustainability-item:last-child {
	padding-bottom: 118px;
	border-bottom: 1px solid #e0e0e0;
}

.sustainability-documents__inner {
	display: flex;
	gap: 50px;
	padding: 122px calc(var(--gutter) + 10px) 10px;
}

.sustainability-documents__link {
	display: block;
	width: 70px;
	height: 124px;
}

.sustainability-documents__link img {
	width: 70px;
	height: 124px;
	object-fit: contain;
}

@media (max-width: 1024px) {
	.sustainability-intro h2 {
		max-width: none;
	}

	.sustainability-intro__side-cover {
		display: none;
	}

	.sustainability-visual {
		margin-top: 0;
		background: #f7f7f7;
	}

	.sustainability-visual__inner {
		height: auto;
		padding-top: 60px;
		padding-bottom: 100px;
	}

	.sustainability-visual__figure {
		margin-right: auto;
	}
}

@media (max-width: 767px) {
	.sustainability-title__inner {
		padding: 110px 20px 30px;
	}

	.sustainability-intro__inner {
		padding: 50px 20px 30px;
	}

	.sustainability-visual__inner {
		padding: 60px 10px 100px;
	}

	.sustainability-visual__figure {
		width: auto;
		height: auto;
		aspect-ratio: 3 / 2;
		margin: 0 10px;
	}

	.sustainability-content__inner {
		padding: 100px 20px 0;
	}

	.sustainability-item {
		grid-template-columns: 40px minmax(0, 1fr);
		column-gap: 20px;
	}

	.sustainability-item:not(:last-child) {
		margin-bottom: 50px;
		padding-bottom: 50px;
	}

	.sustainability-item:nth-child(3),
	.sustainability-item:nth-child(4),
	.sustainability-item:nth-child(5) {
		margin-bottom: 50px;
	}

	.sustainability-item:nth-child(4),
	.sustainability-item:nth-child(5) {
		padding-bottom: 50px;
	}

	.sustainability-item__icon {
		width: 39px;
		height: 39px;
		margin-top: 0;
	}

	.sustainability-item__title,
	.sustainability-item__body {
		grid-column: 2;
	}

	.sustainability-item__title {
		padding-right: 0;
	}

	.sustainability-item:nth-child(4) .sustainability-item__title {
		margin-top: 0;
	}

	.sustainability-item__body {
		margin-top: 22px;
	}

	.sustainability-item:last-child {
		padding-bottom: 50px;
	}

	.sustainability-documents__inner {
		gap: 35px;
		padding: 60px 30px 10px;
	}
}

/* ═══════════ Portfolio 頁 ═══════════ */
/* 官網 /portfolio/ 實測（1920px）：標題 x390/y204；section label y356；
 * 卡片為三欄 366.667×481、欄/列間距 20。hover 時不是連結，而是深藍資訊框。 */
.portfolio-title__inner,
.portfolio-section__inner,
.portfolio-stats__inner {
	max-width: var(--wrap-box);
	margin: 0 auto;
}

.portfolio-title__inner {
	padding: 204px var(--gutter) 0;
}

.portfolio-section__inner {
	padding: 82px var(--gutter) 0;
}

.portfolio-section__inner > .section-label {
	margin: 0 0 55px;
	font-size: 18px;
}

.portfolio-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.portfolio-card {
	position: relative;
	min-height: 481px;
	outline: 0;
}

.portfolio-card__default {
	min-height: 481px;
	background: var(--white);
}

.portfolio-card__logo {
	display: block;
	width: calc(100% - 1.664px);
	height: 382px;
	object-fit: cover;
}

.portfolio-card__title {
	width: 100%;
	margin: 10px 0 0;
	color: var(--navy-900);
	font-family: var(--serif-heavy);   /* 原站是 Sabon Bold 字形（客戶 2026-10-27 回報才發現） */
}

.portfolio-card__detail {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: flex;
	box-sizing: border-box;
	width: calc(100% - 1.664px);
	height: 382px;
	min-height: 0;
	padding: 40px 20px 20px;
	background: rgb(15 36 65 / 0.9);
	opacity: 0;
	pointer-events: none;
	transform: scale(1);
	transform-origin: center;
	transition: opacity 240ms ease, transform 240ms ease;
}

.portfolio-card__detail-inner {
	display: flex;
	flex-direction: column;
	width: 100%;
	color: var(--white);
}

.portfolio-card__detail h2 {
	min-height: 0;
	margin: 0 0 20px;
	color: var(--white);
	font-size: 31.5px;
	font-weight: 500;
	line-height: 37px;
}

.portfolio-card__sector {
	margin: 5px 0 0;
	color: #6c7787;
	font-family: var(--font-fakt);
	font-size: 16px;
	font-weight: 400;
	line-height: 36px;
}

.portfolio-card__description {
	margin: 0;
	color: var(--white);
	font-size: 15px;
	font-weight: 400;
	line-height: 39px;
}

.portfolio-card:hover .portfolio-card__detail,
.portfolio-card:focus .portfolio-card__detail {
	opacity: 1;
	pointer-events: auto;
	transform: scale(1.3);
}

.portfolio-card:focus-visible {
	outline: 2px solid var(--blue-500);
	outline-offset: 5px;
}

.portfolio-section--exited .portfolio-section__inner {
	padding-top: 94px;
}

.portfolio-stats {
	margin-top: 16px;
	background: #f7f8f9;
}

.portfolio-stats__inner {
	min-height: 417px;
	padding: 105px calc(var(--gutter) + 10px) 60px;
}

.portfolio-stats .section-label {
	margin: 0 0 20px;
	color: var(--tan-500);
	font-size: 18px;
}

.portfolio-stats__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.portfolio-stat__number {
	margin: 0 0 14px;
	color: #002a5a;
	/* 官網回報 400，實際這個 family 對到 Sabon Bold 檔 → Heavy + 400 */
	font-family: var(--serif-heavy);
	font-size: 63px;
	font-weight: 400;
	line-height: 76px;
}

.portfolio-stat__label {
	margin: 0;
	color: #6c7787;
	font-size: 18px;
	font-weight: 400;
	line-height: 36px;
}

@media (max-width: 1024px) {
	.portfolio-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.portfolio-title__inner {
		padding: 110px 20px 0;
	}

	.portfolio-section__inner,
	.portfolio-section--exited .portfolio-section__inner {
		padding: 56px 20px 0;
	}

	.portfolio-section__inner > .section-label {
		margin-bottom: 35px;
	}

	.portfolio-grid,
	.portfolio-stats__grid {
		grid-template-columns: 1fr;
	}

	.portfolio-card,
	.portfolio-card__default {
		min-height: 390px;
	}

	.portfolio-card__default {
		padding-top: 55px;
	}

	/* 觸控裝置沒有 hover；保留卡片內容可讀，不能讓介紹消失。 */
	.portfolio-card__detail {
		position: static;
		width: auto;
		min-height: 0;
		padding: 38px 25px;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.portfolio-card__detail h2 {
		display: none;
	}

	.portfolio-stats__inner {
		min-height: 0;
		padding: 64px 30px;
	}

	.portfolio-stats .section-label {
		margin-bottom: 40px;
	}

	.portfolio-stats__grid {
		gap: 34px;
	}
}

/* ═══════════ Footer ═══════════ */
/*
 * 全部為實測值。⚠️ 三語的頁尾在原站是「三份獨立的 Elementor 模板」，
 * 欄寬 / 透明度 / 字重各不相同 → 用 body 的 lang-* class 做覆寫。
 *
 * ⚠️ 暗度用「白字 + opacity」，不用 rgba 半透明色（2026-10-27 改）。
 *    原站的暗度是祖先層 0.8 × 0.6 疊出來的（有效值 0.48），文字本身是純白。
 *    數學上跟 rgba(255,255,255,.48) 一樣，但 Windows 的文字渲染不一樣：
 *    半透明色的細字（Fakt Light）在 PC 上明顯偏暗偏細，客戶回報「原站比較亮」。
 *    ⚠️ opacity 會跟祖先相乘：只加在 p／address 上，裡面的 a 不要再加。
 *
 * 有效值（實測）：
 *   內文（簡介/地址）        rgba(255,255,255,.48)   12/22 w300
 *   電話、辦公室 email       rgba(255,255,255,.384)
 *   聯絡 email               EN .48；中文 .384
 *   版權                     EN .18 w300；中文 .3 w400
 *   選單                     #fff（不暗）12/30 w300 ls .8
 *   辦公室標籤               #9E9286 12/14 w700 ls .8（不暗）
 *   LinkedIn                 #6EC1E4 27×27（不暗）
 *   分隔線                   EN/繁中 rgba(255,255,255,.3)；簡中 rgb(0,0,0)（原站就是黑的，照抄）
 */

.site-footer {
	position: relative;
	overflow: hidden;   /* 浮水印上緣超出頁尾（top: -75px），要裁掉 */
	background: var(--navy-800);
	color: var(--white);
	padding: 51px 0 27px;   /* 實測（載入後）：logo 距上緣 51；底部 27（三語相同） */
}

/* 巨大的 NP 浮水印（實測：symbol.svg 550×441，opacity .05，上 −75）
   ⚠️ 水平位置跟著內容欄走，不是固定 px：原站一律在「內容左緣 − 140」，
   所以 NP 的 N 左邊那條線永遠對齊左欄 logo 的 N（2026-10-27 偉智指出，之前寫死 250 只有 1920 寬才對）。
   內容左緣 = max(gutter, (頁寬 − wrap) / 2)，跟 .site-footer__inner 的置中算法一致。 */
.site-footer__watermark {
	position: absolute;
	left: calc(max(var(--gutter), (100% - var(--wrap)) / 2) - 140px);
	top: -75px;
	max-width: none;   /* 全站 img 有 max-width:100%，窄螢幕會把浮水印縮小 */
	z-index: 1;
	width: 550px;
	height: 441px;
	opacity: 0.05;
	pointer-events: none;
	user-select: none;
}

/* ── 六欄：三語各自的實測欄寬 ── */
.site-footer__inner {
	position: relative;
	z-index: 2;
	max-width: var(--wrap-box);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: grid;
	grid-template-columns: 190px 190px 156px 185px 214px 190px;  /* EN 實測 */
	align-items: start;
}
.lang-zh-hant .site-footer__inner { grid-template-columns: 190px 190px 181px 179px 210px 174px; }
.lang-zh-hans .site-footer__inner { grid-template-columns: 190px 190px 190px 165px 207px 190px; }

/* 基準字體：Fakt Pro 12/22 w300，白字 + opacity */
.site-footer p,
.site-footer address,
.site-footer a {
	font-family: var(--sans);
	font-weight: 300;
	font-size: 12px;
	line-height: 22px;
	font-style: normal;
	text-decoration: none;
	color: #fff;
}
.site-footer p,
.site-footer address { opacity: 0.48; }
/* 段落裡的連結 hover：把整段調亮（a 自己不能再加 opacity，會相乘） */
.site-footer p:has(> a:hover) { opacity: 0.8; }

/* ── 第 1 欄：logo + 簡介 ── */
/* ⚠️ 量測陷阱（真實踩過）：原站這些 SVG 是 lazy-load 且帶 width="1" height="1"，
   「尚未載入」時瀏覽器用 1:1 佔位比例排版（logo 125×125、INSIGHTS 170×170、頁尾 501 高）。
   那是佔位假象——載入後的真值是 logo 125×71、INSIGHTS 170×42、頁尾 392。
   量原站必須先把圖片捲進視窗等載入完（或強制載入）再量。 */
.site-footer__logo img {
	width: 125px;
	height: 71px;       /* 實測（載入後）：SVG viewBox 1.77:1 → 125×71 */
	margin-left: -11px; /* 實測：logo 盒在內容左緣外 11px（x=379，內容起點 390） */
}
.site-footer .site-footer__tagline {
	margin-top: 12px;   /* 實測：logo 底 122 → 簡介 134 */
	max-width: 166px;   /* 實測 */
}

/* 中文版「吉隆坡」標籤：原站包了 <strong> → 900（只有這一個；中文備援字型會照 900 走） */
.lang-zh-hant .site-footer__office:nth-child(3) p.site-footer__label,
.lang-zh-hans .site-footer__office:nth-child(3) p.site-footer__label { font-weight: 900; }

/* 繁中香港地址：原站是 Fakt Normal（400），其餘地址都是 Light（實測） */
.lang-zh-hant .site-footer__office:first-child address { font-weight: 400; }

/* ── 第 2 欄：選單 ── */
.site-footer__menu { margin-top: 7px; }   /* 實測：首項 y58 = 51 + 7 */
.site-footer__menu a {
	color: #fff;        /* 選單不暗（實測 effOp = 1） */
	letter-spacing: 0.8px;
	line-height: 30px;
	text-transform: uppercase;
	display: block;
}
.site-footer__menu a:hover { color: rgb(255 255 255 / 0.8); }

/* 有圖片的選單項（INSIGHTS，僅英文版有設圖）
   實測（載入後）：頁尾 170×42，緊貼 NEWS 下方（比自然流高 7px） */
.menu-item--image a { display: block; padding: 0 !important; font-size: 0; }
.site-footer__menu .menu-item--image { margin-top: -7px; }   /* 實測：NEWS 行底 238 → 圖 231 */
.site-footer__menu .menu-item--image img {
	width: 170px;
	height: 42px;
}
/* 頁首的 INSIGHTS 圖（實測，載入後）：170×42，li 內縮 18/17 */
.site-nav__list .menu-item--image { padding: 0 17px; }   /* 圖落在 x1090 */
.site-nav__list .menu-item--image img { width: 170px; height: 42px; }

/* ── 辦公室欄（3/4/5 欄）── */
.site-footer__offices { display: contents; }

/* ⚠️ 特定性：必須贏過上面的 .site-footer p（0,1,1），否則行高/顏色被蓋掉，
   標籤變成 22px 行高 → 下方整串內容位移 8px（實際發生過）。 */
.site-footer p.site-footer__label {
	opacity: 1;
	color: var(--tan-500);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.8px;
	line-height: 14px;
	margin-top: 17px;    /* 實測：標籤 y68 = 51 + 17 */
	margin-bottom: 0;
	text-transform: uppercase;
}
.site-footer__office address {
	margin-top: 20px;      /* 實測：標籤底 82 → 地址 102 */
	padding-right: 20px;   /* 實測：地址文字寬 = 欄寬 − 20（EN 136、繁中 161）→ 決定折行位置 */
}
.site-footer .site-footer__phone {
	margin-top: 0;   /* 實測：原站地址結束直接接電話（段落頂 212，無間距） */
}
.site-footer .site-footer__phone { opacity: 0.384; }  /* 實測：電話/辦公室 email 更暗 */
.site-footer .site-footer__phone:has(> a:hover) { opacity: 0.7; }

/* ── 第 6 欄：CONTACT ── */
.site-footer .site-footer__contact-email { margin-top: 18px; }   /* 實測：標籤底 82 → email 段落頂 100（連結 y105） */
.lang-zh-hant .site-footer .site-footer__contact-email,
.lang-zh-hans .site-footer .site-footer__contact-email { opacity: 0.384; }  /* 中文版更暗（實測） */

.site-footer a.site-footer__linkedin {
	display: inline-flex;
	margin-top: 22px;    /* 實測：email 段落底 122 → 圖示 144 */
	color: #6ec1e4;
}
.site-footer a.site-footer__linkedin:hover { color: #8fd2ec; }
.site-footer__linkedin svg { width: 27px; height: 27px; fill: currentColor; }

/* ── 分隔線 + 版權（跨滿整列）── */
.site-footer__copy {
	grid-column: 1 / -1;
	margin-top: 34px;    /* EN 實測（載入後）：選單欄底 273 → 分隔線 307 */
	border-top: 1px solid rgb(255 255 255 / 0.3);   /* 實測 */
	padding-top: 35px;   /* 實測：分隔線 → 版權 +35 */
}
.lang-zh-hant .site-footer__copy,
.lang-zh-hans .site-footer__copy { margin-top: 17px; }      /* 實測（載入後）：選單欄底 268 → 分隔線 285 */
.lang-zh-hans .site-footer__copy { border-top-color: rgb(0 0 0); }  /* 簡中原站就是黑線，照抄 */

.site-footer .site-footer__copy p {
	opacity: 0.18;   /* EN 實測（0.3 × 0.6 疊出來的） */
	font-weight: 300;
}
.lang-zh-hant .site-footer .site-footer__copy p,
.lang-zh-hans .site-footer .site-footer__copy p {
	opacity: 0.3;    /* 中文實測 */
	font-weight: 400;
	line-height: normal;              /* 實測：中文版權行高 17（非 22）→ 頁尾總高 365 */
}

@media (max-width: 1024px) {
	.site-footer__inner,
	.lang-zh-hant .site-footer__inner,
	.lang-zh-hans .site-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
	.site-footer__copy,
	.lang-zh-hant .site-footer__copy,
	.lang-zh-hans .site-footer__copy { margin-top: 32px; }
}
@media (max-width: 767px) {
	.site-footer__inner,
	.lang-zh-hant .site-footer__inner,
	.lang-zh-hans .site-footer__inner { grid-template-columns: 1fr; gap: 28px; }
}
/* 浮水印手機尺寸（原站實測：≤768 寬縮成 410×328，內容左緣 − 82、上 −50；剛好 768 時上 −25） */
@media (max-width: 768px) {
	.site-footer__watermark {
		left: calc(var(--gutter) - 82px);
		top: -50px;
		width: 410px;
		height: 328px;
	}
}
@media (width: 768px) {
	.site-footer__watermark { top: -25px; }
}

/* ═══════════ 捲動進場 ═══════════ */

/* 只有在 JS 成功執行後才隱藏 → JS 失效時內容仍可見
   原站全站同一套（自訂 _fadeInUp，2026-10-23 實測）：等待時只有 opacity:0、不位移；
   觸發後跑 1.25s ease，從下方 100px 淡入上移。觸發點在 reveal.js（元素頂端進到視窗底上方 100px）。
   fill-mode 用 backwards：動畫結束後回到元素自己的 transform，不會蓋掉其他樣式。 */
.has-reveal [data-reveal] {
	opacity: 0;
}
.has-reveal [data-reveal].is-revealed {
	opacity: 1;
	animation: nexus-fade-in-up 1.25s ease backwards;
}
@keyframes nexus-fade-in-up {
	from { opacity: 0; transform: translate3d(0, 100px, 0); }
	to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* ═══════════ 減少動態 ═══════════ */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	.has-reveal [data-reveal] { opacity: 1; transform: none; }
}
