/* PLUS Knowledge — 前台補充樣式（純 CSS，無預處理器）
   色彩／字級／間距／版面一律先在 theme.json 設定；此檔僅放 theme.json 無法表達的細節。 */

/* ---------- 無障礙 ---------- */

/* 跳至主要內容（WP 區塊主題自動輸出 .skip-link） */
.skip-link.screen-reader-text:focus {
	position: fixed;
	inset-block-start: 1rem;
	inset-inline-start: 1rem;
	z-index: 100000;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
	text-decoration: underline;
}

/* 可見焦點：全站一致 */
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	border-radius: 2px;
}

/* 亮青綠底上的焦點改深色，維持可見性 */
.has-brand-teal-background-color :where(a, button, [tabindex]):focus-visible {
	outline-color: var(--wp--preset--color--contrast);
}

/* 減少動態偏好：關閉平滑捲動與過渡 */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* ---------- 元件 ---------- */

/* 卡片 block style（columns/group 皆可套用；於 inc/blocks.php 註冊） */
.is-style-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: var(--wp--preset--spacing--30);
	transition: box-shadow 0.2s ease;
}

.is-style-card:hover {
	box-shadow: 0 4px 16px rgb(0 0 0 / 8%);
}


/* <picture> 包裝後，讓它不影響既有的 <img> 版面規則 */
picture {
	display: contents;
}

/* 脫離後：post-content 承接原本 main 的版面角色，滿版區段需能突破約束 */
.wp-block-post-content > .alignfull {
	margin-left: calc( -1 * var( --wp--style--root--padding-left, 0px ) );
	margin-right: calc( -1 * var( --wp--style--root--padding-right, 0px ) );
	max-width: none;
	width: auto;
}

/* ---------- 固定頁首（捲動時跟隨） ---------- */

/*
 * 純 CSS sticky，不需 JavaScript。
 * 頁首約 76–90px 高，錨點連結（如 #mset）以 scroll-margin-top 避開遮擋。
 */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	transition: box-shadow 0.2s ease;
}

/* 捲離頁面頂端後加陰影，做出層次 */
@supports ( animation-timeline: scroll() ) {
	.site-header {
		animation: pluskn-header-shadow linear both;
		animation-timeline: scroll();
		animation-range: 0 120px;
	}

	@keyframes pluskn-header-shadow {
		from {
			box-shadow: 0 0 0 rgb( 15 58 52 / 0% );
		}

		to {
			box-shadow: 0 2px 16px rgb( 15 58 52 / 10% );
		}
	}
}

/* 不支援捲動時間軸的瀏覽器：固定給一道極淡陰影 */
@supports not ( animation-timeline: scroll() ) {
	.site-header {
		box-shadow: 0 1px 8px rgb( 15 58 52 / 6% );
	}
}

/* 錨點跳轉時避開固定頁首 */
:where( [id] ) {
	scroll-margin-top: 100px;
}

/* 手機：頁首壓低，讓內容有更多空間 */
@media (max-width: 600px) {
	.site-header {
		padding-block: 10px;
	}
}

/* 減少動態偏好：關閉陰影動畫 */
@media (prefers-reduced-motion: reduce) {
	.site-header {
		animation: none;
		box-shadow: 0 1px 8px rgb( 15 58 52 / 6% );
	}
}

/* ---------- 頁首導覽子選單 ---------- */

.site-header .wp-block-navigation__submenu-container {
	min-width: 200px;
	padding: 8px 0;
	border: 1px solid var( --wp--preset--color--border );
	border-radius: 8px;
	background: var( --wp--preset--color--base );
	box-shadow: 0 8px 24px rgb( 15 58 52 / 12% );
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 18px;
	color: var( --wp--preset--color--contrast );
}

.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item:hover .wp-block-navigation-item__content {
	background: var( --wp--preset--color--base-2 );
	color: var( --wp--preset--color--ink );
}

/* ---------- 首頁 Hero ---------- */

/*
 * Hero 為 core/cover：桌機圖由區塊本身的 <img> 承載，可在 Site Editor 直接更換。
 * ≤600px 時隱藏該 <img>，改由主題 CSS 指定手機版直式圖（core/cover 不支援藝術指導）。
 * 桌機焦點設在 50% 35%，讓圖上方的 SHINE ON／太陽／箭線完整留在畫面內。
 */
.pluskn-hero.wp-block-cover {
	min-height: clamp( 620px, 52vw, 900px );
	padding-block: clamp( 165px, 14vw, 220px );
	align-items: center;
	padding-inline: var( --wp--preset--spacing--30 );
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.pluskn-hero .wp-block-cover__image-background {
	object-fit: cover;
}

/*
 * 手機版：不能用 display:none 隱藏 <img> 再疊 CSS 背景——瀏覽器仍會下載被隱藏的桌機圖，
 * 等於雙載。改用 content-visibility 無效，故以 srcset 由瀏覽器決定下載哪一張：
 * 實際 srcset 寫在 patterns/hero.php 的 <img> 標籤上，此處只調整裁切位置。
 */
@media (max-width: 600px) {
	.pluskn-hero.wp-block-cover {
		min-height: 620px;
		padding-block: 110px;
	}

	.pluskn-hero .wp-block-cover__image-background {
		object-position: 50% 50%;
	}
}

/*
 * 不使用整片遮罩：主標為白字、小標與副標為深墨綠，
 * 可讀性改由各自的文字陰影處理（見下方 text-shadow）。
 */
.pluskn-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
}

/*
 * 顏色一律由區塊色票 class 提供（has-ink-color / has-warm-white-color），
 * 因為 WordPress 預設色彩 class 帶 !important，CSS 寫 color 會被覆蓋。
 * 此處只負責字級、字重、間距與光暈。
 */
.pluskn-hero__eyebrow {
	margin: 0 0 clamp( 1rem, 2vw, 1.6rem );
	text-shadow:
		0 1px 2px rgb( 255 253 247 / 70% ),
		0 0 14px rgb( 255 253 247 / 60% );
	font-size: clamp( 1.375rem, 2.1vw, 2rem );
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.4;
}

/*
 * 主標保證單行：以「可用寬度 ÷ 6.5」反推字級，上限 7rem（112px）。
 * 「擁抱你的全部」為 6 個全形字，含 0.03em 字距約佔 6.2 字寬。
 * 若日後改成更長的字串需同步調整分母。
 */
.pluskn-hero__title {
	margin: 0 0 clamp( 1.1rem, 2.4vw, 1.9rem );
	font-size: min( 7rem, calc( ( 100vw - 4rem ) / 6.5 ) );
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.03em;
	white-space: nowrap;
	/* 克制的深墨綠柔光，無描邊、無底板 */
	text-shadow:
		0 2px 5px rgb( 10 22 20 / 60% ),
		0 0 30px rgb( 10 22 20 / 50% );
}

.pluskn-hero__subtitle {
	margin: 0 0 clamp( 2rem, 3.6vw, 2.75rem );
	text-shadow:
		0 1px 2px rgb( 255 253 247 / 70% ),
		0 0 14px rgb( 255 253 247 / 60% );
	font-size: clamp( 1.375rem, 2.5vw, 2.25rem );
	font-weight: 600;
	line-height: 1.6;
}

/* 主按鈕：深墨綠底、暖白字（色票由區塊控制），此處只管尺寸與字重 */
.pluskn-hero__cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0.8rem 2.25rem;
	font-size: 1.0625rem;
	font-weight: 600;
}

.pluskn-hero__cta .wp-block-button__link:hover,
.pluskn-hero__cta .wp-block-button__link:focus {
	filter: brightness( 1.12 );
}

/* 手機字級（避免 375px 溢出） */
@media (max-width: 600px) {
	.pluskn-hero__eyebrow {
		font-size: clamp( 0.9375rem, 4.2vw, 1.0625rem );
	}

	.pluskn-hero__subtitle {
		font-size: clamp( 1.0625rem, 4.8vw, 1.1875rem );
	}
}

/* ---------- 首頁排版制度 ---------- */

/*
 * 三級標題：
 *   L1 主張句  48–56px  只用於「你是否曾經困惑」與 Sutton 核心句
 *   L2 區段標題 36–40px  四大突破／研究依據／服務入口／FAQ／成長系統
 *   L3 卡片標題 20–22px  各卡片內
 * 容器寬度收斂為兩種：敘事段 820px、卡片段 1200px。
 */

.pluskn-h1-statement {
	margin: 0 0 clamp( 1rem, 2.2vw, 1.6rem );
	color: var( --wp--preset--color--ink );
	font-size: clamp( 2rem, 3.6vw, 3.25rem );
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.pluskn-lede {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.1875rem, 1.8vw, 1.625rem );
	font-weight: 500;
	line-height: 1.8;
}

/* L2 區段標題 */
.pluskn-section-title,
.pluskn-growth__title {
	font-size: clamp( 1.625rem, 2.7vw, 2.5rem );
	font-weight: 700;
	line-height: 1.4;
}

.pluskn-section-title {
	position: relative;
	padding-bottom: 0.6em;
}

.pluskn-section-title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	transform: translateX( -50% );
	background: var( --wp--preset--color--brand-orange );
}

/* L3 卡片標題 */
.pluskn-sit__title,
.pluskn-card__title,
.pluskn-break__title {
	font-size: clamp( 1.25rem, 1.6vw, 1.4375rem );
	font-weight: 700;
	line-height: 1.5;
}

/* 卡片頂色條 */
.pluskn-accent-1,
.pluskn-accent-2,
.pluskn-accent-3,
.pluskn-accent-4 {
	position: relative;
	overflow: hidden;
}

.pluskn-accent-1::before,
.pluskn-accent-2::before,
.pluskn-accent-3::before,
.pluskn-accent-4::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-start: 0;
	height: 4px;
}

.pluskn-accent-1::before {
	background: var( --wp--preset--color--brand-teal );
}

.pluskn-accent-2::before {
	background: var( --wp--preset--color--brand-orange );
}

.pluskn-accent-3::before {
	background: var( --wp--preset--color--accent-yellow );
}

.pluskn-accent-4::before {
	background: var( --wp--preset--color--brand-green );
}

/* 卡片內文共通：標題貼齊色條、內文次要色階 */
.pluskn-situations .wp-block-column.is-style-card,
.pluskn-breakthrough .wp-block-column.is-style-card,
.pluskn-services .wp-block-column.is-style-card {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding-block-start: calc( var( --wp--preset--spacing--30 ) + 4px );
}

.pluskn-situations .wp-block-column h3,
.pluskn-breakthrough .wp-block-column h3,
.pluskn-services .wp-block-column h3 {
	margin: 0;
	color: var( --wp--preset--color--primary );
}

.pluskn-situations .wp-block-column p,
.pluskn-breakthrough .wp-block-column p,
.pluskn-services .wp-block-column p {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
}

/* 平板：四欄改兩欄 */
@media (max-width: 1024px) and (min-width: 601px) {
	.pluskn-situations__grid,
	.pluskn-breakthrough__grid {
		flex-wrap: wrap;
	}

	.pluskn-situations__grid > .wp-block-column,
	.pluskn-breakthrough__grid > .wp-block-column {
		flex-basis: calc( 50% - var( --wp--preset--spacing--30 ) ) !important;
	}
}

/* ---------- 2. 情境共鳴 ---------- */

.pluskn-situations__closing p {
	margin: 0.25em 0;
	font-weight: 500;
}

/*
 * 引言區：水彩色帶底圖，疊 62% 暖白降低對比。
 * 原圖文字帶最暗處明度僅 0.10，直接當底會讓深墨綠字掉到 1.75:1；
 * 疊白後最差 6.8:1，通過 WCAG AA。
 */
.pluskn-quote-wrap {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var( --wp--preset--color--base ) !important;
}

.pluskn-quote-wrap::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: image-set( url( "../images/sections/quote-wash.webp" ) type( "image/webp" ), url( "../images/sections/quote-wash.jpg" ) type( "image/jpeg" ) );
	background-size: cover;
	background-position: center center;
}

.pluskn-quote-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgb( 255 252 246 / 62% );
}

/* 引言：核心句放大、說明次之、署名置底；大引號為純 CSS，未使用圖片 */
.pluskn-quote {
	position: relative;
	padding-top: clamp( 2.75rem, 6vw, 4.5rem );
	text-align: center;
}

.pluskn-quote::before {
	content: "\201C";
	position: absolute;
	inset-block-start: -0.06em;
	inset-inline-start: 50%;
	transform: translateX( -50% );
	color: var( --wp--preset--color--primary );
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp( 6rem, 13vw, 11rem );
	line-height: 1;
	opacity: 0.12;
	pointer-events: none;
}

/* 底圖為青綠色系，核心句改用近黑而非深墨綠，避免同色系相融（9.2:1） */
.pluskn-quote__lead {
	position: relative;
	margin: 0 0 clamp( 1.25rem, 2.6vw, 1.85rem );
	color: var( --wp--preset--color--contrast );
	font-size: clamp( 1.5rem, 3vw, 2.75rem );
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: 0.01em;
}

.pluskn-quote__body {
	margin: 0 auto clamp( 1.5rem, 3vw, 2.25rem );
	max-width: 640px;
	/* 水彩底上次要色階僅 2.66:1，改用深墨綠達 6.43:1 */
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.0625rem, 1.3vw, 1.125rem );
	line-height: 1.8;
	text-align: left;
}

.pluskn-quote__cite {
	margin: 0;
	color: var( --wp--preset--color--ink );
	opacity: 0.75;
	font-size: clamp( 1rem, 1.2vw, 1.125rem );
	font-weight: 500;
	letter-spacing: 0.04em;
}

/*
 * 價值主張：全頁唯一的深色段落。
 * 上下兩段（引言、四大突破）皆為淺色，此處以深墨綠反白做出重音，
 * 同時解決先前「極淡薄荷 vs 淡青綠」明度差僅 0.04、肉眼無法區分的問題。
 * 暖白字對深墨綠 12.2:1。
 */
.pluskn-values {
	background: var( --wp--preset--color--ink ) !important;
}

.pluskn-values__row {
	gap: clamp( 2rem, 5vw, 4rem );
}

@media (min-width: 782px) {
	.pluskn-values__row > .wp-block-column + .wp-block-column {
		padding-inline-start: clamp( 2rem, 4vw, 3.5rem );
		border-inline-start: 1px solid rgb( 255 252 246 / 22% );
	}
}

.pluskn-value__title {
	margin: 0 0 14px;
	color: var( --wp--preset--color--warm-white );
	font-size: clamp( 1.5rem, 2vw, 1.75rem );
	font-weight: 700;
	line-height: 1.45;
}

.pluskn-value__body {
	margin: 0;
	color: rgb( 255 252 246 / 82% );
	font-size: clamp( 1.0625rem, 1.25vw, 1.125rem );
	line-height: 1.9;
}

/* ---------- 3. 四大突破 ---------- */

/* 暖白底，內容裝進淡青綠面板，區塊邊界清楚 */
.pluskn-breakthrough {
	background: var( --wp--preset--color--base );
}

.pluskn-break__panel {
	padding: clamp( 2rem, 4vw, 3.25rem ) clamp( 1.5rem, 3.5vw, 3rem );
	border-radius: 16px;
	background: var( --wp--preset--color--base-2 );
}

.pluskn-breakthrough .wp-block-column.is-style-card {
	background: var( --wp--preset--color--base );
}


/* ---------- 四大突破：標題分層 ---------- */

.pluskn-kicker {
	display: block;
	margin-bottom: 0.35em;
	color: var( --wp--preset--color--contrast-2 );
	font-size: 0.5em;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.pluskn-hero-word {
	display: block;
	color: var( --wp--preset--color--ink );
	font-size: 1.45em;
	font-weight: 800;
	letter-spacing: 0.03em;
	line-height: 1.25;
}

/* Sutton 核心句：四行各自成行，不因寬度折行 */
.pluskn-quote__lead {
	text-wrap: balance;
}

@media (max-width: 600px) {
	.pluskn-quote__lead br {
		display: initial;
	}
}


/* ---------- 介紹影片 ---------- */

.pluskn-video-section {
	background: var( --wp--preset--color--base-2 );
}

.pluskn-video.wp-block-cover {
	min-height: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.pluskn-video .wp-block-cover__background {
	background-image: linear-gradient(
		135deg,
		var( --wp--preset--color--base-2 ) 0%,
		var( --wp--preset--color--brand-teal ) 100%
	);
	opacity: 0.65;
}

.pluskn-video__play .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	min-height: 56px;
	padding: 0.85rem 2.25rem;
	font-size: clamp( 1rem, 1.3vw, 1.125rem );
	font-weight: 600;
	box-shadow: 0 6px 24px rgb( 15 58 52 / 28% );
}

/* 播放三角形以 CSS 繪製，未使用外部 icon */
.pluskn-video__play .wp-block-button__link::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 12px;
	border-color: transparent transparent transparent currentColor;
}

.pluskn-video__play .wp-block-button__link:hover,
.pluskn-video__play .wp-block-button__link:focus {
	filter: brightness( 1.12 );
}

/* 點擊後由 main.js 置入的 iframe 容器 */
.pluskn-video__frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-top: var( --wp--preset--spacing--40 );
	border-radius: 12px;
	overflow: hidden;
}

.pluskn-video__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---------- 4. 研究依據 ---------- */

/*
 * 淺黃底作為「佐證」的語意標記：
 * 上方影片區為淡青綠、下方成長系統為暖白，黃色夾在中間形成三段明確節奏，
 * 同時打破整頁青綠單調。淺黃 #FDF9DF 上：深墨綠 11.8:1、次要色 7.7:1。
 * （原本疊 Hero 漸層當底圖，與淺黃色塊功能重複，已移除。）
 */
.pluskn-research {
	background: #fdf9df;
}

.pluskn-research__eyebrow {
	margin: 0 0 14px;
	color: #965815;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.18em;
}

.pluskn-research p:not( .pluskn-research__eyebrow ) {
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.125rem, 1.5vw, 1.3125rem );
	line-height: 1.95;
}

.pluskn-research p + p {
	margin-top: 1.35em;
}

/* ---------- 5. 服務入口 ---------- */

.pluskn-card-link {
	margin-top: auto;
	padding-top: var( --wp--preset--spacing--20 );
	font-weight: 600;
}

.pluskn-card-link a {
	color: var( --wp--preset--color--primary );
	text-decoration: none;
}

.pluskn-card-link a:hover,
.pluskn-card-link a:focus {
	text-decoration: underline;
	text-underline-offset: 0.25em;
}


/* ---------- 區段背景節奏 ---------- */

/* 暖白：情境共鳴 */
.pluskn-situations-head,
.pluskn-situations {
	background: var( --wp--preset--color--base );
}

/* 淡青綠：Anna Sutton 引言、四大突破、頁尾 */
.pluskn-quote-wrap,
.pluskn-breakthrough,
.site-footer {
	background: var( --wp--preset--color--base-2 ) !important;
}

/* 極淡薄荷：價值點、服務入口（以既有 base-2 疊白，不新增色票） */
.pluskn-values,
.pluskn-services {
	background: color-mix( in srgb, var( --wp--preset--color--base-2 ) 45%, var( --wp--preset--color--base ) );
}

@supports not ( background: color-mix( in srgb, red 50%, blue ) ) {
	.pluskn-values,
	.pluskn-services {
		background: var( --wp--preset--color--base );
	}
}

/* 情境共鳴標題區與卡片同為暖白，取消 pain-point 的獨立背景 */
.pluskn-situations {
	padding-top: 0;
}

/* ---------- 卡片規格 ---------- */

/* 有卡片外觀的區塊：情境卡、價值卡、服務卡（四大突破改為無卡片文字格） */
.pluskn-situations .wp-block-column.is-style-card,
.pluskn-services .wp-block-column.is-style-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 30px 26px 26px;
	border: 1px solid var( --wp--preset--color--border );
	border-radius: 10px;
	background: var( --wp--preset--color--base );
	box-shadow: 0 1px 3px rgb( 15 58 52 / 6% );
}

/*
 * 情境卡：上圖下文。
 * 插畫明度 0.82–0.91，文字疊上去對比不足，故不採疊字；
 * 圖片為 core/image 區塊，可在 Site Editor 直接更換。
 */
.pluskn-situations .wp-block-column.is-style-card {
	justify-content: flex-start;
	gap: 8px;
	padding: 0 0 26px;
	overflow: hidden;
}

.pluskn-sit__img {
	margin: 0 0 18px;
	aspect-ratio: 6 / 5;
	overflow: hidden;
	background: var( --wp--preset--color--base-2 );
}

.pluskn-sit__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.pluskn-sit__title {
	margin: 0 0 4px;
	padding-inline: 24px;
	font-size: clamp( 1.375rem, 1.9vw, 1.625rem ) !important;
	color: var( --wp--preset--color--ink ) !important;
}

.pluskn-sit__quote {
	padding-inline: 24px;
	font-size: clamp( 1.0625rem, 1.35vw, 1.1875rem );
	line-height: 1.85;
}

/* 服務卡：需容納底部 CTA；標題置於實色橫帶中，不使用圖片 */
.pluskn-services .wp-block-column.is-style-card {
	min-height: 208px;
	padding: 0 0 26px;
	overflow: hidden;
}

.pluskn-card__head {
	margin-bottom: 20px;
	padding: 20px 24px;
	text-align: center;
}

.pluskn-card__head .pluskn-card__title {
	margin: 0;
	color: var( --wp--preset--color--warm-white ) !important;
}

/*
 * 同一青綠色相的三個明度階（淺→中→深），靠明度差區隔而非色相差，
 * 避免擴張品牌色票。暖白字對比 4.6:1 / 7.2:1 / 12.2:1，皆通過 AA。
 */
.pluskn-services .pluskn-accent-2 .pluskn-card__head {
	background: #19605c;
}

.pluskn-services .pluskn-accent-3 .pluskn-card__head {
	background: var( --wp--preset--color--ink );
}

.pluskn-services .pluskn-accent-1 .pluskn-card__head {
	background: #26807a;
}

.pluskn-services .wp-block-column > :not( .pluskn-card__head ) {
	padding-inline: 24px;
}

/* 內文靠左、放大 */
.pluskn-card__body {
	margin: 0;
	font-size: clamp( 1.0625rem, 1.35vw, 1.1875rem );
	line-height: 1.85;
	text-align: start;
}

.is-style-card:hover {
	box-shadow: 0 2px 10px rgb( 15 58 52 / 10% );
}

/* ---------- 四大突破：無卡片文字格 ---------- */

.pluskn-break__row {
	gap: clamp( 2.5rem, 5vw, 4.5rem );
}

.pluskn-break__row + .pluskn-break__row {
	margin-top: clamp( 2.5rem, 5vw, 4rem );
	padding-top: clamp( 2.5rem, 5vw, 4rem );
	border-top: 1px solid var( --wp--preset--color--border );
}

.pluskn-break__item {
	padding-block: 4px;
}

.pluskn-break__item {
	padding-inline-start: 1.5rem;
	border-inline-start: 3px solid var( --wp--preset--color--brand-teal );
}

/* 大型編號 01–04：置於標題上方獨立一行，不與文字重疊 */
.pluskn-break__item::before {
	display: block;
	margin-bottom: 6px;
	font-size: clamp( 2.25rem, 3.6vw, 3rem );
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	pointer-events: none;
}

.pluskn-num-1::before {
	content: "01";
	color: #1e6f6b;
}

.pluskn-num-2::before {
	content: "02";
	color: #a85c18;
}

.pluskn-num-3::before {
	content: "03";
	color: #7a6510;
}

.pluskn-num-4::before {
	content: "04";
	color: #3a7d2c;
}

.pluskn-break__item:nth-child( 2 ) {
	border-inline-start-color: var( --wp--preset--color--brand-orange );
}

.pluskn-break__row:last-of-type .pluskn-break__item {
	border-inline-start-color: var( --wp--preset--color--accent-yellow );
}

.pluskn-break__row:last-of-type .pluskn-break__item:nth-child( 2 ) {
	border-inline-start-color: var( --wp--preset--color--brand-green );
}

.pluskn-break__title {
	margin: 0 0 14px;
	color: var( --wp--preset--color--ink ) !important;
}

.pluskn-break__item p {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	line-height: 1.8;
}

/* ---------- 頁首 Logo ---------- */

.pluskn-brand {
	margin: 0;
	line-height: 0;
}

.pluskn-brand a {
	display: block;
	line-height: 0;
}

/* 以高度控制，避免直式 Logo 撐高頁首 */
.pluskn-brand img {
	display: block;
	width: auto;
	height: clamp( 34px, 3.4vw, 44px );
}


/* ---------- 持續成長系統（ComfyMinds Lab） ---------- */

/*
 * 位於暖白的研究依據與極淡薄荷的服務入口之間。
 * 先前用淡青綠整段鋪底，與前後區隔不足；改為暖白底＋有邊界的面板，
 * 左側橘色重點條標示「這是一則說明性的補充」，語意與視覺都明確。
 */
.pluskn-growth {
	background: var( --wp--preset--color--base );
}

.pluskn-growth__panel {
	padding: clamp( 1.75rem, 3.5vw, 2.75rem ) clamp( 1.5rem, 3vw, 2.5rem );
	border: 1px solid var( --wp--preset--color--border );
	border-inline-start: 4px solid var( --wp--preset--color--brand-orange );
	border-radius: 0 12px 12px 0;
	background: var( --wp--preset--color--base-2 );
}

.pluskn-growth__eyebrow {
	display: inline-block;
	margin: 0 0 16px;
	padding: 5px 14px;
	border-radius: 999px;
	background: var( --wp--preset--color--brand-orange );
	color: var( --wp--preset--color--ink );
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.pluskn-growth__title {
	margin: 0 0 18px;
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.5rem, 2.4vw, 2.125rem );
	font-weight: 700;
	line-height: 1.45;
}

.pluskn-growth__body {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.0625rem, 1.25vw, 1.125rem );
	line-height: 1.95;
}

/* ---------- 7. 精簡 FAQ ---------- */

.pluskn-faq {
	background: var( --wp--preset--color--base );
}

.pluskn-faq__list .wp-block-details {
	padding: 4px 0;
	border-bottom: 1px solid var( --wp--preset--color--border );
}

.pluskn-faq__list .wp-block-details:first-child {
	border-top: 1px solid var( --wp--preset--color--border );
}

.pluskn-faq__list summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	/* 手機易於點擊：足夠的觸控區與行高 */
	min-height: 64px;
	padding: 18px 4px;
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.1875rem, 1.8vw, 1.4375rem );
	font-weight: 700;
	line-height: 1.6;
	cursor: pointer;
	list-style: none;
}

.pluskn-faq__list summary::-webkit-details-marker {
	display: none;
}

/* 以 CSS 繪製 +／− 記號，不使用外部 icon */
.pluskn-faq__list summary::after {
	content: "+";
	flex: 0 0 auto;
	color: var( --wp--preset--color--primary );
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1;
}

.pluskn-faq__list details[open] > summary::after {
	content: "\2212";
}

.pluskn-faq__list summary:focus-visible {
	outline: 3px solid var( --wp--preset--color--primary );
	outline-offset: 2px;
}

.pluskn-faq__list details > :not( summary ) {
	padding: 0 4px 24px;
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.0625rem, 1.4vw, 1.1875rem );
	line-height: 2;
}

.pluskn-faq__list ol {
	margin: 0;
	padding-inline-start: 1.4em;
}

.pluskn-faq__list ol li {
	font-size: clamp( 1.0625rem, 1.4vw, 1.1875rem );
	line-height: 2;
}

.pluskn-faq__list ol li + li {
	margin-top: 10px;
}

.pluskn-faq__list p + p {
	margin-top: 1em;
}

/* 手機：多欄一律單欄，確保無橫向捲動 */
@media (max-width: 600px) {
	.wp-block-columns {
		gap: var( --wp--preset--spacing--30 );
	}
}



/* ---------- /enneagram 三大智能中心 ---------- */

/*
 * 三個中心各給一種淡色底，避免與上方區塊黏在一起。
 * 皆為品牌色混白的極淡色，文字對比 11:1 以上。
 */
.pluskn-center--heart {
	background: #fdeef4;
}

.pluskn-center--head {
	background: #eef2fb;
}

.pluskn-center--body {
	background: #fdf7e4;
}

.pluskn-center .wp-block-column.is-style-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 26px 24px 24px;
	border: 0;
	border-radius: 12px;
	background: var( --wp--preset--color--base );
	box-shadow: 0 2px 10px rgb( 15 58 52 / 7% );
}

/* 圖已裁去下方文字，只剩圓形——可放大 */
.pluskn-type__img {
	margin: 0 auto 14px;
	width: clamp( 190px, 88%, 280px );
}

.pluskn-type__img img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
}

.pluskn-center h4.pluskn-card__title {
	margin: 0;
	color: var( --wp--preset--color--ink );
	text-align: center;
	letter-spacing: 0.02em;
}


.pluskn-center .pluskn-card__body {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.125rem, 1.4vw, 1.25rem ) !important;
	line-height: 1.95 !important;
}

/*
 * 型號名稱：圖已置中（.pluskn-type__img 有 margin: 0 auto），
 * 名稱也置中並加大，讓「圖 + 名稱」讀起來是同一個單位。
 * !important 是因為 WordPress 的區塊字級 class 帶 !important。
 */
.pluskn-center h4.pluskn-card__title {
	font-size: clamp( 1.625rem, 2.2vw, 2rem ) !important;
	text-align: center;
	text-wrap: balance;
}

/* 英文型號名稱較短（Giver、Achiever…），可以再放大一級 */
.pluskn-lang-en .pluskn-center h4.pluskn-card__title {
	font-size: clamp( 1.75rem, 2.5vw, 2.25rem ) !important;
}

/* ---------- /enneagram 自主線上下對照 ---------- */

.pluskn-levels {
	background: var( --wp--preset--color--base );
}

.pluskn-levels__row {
	gap: clamp( 1.5rem, 3.5vw, 2.5rem );
}

.pluskn-level {
	padding: 30px 28px;
	border-radius: 12px;
}

.pluskn-level--up {
	background: var( --wp--preset--color--base-2 );
	border-top: 4px solid var( --wp--preset--color--primary );
}

.pluskn-level--down {
	background: #f7f2ec;
	border-top: 4px solid var( --wp--preset--color--brand-orange );
}

.pluskn-level__tag {
	margin: 0 0 10px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.pluskn-level--up .pluskn-level__tag {
	color: var( --wp--preset--color--primary );
}

.pluskn-level--down .pluskn-level__tag {
	color: #965815;
}

.pluskn-level__title {
	margin: 0 0 18px;
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.625rem, 2.2vw, 2rem );
	font-weight: 700;
}

.pluskn-level__list {
	margin: 0;
	padding-inline-start: 1.25em;
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.1875rem, 1.6vw, 1.375rem );
	line-height: 2.1;
}

.pluskn-levels__note {
	margin-top: clamp( 1.75rem, 3vw, 2.5rem );
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.125rem, 1.5vw, 1.3125rem );
	font-weight: 600;
}

/* /plus「PLUS 加分對話」標題不加橘色底線（下方緊接四張卡，線條顯得多餘） */
.pluskn-situations .pluskn-section-title::after {
	display: none;
}

.pluskn-situations .pluskn-section-title {
	padding-bottom: 0;
}

/* ---------- /plus 四階段插圖 ---------- */

/* PLUS 四張卡：圖滿版、文字留內距 */
.pluskn-situations .wp-block-column.is-style-card > :not( .pluskn-plus__img ) {
	padding-inline: 26px;
}

.pluskn-plus__img {
	margin: 0 0 20px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
}

.pluskn-plus__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---------- 法律條文頁 ---------- */

.pluskn-legal {
	background: var( --wp--preset--color--base );
}

.pluskn-legal__meta {
	margin: 0 0 2rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var( --wp--preset--color--border );
	color: var( --wp--preset--color--contrast-2 );
	font-size: 0.9375rem;
}

.pluskn-legal h2 {
	margin: 2.75rem 0 1rem;
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.375rem, 1.8vw, 1.5625rem );
	font-weight: 700;
	line-height: 1.5;
}

.pluskn-legal h3 {
	margin: 1.75rem 0 0.75rem;
	color: var( --wp--preset--color--primary );
	font-size: clamp( 1.125rem, 1.4vw, 1.25rem );
	font-weight: 700;
}

.pluskn-legal p,
.pluskn-legal li {
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.0625rem, 1.3vw, 1.125rem );
	line-height: 1.95;
}

.pluskn-legal p {
	margin: 0 0 1rem;
}

.pluskn-legal ul {
	margin: 0 0 1.25rem;
	padding-inline-start: 1.4em;
}

.pluskn-legal li {
	margin-bottom: 0.4em;
}

.pluskn-legal__note {
	padding: 1rem 1.25rem;
	border-inline-start: 4px solid var( --wp--preset--color--brand-orange );
	background: var( --wp--preset--color--base-2 );
	color: var( --wp--preset--color--ink ) !important;
}

/* ---------- 使用者回饋 ---------- */

.pluskn-testimonials {
	background: var( --wp--preset--color--base );
}

.pluskn-testimonials__row {
	gap: clamp( 1.25rem, 2.5vw, 2rem );
	margin-top: clamp( 1.25rem, 2.5vw, 2rem );
}

.pluskn-quote-card {
	position: relative;
	padding: clamp( 1.75rem, 3.5vw, 2.5rem ) clamp( 1.5rem, 3vw, 2.25rem );
	border: 1px solid var( --wp--preset--color--border );
	border-radius: 12px;
	background: var( --wp--preset--color--base-2 );
}

/* 主打那則：較大字級、橘色左緣 */
.pluskn-quote-card--lead {
	border-inline-start: 4px solid var( --wp--preset--color--brand-orange );
	border-radius: 0 12px 12px 0;
}

.pluskn-quote-card__text {
	margin: 0 0 16px;
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.0625rem, 1.3vw, 1.125rem );
	line-height: 2;
}

.pluskn-quote-card--lead .pluskn-quote-card__text {
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.125rem, 1.5vw, 1.3125rem );
}

.pluskn-quote-card__text::before {
	content: "\201C";
	margin-inline-end: 0.1em;
	color: var( --wp--preset--color--brand-orange );
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.4em;
	line-height: 0;
	vertical-align: -0.15em;
}

.pluskn-quote-card__by {
	margin: 0;
	color: var( --wp--preset--color--primary );
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.06em;
}

/* ---------- 著作與出版 ---------- */

.pluskn-books {
	background: var( --wp--preset--color--base-2 );
}

.pluskn-books__row {
	gap: clamp( 1.5rem, 3vw, 2.5rem );
	margin-top: var( --wp--preset--spacing--40 );
}

.pluskn-book {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: center;
}

.pluskn-book__img {
	margin: 0 auto 8px;
	width: 100%;
	max-width: 220px;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
	border-radius: 10px;
	background: var( --wp--preset--color--base );
	box-shadow: 0 2px 10px rgb( 15 58 52 / 8% );
}

.pluskn-book__img img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.pluskn-book__title {
	margin: 0;
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.0625rem, 1.3vw, 1.1875rem );
	font-weight: 700;
	line-height: 1.5;
}

.pluskn-book__sub {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: 0.9375rem;
	line-height: 1.7;
}


/* ---------- 服務頁（個人／團隊／組織） ---------- */

/* 三個數字 */
.pluskn-stats {
	background: var( --wp--preset--color--base-2 );
}

.pluskn-stat {
	padding: 30px 22px 26px;
	border-radius: 16px;
	background: var( --wp--preset--color--base );
	text-align: center;
	box-shadow: 0 1px 3px rgb( 15 58 52 / 6% );
}

.pluskn-stat__n {
	margin: 0 0 8px;
	color: var( --wp--preset--color--ink );
	font-size: clamp( 2.25rem, 3.6vw, 3rem );
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.01em;
}

.pluskn-stat__unit {
	margin-inline-start: 4px;
	font-size: 0.44em;
	font-weight: 600;
}

.pluskn-stat__t {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: 1rem;
	line-height: 1.75;
}

/* 為誰設計 */
.pluskn-who {
	background: var( --wp--preset--color--base );
}

.pluskn-who__box {
	padding: clamp( 1.75rem, 3.5vw, 2.5rem ) clamp( 1.5rem, 3vw, 2.25rem );
	border: 1px solid var( --wp--preset--color--border );
	border-radius: 14px;
	background: var( --wp--preset--color--base-2 );
}

.pluskn-who__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pluskn-who__list li {
	position: relative;
	padding-inline-start: 2rem;
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.0625rem, 1.4vw, 1.1875rem );
	line-height: 1.9;
}

.pluskn-who__list li + li {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgb( 15 58 52 / 8% );
}

/* 勾選記號以 CSS 繪製，不使用外部 icon */
.pluskn-who__list li::before {
	content: "";
	position: absolute;
	inset-inline-start: 2px;
	inset-block-start: 0.62em;
	width: 13px;
	height: 7px;
	border-inline-start: 2.5px solid var( --wp--preset--color--brand-orange );
	border-block-end: 2.5px solid var( --wp--preset--color--brand-orange );
	transform: rotate( -45deg );
}

.pluskn-who__list li + li::before {
	inset-block-start: 1.4em;
}

/* 你會得到什麼 */
.pluskn-gets {
	background: var( --wp--preset--color--base-2 );
}

.pluskn-gets .wp-block-column.is-style-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px 26px;
	border: 0;
	border-radius: 14px;
	background: var( --wp--preset--color--base );
	box-shadow: 0 2px 10px rgb( 15 58 52 / 7% );
}

.pluskn-gets .pluskn-card__title {
	margin: 0;
	color: var( --wp--preset--color--ink ) !important;
}

.pluskn-gets .pluskn-card__body {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: 1.0625rem !important;
	line-height: 1.9 !important;
}

/* 怎麼進行：五步驟 */
.pluskn-flow {
	background: var( --wp--preset--color--base );
}

.pluskn-flow__row {
	gap: 10px !important;
}

.pluskn-step {
	position: relative;
	padding: 24px 14px;
	border: 1px solid var( --wp--preset--color--border );
	border-radius: 12px;
	background: var( --wp--preset--color--base );
	text-align: center;
}

/* 步驟之間的箭頭，純 CSS */
@media (min-width: 782px) {
	.pluskn-step + .pluskn-step::before {
		content: "";
		position: absolute;
		inset-inline-start: -14px;
		inset-block-start: 50%;
		width: 8px;
		height: 8px;
		border-top: 2px solid var( --wp--preset--color--border );
		border-right: 2px solid var( --wp--preset--color--border );
		transform: translateY( -50% ) rotate( 45deg );
	}
}

.pluskn-step__n {
	margin: 0 0 10px;
	color: var( --wp--preset--color--brand-orange );
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.pluskn-step__t {
	margin: 0 0 4px;
	color: var( --wp--preset--color--ink );
	font-size: 1.0625rem;
	font-weight: 600;
}

.pluskn-step__d {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: 0.9375rem;
	line-height: 1.7;
}

.pluskn-flow__note {
	margin-top: var( --wp--preset--spacing--30 );
	color: var( --wp--preset--color--contrast-2 );
	font-size: 1rem;
}

/* 頁尾 CTA */
.pluskn-svc-cta {
	background: var( --wp--preset--color--base-2 );
}

.pluskn-svc-cta__box {
	gap: clamp( 1.5rem, 3vw, 2.5rem );
	padding: clamp( 2rem, 4vw, 2.75rem ) clamp( 1.75rem, 3.5vw, 2.75rem );
	border-radius: 18px;
	background: var( --wp--preset--color--ink );
}

.pluskn-svc-cta__t {
	margin: 0 0 8px;
	color: var( --wp--preset--color--warm-white );
	font-size: clamp( 1.375rem, 2vw, 1.75rem );
	font-weight: 700;
	line-height: 1.5;
}

.pluskn-svc-cta__s {
	margin: 0;
	color: rgb( 255 252 246 / 82% );
	font-size: 1.0625rem;
	line-height: 1.8;
}

.pluskn-svc-next {
	margin-top: var( --wp--preset--spacing--30 );
	color: var( --wp--preset--color--contrast-2 );
	font-size: 1rem;
}

.pluskn-svc-next a {
	font-weight: 600;
}

/* 手機：五步驟兩欄 */
@media (max-width: 781px) {
	.pluskn-flow__row {
		flex-wrap: wrap;
	}

	.pluskn-flow__row > .wp-block-column {
		flex-basis: calc( 50% - 10px ) !important;
	}
}

@media (max-width: 560px) {
	.pluskn-flow__row > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* ---------- 內頁共用 ---------- */

/* 內頁頁首：沿用引言區的水彩色帶，疊 68% 暖白確保文字對比 */
.pluskn-page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var( --wp--preset--color--base );
}

.pluskn-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: image-set( url( "../images/sections/quote-wash.webp" ) type( "image/webp" ), url( "../images/sections/quote-wash.jpg" ) type( "image/jpeg" ) );
	background-size: cover;
	background-position: center 30%;
}

.pluskn-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgb( 255 252 246 / 68% );
}

.pluskn-prose {
	background: var( --wp--preset--color--base );
}

.pluskn-prose p {
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.1875rem, 1.6vw, 1.375rem );
	line-height: 2;
}

.pluskn-prose p + p {
	margin-top: 1.5em;
}

.pluskn-prose__emph {
	padding-inline-start: 1.5rem;
	border-inline-start: 4px solid var( --wp--preset--color--brand-orange );
	color: var( --wp--preset--color--ink ) !important;
	font-size: clamp( 1.3125rem, 1.9vw, 1.625rem ) !important;
	font-weight: 600;
	line-height: 1.8 !important;
}

/* 卡片內的次要說明（PLUS 四卡的提問行）：貼齊卡片底部，四張對齊 */
.pluskn-card__note {
	margin-top: auto !important;
	padding-top: 14px;
	border-top: 1px solid var( --wp--preset--color--border );
	color: var( --wp--preset--color--primary ) !important;
	font-size: 1rem !important;
	line-height: 1.8 !important;
}

/* 九型人格頁：型號卡 h4 沿用卡片標題樣式 */
.pluskn-people h4.pluskn-card__title,
.pluskn-breakthrough h4.pluskn-card__title {
	margin: 0 0 8px;
	color: var( --wp--preset--color--ink );
}

/* 內文插圖 */
.pluskn-figure {
	margin-block: clamp( 2rem, 4vw, 3rem );
}

.pluskn-figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.pluskn-figure figcaption {
	margin-top: 12px;
	color: var( --wp--preset--color--contrast-2 );
	font-size: 0.9375rem;
	text-align: center;
}

.pluskn-people {
	background: var( --wp--preset--color--base );
}

/* 三張對照卡：淡青底色塊、字級放大、標題用深墨綠 */
.pluskn-contrast-cards {
	background: var( --wp--preset--color--base-2 );
}

.pluskn-contrast-cards .wp-block-column.is-style-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 34px 30px;
	border: 0;
	border-radius: 12px;
	background: var( --wp--preset--color--base );
	box-shadow: 0 2px 12px rgb( 15 58 52 / 7% );
}

.pluskn-contrast-cards .pluskn-card__title {
	margin: 0;
	padding-bottom: 14px;
	border-bottom: 2px solid var( --wp--preset--color--brand-orange );
	color: var( --wp--preset--color--ink ) !important;
	font-size: clamp( 1.375rem, 1.8vw, 1.5625rem ) !important;
	line-height: 1.5;
}

.pluskn-contrast-cards .pluskn-card__body {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: clamp( 1.125rem, 1.4vw, 1.25rem ) !important;
	line-height: 1.95 !important;
}

.pluskn-approach {
	background: var( --wp--preset--color--ink );
}

.pluskn-approach .pluskn-section-title,
.pluskn-approach .pluskn-lede {
	color: var( --wp--preset--color--warm-white );
}

.pluskn-approach .pluskn-lede {
	opacity: 0.85;
}

/* 兩欄置中、標題用亮青綠凸顯 */
.pluskn-approach .pluskn-value {
	text-align: center;
}

.pluskn-approach .pluskn-value__title {
	display: inline-block;
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var( --wp--preset--color--brand-teal );
	color: var( --wp--preset--color--brand-teal );
	font-size: clamp( 1.625rem, 2.2vw, 2rem );
}

.pluskn-approach .pluskn-value__body {
	color: rgb( 255 252 246 / 88% );
	font-size: clamp( 1.125rem, 1.4vw, 1.25rem );
}

@media (min-width: 782px) {
	.pluskn-approach .wp-block-columns > .wp-block-column + .wp-block-column {
		padding-inline-start: clamp( 2rem, 4vw, 3.5rem );
		border-inline-start: 1px solid rgb( 255 252 246 / 22% );
	}
}

/* 人物卡 */
.pluskn-people__row + .pluskn-people__row {
	margin-top: var( --wp--preset--spacing--40 );
}

.pluskn-person.is-style-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 28px 24px 24px;
	border: 1px solid var( --wp--preset--color--border );
	border-radius: 10px;
	background: var( --wp--preset--color--base );
	box-shadow: 0 1px 3px rgb( 15 58 52 / 6% );
}

.pluskn-person__img {
	margin: 0 auto 16px;
	width: clamp( 96px, 40%, 132px );
}

.pluskn-person__img img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
}

.pluskn-person__name {
	margin: 0;
	color: var( --wp--preset--color--ink );
	font-size: clamp( 1.1875rem, 1.5vw, 1.375rem );
	font-weight: 700;
	text-align: center;
}

.pluskn-person__area {
	margin: 0 0 10px;
	color: var( --wp--preset--color--primary );
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: center;
}

.pluskn-person__bio,
.pluskn-person__role {
	margin: 0;
	color: var( --wp--preset--color--contrast-2 );
	font-size: 1rem;
	line-height: 1.85;
}

.pluskn-person__role {
	text-align: center;
	font-size: 0.9375rem;
}

/* 預約諮詢頁 */
.pluskn-formwrap {
	background: var( --wp--preset--color--base );
}

.pluskn-form-slot {
	padding: clamp( 2rem, 5vw, 3.5rem ) clamp( 1.5rem, 4vw, 2.5rem );
	border: 1px solid var( --wp--preset--color--border );
	border-radius: 12px;
	background: var( --wp--preset--color--base-2 );
}

/* Fluent Forms 欄位沿用主題字體與間距 */
.pluskn-form-slot .fluentform input[type="text"],
.pluskn-form-slot .fluentform input[type="email"],
.pluskn-form-slot .fluentform input[type="tel"],
.pluskn-form-slot .fluentform select,
.pluskn-form-slot .fluentform textarea {
	min-height: 48px;
	border: 1px solid var( --wp--preset--color--border );
	border-radius: 6px;
	background: var( --wp--preset--color--base );
	font-family: inherit;
	font-size: 1.0625rem;
}

.pluskn-form-slot .fluentform textarea {
	min-height: 120px;
}

.pluskn-form-slot .fluentform .ff-btn-submit {
	min-height: 52px;
	padding: 0.85rem 2.25rem;
	border: 0;
	border-radius: 4px;
	background: var( --wp--preset--color--ink );
	color: var( --wp--preset--color--warm-white );
	font-size: 1.0625rem;
	font-weight: 600;
}

.pluskn-form-slot .fluentform .ff-btn-submit:hover {
	filter: brightness( 1.15 );
}

.pluskn-contact-alt p {
	color: var( --wp--preset--color--contrast-2 );
}

/* 亮青綠底上的外框按鈕：改用深色文字與邊框，符合 AA（白字對比不足，禁用） */
.has-brand-teal-background-color .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}

/* 亮青綠底上的實心按鈕維持深青綠底白字（6.0:1） */
.has-brand-teal-background-color .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* 圖表佔位框 */
.diagram-placeholder {
	border: 2px dashed var(--wp--preset--color--border);
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---------- 排版微調 ---------- */

body {
	text-wrap: pretty;
	letter-spacing: 0.02em;
}

:where(h1, h2, h3, h4) {
	text-wrap: balance;
	letter-spacing: 0;
}

/* 頁首在窄螢幕允許換行，避免擠壓 */
@media (max-width: 600px) {
	.site-header > .wp-block-group {
		flex-wrap: wrap;
		row-gap: var(--wp--preset--spacing--20);
	}
}

/* ==========================================================================
   語言切換器（繁中 / EN）
   由 [pluskn_lang_switch] 短碼輸出，位於頁首導覽與 CTA 之間。
   目前語言以 <span> 呈現、不可點；另一語言為連結。
   ========================================================================== */

.pluskn-langswitch {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	line-height: 1;
	white-space: nowrap;
}

.pluskn-langswitch__item {
	color: var(--wp--preset--color--contrast-2);
	text-decoration: none;
	padding: 0.35rem 0.15rem;
	border-bottom: 2px solid transparent;
}

.pluskn-langswitch__item:hover,
.pluskn-langswitch__item:focus-visible {
	color: var(--wp--preset--color--ink);
	border-bottom-color: var(--wp--preset--color--brand-teal);
}

.pluskn-langswitch__item.is-current {
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	border-bottom-color: var(--wp--preset--color--ink);
	cursor: default;
}

/* 兩個項目之間的分隔線 */
.pluskn-langswitch__item + .pluskn-langswitch__item {
	position: relative;
	padding-left: 0.65rem;
}

.pluskn-langswitch__item + .pluskn-langswitch__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 0.85em;
	background: var(--wp--preset--color--border);
}

@media (max-width: 781px) {
	.pluskn-langswitch {
		font-size: 0.8125rem;
	}
}

/* ==========================================================================
   英文頁的字級調整
   <body> 的 .pluskn-lang-en 由 inc/i18n.php 加上。

   為什麼需要這一段：
   繁中的標題是為 4–8 個漢字調出來的。同樣的字級套到英文，
   "EMBRACE ALL OF YOU"（18 字元）或 "Organisational Implementation"（29 字元）
   會撐爆容器。這裡只改字級與容器寬度，不動任何版面結構。

   2026-08-06 第二輪：整體再放大，以 /en/ 的實際視覺為準。
   ========================================================================== */

/* Hero 內容區：英文字串較長，容器放寬到 1200px，主標才有放大空間 */
.pluskn-lang-en .pluskn-hero__content {
	max-width: 1200px;
	margin-inline: auto;
	text-align: center;
}

/*
 * Hero 主標。
 *
 * 繁中是 min(7rem, (100vw - 4rem) / 6.5)——分母 6.5 是「擁抱你的全部」六個全形字。
 * "EMBRACE ALL OF YOU" 是 15 個字母 + 3 個空格，套同一條式子會得到 112px，直接爆版。
 *
 * 分母改成 12：大寫粗體無襯線約 0.68em／字母、0.26em／空格，加 0.02em 字距
 * ≈ 11.6 個字寬，再留 4% 餘裕。留餘裕是因為**字寬隨字型而異**——
 * Roboto 比 Segoe UI 窄，Helvetica Neue 又更寬。字型檔還沒放進來時
 * 會落到系統字型，量測基準不同。
 *
 * 更重要的是：這裡**不繼承繁中的 white-space: nowrap**。
 * 萬一實際字寬超出估計，結果是優雅地折成兩行，而不是溢出容器。
 * 版面正確性因此不依賴字寬估算是否準確。
 */
.pluskn-lang-en .pluskn-hero__title {
	font-size: min( 5.5rem, calc( ( 100vw - 4rem ) / 12 ) );
	letter-spacing: 0.02em;
	white-space: normal;
	text-wrap: balance;
}

.pluskn-lang-en .pluskn-hero__eyebrow {
	font-size: clamp( 1rem, 1.7vw, 1.5rem );
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.pluskn-lang-en .pluskn-hero__subtitle {
	font-size: clamp( 1.375rem, 2.4vw, 2.125rem );
	line-height: 1.45;
}

/* 手機：字級不再跟著視窗縮，讓它折成兩行 */
@media ( max-width: 600px ) {
	.pluskn-lang-en .pluskn-hero__title {
		font-size: clamp( 2.25rem, 11vw, 3rem );
	}
}

/* 「Have you ever wondered…」這一層 */
.pluskn-lang-en .pluskn-h1-statement {
	font-size: clamp( 2rem, 3.4vw, 3.125rem );
	letter-spacing: 0;
	text-wrap: balance;
}

/* 區段標題：Multi-Situational Enneagram Test／Scientifically Validated. 等 */
.pluskn-lang-en .pluskn-section-title,
.pluskn-lang-en .pluskn-growth__title {
	font-size: clamp( 1.75rem, 2.8vw, 2.625rem );
	line-height: 1.3;
	text-wrap: balance;
}

/* 導言 */
.pluskn-lang-en .pluskn-lede {
	font-size: clamp( 1.0625rem, 1.7vw, 1.375rem );
	line-height: 1.6;
	text-wrap: balance;
}

/* 四情境卡下方的收束句 */
.pluskn-lang-en .pluskn-situations__closing p {
	font-size: clamp( 1.125rem, 1.9vw, 1.5rem );
	line-height: 1.7;
}

/* Dr. Sutton 引言：放大並收行高，四行剛好落在 760px 內 */
.pluskn-lang-en .pluskn-quote__lead {
	font-size: clamp( 1.5rem, 2.8vw, 2.375rem );
	line-height: 1.45;
	letter-spacing: 0;
}

.pluskn-lang-en .pluskn-quote__cite {
	font-size: clamp( 0.9375rem, 1.3vw, 1.0625rem );
}

/* Four Core Shifts：標題與說明都放大 */
.pluskn-lang-en .pluskn-break__title {
	font-size: clamp( 1.25rem, 1.8vw, 1.5rem );
	line-height: 1.35;
	text-wrap: balance;
}

.pluskn-lang-en .pluskn-break__item p {
	font-size: clamp( 1rem, 1.3vw, 1.1875rem );
	line-height: 1.65;
}

/* 卡片標題：Organisational Implementation 是最長的一個（29 字元） */
.pluskn-lang-en .pluskn-card__title {
	font-size: clamp( 1.125rem, 1.5vw, 1.375rem );
	line-height: 1.35;
	text-wrap: balance;
	hyphens: none;
}

.pluskn-lang-en .pluskn-card__body {
	font-size: clamp( 1rem, 1.25vw, 1.125rem );
	line-height: 1.65;
}

/* 兩個價值點（深墨綠段） */
.pluskn-lang-en .pluskn-value__title {
	font-size: clamp( 1.375rem, 2vw, 1.75rem );
	text-wrap: balance;
}

/* 服務頁的流程步驟標題 */
.pluskn-lang-en .pluskn-step__t {
	font-size: 1.0625rem;
	line-height: 1.35;
}

.pluskn-lang-en .pluskn-svc-cta__t {
	font-size: clamp( 1.5rem, 2.2vw, 1.9375rem );
	text-wrap: balance;
}
