/*
Theme Name: FMLife Child
Theme URI: https://fmlifestyle.cn
Template: generatepress
Author: fmlifestyle
Author URI: https://fmlifestyle.cn
Description: 功能医学健康管理研究院（FMLife+）官网子主题，基于 GeneratePress。
Version: 1.5.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fmlife
*/

/* ============================================================
   FMLife+ 设计系统
   ============================================================ */

/* ============================================
   Header / 主导航 — 覆盖 GeneratePress 默认
   ============================================ */

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid rgba(0, 134, 145, 0.08);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
	padding: 0;
	transition: box-shadow 0.2s ease, background 0.2s ease;
}
.site-header.fm-header-scrolled {
	box-shadow: 0 8px 24px rgba(0, 134, 145, 0.08);
	background: rgba(255, 255, 255, 0.96);
}

.inside-header.grid-container {
	max-width: 1480px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 24px;
	margin: 0 auto;
}

/* 品牌标 */
.site-branding {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	min-width: 0;
}
.site-branding .main-title,
.site-branding .site-title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.3px;
}
.site-branding .main-title a,
.site-branding .site-title a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--fm-primary-darker) !important;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.15s ease;
}
.site-branding .main-title a:hover,
.site-branding .site-title a:hover {
	opacity: 0.82;
	text-decoration: none;
}
.site-branding .main-title a::before,
.site-branding .site-title a::before {
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	background-image: url("images/logo.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}
.site-description {
	display: none;
}

/* 主导航 */
.main-navigation {
	background: transparent !important;
	min-height: 0;
	flex: 1;
	display: flex;
	justify-content: flex-end;
}
.main-navigation .inside-navigation {
	padding: 0 !important;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}
.main-navigation .main-nav {
	flex: 0 1 auto;
}
.main-navigation .main-nav > ul {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
	flex-wrap: nowrap;
}
.main-navigation .main-nav > ul > li {
	position: relative;
	flex: 0 0 auto;
}
.main-navigation .main-nav ul li a {
	color: var(--fm-text) !important;
	font-size: 14.5px;
	font-weight: 500;
	padding: 10px 12px !important;
	line-height: 1.4 !important;
	border-radius: 8px;
	transition: color 0.15s ease, background 0.15s ease;
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	height: auto !important;
}
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li:focus-within > a {
	color: var(--fm-primary) !important;
	background: var(--fm-primary-soft);
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--fm-primary) !important;
	font-weight: 600;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 4px;
	height: 2px;
	background: var(--fm-primary);
	border-radius: 2px;
}

/* 顶部 CTA 按钮（最后一项变成 CTA） */
.main-navigation .main-nav > ul > li:last-child > a {
	background: var(--fm-accent);
	color: #fff !important;
	font-weight: 600;
	padding: 10px 16px !important;
	margin-left: 6px;
	box-shadow: 0 4px 12px rgba(255, 122, 89, 0.22);
}
.main-navigation .main-nav > ul > li:last-child > a:hover {
	background: var(--fm-accent-dark) !important;
	color: #fff !important;
	box-shadow: 0 6px 16px rgba(228, 90, 58, 0.28);
}
.main-navigation .main-nav > ul > li:last-child > a::after {
	display: none !important;
}

/* 子菜单 */
.main-navigation .main-nav ul ul {
	background: #fff !important;
	border: 1px solid var(--fm-border);
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(0, 134, 145, 0.12);
	padding: 8px;
	min-width: 220px;
	margin-top: 8px;
}
.main-navigation .main-nav ul ul li a {
	padding: 10px 14px !important;
	border-radius: 8px;
	font-size: 14px;
}

@media (min-width: 901px) and (max-width: 1220px) {
	.inside-header.grid-container {
		gap: 12px;
		padding-left: 16px;
		padding-right: 16px;
	}
	.site-branding .main-title,
	.site-branding .site-title {
		font-size: 17px;
	}
	.site-branding .main-title a,
	.site-branding .site-title a {
		gap: 8px;
	}
	.site-branding .main-title a::before,
	.site-branding .site-title a::before {
		width: 34px;
		height: 34px;
	}
	.main-navigation .main-nav ul li a {
		font-size: 13.5px;
		padding: 8px 8px !important;
	}
	.main-navigation .main-nav > ul > li:last-child > a {
		padding: 9px 12px !important;
		margin-left: 4px;
	}
}

/* Mobile toggle (hamburger) */
.menu-toggle {
	background: var(--fm-primary-soft) !important;
	color: var(--fm-primary-darker) !important;
	border-radius: 10px !important;
	padding: 8px 12px !important;
	font-size: 18px !important;
	transition: background 0.15s ease, color 0.15s ease;
	border: 0 !important;
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-height: 40px !important;
}
.menu-toggle:hover,
.menu-toggle:focus {
	background: var(--fm-primary) !important;
	color: #fff !important;
}
.menu-toggle .gp-icon {
	display: inline-flex;
	align-items: center;
}
.menu-toggle .gp-icon svg {
	width: 18px !important;
	height: 18px !important;
}
/* GP 输出两个 svg：第一个 ☰ / 第二个 ✕，按 aria-expanded 切换显示 */
.menu-toggle .gp-icon svg:nth-child(2) { display: none; }
.menu-toggle[aria-expanded="true"] .gp-icon svg:nth-child(1) { display: none; }
.menu-toggle[aria-expanded="true"] .gp-icon svg:nth-child(2) { display: inline-block; }
.mobile-menu-control-wrapper {
	display: none !important;
}

/* Skip link visibility */
.screen-reader-text.skip-link {
	position: absolute;
	left: -9999px;
}
.screen-reader-text.skip-link:focus {
	left: 24px;
	top: 24px;
	background: var(--fm-primary);
	color: #fff;
	padding: 10px 16px;
	border-radius: 8px;
	z-index: 999;
}

/* 移动端 */
@media (max-width: 900px) {
	.inside-header.grid-container {
		padding: 12px 16px;
	}
	.fm-site-logo-img { height: 36px; }
	.fm-site-logo-name { font-size: 18px; }
	.fm-site-logo-tag { display: none; }

	/* GP 输出两个 menu-toggle：header 内 inline toggle + 主导航 .inside-navigation 内的 toggle。
	   只保留 inline 那个（跟 logo 同行），避免双图标。
	   注意：button 是 .inside-navigation 的直接子元素而不是 #site-navigation 的，所以用后代+直接子选择器组合 */
	#site-navigation .inside-navigation > button.menu-toggle,
	#site-navigation .inside-navigation > .menu-toggle,
	nav#site-navigation > .inside-navigation > .menu-toggle {
		display: none !important;
	}
	.main-navigation { padding: 0 !important; }

	/* inline mobile toggle：纯图标圆形按钮，靠右与 logo 同行 */
	.mobile-menu-control-wrapper {
		display: inline-flex !important;
		margin-left: auto;
		border: 0 !important;
		background: transparent !important;
		padding: 0 !important;
	}
	.mobile-menu-control-wrapper .menu-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 42px !important;
		height: 42px !important;
		min-height: 42px !important;
		border-radius: 12px !important;
		padding: 0 !important;
		font-size: 0 !important;
		background: var(--fm-primary-soft) !important;
		color: var(--fm-primary-darker) !important;
		transition: background 0.18s ease, color 0.18s ease;
	}
	.mobile-menu-control-wrapper .menu-toggle:hover,
	.mobile-menu-control-wrapper .menu-toggle:focus,
	.mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] {
		background: var(--fm-primary) !important;
		color: #fff !important;
	}
	.mobile-menu-control-wrapper .menu-toggle .gp-icon {
		display: inline-flex;
		align-items: center;
	}
	.mobile-menu-control-wrapper .menu-toggle .gp-icon svg {
		width: 20px !important;
		height: 20px !important;
	}
	/* 隐藏 SR-only 文字（避免和图标按钮一起占位）*/
	.mobile-menu-control-wrapper .menu-toggle .screen-reader-text,
	.mobile-menu-control-wrapper .menu-toggle .mobile-menu {
		position: absolute !important;
		clip: rect(1px,1px,1px,1px) !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
	}

	/* 未展开：主导航整体隐藏（panel 不占位）*/
	#site-navigation:not(.toggled) {
		display: none !important;
	}

	/* 展开：全宽下拉 panel */
	#site-navigation.toggled,
	.main-navigation.toggled {
		display: block !important;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		background: #fff !important;
		border-top: 1px solid var(--fm-border);
		box-shadow: 0 12px 28px rgba(0, 134, 145, 0.10);
		padding: 0 !important;
		z-index: 49;
		animation: fmFadeIn 0.18s ease;
	}
	#site-navigation.toggled .inside-navigation,
	.main-navigation.toggled .inside-navigation {
		max-width: 100% !important;
		width: 100% !important;
		padding: 8px 0 16px !important;
		display: block !important;
	}
	#site-navigation.toggled .main-nav,
	.main-navigation.toggled .main-nav {
		display: block !important;
		width: 100%;
		float: none !important;
	}
	#site-navigation.toggled .main-nav > ul,
	.main-navigation.toggled .main-nav > ul {
		display: flex !important;
		flex-direction: column;
		align-items: stretch !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100%;
		float: none !important;
	}
	#site-navigation.toggled .main-nav ul li,
	.main-navigation.toggled .main-nav ul li {
		width: 100%;
		text-align: left !important;
		float: none !important;
		display: block !important;
	}
	#site-navigation.toggled .main-nav ul li a,
	.main-navigation.toggled .main-nav ul li a {
		display: flex !important;
		align-items: center;
		padding: 14px 24px !important;
		font-size: 16px;
		font-weight: 500;
		color: var(--fm-text) !important;
		text-align: left !important;
		text-decoration: none !important;
		border-radius: 0;
		border-bottom: 1px solid var(--fm-bg-soft);
		transition: background 0.15s ease, color 0.15s ease, padding 0.15s ease;
	}
	#site-navigation.toggled .main-nav ul li a:hover,
	#site-navigation.toggled .main-nav ul li a:focus,
	.main-navigation.toggled .main-nav ul li a:hover,
	.main-navigation.toggled .main-nav ul li a:focus {
		background: var(--fm-primary-soft);
		color: var(--fm-primary-darker) !important;
		padding-left: 28px !important;
	}
	#site-navigation.toggled .main-nav ul li[class*="current-menu-"] > a,
	.main-navigation.toggled .main-nav ul li[class*="current-menu-"] > a {
		color: var(--fm-primary) !important;
		font-weight: 600;
		background: var(--fm-primary-soft);
		box-shadow: inset 3px 0 0 var(--fm-primary);
	}
	#site-navigation.toggled .main-nav ul li[class*="current-menu-"] > a::after,
	.main-navigation.toggled .main-nav ul li[class*="current-menu-"] > a::after {
		display: none !important;
	}
	/* 最后一项「联系我们」改成 CTA 按钮风格 */
	#site-navigation.toggled .main-nav > ul > li:last-child,
	.main-navigation.toggled .main-nav > ul > li:last-child {
		margin: 12px 16px 4px !important;
		width: calc(100% - 32px) !important;
	}
	#site-navigation.toggled .main-nav > ul > li:last-child > a,
	.main-navigation.toggled .main-nav > ul > li:last-child > a {
		justify-content: center;
		text-align: center !important;
		background: var(--fm-accent) !important;
		color: #fff !important;
		border-radius: 12px;
		border: 0 !important;
		font-weight: 600;
		padding: 14px 20px !important;
		box-shadow: 0 6px 18px rgba(255, 122, 89, 0.28);
	}
	#site-navigation.toggled .main-nav > ul > li:last-child > a:hover,
	.main-navigation.toggled .main-nav > ul > li:last-child > a:hover {
		background: var(--fm-accent-dark) !important;
		color: #fff !important;
		padding-left: 20px !important;
	}
}

@keyframes fmFadeIn {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}


:root {
	/* 品牌主色（基于 logo #00B6C3 采样）*/
	--fm-primary:        #00B6C3;
	--fm-primary-dark:   #008891;
	--fm-primary-darker: #005F66;
	--fm-primary-light:  #7DD8DE;
	--fm-primary-soft:   #E6F7F8;

	/* 强调色（CTA / 关键转化）*/
	--fm-accent:         #FF7A59;
	--fm-accent-dark:    #E45A3A;
	--fm-accent-soft:    #FFE5DC;

	/* 中性 */
	--fm-text:           #1A2B3C;
	--fm-text-secondary: #5B6B7C;
	--fm-text-muted:     #9AA8B5;
	--fm-border:         #E1E8EC;
	--fm-bg:             #FFFFFF;
	--fm-bg-soft:        #F7FAFB;

	/* 状态 */
	--fm-success:        #22C55E;
	--fm-warning:        #F59E0B;
	--fm-danger:         #EF4444;

	/* 阴影（与品牌色匹配的青色阴影）*/
	--fm-shadow:         0 4px 12px rgba(0, 134, 145, 0.06);
	--fm-shadow-hover:   0 12px 32px rgba(0, 134, 145, 0.12);

	/* 圆角 */
	--fm-radius-sm:      8px;
	--fm-radius:         12px;
	--fm-radius-lg:      20px;
	--fm-radius-pill:    999px;

	/* 兼容旧变量名（避免破坏其他模板的内联引用）*/
	--fm-radius-card:    var(--fm-radius);
	--fm-radius-btn:     var(--fm-radius);
	--fm-radius-input:   var(--fm-radius-sm);
	--fm-accent-light:   var(--fm-primary-soft);

	/* 节奏 */
	--fm-section-py-pc:  96px;
	--fm-section-py-mb:  56px;
	--fm-content-max:    1200px;

	/* 过渡曲线（Eduma 借鉴：240ms cubic-bezier 用于卡片浮起，180ms ease 用于胶囊/链接）*/
	--fm-transition:        240ms cubic-bezier(.2, .8, .2, 1);
	--fm-transition-fast:   180ms ease;

	/* 卡片阴影层次（用于 archive 卡片 hover 跃升）*/
	--fm-shadow-card:        0 2px 8px rgba(0, 134, 145, 0.06);
	--fm-shadow-card-hover:  0 16px 36px rgba(0, 134, 145, 0.14);

	/* eyebrow 小标签颜色（Section Heading 上方的 ALL CAPS 主色字符）*/
	--fm-eyebrow-color:     var(--fm-primary);
}

/* ============================================================
   Shared Components（Eduma 借鉴的视觉规范）
   ----------------------------------------------------------------
   1. .fm-page-hero        栏目页头（Course/Doctor 等 archive 顶部）
   2. .fm-section-heading  分组标题（eyebrow + H2 + 副标题 + 装饰短线）
   3. .fm-filter-bar       胶囊筛选标签条（sticky）
   4. .fm-cta-banner       底部主色 CTA 横幅（template-parts 复用）
   5. .fm-empty-state      空状态升级版（圆形图标 + 标题 + 副本 + 次按钮）
   6. .fm-cert-list        认证/资历清单（24px 主色对勾 + 文字）
   7. .fm-event-date-tile  会议封面左上日期积木
   8. .fm-pagination       分页器圆形页码
   9. .fm-breadcrumb       面包屑（PC 显示，MB 隐藏）
   ============================================================ */

/* 1. Page Hero —— archive / page 顶部栏目头 */
.fm-page-hero {
	position: relative;
	padding: 80px 0 64px;
	background: linear-gradient(135deg, var(--fm-primary-soft) 0%, #fff 60%);
	overflow: hidden;
	text-align: center;
}
.fm-page-hero::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -160px;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 182, 195, 0.10) 0%, transparent 70%);
	z-index: 0;
	pointer-events: none;
}
.fm-page-hero > .fm-container {
	position: relative;
	z-index: 1;
}
.fm-page-hero h1 {
	margin: 0 0 14px;
	font-size: 44px;
	line-height: 1.18;
	color: var(--fm-text);
	letter-spacing: -0.5px;
}
.fm-page-hero .fm-page-hero-lead {
	margin: 0 auto;
	max-width: 720px;
	font-size: 17px;
	line-height: 1.7;
	color: var(--fm-text-secondary);
}
@media (max-width: 768px) {
	.fm-page-hero { padding: 48px 0 40px; }
	.fm-page-hero h1 { font-size: 28px; line-height: 1.3; }
	.fm-page-hero .fm-page-hero-lead { font-size: 15px; }
	.fm-page-hero::before { width: 280px; height: 280px; top: -80px; right: -120px; }
}

/* 2. Section Heading —— 全站分组标题统一 */
.fm-section-heading {
	text-align: center;
	margin: 0 auto 48px;
	max-width: 720px;
}
.fm-section-heading.fm-align-left {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
}
.fm-eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--fm-eyebrow-color);
	margin-bottom: 12px;
}
.fm-section-heading h2 {
	margin: 0 0 12px;
	font-size: 32px;
	line-height: 1.25;
	color: var(--fm-text);
	letter-spacing: -0.3px;
}
.fm-section-heading p {
	margin: 0 0 20px;
	font-size: 16px;
	color: var(--fm-text-secondary);
	line-height: 1.7;
}
.fm-section-heading::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	border-radius: 2px;
	background: var(--fm-primary);
	margin: 0 auto;
}
.fm-section-heading.fm-align-left::after { margin-left: 0; }
@media (max-width: 768px) {
	.fm-section-heading { margin-bottom: 32px; }
	.fm-section-heading h2 { font-size: 24px; }
	.fm-section-heading p { font-size: 14px; }
}

/* 3. Filter Bar —— 胶囊筛选标签条（archive 页用，轻量版无大白框） */
.fm-archive-filter {
	padding: 32px 0 0;
}
.fm-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
}
.fm-filter-bar-label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--fm-text-muted);
	margin-right: 4px;
}
.fm-filter-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 18px;
	border-radius: var(--fm-radius-pill);
	background: transparent;
	border: 1px solid var(--fm-border);
	color: var(--fm-text-secondary);
	font-size: 13.5px;
	font-weight: 500;
	text-decoration: none !important;
	transition: background var(--fm-transition-fast),
	            color var(--fm-transition-fast),
	            border-color var(--fm-transition-fast);
	white-space: nowrap;
}
.fm-filter-pill:hover {
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	border-color: var(--fm-primary-light);
}
.fm-filter-pill.is-active,
.fm-filter-pill[aria-current="page"] {
	background: var(--fm-primary);
	color: #fff;
	border-color: var(--fm-primary);
	box-shadow: 0 4px 12px rgba(0, 134, 145, 0.18);
}
.fm-filter-pill .fm-filter-count {
	font-size: 12px;
	font-weight: 600;
	padding: 1px 7px;
	border-radius: var(--fm-radius-pill);
	background: rgba(0, 0, 0, 0.06);
	color: inherit;
	line-height: 1.4;
}
.fm-filter-pill.is-active .fm-filter-count {
	background: rgba(255, 255, 255, 0.22);
}
@media (max-width: 768px) {
	.fm-archive-filter { padding: 24px 16px 0; margin: 0 -16px; overflow: hidden; }
	.fm-filter-bar {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		justify-content: flex-start;
		padding: 0 16px 4px;
		margin: 0 -16px;
		scrollbar-width: none;
	}
	.fm-filter-bar::-webkit-scrollbar { display: none; }
	.fm-filter-bar-label { display: none; }
	.fm-filter-pill { flex: 0 0 auto; padding: 7px 16px; font-size: 13px; }
}

/* 4. CTA Banner —— archive 底部统一 CTA 横幅 */
.fm-cta-banner {
	position: relative;
	margin: 96px 0 0;
	padding: 80px 24px;
	background: linear-gradient(120deg, var(--fm-primary) 0%, var(--fm-primary-dark) 100%);
	color: #fff;
	text-align: center;
	overflow: hidden;
}
.fm-cta-banner::before {
	content: "";
	position: absolute;
	top: -160px;
	right: -160px;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, transparent 70%);
	pointer-events: none;
}
.fm-cta-banner > * { position: relative; z-index: 1; }
.fm-cta-banner h2 {
	margin: 0 0 12px;
	font-size: 32px;
	color: #fff;
	letter-spacing: -0.3px;
}
.fm-cta-banner p {
	margin: 0 auto 28px;
	max-width: 600px;
	font-size: 16px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.92);
}
.fm-cta-banner .fm-cta-banner-actions {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
.fm-cta-banner .fm-btn-primary {
	background: var(--fm-accent);
	color: #fff;
	border: 0;
	box-shadow: 0 6px 18px rgba(255, 122, 89, 0.36);
}
.fm-cta-banner .fm-btn-primary:hover {
	background: var(--fm-accent-dark);
	color: #fff;
}
.fm-cta-banner .fm-btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 24px;
	border-radius: var(--fm-radius);
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.6);
	text-decoration: none !important;
	font-weight: 600;
	font-size: 15px;
	transition: background var(--fm-transition-fast), border-color var(--fm-transition-fast);
}
.fm-cta-banner .fm-btn-ghost:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff;
}
@media (max-width: 768px) {
	.fm-cta-banner { padding: 56px 20px; margin-top: 64px; }
	.fm-cta-banner::before { display: none; }
	.fm-cta-banner h2 { font-size: 24px; }
	.fm-cta-banner p { font-size: 14px; }
	.fm-cta-banner .fm-cta-banner-actions { flex-direction: column; width: 100%; max-width: 320px; margin: 0 auto; }
	.fm-cta-banner .fm-btn-primary,
	.fm-cta-banner .fm-btn-ghost { width: 100%; justify-content: center; }
}

/* 5. Empty State —— archive 没有内容时 */
.fm-empty-state {
	text-align: center;
	padding: 64px 24px;
	max-width: 480px;
	margin: 0 auto;
}
.fm-empty-state .fm-empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var(--fm-primary-soft);
	color: var(--fm-primary);
	margin-bottom: 20px;
}
.fm-empty-state .fm-empty-icon svg {
	width: 36px;
	height: 36px;
}
.fm-empty-state h3 {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-empty-state p {
	margin: 0 0 24px;
	font-size: 14px;
	color: var(--fm-text-secondary);
	line-height: 1.7;
}

/* 6. Credential List —— 认证/资历清单 */
.fm-cert-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.fm-cert-list li,
.fm-cert-item {
	position: relative;
	padding: 8px 0 8px 36px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--fm-text);
	border-bottom: 1px dashed var(--fm-border);
}
.fm-cert-list li:last-child,
.fm-cert-item:last-child {
	border-bottom: 0;
}
.fm-cert-list li::before,
.fm-cert-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background-color: var(--fm-primary);
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M12 2a10 10 0 100 20 10 10 0 000-20zm-1.3 14.3l-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M12 2a10 10 0 100 20 10 10 0 000-20zm-1.3 14.3l-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7z"/></svg>');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* 7. Event Date Tile —— 会议封面左上日期积木 */
.fm-event-date-tile {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 64px;
	padding: 10px 12px;
	background: var(--fm-primary);
	color: #fff;
	border-radius: var(--fm-radius-sm);
	box-shadow: 0 6px 16px rgba(0, 134, 145, 0.32);
	line-height: 1;
}
.fm-event-date-tile .fm-event-date-day {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.5px;
}
.fm-event-date-tile .fm-event-date-month {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-top: 4px;
	opacity: 0.95;
}
.fm-event-date-tile.is-overlay {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
}
.fm-event-date-tile.is-fallback {
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	box-shadow: none;
	min-width: auto;
	padding: 6px 12px;
	border-radius: var(--fm-radius-pill);
}
.fm-event-date-tile.is-fallback .fm-event-date-day,
.fm-event-date-tile.is-fallback .fm-event-date-month {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	margin: 0;
	text-transform: none;
}

/* 8. Pagination —— 圆角方页码（覆盖 WP 默认 .page-numbers） */
.fm-pagination .nav-links,
.fm-front-page .pagination,
.fm-archive .pagination,
.fm-archive .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	align-items: center;
	margin: 64px 0 0;
}
.fm-pagination .page-numbers,
.fm-archive .nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: var(--fm-radius-sm);
	border: 1px solid var(--fm-border);
	background: #fff;
	color: var(--fm-text-secondary);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none !important;
	transition: background var(--fm-transition-fast),
	            color var(--fm-transition-fast),
	            border-color var(--fm-transition-fast);
}
.fm-pagination .page-numbers:hover,
.fm-archive .nav-links .page-numbers:hover {
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	border-color: var(--fm-primary-light);
}
.fm-pagination .page-numbers.current,
.fm-archive .nav-links .page-numbers.current {
	background: var(--fm-primary);
	color: #fff;
	border-color: var(--fm-primary);
}
.fm-pagination .page-numbers.dots {
	border: 0;
	background: transparent;
}

/* 9. Breadcrumb —— 面包屑导航 */
.fm-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--fm-text-muted);
	margin: 0 0 16px;
}
.fm-breadcrumb a {
	color: var(--fm-text-secondary);
	text-decoration: none !important;
	transition: color var(--fm-transition-fast);
}
.fm-breadcrumb a:hover {
	color: var(--fm-primary);
}
.fm-breadcrumb .fm-breadcrumb-sep {
	color: var(--fm-text-muted);
	margin: 0 2px;
}
.fm-breadcrumb .fm-breadcrumb-current {
	color: var(--fm-primary);
	font-weight: 500;
}
@media (max-width: 768px) {
	.fm-breadcrumb { display: none; }
}

/* ============================================================
   Typography
   ============================================================ */

body,
.entry-content {
	font-family: "Noto Sans SC", "Source Han Sans SC", "思源黑体",
		"PingFang SC", -apple-system, BlinkMacSystemFont,
		"Helvetica Neue", "Microsoft YaHei", "微软雅黑",
		Arial, sans-serif;
	color: var(--fm-text);
}

h1, h2, h3, h4, h5, h6 {
	font-family: inherit;
	color: var(--fm-text);
	font-weight: 700;
}

h1 { font-size: 56px; line-height: 1.2; }
h2 { font-size: 36px; line-height: 1.25; }
h3 { font-size: 22px; line-height: 1.4; font-weight: 600; }
.entry-content { font-size: 16px; line-height: 1.7; }
.fm-small { font-size: 13px; color: var(--fm-text-secondary); }

@media (max-width: 768px) {
	h1 { font-size: 36px; }
	h2 { font-size: 26px; }
	h3 { font-size: 18px; }
	.entry-content { font-size: 15px; }
}

/* ============================================================
   品牌色应用：标题、链接、按钮
   ============================================================ */

a {
	color: var(--fm-primary);
	text-decoration: none;
}
a:hover {
	color: var(--fm-primary-dark);
	text-decoration: underline;
}
a:focus-visible {
	outline: 2px solid var(--fm-primary);
	outline-offset: 2px;
	border-radius: 2px;
}

.site-title a,
.site-title a:visited {
	color: var(--fm-primary);
}

/* 主 CTA 按钮：珊瑚橘实心 */
.fm-btn,
.fm-btn-primary,
.entry-content .fm-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	background: var(--fm-accent);
	color: #fff !important;
	border: 2px solid var(--fm-accent);
	border-radius: var(--fm-radius);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
	cursor: pointer;
}
.fm-btn-primary:hover {
	background: var(--fm-accent-dark);
	border-color: var(--fm-accent-dark);
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(228, 90, 58, 0.22);
}
.fm-btn-primary:active {
	transform: translateY(1px);
}

/* 次 CTA 按钮：主色描边 */
.fm-btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	background: transparent;
	color: var(--fm-primary) !important;
	border: 2px solid var(--fm-primary);
	border-radius: var(--fm-radius);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
}
.fm-btn-secondary:hover {
	background: var(--fm-primary);
	color: #fff !important;
}

@media (max-width: 768px) {
	.fm-btn,
	.fm-btn-primary,
	.fm-btn-secondary {
		padding: 12px 24px;
		font-size: 15px;
	}
}

/* ============================================================
   Hero / Section 节奏
   ============================================================ */

.fm-section {
	padding: var(--fm-section-py-pc) 0;
}
.fm-section-tinted {
	background: var(--fm-primary-soft);
}
.fm-section-soft {
	background: var(--fm-bg-soft);
}
@media (max-width: 768px) {
	.fm-section {
		padding: var(--fm-section-py-mb) 0;
	}
}

.fm-container {
	max-width: var(--fm-content-max);
	margin: 0 auto;
	padding: 0 24px;
}
@media (max-width: 768px) {
	.fm-container { padding: 0 16px; }
}

/* ============================================
   Hero — 左右双栏（左：text + CTA，右：mock 卡）
   ============================================ */
.fm-hero {
	position: relative;
	background:
		radial-gradient(circle at 85% 20%, rgba(125, 216, 222, 0.35) 0%, transparent 55%),
		radial-gradient(circle at 10% 90%, rgba(255, 229, 220, 0.55) 0%, transparent 50%),
		linear-gradient(160deg, #fff 0%, var(--fm-primary-soft) 100%);
	padding: 80px 0 96px;
	overflow: hidden;
}
.fm-hero .fm-container {
	position: relative;
	z-index: 1;
}
.fm-hero-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 64px;
	align-items: center;
}
.fm-hero-text { min-width: 0; }
.fm-hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid var(--fm-primary-light);
	color: var(--fm-primary-darker);
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 24px;
	box-shadow: var(--fm-shadow);
}
.fm-hero-eyebrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--fm-primary);
	box-shadow: 0 0 0 3px rgba(0, 182, 195, 0.18);
}
.fm-hero h1 {
	margin: 0 0 20px;
	color: var(--fm-text);
	font-size: 56px;
	line-height: 1.15;
	letter-spacing: -0.5px;
}
.fm-hero h1 .fm-hl {
	color: var(--fm-primary);
	background: linear-gradient(180deg, transparent 65%, rgba(125, 216, 222, 0.45) 65%);
	padding: 0 4px;
}
.fm-hero-subtitle {
	font-size: 20px;
	color: var(--fm-text-secondary);
	margin: 0 0 16px;
	line-height: 1.6;
	font-weight: 400;
}
.fm-hero-ctas {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 8px;
}
.fm-hero-trust {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	margin-top: 32px;
	font-size: 14px;
	color: var(--fm-text-secondary);
}
.fm-hero-trust span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.fm-hero-trust span::before {
	content: "✓";
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--fm-primary-soft);
	color: var(--fm-primary);
	border-radius: 50%;
	font-size: 11px;
	font-weight: 700;
}

/* 右侧 mock 视觉区 */
.fm-hero-visual {
	position: relative;
	min-height: 460px;
}
.fm-hero-mock {
	position: relative;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius-lg);
	padding: 28px;
	box-shadow: 0 24px 60px rgba(0, 134, 145, 0.16);
	z-index: 2;
}
.fm-hero-mock-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}
.fm-hero-mock-title {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	color: var(--fm-text);
}
.fm-hero-mock-pill {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.5px;
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	padding: 4px 10px;
	border-radius: 999px;
}
.fm-mock-row {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 14px;
	border-radius: var(--fm-radius);
	background: var(--fm-bg-soft);
	margin-bottom: 12px;
	transition: background 0.2s ease, transform 0.2s ease;
}
.fm-mock-row:hover {
	background: var(--fm-primary-soft);
	transform: translateX(2px);
}
.fm-mock-row:last-of-type { margin-bottom: 0; }
.fm-mock-code {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
	color: var(--fm-primary);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.3px;
	border: 1px solid var(--fm-primary-light);
}
.fm-mock-row-name {
	font-size: 15px;
	font-weight: 600;
	color: var(--fm-text);
	margin-bottom: 2px;
}
.fm-mock-row-meta {
	font-size: 12px;
	color: var(--fm-text-secondary);
}
.fm-mock-row-arrow {
	color: var(--fm-primary);
	font-weight: 700;
	font-size: 18px;
}
.fm-hero-mock-foot {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px dashed var(--fm-border);
	font-size: 13px;
	color: var(--fm-primary);
	font-weight: 600;
	text-align: right;
}

/* 浮签徽章 */
.fm-hero-float {
	position: absolute;
	background: #fff;
	border-radius: var(--fm-radius);
	padding: 14px 18px;
	box-shadow: 0 16px 40px rgba(0, 134, 145, 0.14);
	display: flex;
	align-items: center;
	gap: 12px;
	z-index: 3;
}
.fm-hero-float-tr {
	top: -28px;
	right: -12px;
	border: 1px solid var(--fm-primary-soft);
}
.fm-hero-float-bl {
	bottom: -24px;
	left: -28px;
	border: 1px solid var(--fm-accent-soft);
}
.fm-hero-float-icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex-shrink: 0;
}
.fm-hero-float-tr .fm-hero-float-icon {
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
}
.fm-hero-float-bl .fm-hero-float-icon {
	background: var(--fm-accent);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}
.fm-hero-float-num {
	font-size: 18px;
	font-weight: 700;
	color: var(--fm-text);
	line-height: 1.1;
}
.fm-hero-float-label {
	font-size: 12px;
	color: var(--fm-text-secondary);
	margin-top: 2px;
}

/* 后景装饰 blob */
.fm-hero-visual::before {
	content: "";
	position: absolute;
	inset: -10% -8% -10% 12%;
	background: radial-gradient(circle at 50% 50%, var(--fm-primary-soft) 0%, transparent 70%);
	z-index: 0;
	border-radius: 50%;
}

/* 响应式 */
@media (max-width: 1024px) {
	.fm-hero { padding: 64px 0 80px; }
	.fm-hero-grid { grid-template-columns: 1fr; gap: 56px; }
	.fm-hero h1 { font-size: 44px; }
	.fm-hero-visual { min-height: auto; max-width: 520px; }
	.fm-hero-float-tr { right: 8px; }
	.fm-hero-float-bl { left: 8px; }
}
@media (max-width: 640px) {
	.fm-hero { padding: 40px 0 56px; }
	.fm-hero h1 { font-size: 32px; line-height: 1.25; }
	.fm-hero-subtitle { font-size: 16px; }
	.fm-hero-eyebrow { padding: 6px 12px; font-size: 12px; }
	.fm-hero-ctas { gap: 10px; }
	.fm-hero-ctas .fm-btn { width: 100%; text-align: center; padding: 14px 18px; }

	/* 信任带：每条独立一行，避免拥挤换行 */
	.fm-hero-trust {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		margin-top: 24px;
		font-size: 14px;
	}

	.fm-hero-mock { padding: 18px; }
	.fm-mock-row { grid-template-columns: 44px 1fr auto; padding: 10px; gap: 10px; }
	.fm-mock-code { height: 44px; border-radius: 10px; font-size: 12px; }

	/* 浮卡在 mock 卡片左右溢出，移动端容易被裁，整体隐藏 */
	.fm-hero-float { display: none; }
}

/* ============================================================
   卡片
   ============================================================ */

.fm-card {
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	padding: 28px;
	box-shadow: var(--fm-shadow);
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.fm-card:hover {
	box-shadow: var(--fm-shadow-hover);
	transform: translateY(-4px);
	border-color: var(--fm-primary-light);
}

@media (max-width: 768px) {
	.fm-card { padding: 20px; }
}

/* ============================================================
   数字证明 / 痛点数据带
   ============================================================ */

.fm-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	text-align: center;
}
.fm-stats .fm-stat-num {
	font-size: 48px;
	font-weight: 700;
	color: var(--fm-primary);
	line-height: 1;
	margin-bottom: 8px;
}
.fm-stats .fm-stat-label {
	font-size: 14px;
	color: var(--fm-text-secondary);
}
@media (max-width: 1024px) {
	.fm-stats { grid-template-columns: repeat(3, 1fr); gap: 28px; }
}
@media (max-width: 768px) {
	.fm-stats {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
	.fm-stats .fm-stat-num { font-size: 32px; }
}
@media (max-width: 480px) {
	.fm-stats { gap: 18px; }
	.fm-stats .fm-stat-num { font-size: 28px; }
	.fm-stats .fm-stat-label { font-size: 13px; }
}

/* ============================================================
   Tag / Chip
   ============================================================ */

.fm-tag {
	display: inline-block;
	padding: 4px 12px;
	background: var(--fm-primary-soft);
	color: var(--fm-primary);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	margin-right: 6px;
	margin-bottom: 6px;
}

/* ============================================================
   内容卡片与占位视觉
   ============================================================ */

.fm-icon-mark,
.fm-avatar-placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--fm-primary);
	color: #fff;
	font-weight: 700;
	border-radius: 999px;
}
.fm-icon-mark {
	width: 64px;
	height: 64px;
	font-size: 15px;
	margin-bottom: 16px;
}
.fm-avatar-placeholder {
	width: 72px;
	height: 72px;
	font-size: 24px;
	flex-shrink: 0;
}
.fm-avatar-large {
	width: 240px;
	height: 240px;
	font-size: 72px;
}
.fm-person-hero {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 48px;
	align-items: center;
}
.fm-course-hero-inner {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 32px;
	align-items: center;
}
.fm-person-photo {
	width: 240px;
	height: 240px;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--fm-shadow-hover);
}
.fm-story-card,
.fm-link-card {
	display: block;
	color: inherit;
	text-decoration: none;
}
.fm-story-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}
.fm-story-head h2,
.fm-branch-card h2 {
	font-size: 22px;
	margin: 0 0 6px;
}
.fm-story-head p,
.fm-story-quote,
.fm-branch-address,
.fm-branch-meta {
	color: var(--fm-text-secondary);
}
.fm-story-avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}
.fm-card-link {
	display: inline-block;
	margin-top: 16px;
	color: var(--fm-primary);
	font-weight: 600;
}
.fm-filter-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
.fm-empty-state {
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
	padding: 48px 24px;
	border: 1px dashed var(--fm-border);
	border-radius: var(--fm-radius);
	background: var(--fm-bg-soft);
}
.fm-empty-state h2 {
	font-size: 24px;
	margin-bottom: 12px;
}
.fm-cta-section {
	background: var(--fm-primary);
	color: #fff;
}
.fm-cta-section h2 {
	color: #fff;
}
.fm-cta-section p {
	color: rgba(255, 255, 255, 0.9);
}
.fm-qrcode-panel {
	display: inline-block;
	padding: 24px;
	margin-top: 24px;
	background: #fff;
	color: var(--fm-text);
	border-radius: var(--fm-radius);
}
.fm-branch-meta {
	display: grid;
	gap: 6px;
	font-size: 14px;
	margin: 16px 0;
}
.fm-branch-actions {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
}
.fm-course-code-mini {
	display: inline-block;
	color: var(--fm-primary);
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 8px;
}
.fm-highlight-quote {
	max-width: 680px;
	margin: 24px 0 0;
	font-size: 18px;
	line-height: 1.7;
	color: var(--fm-text);
}

@media (max-width: 768px) {
	.fm-person-hero {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.fm-course-hero-inner {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.fm-course-hero-inner > div:first-child {
		margin: 0 auto;
	}
	.fm-person-photo,
	.fm-avatar-large {
		width: 160px;
		height: 160px;
		font-size: 48px;
		margin: 0 auto;
	}
}

/* ============================================================
   学术背书条
   ============================================================ */

.fm-academic-bar {
	background: var(--fm-primary-soft);
	color: var(--fm-text);
	text-align: center;
	padding: 16px 24px;
	font-size: 15px;
}
.fm-academic-bar strong {
	color: var(--fm-primary-darker);
}

/* ============================================================
   学员故事卡 / 课程卡
   ============================================================ */

.fm-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.fm-grid-4 { grid-template-columns: repeat(4, 1fr); }
.fm-grid-4-home { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.fm-grid-3 { grid-template-columns: repeat(3, 1fr); }
.fm-grid-2 { grid-template-columns: repeat(2, 1fr); }
.fm-doctor-grid { grid-template-columns: repeat(3, 1fr); }
.fm-doctor-grid-4 { grid-template-columns: repeat(4, 1fr); gap: 20px; }

@media (max-width: 1024px) {
	.fm-grid-4,
	.fm-grid-4-home,
	.fm-doctor-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	.fm-grid,
	.fm-grid-4,
	.fm-grid-4-home,
	.fm-grid-2 { grid-template-columns: 1fr; gap: 16px; }
	.fm-doctor-grid,
	.fm-doctor-grid-4 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}

/* ============================================================
   Footer 微调（GeneratePress 默认基础上）
   ============================================================ */

.site-footer {
	background: var(--fm-bg-soft);
	border-top: 1px solid var(--fm-border);
}
.site-info {
	font-size: 13px;
	color: var(--fm-text-secondary);
}
.site-info a { color: inherit; }

.site-footer .inside-site-info {
	display: block;
	padding: 0;
}
.copyright-bar {
	width: 100%;
}
.fm-footer {
	text-align: left;
	padding: 48px 24px 24px;
}
.fm-footer-grid {
	max-width: var(--fm-content-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 32px;
}
.fm-footer-title {
	font-size: 24px;
	margin: 0 0 12px;
	color: var(--fm-primary);
}
.fm-footer h3 {
	font-size: 16px;
	margin: 0 0 12px;
}
.fm-footer p,
.fm-footer a,
.fm-footer span {
	display: block;
	margin: 0 0 8px;
	color: var(--fm-text-secondary);
	font-size: 14px;
	line-height: 1.7;
}
.fm-footer a:hover {
	color: var(--fm-primary);
}
.fm-footer-bottom {
	max-width: var(--fm-content-max);
	margin: 32px auto 0;
	padding-top: 20px;
	border-top: 1px solid var(--fm-border);
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media (max-width: 768px) {
	.fm-footer { padding: 32px 16px 20px; }
	.fm-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
	.fm-footer-bottom {
		display: block;
	}
}
@media (max-width: 480px) {
	.fm-footer-grid { grid-template-columns: 1fr; gap: 20px; }
	.fm-footer-title { font-size: 20px; }
	.fm-footer h3 { font-size: 15px; }
}

/* ============================================
   首页 v1 新模块（Hero 简介 / AI 入口 / 学员占位 / 学术会议 / 联系）
   ============================================ */

/* Hero 介绍段落 */
.fm-hero-intro {
	max-width: 720px;
	margin: 8px 0 32px;
	font-size: 17px;
	line-height: 1.8;
	color: var(--fm-text-secondary);
}
.fm-hero-intro p { margin: 0 0 12px; }
@media (max-width: 768px) {
	.fm-hero-intro { font-size: 15px; }
}

/* AI 入口卡片 */
.fm-ai-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 32px;
	max-width: 960px;
	margin: 0 auto;
	padding: 40px 44px;
	background: linear-gradient(135deg, var(--fm-primary) 0%, var(--fm-primary-dark) 50%, var(--fm-accent) 100%);
	border-radius: var(--fm-radius-lg);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 20px 48px rgba(0, 134, 145, 0.24);
	transition: transform .2s ease, box-shadow .2s ease;
	overflow: hidden;
}
.fm-ai-card::before {
	content: "";
	position: absolute;
	right: -120px;
	top: -120px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.18) 0%, transparent 70%);
	pointer-events: none;
}
.fm-ai-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 28px 60px rgba(0, 134, 145, 0.3);
	color: #fff;
}
.fm-ai-card .fm-ai-icon {
	flex: 0 0 88px;
	width: 88px;
	height: 88px;
	border-radius: 20px;
	background: rgba(255,255,255,0.22);
	backdrop-filter: blur(8px);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 1px;
	position: relative;
	z-index: 1;
}
.fm-ai-card .fm-ai-body { flex: 1; position: relative; z-index: 1; }
.fm-ai-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	background: rgba(255, 255, 255, 0.22);
	color: #fff;
	padding: 3px 10px;
	border-radius: 999px;
	margin-bottom: 10px;
}
.fm-ai-card .fm-ai-title {
	margin: 0 0 8px;
	font-size: 24px;
	color: #fff;
}
.fm-ai-card .fm-ai-desc {
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255,255,255,0.92);
	max-width: 540px;
}
.fm-ai-card .fm-ai-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,0.5);
	padding-bottom: 2px;
	transition: border-color 0.15s ease;
}
.fm-ai-card:hover .fm-ai-cta { border-color: #fff; }

/* 学员故事占位骨架（更细腻的 shimmer） */
.fm-placeholder-grid { }
.fm-placeholder-card {
	background: linear-gradient(135deg, var(--fm-bg-soft), #fff);
	border: 1px dashed var(--fm-border);
	box-shadow: none;
}
.fm-placeholder-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(110deg, #ECF1F4 30%, #F7FAFB 50%, #ECF1F4 70%);
	background-size: 200% 100%;
	margin-bottom: 16px;
	animation: fm-shimmer 1.6s ease-in-out infinite;
}
.fm-placeholder-line {
	height: 12px;
	border-radius: 6px;
	background: linear-gradient(110deg, #ECF1F4 30%, #F7FAFB 50%, #ECF1F4 70%);
	background-size: 200% 100%;
	margin: 8px 0;
	animation: fm-shimmer 1.6s ease-in-out infinite;
}
.fm-placeholder-line-w90 { width: 90%; }
.fm-placeholder-line-w80 { width: 80%; }
.fm-placeholder-line-w60 { width: 60%; }
.fm-placeholder-line-w40 { width: 40%; }
@keyframes fm-shimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* ============================================
   通用空状态卡（替代裸文本"暂未添加X"）
   ============================================ */
.fm-empty-card {
	max-width: 720px;
	margin: 0 auto;
	background: linear-gradient(135deg, #fff, var(--fm-bg-soft));
	border: 1px dashed var(--fm-primary-light);
	border-radius: var(--fm-radius-lg);
	padding: 56px 32px;
	text-align: center;
}
.fm-empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: var(--fm-primary-soft);
	color: var(--fm-primary);
	font-size: 28px;
	margin-bottom: 18px;
}
.fm-empty-card h3 {
	margin: 0 0 10px;
	font-size: 20px;
	color: var(--fm-text);
}
.fm-empty-card p {
	margin: 0;
	font-size: 14px;
	color: var(--fm-text-secondary);
	line-height: 1.7;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}

/* ============================================
   Archive: Conference —— /conferences/ 列表页
   ----------------------------------------------------------------
   Eduma archive-event 借鉴：封面 + 左上日历积木浮卡
   ============================================ */
.fm-grid.fm-conference-grid { gap: 28px; }
.fm-conference-card-archive {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	overflow: hidden;
	text-decoration: none !important;
	color: inherit;
	box-shadow: var(--fm-shadow-card);
	transition: transform var(--fm-transition),
	            box-shadow var(--fm-transition),
	            border-color var(--fm-transition);
}
.fm-conference-card-archive:hover {
	transform: translateY(-6px);
	box-shadow: var(--fm-shadow-card-hover);
	border-color: var(--fm-primary-light);
}
.fm-conference-cover {
	position: relative;
	aspect-ratio: 16 / 9;
	margin: 0;
	overflow: hidden;
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
}
.fm-conference-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
	display: block;
}
.fm-conference-card-archive:hover .fm-conference-cover img {
	transform: scale(1.05);
}
.fm-conference-cover-fallback {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--fm-primary), var(--fm-primary-dark));
	color: #fff;
}
.fm-conference-cover-fallback .fm-conference-cover-mark {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 4px;
}
.fm-conference-card-body {
	padding: 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.fm-conference-year {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.4px;
	color: var(--fm-primary-darker);
	margin-bottom: 8px;
}
.fm-conference-card-body h3 {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 600;
	color: var(--fm-text);
	line-height: 1.45;
	transition: color var(--fm-transition-fast);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fm-conference-card-archive:hover .fm-conference-card-body h3 {
	color: var(--fm-primary);
}
.fm-conference-card-body .fm-conference-topic {
	margin: 0 0 16px;
	font-size: 14px;
	color: var(--fm-text-secondary);
	line-height: 1.7;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fm-conference-card-body .fm-conference-meta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 16px;
	padding-top: 14px;
	border-top: 1px dashed var(--fm-border);
	font-size: 13px;
	color: var(--fm-text-muted);
}
.fm-conference-card-body .fm-conference-meta .fm-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.fm-conference-card-body .fm-conference-meta .fm-meta-item svg {
	width: 14px;
	height: 14px;
	color: var(--fm-primary);
	flex-shrink: 0;
}

@media (max-width: 1024px) {
	.fm-grid.fm-conference-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 768px) {
	.fm-grid.fm-conference-grid { grid-template-columns: 1fr; gap: 20px; }
	.fm-conference-card-body { padding: 20px; }
}

/* ============================================
   Single: Conference Polish —— /conferences/{slug}
   Eduma single-event 借鉴：封面 16:9 + 信息卡 -60px 上浮
   ============================================ */
.fm-single-conference .fm-conference-hero {
	position: relative;
	margin: 0;
	padding: 0 0 60px;
}
.fm-conference-hero-cover {
	position: relative;
	margin: 0;
	width: 100%;
	aspect-ratio: 16 / 6;
	max-height: 480px;
	overflow: hidden;
	background: linear-gradient(135deg, var(--fm-primary), var(--fm-primary-dark));
}
.fm-conference-hero-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fm-conference-hero-cover-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.10) 0%, rgba(0, 95, 102, 0.55) 100%);
}
.fm-conference-hero-banner {
	height: 320px;
	background: linear-gradient(135deg, var(--fm-primary), var(--fm-primary-dark));
	position: relative;
	overflow: hidden;
}
.fm-conference-hero-banner::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -160px;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.10) 0%, transparent 70%);
}
.fm-single-conference .fm-conference-hero > .fm-container {
	position: relative;
	margin-top: -100px;
	z-index: 2;
}
.fm-single-conference .fm-conference-hero .fm-breadcrumb {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.92);
}
.fm-single-conference .fm-conference-hero .fm-breadcrumb a {
	color: rgba(255, 255, 255, 0.84);
}
.fm-single-conference .fm-conference-hero .fm-breadcrumb a:hover {
	color: #fff;
}
.fm-single-conference .fm-conference-hero .fm-breadcrumb .fm-breadcrumb-sep,
.fm-single-conference .fm-conference-hero .fm-breadcrumb .fm-breadcrumb-current {
	color: rgba(255, 255, 255, 0.92);
}
/* Conference hero v2：轻量单栏，跟课程详情页一致（去掉重复的封面横幅 + 浮卡二段式）*/
.fm-conference-hero-v2 .fm-breadcrumb { margin-bottom: 24px; }
.fm-conf-hero-body {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}
.fm-conf-hero-body .fm-eyebrow {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--fm-primary);
	padding: 6px 14px;
	background: var(--fm-primary-soft);
	border-radius: var(--fm-radius-pill);
}
.fm-conf-hero-body h1 {
	margin: 0;
	font-size: 36px;
	line-height: 1.28;
	color: var(--fm-text);
	letter-spacing: -0.3px;
}
.fm-conf-hero-topic {
	margin: 0;
	max-width: 720px;
	font-size: 16px;
	color: var(--fm-text-secondary);
	line-height: 1.75;
}
.fm-conf-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: center;
	margin: 4px 0 8px;
}
.fm-conf-hero-cover {
	margin: 24px 0 0;
	width: 100%;
	max-width: 760px;
	aspect-ratio: 16 / 9;
	border-radius: var(--fm-radius-lg);
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 134, 145, 0.16);
}
.fm-conf-hero-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media (max-width: 768px) {
	.fm-conference-hero-v2 .fm-breadcrumb { margin-bottom: 16px; }
	.fm-conf-hero-body { gap: 14px; }
	.fm-conf-hero-body h1 { font-size: 24px; line-height: 1.34; }
	.fm-conf-hero-topic { font-size: 14.5px; }
	.fm-conf-hero-meta { flex-direction: column; gap: 8px; }
	.fm-conf-hero-cover { margin-top: 18px; }
}

/* 旧的 fm-conference-hero-banner / fm-conference-hero-cover 不再使用，
   但保留在 page-home conference card 路径用 */

/* 会议卡片 */
.fm-conference-card { position: relative; }
.fm-conference-cover {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--fm-radius-sm);
	margin-bottom: 16px;
	background: var(--fm-bg-soft);
}
.fm-conference-date-badge {
	display: inline-block;
	padding: 4px 12px;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	background: var(--fm-accent);
	border-radius: 999px;
	letter-spacing: 0.5px;
}

/* 会议详情页 */
.fm-conference-hero {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) 2fr;
	gap: 40px;
	align-items: center;
}
.fm-conference-poster {
	width: 100%;
	max-width: 360px;
}
.fm-conference-meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 15px;
	color: var(--fm-text-secondary);
}
.fm-conference-meta strong {
	display: inline-block;
	min-width: 64px;
	color: var(--fm-text);
	font-weight: 600;
	margin-right: 8px;
}

/* 首页 ⑧ 关于 - 复用 .fm-stats 但居中 */
.fm-about-intro p { margin: 0 0 12px; }
.fm-about-stats { justify-content: center; }

/* 首页 ⑨ 联系 - 玻璃卡片版 */
.fm-contact-card {
	display: grid;
	grid-template-columns: minmax(280px, 360px) 1fr;
	gap: 0;
	max-width: 960px;
	margin: 0 auto;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18), 0 4px 16px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	color: var(--fm-text);
	position: relative;
	z-index: 1;
}
.fm-contact-qr-pane {
	background: linear-gradient(160deg, var(--fm-primary-soft) 0%, #fff 100%);
	padding: 36px 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	border-right: 1px solid rgba(0, 134, 145, 0.08);
}
.fm-contact-qr-pane .fm-contact-qr {
	background: #fff;
	padding: 16px;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(0, 134, 145, 0.18);
	color: var(--fm-text);
	text-align: center;
}
.fm-contact-qr-tip {
	margin: 0;
	font-size: 13px;
	color: var(--fm-text-secondary);
	letter-spacing: 0.5px;
}
.fm-contact-info-pane {
	padding: 36px 36px 32px;
	display: flex;
	flex-direction: column;
}
.fm-contact-info-title {
	margin: 0 0 20px;
	font-size: 20px;
	color: var(--fm-text);
	font-weight: 600;
	letter-spacing: 0.4px;
}
.fm-contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}
.fm-contact-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 14px 0;
	border-bottom: 1px solid rgba(0, 134, 145, 0.08);
}
.fm-contact-item:last-child { border-bottom: 0; }
.fm-contact-item-icon {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
}
.fm-contact-item-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1;
}
.fm-contact-item-label {
	font-size: 12.5px;
	color: var(--fm-text-secondary);
	letter-spacing: 0.6px;
}
.fm-contact-item-value {
	font-size: 15px;
	color: var(--fm-text);
	line-height: 1.55;
	word-break: break-word;
}
a.fm-contact-item-value {
	color: var(--fm-primary-darker);
	text-decoration: none;
	font-weight: 600;
}
a.fm-contact-item-value:hover {
	text-decoration: underline;
}
.fm-contact-cta {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px dashed rgba(0, 134, 145, 0.18);
}
.fm-contact-deco {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 12% 20%, rgba(255,255,255,0.10), transparent 40%),
		radial-gradient(circle at 88% 80%, rgba(255,255,255,0.08), transparent 35%);
	z-index: 0;
}

/* 深色背景上的次级按钮 */
.fm-btn-on-dark {
	display: inline-block;
	padding: 12px 24px;
	background: rgba(255,255,255,0.14);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.4);
	border-radius: var(--fm-radius);
	font-weight: 600;
	text-decoration: none;
	transition: background .2s ease;
}
.fm-btn-on-dark:hover {
	background: rgba(255,255,255,0.24);
	color: #fff;
}

/* ============================================
   首页 v1 - 通用 section 标题
   ============================================ */
.fm-section-head {
	text-align: center;
	margin-bottom: 56px;
}
.fm-section-eyebrow {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--fm-primary);
	margin-bottom: 12px;
	text-transform: uppercase;
}
.fm-section-eyebrow::before,
.fm-section-eyebrow::after {
	content: "—";
	margin: 0 10px;
	color: var(--fm-primary-light);
	font-weight: 400;
}
.fm-section-head h2 {
	margin: 0 0 14px;
	font-size: 36px;
	letter-spacing: -0.3px;
}
.fm-section-head p {
	font-size: 16px;
	color: var(--fm-text-secondary);
	max-width: 640px;
	margin: 0 auto;
	line-height: 1.7;
}
.fm-section-foot {
	text-align: center;
	margin-top: 48px;
}
.fm-empty-text {
	text-align: center;
	color: var(--fm-text-secondary);
	margin: 0;
}
@media (max-width: 768px) {
	.fm-section-head { margin-bottom: 36px; }
	.fm-section-head h2 { font-size: 26px; }
	.fm-section-foot { margin-top: 28px; }
}

/* ============================================
   学术信任带（hero 下、模块②上）
   ============================================ */
.fm-trust-strip {
	background: #fff;
	border-bottom: 1px solid var(--fm-border);
	padding: 28px 0;
}
.fm-trust-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}
.fm-trust-label {
	font-size: 13px;
	color: var(--fm-text-muted);
	letter-spacing: 0.5px;
	white-space: nowrap;
}
.fm-trust-logos {
	display: flex;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
	flex: 1;
}
.fm-trust-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--fm-text-secondary);
	font-weight: 600;
	opacity: 0.78;
	transition: opacity 0.2s ease;
}
.fm-trust-logo:hover { opacity: 1; }
.fm-trust-logo-mark {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.5px;
}
@media (max-width: 768px) {
	.fm-trust-strip { padding: 20px 0; }
	.fm-trust-inner { gap: 16px; justify-content: center; }
	.fm-trust-logos { gap: 18px; justify-content: center; }
	.fm-trust-logo { font-size: 13px; }
	.fm-trust-logo-mark { width: 30px; height: 30px; font-size: 11px; }
}

/* ============================================
   Archive: Course —— /courses/ 列表页（Eduma content-course 借鉴）
   封面 16:9 + 浮动 code 徽章 / hover 上浮 / 底部 meta + CTA
   ============================================ */
.fm-archive .fm-archive-filter {
	padding-top: 24px;
}
.fm-archive .fm-section-archive {
	padding-top: 32px;
	padding-bottom: 96px;
}
.fm-grid.fm-course-grid {
	gap: 28px;
}
.fm-course-card-archive {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	overflow: hidden;
	text-decoration: none !important;
	color: inherit;
	box-shadow: var(--fm-shadow-card);
	transition: transform var(--fm-transition),
	            box-shadow var(--fm-transition),
	            border-color var(--fm-transition);
}
.fm-course-card-archive:hover {
	transform: translateY(-6px);
	box-shadow: var(--fm-shadow-card-hover);
	border-color: var(--fm-primary-light);
}
.fm-course-cover {
	position: relative;
	aspect-ratio: 16 / 9;
	margin: 0;
	overflow: hidden;
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
}
.fm-course-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
	display: block;
}
.fm-course-card-archive:hover .fm-course-cover img {
	transform: scale(1.06);
}
.fm-course-cover-fallback {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	font-weight: 700;
	color: var(--fm-primary);
	letter-spacing: 1px;
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
}
.fm-course-cover-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 6px 14px;
	border-radius: var(--fm-radius-pill);
	background: var(--fm-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 12px rgba(255, 122, 89, 0.32);
	z-index: 2;
}
.fm-course-card-body {
	padding: 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.fm-course-card-body h3 {
	margin: 0 0 10px;
	font-size: 19px;
	font-weight: 600;
	color: var(--fm-text);
	line-height: 1.4;
	transition: color var(--fm-transition-fast);
}
.fm-course-card-archive:hover .fm-course-card-body h3 {
	color: var(--fm-primary);
}
.fm-course-card-desc {
	margin: 0 0 16px;
	font-size: 14px;
	color: var(--fm-text-secondary);
	line-height: 1.7;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fm-course-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0 0 18px;
	padding-top: 14px;
	border-top: 1px dashed var(--fm-border);
	font-size: 13px;
	color: var(--fm-text-muted);
}
.fm-course-card-meta .fm-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.fm-course-card-meta .fm-meta-item svg {
	width: 14px;
	height: 14px;
	color: var(--fm-primary);
	flex-shrink: 0;
}
.fm-course-card-cta {
	margin-top: auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--fm-primary);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: gap var(--fm-transition-fast);
}
.fm-course-card-archive:hover .fm-course-card-cta {
	gap: 10px;
}

@media (max-width: 1024px) {
	.fm-grid.fm-course-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 768px) {
	.fm-grid.fm-course-grid { grid-template-columns: 1fr; gap: 20px; }
	.fm-course-card-body { padding: 20px; }
	.fm-course-card-body h3 { font-size: 17px; }
}

/* ============================================
   Single: Course Polish —— /courses/{slug} 详情页
   ----------------------------------------------------------------
   .fm-page-hero-detail   detail 页 hero（左 code 块 + 右标题/meta/CTA）
   .fm-section-narrow     880px 内容容器（与共享组件不同的窄版）
   .fm-meta-pill          灰底胶囊（hero 下 duration/cert）
   .fm-cert-card          认证体系卡（主色 soft 背景 + mark 圆形）
   .fm-instructor-card    主讲讲师卡（圆头像 + 姓名 + role + credentials）
   .fm-testimonial-card   学员见证卡（左上引号 + 引文 + 头像底栏）
   .fm-method-grid/item   学习方式 6 列网格
   .fm-rich-content       wysiwyg 输出统一排版
   ============================================ */

/* Detail Hero —— 单栏垂直流动布局（v2，避免信息堆叠）*/
.fm-page-hero-detail {
	padding: 56px 0 56px;
}
.fm-page-hero-detail .fm-breadcrumb {
	margin-bottom: 24px;
}
.fm-course-hero,
.fm-page-hero-detail.fm-course-hero {
	text-align: center;
}
.fm-course-hero-body {
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.fm-course-hero-body .fm-eyebrow {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--fm-primary);
	padding: 6px 14px;
	background: var(--fm-primary-soft);
	border-radius: var(--fm-radius-pill);
}
.fm-course-hero-body h1 {
	margin: 0;
	font-size: 40px;
	line-height: 1.22;
	color: var(--fm-text);
	letter-spacing: -0.6px;
}
.fm-course-hero-audience {
	margin: 0;
	max-width: 640px;
	font-size: 17px;
	line-height: 1.7;
	color: var(--fm-text-secondary);
}
.fm-course-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: center;
	margin: 4px 0 8px;
}
.fm-meta-line {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	color: var(--fm-text-secondary);
	white-space: nowrap;
}
.fm-meta-line svg {
	width: 16px;
	height: 16px;
	color: var(--fm-primary);
	flex-shrink: 0;
}
.fm-course-hero-body .fm-hero-ctas {
	margin: 8px 0 0;
	justify-content: center;
}
.fm-meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: #fff;
	border: 1px solid var(--fm-primary-light);
	border-radius: var(--fm-radius-pill);
	font-size: 13px;
	color: var(--fm-primary-darker);
	font-weight: 500;
}
.fm-meta-pill svg {
	width: 14px;
	height: 14px;
	color: var(--fm-primary);
}
@media (max-width: 768px) {
	.fm-page-hero-detail { padding: 40px 0 40px; }
	.fm-course-hero-body { gap: 14px; }
	.fm-course-hero-body h1 { font-size: 26px; line-height: 1.32; }
	.fm-course-hero-body .fm-eyebrow { font-size: 11px; padding: 5px 12px; }
	.fm-course-hero-audience { font-size: 14.5px; }
	.fm-course-hero-meta { flex-direction: column; gap: 8px; align-items: center; }
	.fm-meta-line { font-size: 13px; }
}

/* 内容窄版容器 */
.fm-section-narrow {
	max-width: 880px;
}

/* Rich content 排版（wysiwyg 输出统一）*/
.fm-rich-content {
	font-size: 16px;
	line-height: 1.85;
	color: var(--fm-text);
}
.fm-rich-content > * + * { margin-top: 1em; }
.fm-rich-content h3 {
	margin-top: 1.6em;
	margin-bottom: 0.6em;
	font-size: 19px;
	font-weight: 600;
	color: var(--fm-text);
	padding-left: 14px;
	border-left: 3px solid var(--fm-primary);
}
.fm-rich-content ul,
.fm-rich-content ol {
	padding-left: 22px;
	margin: 0;
}
.fm-rich-content ul li,
.fm-rich-content ol li {
	margin: 6px 0;
	line-height: 1.75;
}
.fm-rich-content p {
	margin: 0;
	color: var(--fm-text-secondary);
}
.fm-rich-content strong { color: var(--fm-text); }
.fm-rich-content a { color: var(--fm-primary); }

/* Cert Card —— 认证体系卡 */
.fm-cert-card {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 28px 32px;
	background: linear-gradient(120deg, var(--fm-primary-soft) 0%, #fff 100%);
	border: 1px solid var(--fm-primary-light);
	border-radius: var(--fm-radius-lg);
	box-shadow: var(--fm-shadow-card);
}
.fm-cert-card-mark {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #fff;
	color: var(--fm-primary);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1px;
	box-shadow: 0 8px 20px rgba(0, 134, 145, 0.18);
}
.fm-cert-card-body h3 {
	margin: 0 0 6px;
	font-size: 19px;
	color: var(--fm-primary-darker);
	font-weight: 600;
}
.fm-cert-card-body p {
	margin: 0;
	color: var(--fm-text-secondary);
	line-height: 1.7;
	font-size: 14.5px;
}
@media (max-width: 768px) {
	.fm-cert-card { flex-direction: column; padding: 24px 20px; text-align: center; gap: 16px; }
	.fm-cert-card-mark { width: 64px; height: 64px; }
}

/* Instructor Card —— 主讲讲师卡（也供其他页面复用）*/
.fm-grid.fm-instructor-grid { gap: 24px; }
.fm-instructor-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 28px 20px;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	color: inherit;
	text-decoration: none !important;
	box-shadow: var(--fm-shadow-card);
	transition: transform var(--fm-transition),
	            box-shadow var(--fm-transition),
	            border-color var(--fm-transition);
}
.fm-instructor-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--fm-shadow-card-hover);
	border-color: var(--fm-primary-light);
}
.fm-instructor-avatar {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	overflow: hidden;
	margin-bottom: 16px;
	background: var(--fm-primary-soft);
	box-shadow: 0 6px 20px rgba(0, 134, 145, 0.12);
}
.fm-instructor-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fm-instructor-avatar .fm-avatar-initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 32px;
	font-weight: 700;
	color: var(--fm-primary);
}
.fm-instructor-card h3 {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 600;
	color: var(--fm-text);
	transition: color var(--fm-transition-fast);
}
.fm-instructor-card:hover h3 { color: var(--fm-primary); }
.fm-instructor-card .fm-instructor-role {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--fm-primary-darker);
	font-weight: 500;
}
.fm-instructor-card .fm-instructor-credentials {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.7;
	color: var(--fm-text-secondary);
	flex: 1;
}
.fm-instructor-card .fm-instructor-cta {
	margin-top: auto;
	font-size: 13px;
	font-weight: 600;
	color: var(--fm-primary);
}

/* Testimonial Card —— 学员见证卡 */
.fm-grid.fm-testimonial-grid { gap: 24px; }
.fm-testimonial-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 24px 28px 28px;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius-lg);
	color: inherit;
	text-decoration: none !important;
	box-shadow: var(--fm-shadow-card);
	transition: box-shadow var(--fm-transition);
	overflow: hidden;
}
.fm-testimonial-card:hover {
	box-shadow: var(--fm-shadow-card-hover);
}
.fm-testimonial-body {
	position: relative;
	flex: 1;
	padding-top: 20px;
}
.fm-testimonial-quote-mark {
	position: absolute;
	top: 4px;
	left: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 64px;
	line-height: 1;
	font-weight: 700;
	color: rgba(0, 182, 195, 0.14);
	pointer-events: none;
	z-index: 0;
}
.fm-testimonial-quote {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 15px;
	line-height: 1.85;
	color: var(--fm-text-secondary);
}
.fm-testimonial-author {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 16px;
	margin-bottom: 4px;
	border-bottom: 1px dashed var(--fm-border);
}
.fm-testimonial-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--fm-primary-soft);
}
.fm-testimonial-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fm-testimonial-author-name {
	font-size: 14px;
	font-weight: 600;
	color: var(--fm-text);
	line-height: 1.3;
}
.fm-testimonial-author-role {
	font-size: 12px;
	color: var(--fm-text-muted);
	margin-top: 2px;
}

/* Method Grid —— 学习方式 6 列 */
.fm-method-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.fm-method-item {
	padding: 24px 18px;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	text-align: center;
	transition: transform var(--fm-transition-fast),
	            border-color var(--fm-transition-fast);
}
.fm-method-item:hover {
	transform: translateY(-2px);
	border-color: var(--fm-primary-light);
}
.fm-method-icon {
	font-size: 32px;
	line-height: 1;
	margin-bottom: 12px;
}
.fm-method-item h3 {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-method-item p {
	margin: 0;
	font-size: 12px;
	color: var(--fm-text-muted);
}
@media (max-width: 768px) {
	.fm-method-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.fm-method-item { padding: 18px 12px; }
	.fm-method-icon { font-size: 28px; }
}

/* ============================================
   首页 ② 课程卡 - 顶部彩色 code 容器 + 描述
   ============================================ */
.fm-course-card {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
	overflow: hidden;
	position: relative;
}
.fm-course-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--fm-primary), var(--fm-primary-light));
	opacity: 0;
	transition: opacity 0.2s ease;
}
.fm-course-card:hover::before { opacity: 1; }
.fm-course-card .fm-course-code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
	border: 1px solid var(--fm-primary-light);
	color: var(--fm-primary);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 1;
	margin-bottom: 20px;
}
.fm-course-card h3 {
	margin: 0 0 10px;
	font-size: 20px;
	color: var(--fm-text);
}
.fm-course-card .fm-course-audience {
	margin: 0 0 16px;
	font-size: 14px;
	color: var(--fm-text-secondary);
	line-height: 1.6;
	flex: 1;
}
.fm-card-arrow {
	margin-top: 16px;
	color: var(--fm-primary);
	font-weight: 600;
	font-size: 14px;
	transition: color 0.15s ease, transform 0.15s ease;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.fm-course-card:hover .fm-card-arrow,
.fm-card:hover .fm-card-arrow {
	color: var(--fm-primary-dark);
}
.fm-course-card:hover .fm-card-arrow {
	transform: translateX(2px);
}

/* ============================================
   Single: Doctor —— /doctors/{slug} 详情页
   ----------------------------------------------------------------
   .fm-doctor-hero / .fm-doctor-hero-banner / .fm-doctor-hero-card
   .fm-doctor-hero-avatar / .fm-doctor-hero-info
   Eduma single-our-team 借鉴：封面横幅 + 头像浮卡 -60px 上浮
   ============================================ */
.fm-single-doctor .fm-doctor-hero {
	position: relative;
	margin: 0;
	padding: 0;
}
.fm-single-doctor .fm-doctor-hero-banner {
	height: 280px;
	background: linear-gradient(135deg, var(--fm-primary) 0%, var(--fm-primary-dark) 100%);
	position: relative;
	overflow: hidden;
}
.fm-single-doctor .fm-doctor-hero-banner::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -120px;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.10) 0%, transparent 70%);
}
.fm-single-doctor .fm-doctor-hero-banner::after {
	content: "";
	position: absolute;
	bottom: -160px;
	left: -160px;
	width: 400px;
	height: 400px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
}
.fm-single-doctor .fm-doctor-hero > .fm-container {
	position: relative;
	margin-top: -200px;
	padding-bottom: 48px;
	z-index: 2;
}
.fm-single-doctor .fm-doctor-hero-breadcrumb {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.92);
}
.fm-single-doctor .fm-doctor-hero-breadcrumb a {
	color: rgba(255, 255, 255, 0.84);
}
.fm-single-doctor .fm-doctor-hero-breadcrumb a:hover {
	color: #fff;
}
.fm-single-doctor .fm-doctor-hero-breadcrumb .fm-breadcrumb-sep,
.fm-single-doctor .fm-doctor-hero-breadcrumb .fm-breadcrumb-current {
	color: rgba(255, 255, 255, 0.92);
}
.fm-doctor-hero-card {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 40px;
	align-items: center;
	padding: 32px;
	background: #fff;
	border-radius: var(--fm-radius-lg);
	box-shadow: 0 24px 60px rgba(0, 134, 145, 0.18);
}
.fm-doctor-hero-avatar {
	position: relative;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	overflow: hidden;
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
	box-shadow: 0 12px 32px rgba(0, 134, 145, 0.16);
	border: 4px solid #fff;
}
.fm-doctor-hero-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fm-doctor-hero-avatar .fm-avatar-initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 80px;
	font-weight: 700;
	color: var(--fm-primary);
}
.fm-doctor-hero-info {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.fm-doctor-hero-info .fm-eyebrow {
	margin: 0;
}
.fm-doctor-hero-info h1 {
	margin: 0;
	font-size: 36px;
	line-height: 1.2;
	color: var(--fm-text);
	letter-spacing: -0.5px;
}
.fm-doctor-hero-title {
	margin: 0;
	font-size: 17px;
	color: var(--fm-primary-darker);
	font-weight: 500;
	line-height: 1.6;
}
.fm-doctor-hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}
.fm-doctor-hero-tags .fm-meta-pill {
	color: var(--fm-primary-darker);
	background: var(--fm-primary-soft);
	border-color: var(--fm-primary-light);
	text-decoration: none !important;
	transition: background var(--fm-transition-fast),
	            color var(--fm-transition-fast);
}
.fm-doctor-hero-tags .fm-meta-pill:hover {
	background: var(--fm-primary);
	color: #fff;
}
.fm-doctor-stats-section {
	padding: 48px 0 32px;
}
.fm-stats.fm-stats-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 720px;
	margin: 0 auto;
}
@media (max-width: 768px) {
	.fm-single-doctor .fm-doctor-hero-banner { height: 200px; }
	.fm-single-doctor .fm-doctor-hero > .fm-container {
		margin-top: -140px;
		padding-bottom: 32px;
	}
	.fm-doctor-hero-card {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 24px;
		text-align: center;
	}
	.fm-doctor-hero-avatar {
		width: 160px;
		height: 160px;
		justify-self: center;
	}
	.fm-doctor-hero-info { align-items: center; }
	.fm-doctor-hero-info h1 { font-size: 26px; }
	.fm-doctor-hero-title { font-size: 14.5px; }
	.fm-doctor-hero-tags { justify-content: center; }
	.fm-stats.fm-stats-3 { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.fm-stats.fm-stats-3 .fm-stat-num { font-size: 28px; }
}

/* ============================================
   首页 ③ 专家卡 - 头像渐变环 + 标签徽章
   ============================================ */
/* 专家卡 v3：照片贴卡片顶部，整体如「医师证件页」紧凑稳重 */
.fm-doctor-card {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
	text-align: center;
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	padding: 0;
	border: 1px solid rgba(0, 134, 145, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	position: relative;
}
.fm-doctor-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0, 134, 145, 0.14);
	border-color: rgba(0, 134, 145, 0.18);
}
/* 照片：1:1 方形贴卡片顶部，主色 soft 渐变背景衬底 */
.fm-doctor-card .fm-doctor-photo-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0;
	padding: 0;
	background: linear-gradient(180deg, #e8f7f8 0%, #f5fbfb 100%);
	overflow: hidden;
}
.fm-doctor-photo,
.fm-doctor-card .fm-avatar-placeholder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}
.fm-doctor-card .fm-avatar-placeholder {
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
	color: var(--fm-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 64px;
	font-weight: 700;
}
.fm-doctor-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}
/* 信息区：卡片下半部，主色 hairline 分隔 */
.fm-doctor-card-body {
	padding: 18px 18px 20px;
	border-top: 3px solid var(--fm-primary);
	background: #fff;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.fm-doctor-card h3 {
	margin: 0;
	font-size: 19px;
	font-weight: 600;
	color: var(--fm-text);
	letter-spacing: 0.5px;
}
.fm-doctor-card .fm-doctor-title {
	margin: 0;
	font-size: 13px;
	color: var(--fm-text-secondary);
	line-height: 1.55;
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fm-doctor-card .fm-doctor-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.6px;
	color: var(--fm-primary-darker);
	background: var(--fm-primary-soft);
	padding: 5px 12px;
	border-radius: 999px;
	margin-top: 4px;
}
.fm-doctor-card .fm-doctor-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	margin: 4px 0 8px;
}
.fm-doctor-card .fm-doctor-tags .fm-tag {
	font-size: 12px;
	padding: 3px 10px;
}
.fm-doctor-card .fm-doctor-cta {
	color: var(--fm-primary);
	font-weight: 600;
	font-size: 13px;
	margin-top: auto;
	padding-top: 4px;
}
/* 4 列时专家卡更紧凑：照片自动随网格收窄 + 信息区缩小 */
.fm-doctor-grid-4 .fm-doctor-card-body {
	padding: 14px 14px 16px;
	gap: 4px;
}
.fm-doctor-grid-4 .fm-doctor-card h3 {
	font-size: 17px;
}
.fm-doctor-grid-4 .fm-doctor-card .fm-doctor-title {
	font-size: 12.5px;
	min-height: 36px;
}
.fm-doctor-grid-4 .fm-doctor-card .fm-doctor-badge {
	font-size: 10.5px;
	padding: 4px 10px;
}

/* ============================================
   Archive: Branch —— /cocreation-spaces/ 列表页
   ----------------------------------------------------------------
   2 列大卡：封面 + 详细联系信息（icon + label + 值）
   ============================================ */
.fm-grid.fm-branch-grid { gap: 28px; }
.fm-branch-card-archive {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	overflow: hidden;
	box-shadow: var(--fm-shadow-card);
	transition: transform var(--fm-transition),
	            box-shadow var(--fm-transition),
	            border-color var(--fm-transition);
}
.fm-branch-card-archive:hover {
	transform: translateY(-4px);
	box-shadow: var(--fm-shadow-card-hover);
	border-color: var(--fm-primary-light);
}
.fm-branch-card-cover {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
}
.fm-branch-card-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
	display: block;
}
.fm-branch-card-archive:hover .fm-branch-card-cover img {
	transform: scale(1.05);
}
.fm-branch-card-body {
	padding: 24px 26px 22px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.fm-branch-card-body h3 {
	margin: 0 0 12px;
	font-size: 19px;
	font-weight: 600;
	color: var(--fm-text);
	line-height: 1.45;
}
.fm-branch-card-body h3 a {
	color: inherit;
	text-decoration: none !important;
	transition: color var(--fm-transition-fast);
}
.fm-branch-card-archive:hover .fm-branch-card-body h3 a {
	color: var(--fm-primary);
}
.fm-branch-card-intro {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--fm-text-primary);
}
.fm-branch-card-address {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--fm-text-secondary);
}
.fm-branch-card-address svg {
	width: 16px;
	height: 16px;
	color: var(--fm-primary);
	flex-shrink: 0;
	margin-top: 2px;
}
.fm-branch-contact {
	list-style: none;
	margin: 0 0 18px;
	padding: 14px 0 0;
	border-top: 1px dashed var(--fm-border);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fm-branch-contact li {
	display: grid;
	grid-template-columns: 18px 56px 1fr;
	gap: 8px;
	align-items: center;
	font-size: 13.5px;
	color: var(--fm-text-secondary);
}
.fm-branch-contact li svg {
	width: 16px;
	height: 16px;
	color: var(--fm-primary);
}
.fm-branch-contact li > span {
	color: var(--fm-text-muted);
	font-size: 12.5px;
}
.fm-branch-contact li strong {
	color: var(--fm-text);
	font-weight: 500;
	letter-spacing: 0.2px;
}
.fm-branch-card-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
	padding-top: 8px;
	flex-wrap: wrap;
}
.fm-btn-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--fm-primary);
	text-decoration: none !important;
	transition: gap var(--fm-transition-fast);
}
.fm-btn-link:hover { gap: 8px; }
.fm-btn-compact {
	padding: 10px 18px !important;
	font-size: 13.5px !important;
}

@media (max-width: 768px) {
	.fm-grid.fm-branch-grid { grid-template-columns: 1fr; }
	.fm-branch-card-body { padding: 22px; }
	.fm-branch-contact li { grid-template-columns: 18px 48px 1fr; }
}

/* ============================================
   Single: Branch —— /cocreation-spaces/{slug}
   ============================================ */
.fm-single-branch .fm-branch-hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 16px;
}
.fm-single-branch .fm-branch-hero-tags .fm-meta-pill {
	background: rgba(255, 255, 255, 0.85);
	color: var(--fm-primary-darker);
	border-color: var(--fm-primary-light);
	text-decoration: none !important;
}
.fm-branch-detail-cover {
	margin: 0 0 32px;
	border-radius: var(--fm-radius);
	overflow: hidden;
}
.fm-branch-detail-cover img {
	width: 100%;
	height: auto;
	display: block;
}
.fm-host-card {
	margin: 0 0 32px;
	padding: 32px;
	background: #fff;
	border: 1px solid rgba(0, 134, 145, 0.08);
	border-radius: 20px;
	box-shadow: 0 18px 48px rgba(0, 134, 145, 0.10);
}
.fm-host-card .fm-section-heading {
	margin: 0 0 24px;
}
.fm-host-body {
	display: grid;
	grid-template-columns: minmax(220px, 320px) 1fr;
	gap: 40px;
	align-items: start;
}
.fm-host-photo {
	position: relative;
	background: linear-gradient(180deg, #e8f7f8 0%, #f5fbfb 100%);
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	box-shadow: 0 10px 28px rgba(0, 134, 145, 0.10);
}
.fm-host-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}
.fm-host-photo-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 64px;
	font-weight: 700;
	color: var(--fm-primary);
}
.fm-host-name {
	margin: 0 0 14px;
	font-size: 26px;
	line-height: 1.2;
	color: var(--fm-text);
}
.fm-host-bio {
	font-size: 16px;
	line-height: 1.85;
	color: var(--fm-text);
}
.fm-host-bio p {
	margin: 0 0 12px;
}
.fm-host-bio p:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
	.fm-host-card { padding: 22px; border-radius: 16px; }
	.fm-host-body { grid-template-columns: 1fr; gap: 20px; }
	.fm-host-photo { max-width: 280px; margin: 0 auto; }
	.fm-host-name { font-size: 22px; }
}

.fm-branch-contact-card {
	padding: 28px 32px;
	background: linear-gradient(135deg, var(--fm-primary-soft) 0%, #fff 100%);
	border: 1px solid var(--fm-primary-light);
	border-radius: var(--fm-radius-lg);
	box-shadow: var(--fm-shadow-card);
}
.fm-branch-contact-card .fm-section-heading {
	margin-bottom: 20px;
}
.fm-branch-contact-card .fm-branch-contact {
	border-top: 0;
	padding: 0;
	margin-bottom: 20px;
}
.fm-branch-contact-card .fm-btn { margin: 0; }
.fm-branch-detail-content { margin-top: 32px; }
@media (max-width: 768px) {
	.fm-branch-contact-card { padding: 22px 20px; }
}

/* ============================================
   Archive/Single: Story —— 学员故事
   ----------------------------------------------------------------
   archive 复用 .fm-testimonial-card（Stage 2 已建）
   single 加 .fm-story-hero 大引号 + 居中 quote 风格
   ============================================ */
.fm-archive-story .fm-testimonial-grid { gap: 28px; }
.fm-archive-story .fm-testimonial-card {
	min-height: 260px;
}

.fm-single-story .fm-story-hero {
	position: relative;
	padding: 80px 0 64px;
	background: linear-gradient(135deg, var(--fm-primary-soft) 0%, #fff 60%);
	overflow: hidden;
}
.fm-single-story .fm-story-hero::before {
	content: "";
	position: absolute;
	top: -160px;
	right: -160px;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 182, 195, 0.12) 0%, transparent 70%);
	pointer-events: none;
}
.fm-single-story .fm-story-hero > .fm-container {
	position: relative;
	z-index: 1;
}
.fm-story-hero-card {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
	padding: 48px 48px 48px;
	background: #fff;
	border-radius: var(--fm-radius-lg);
	box-shadow: 0 24px 60px rgba(0, 134, 145, 0.10);
	text-align: center;
}
.fm-story-hero-body {
	position: relative;
	padding-top: 40px;
}
.fm-story-hero-quote-mark {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 96px;
	line-height: 1;
	font-weight: 700;
	color: rgba(0, 182, 195, 0.16);
	pointer-events: none;
}
.fm-story-hero-quote {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 22px;
	line-height: 1.85;
	color: var(--fm-text);
	font-weight: 400;
	letter-spacing: 0.2px;
}
.fm-story-hero-author {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 32px;
	margin-bottom: 32px;
	border-bottom: 1px dashed var(--fm-border);
}
.fm-story-hero-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--fm-primary-soft);
	flex-shrink: 0;
}
.fm-story-hero-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fm-story-hero-avatar.fm-avatar-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 700;
	color: var(--fm-primary);
}
.fm-story-hero-name {
	font-size: 16px;
	font-weight: 600;
	color: var(--fm-text);
	text-align: left;
	line-height: 1.3;
}
.fm-story-hero-role {
	font-size: 13px;
	color: var(--fm-text-muted);
	margin-top: 2px;
	text-align: left;
}
@media (max-width: 768px) {
	.fm-single-story .fm-story-hero { padding: 56px 0 48px; }
	.fm-story-hero-card { padding: 32px 24px 36px; }
	.fm-story-hero-body { padding-top: 32px; }
	.fm-story-hero-quote-mark { font-size: 72px; }
	.fm-story-hero-quote { font-size: 17px; }
	.fm-story-hero-author { flex-direction: column; gap: 10px; padding-bottom: 24px; margin-bottom: 24px; }
	.fm-story-hero-name,
	.fm-story-hero-role { text-align: center; }
}

/* ============================================
   首页 ④ 共创空间卡 - 左侧主色竖线 + 城市图标
   ============================================ */
.fm-branch-card {
	display: block;
	color: inherit;
	text-decoration: none;
	position: relative;
	padding-left: 28px;
}
.fm-branch-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 28px;
	bottom: 28px;
	width: 4px;
	background: linear-gradient(180deg, var(--fm-primary), var(--fm-primary-light));
	border-radius: 2px;
}
.fm-branch-card .fm-branch-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	font-size: 20px;
	margin-bottom: 16px;
}
.fm-branch-card h3 {
	margin: 0 0 10px;
	font-size: 18px;
	color: var(--fm-text);
}
.fm-branch-card .fm-branch-address {
	margin: 0 0 14px;
	font-size: 14px;
	color: var(--fm-text-secondary);
	line-height: 1.6;
	display: flex;
	gap: 6px;
}
.fm-branch-card .fm-branch-address::before {
	content: "📍";
	flex-shrink: 0;
	font-size: 13px;
	opacity: 0.7;
}

/* ============================================
   首页 ⑤ 学员故事卡（有内容时）
   ============================================ */
.fm-story-card-home {
	display: block;
	color: inherit;
	text-decoration: none;
}
.fm-story-card-home .fm-story-head {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 12px;
}
.fm-story-card-home .fm-story-avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}
.fm-story-card-home .fm-story-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fm-story-card-home .fm-story-name {
	font-weight: 600;
	font-size: 15px;
	color: var(--fm-text);
}
.fm-story-card-home .fm-story-quote {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--fm-text-secondary);
}

/* ============================================
   首页 ⑦ 会议卡 - 顶部强调橙渐变带 + 大日期
   ============================================ */
.fm-conference-card-home {
	display: block;
	color: inherit;
	text-decoration: none;
	position: relative;
	padding-top: 32px;
	overflow: hidden;
}
.fm-conference-card-home::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: linear-gradient(90deg, var(--fm-accent), var(--fm-accent-soft));
}
.fm-conference-card-home h3 {
	margin: 14px 0 10px;
	font-size: 18px;
	color: var(--fm-text);
	line-height: 1.4;
}
.fm-conference-card-home .fm-conference-topic {
	margin: 0 0 14px;
	font-size: 14px;
	color: var(--fm-text-secondary);
	line-height: 1.6;
}

/* ============================================
   首页 ⑧ 关于 - 数字徽章卡（带顶部小图标）
   ============================================ */
.fm-about-section .fm-container { max-width: 1080px; }
.fm-about-intro {
	font-size: 16px;
	line-height: 1.9;
	text-align: center;
	color: var(--fm-text-secondary);
	margin: 0 auto 48px;
	max-width: 760px;
}
.fm-about-intro p { margin: 0 0 12px; }
.fm-about-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	text-align: center;
}
.fm-about-stats > * {
	position: relative;
	background: #fff;
	border: 1px solid var(--fm-primary-soft);
	border-radius: var(--fm-radius);
	padding: 32px 16px 28px;
	box-shadow: var(--fm-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fm-about-stats > *:hover {
	transform: translateY(-3px);
	box-shadow: var(--fm-shadow-hover);
}
.fm-about-stats > *::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
	width: 48px;
	height: 4px;
	background: linear-gradient(90deg, var(--fm-primary), var(--fm-accent));
	border-radius: 0 0 4px 4px;
}
.fm-about-stats .fm-stat-num {
	display: block;
	font-size: 44px;
	font-weight: 700;
	color: var(--fm-primary);
	line-height: 1;
	margin-bottom: 10px;
	letter-spacing: -0.5px;
}
.fm-about-stats .fm-stat-label {
	font-size: 13px;
	color: var(--fm-text-secondary);
	letter-spacing: 0.3px;
}
@media (max-width: 768px) {
	.fm-about-stats {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
	.fm-about-stats > * { padding: 24px 12px 20px; }
	.fm-about-stats .fm-stat-num { font-size: 32px; }
}

/* ============================================
   Archive 列表卡（封面图 + 正文）— 课程 / 共创空间复用
   ============================================ */
.fm-archive-course-card,
.fm-branch-archive-card {
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.fm-archive-cover {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--fm-bg-soft);
}
.fm-archive-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.fm-archive-course-card:hover .fm-archive-cover img,
.fm-branch-archive-card:hover .fm-archive-cover img {
	transform: scale(1.04);
}
.fm-archive-cover-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--fm-primary);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 6px 12px;
	border-radius: 999px;
	backdrop-filter: blur(4px);
	box-shadow: var(--fm-shadow);
}
.fm-archive-cover-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--fm-primary);
	font-size: 32px;
	font-weight: 700;
	background: linear-gradient(135deg, var(--fm-primary-soft), #fff);
}
.fm-archive-body {
	padding: 24px;
}

/* ============================================
   首页 ⑨ 联系 - 二维码卡片
   ============================================ */
.fm-contact-section {
	background: linear-gradient(160deg, var(--fm-primary) 0%, var(--fm-primary-darker) 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
}
.fm-contact-section h2 { color: #fff; }
.fm-contact-section .fm-section-eyebrow,
.fm-contact-section .fm-section-head p {
	color: rgba(255,255,255,0.85);
}
.fm-contact-section .fm-contact-lead {
	color: rgba(255,255,255,0.92);
	text-align: center;
	font-size: 17px;
	margin: 0 auto 40px;
	max-width: 540px;
	line-height: 1.6;
}

/* 响应式 */
@media (max-width: 1024px) {
	.fm-grid-3 { grid-template-columns: repeat(2, 1fr); }
	.fm-conference-hero { grid-template-columns: 1fr; }
	.fm-conference-poster { max-width: 100%; }
}
@media (max-width: 768px) {
	.fm-grid-3 { grid-template-columns: 1fr; }
	.fm-ai-card {
		flex-direction: column;
		text-align: center;
		padding: 28px 20px;
		gap: 16px;
	}
	.fm-contact-card {
		grid-template-columns: 1fr;
	}
	.fm-contact-qr-pane {
		border-right: 0;
		border-bottom: 1px solid rgba(0, 134, 145, 0.08);
		padding: 28px 20px;
	}
	.fm-contact-info-pane {
		padding: 24px 20px 24px;
	}
}


/* ============================================================
   课程 / 会议详情长图（客户整页营销图）
   桌面端居中限制宽度 + 卡片化阴影；移动端全宽
   ============================================================ */
.fm-detail-image-wrap {
	max-width: 880px !important;
	margin: 0 auto;
	padding: 0;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(0, 134, 145, 0.10);
}
.fm-detail-image {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	background: #fff;
}
@media (max-width: 768px) {
	.fm-detail-image-section .fm-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.fm-detail-image-wrap {
		border-radius: 0;
		box-shadow: none;
	}
}


/* ============================================================
   全局：所有 fm-card a 标签去除 hover 下划线
   （GeneratePress 默认 a:hover 会加 underline，覆盖掉）
   ============================================================ */
a.fm-card,
.fm-card a,
a.fm-card:hover,
.fm-card a:hover,
a.fm-card:focus,
.fm-card a:focus,
a.fm-card-link,
a.fm-card-link:hover {
	text-decoration: none !important;
}


/* ============================================================
   首页 ④ 共创空间卡（图文并茂版）
   ============================================================ */
.fm-branch-card {
	overflow: hidden;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column;
}
.fm-branch-cover {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--fm-bg-soft);
}
.fm-branch-cover-placeholder {
	background: linear-gradient(135deg, var(--fm-primary) 0%, var(--fm-primary-light) 60%, var(--fm-primary-soft) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.fm-branch-region-big {
	font-size: 56px;
	font-weight: 800;
	color: rgba(255, 255, 255, 0.92);
	letter-spacing: 4px;
	text-shadow: 0 4px 16px rgba(0, 95, 102, 0.25);
}
.fm-branch-region-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--fm-primary-darker);
	font-size: 13px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 999px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.fm-branch-body {
	padding: 18px 20px 22px;
}
.fm-branch-body h3 {
	margin: 0 0 10px;
	font-size: 18px;
	color: var(--fm-text);
}
.fm-tag-soft {
	background: var(--fm-primary-soft) !important;
	color: var(--fm-primary-darker) !important;
	font-weight: 500;
}
/* 移除之前的 ::before 主色竖线（图文版不需要左竖线） */
.fm-branch-card::before { display: none !important; }

/* ============================================================
   首页 ⑦ 会议卡（带封面图版）
   ============================================================ */
.fm-conference-card-home {
	overflow: hidden;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column;
}
.fm-conference-card-home .fm-conf-cover {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--fm-bg-soft);
}
.fm-conference-card-home .fm-conf-cover .fm-conference-date-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	margin: 0;
	z-index: 2;
	box-shadow: 0 4px 12px rgba(255, 122, 89, 0.32);
}
.fm-conference-card-home .fm-conf-body {
	padding: 18px 20px 22px;
}
.fm-conference-card-home .fm-conf-body h3 {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.45;
	color: var(--fm-text);
}
.fm-conference-card-home .fm-conf-body .fm-conference-topic {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--fm-text-secondary);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}


/* ============================================================
   首页 ⑥ AI 健康助手区（左品牌 / 右 3 tab 自动滚动）
   ============================================================ */
.fm-section-ai {
	background: linear-gradient(135deg, #E6F7F8 0%, #F7FAFB 50%, #FFE8E0 100%);
	position: relative;
	overflow: hidden;
}
.fm-section-ai::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -120px;
	width: 380px;
	height: 380px;
	background: radial-gradient(circle, rgba(0,182,195,0.18) 0%, transparent 70%);
	pointer-events: none;
}
.fm-ai-grid {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: 56px;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
@media (max-width: 1024px) {
	.fm-ai-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* 左侧：品牌区 */
.fm-ai-left .fm-ai-badge {
	display: inline-block;
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(0, 134, 145, 0.18);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: var(--fm-primary-darker);
	margin-bottom: 20px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.fm-ai-title-big {
	margin: 0 0 20px;
	font-size: 44px;
	line-height: 1.2;
	font-weight: 800;
	color: var(--fm-text);
	letter-spacing: -1px;
}
@media (max-width: 768px) { .fm-ai-title-big { font-size: 32px; } }
.fm-ai-title-accent {
	background: linear-gradient(135deg, var(--fm-primary) 0%, var(--fm-accent) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.fm-ai-desc-big {
	margin: 0 0 28px;
	font-size: 16px;
	line-height: 1.85;
	color: var(--fm-text-secondary);
	max-width: 480px;
}
.fm-ai-cta-big {
	font-size: 15px;
	padding: 14px 28px;
	box-shadow: 0 12px 28px rgba(0, 134, 145, 0.24);
}
.fm-ai-cta-big:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 36px rgba(0, 134, 145, 0.32);
}
.fm-ai-quick {
	display: flex;
	gap: 32px;
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid rgba(0, 134, 145, 0.12);
}
.fm-ai-quick > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.fm-ai-quick strong {
	font-size: 16px;
	color: var(--fm-primary);
	font-weight: 700;
}
.fm-ai-quick span {
	font-size: 13px;
	color: var(--fm-text-secondary);
}

/* 右侧：tabs */
.fm-ai-right {
	background: #fff;
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 24px 64px rgba(0, 134, 145, 0.14);
	border: 1px solid rgba(0, 134, 145, 0.08);
	position: relative;
}
.fm-ai-tabs-head {
	display: flex;
	gap: 6px;
	margin-bottom: 24px;
	padding-bottom: 0;
	border-bottom: 1px solid var(--fm-border);
	position: relative;
}
.fm-ai-tab {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 14px 16px;
	background: transparent;
	border: 0;
	cursor: pointer;
	color: var(--fm-text-secondary);
	font-family: inherit;
	font-size: 14px;
	transition: color 0.2s ease;
	position: relative;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.fm-ai-tab .fm-ai-tab-num {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--fm-text-muted);
	font-family: 'SF Mono', Menlo, monospace;
}
.fm-ai-tab .fm-ai-tab-label {
	font-weight: 600;
}
.fm-ai-tab:hover {
	color: var(--fm-primary);
}
.fm-ai-tab.is-active {
	color: var(--fm-primary-darker);
	border-bottom-color: var(--fm-primary);
}
.fm-ai-tab.is-active .fm-ai-tab-num {
	color: var(--fm-accent);
}
@media (max-width: 768px) {
	.fm-ai-tab { padding: 12px 8px; font-size: 13px; }
	.fm-ai-tab .fm-ai-tab-label { font-size: 13px; }
}

.fm-ai-panels {
	position: relative;
	min-height: 360px;
}
.fm-ai-panel {
	display: none;
	animation: fmAiFade 0.4s ease;
}
.fm-ai-panel.is-active {
	display: block;
}
@keyframes fmAiFade {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}
.fm-ai-panel h4 {
	margin: 16px 0 8px;
	font-size: 18px;
	color: var(--fm-text);
}
.fm-ai-panel p {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: var(--fm-text-secondary);
}

/* 右侧 Mock 渲染 */
.fm-ai-panel-mock {
	background: linear-gradient(180deg, #F7FAFB 0%, #fff 100%);
	border: 1px solid var(--fm-border);
	border-radius: 14px;
	padding: 18px 20px;
}
.fm-ai-mock-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
	font-weight: 600;
	font-size: 14px;
	color: var(--fm-text);
}
.fm-ai-mock-pill {
	font-size: 11px;
	background: #DCFCE7;
	color: #166534;
	padding: 3px 10px;
	border-radius: 999px;
	font-weight: 600;
}
.fm-ai-mock-row {
	display: grid;
	grid-template-columns: 80px 1fr 44px;
	gap: 10px;
	align-items: center;
	margin-bottom: 10px;
	font-size: 13px;
}
.fm-ai-mock-row > span:first-child {
	color: var(--fm-text-secondary);
}
.fm-ai-mock-row strong {
	text-align: right;
	font-size: 13px;
	font-weight: 700;
	color: var(--fm-text);
}
.fm-ai-mock-bar {
	height: 6px;
	background: var(--fm-bg-soft);
	border-radius: 999px;
	overflow: hidden;
}
.fm-ai-mock-bar > span {
	display: block;
	height: 100%;
	border-radius: 999px;
	transition: width 0.6s ease;
}
.fm-ai-mock-tip {
	margin-top: 14px;
	padding: 12px 14px;
	background: rgba(0, 182, 195, 0.06);
	border-radius: 10px;
	display: flex;
	gap: 10px;
	align-items: flex-start;
}
.fm-ai-mock-tip-icon {
	font-size: 18px;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--fm-primary), var(--fm-accent));
	display: flex;
	align-items: center;
	justify-content: center;
}
.fm-ai-mock-tip strong {
	display: block;
	font-size: 13px;
	color: var(--fm-primary-darker);
	margin-bottom: 4px;
}
.fm-ai-mock-tip p {
	font-size: 12px !important;
	margin: 0 !important;
	color: var(--fm-text-secondary);
}
.fm-ai-mock-list,
.fm-ai-mock-grid {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fm-ai-mock-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.fm-ai-mock-list > div,
.fm-ai-mock-grid > div {
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: 8px;
	padding: 10px 12px;
	font-size: 13px;
	color: var(--fm-text-secondary);
	line-height: 1.5;
}
.fm-ai-mock-list strong,
.fm-ai-mock-grid strong {
	display: inline-block;
	margin-right: 6px;
	color: var(--fm-text);
	font-weight: 600;
	font-size: 13px;
}


/* ============================================================
   首页 ⑧ 关于我们（品牌叙事高端版）
   ============================================================ */
.fm-about-premium {
	position: relative;
	background: linear-gradient(180deg, #FAFCFD 0%, #E6F7F8 100%);
	overflow: hidden;
}
.fm-about-bg-deco {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1100px;
	height: 1100px;
	background: radial-gradient(circle, rgba(0,182,195,0.08) 0%, transparent 65%);
	pointer-events: none;
	z-index: 0;
}
.fm-about-premium .fm-container {
	position: relative;
	z-index: 1;
}

.fm-about-lead {
	max-width: 880px;
	margin: 0 auto 56px;
	text-align: center;
	font-size: 19px;
	line-height: 1.85;
	color: var(--fm-text);
}
.fm-about-lead p { margin: 0; }
.fm-about-lead strong {
	font-weight: 700;
	color: var(--fm-primary-darker);
}
.fm-about-keyword {
	display: inline-block;
	padding: 2px 10px;
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	border-radius: 6px;
	font-weight: 600;
	margin: 0 2px;
}

/* 使命愿景双卡 */
.fm-about-mv {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	max-width: 980px;
	margin: 0 auto 64px;
}
@media (max-width: 768px) {
	.fm-about-mv { grid-template-columns: 1fr; gap: 16px; }
}
.fm-about-mv-card {
	position: relative;
	padding: 36px 32px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 12px 40px rgba(0, 134, 145, 0.08);
	border: 1px solid rgba(0, 134, 145, 0.08);
	overflow: hidden;
}
.fm-about-mv-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--fm-primary) 0%, var(--fm-primary-light) 100%);
}
.fm-about-mv-card-accent::before {
	background: linear-gradient(90deg, var(--fm-accent) 0%, #FFB698 100%);
}
.fm-about-mv-tag {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--fm-primary-darker);
	background: var(--fm-primary-soft);
	padding: 4px 12px;
	border-radius: 999px;
	margin-bottom: 18px;
}
.fm-about-mv-card-accent .fm-about-mv-tag {
	color: var(--fm-accent-dark);
	background: var(--fm-accent-soft);
}
.fm-about-mv-card p {
	margin: 0;
	font-size: 22px;
	line-height: 1.55;
	font-weight: 700;
	color: var(--fm-text);
	letter-spacing: -0.5px;
}
@media (max-width: 768px) { .fm-about-mv-card p { font-size: 19px; } }

/* 数字 stat 卡 */
.fm-about-stats-premium {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 980px;
	margin: 0 auto 48px;
}
@media (max-width: 1024px) {
	.fm-about-stats-premium { grid-template-columns: repeat(2, 1fr); }
}
.fm-stat-card {
	background: #fff;
	border-radius: 16px;
	padding: 32px 24px 28px;
	text-align: center;
	box-shadow: 0 8px 24px rgba(0, 134, 145, 0.06);
	border: 1px solid rgba(0, 134, 145, 0.08);
	position: relative;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.fm-stat-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--fm-primary), var(--fm-accent));
}
.fm-stat-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(0, 134, 145, 0.14);
}
.fm-stat-card-num {
	font-size: 48px;
	font-weight: 800;
	line-height: 1;
	background: linear-gradient(135deg, var(--fm-primary) 0%, var(--fm-primary-darker) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 8px;
	letter-spacing: -1px;
}
.fm-stat-card-num small {
	font-size: 28px;
	font-weight: 700;
}
.fm-stat-card-label {
	font-size: 13px;
	color: var(--fm-text-secondary);
	font-weight: 500;
	line-height: 1.5;
}


/* ============================================================
   课程图标（Hero mock + ② 认证体系）
   ============================================================ */

/* Hero mock 行内的小图标（替换 fm-mock-code 文字框）*/
.fm-mock-icon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: var(--fm-primary-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 134, 145, 0.10);
}
.fm-mock-icon img {
	width: 80%;
	height: 80%;
	object-fit: contain;
	display: block;
}

/* ② 认证体系卡片头部：图标 + 课程缩写并列 */
.fm-course-card-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
}
.fm-course-icon {
	width: 64px;
	height: 64px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--fm-primary-soft) 0%, #fff 100%);
	border: 1px solid rgba(0, 134, 145, 0.10);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.fm-course-icon img {
	width: 84%;
	height: 84%;
	object-fit: contain;
	display: block;
}
.fm-course-card:hover .fm-course-icon {
	transform: scale(1.06) rotate(-3deg);
	box-shadow: 0 8px 20px rgba(0, 134, 145, 0.18);
}

/* 课程缩写徽章（跟图标平齐，紧凑紫胶囊）*/
.fm-course-card-head .fm-course-code {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	padding: 6px 14px !important;
	border-radius: 999px !important;
	background: var(--fm-primary-soft) !important;
	border: 0 !important;
	color: var(--fm-primary-darker) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.5px !important;
	margin-bottom: 0 !important;
	flex: 0 0 auto !important;
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ============================================================
   最新资讯卡（archive-news.php / single-news.php）
   ============================================================ */
.fm-news-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(0, 134, 145, 0.08);
	color: inherit;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.fm-news-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(0, 134, 145, 0.12);
}
.fm-news-cover {
	aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, var(--fm-primary-soft) 0%, #fff 100%);
	overflow: hidden;
}
.fm-news-cover-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--fm-primary);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 4px;
}
.fm-news-body {
	padding: 18px 20px 22px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.fm-news-meta {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: 12.5px;
	color: var(--fm-text-secondary);
}
.fm-news-cat {
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	padding: 2px 10px;
	border-radius: 999px;
	font-weight: 600;
}
.fm-news-title {
	margin: 0;
	font-size: 17px;
	line-height: 1.5;
	color: var(--fm-text);
	font-weight: 600;
}
.fm-news-card:hover .fm-news-title {
	color: var(--fm-primary-darker);
}
.fm-news-excerpt {
	margin: 0;
	font-size: 14px;
	color: var(--fm-text-secondary);
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fm-news-card .fm-card-link {
	margin-top: auto;
	color: var(--fm-primary);
	font-weight: 600;
	font-size: 13.5px;
}
.fm-breadcrumb {
	font-size: 13px;
	color: var(--fm-text-secondary);
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.fm-breadcrumb a {
	color: var(--fm-primary-darker);
	text-decoration: none;
}
.fm-breadcrumb a:hover { text-decoration: underline; }
.fm-news-hero h1 {
	font-size: 38px;
	line-height: 1.3;
	letter-spacing: -0.01em;
}
@media (max-width: 768px) {
	.fm-news-hero h1 { font-size: 28px; }
}
.fm-news-content {
	font-size: 17px;
	line-height: 1.85;
	color: var(--fm-text);
}
.fm-news-content p { margin: 0 0 18px; }
.fm-news-content h2 { font-size: 22px; margin: 32px 0 14px; }
.fm-news-content h3 { font-size: 18px; margin: 24px 0 10px; }
.fm-news-content img { max-width: 100%; height: auto; border-radius: 8px; }
.fm-news-content blockquote {
	border-left: 3px solid var(--fm-primary);
	margin: 20px 0;
	padding: 4px 18px;
	color: var(--fm-text-secondary);
	background: var(--fm-primary-soft);
	border-radius: 0 8px 8px 0;
}

/* ============================================================
   主导航下拉菜单（认证体系 → 学员故事 等）
   GeneratePress 的 sub-menu 默认样式对 PHP filter 注入的 sub-menu
   不能完美生效；这里用一份干净的 dropdown CSS 强制样式。
   ============================================================ */
.main-navigation .main-nav .menu-item-has-children {
	position: relative;
}
.main-navigation .main-nav > ul > .menu-item-has-children > a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.main-navigation .main-nav > ul > .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translate(-1px, -1px);
	margin-left: 4px;
	opacity: 0.55;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.main-navigation .main-nav > ul > .menu-item-has-children:hover > a::after,
.main-navigation .main-nav > ul > .menu-item-has-children.sfHover > a::after,
.main-navigation .main-nav > ul > .menu-item-has-children:focus-within > a::after {
	transform: rotate(225deg) translate(-1px, -1px);
	opacity: 1;
}
/* 移动端抽屉里 sub-menu 永远展开，chevron 只会让外观凌乱，隐藏掉 */
@media (max-width: 900px) {
	.main-navigation .main-nav > ul > .menu-item-has-children > a::after {
		display: none;
	}
}
.main-navigation .main-nav .menu-item-has-children > .sub-menu {
	list-style: none;
	margin: 0;
	padding: 8px;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(-6px);
	min-width: 168px;
	width: max-content;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 134, 145, 0.08);
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}
.main-navigation .main-nav .menu-item-has-children:hover > .sub-menu,
.main-navigation .main-nav .menu-item-has-children:focus-within > .sub-menu,
.main-navigation .main-nav .menu-item-has-children.sfHover > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	left: 50%;
}
.main-navigation .main-nav .menu-item-has-children > .sub-menu::before {
	content: "";
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
	width: 12px;
	height: 12px;
	background: #fff;
	border-left: 1px solid rgba(0, 134, 145, 0.08);
	border-top: 1px solid rgba(0, 134, 145, 0.08);
}
.main-navigation .main-nav .menu-item-has-children > .sub-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.main-navigation .main-nav .menu-item-has-children > .sub-menu li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 16px !important;
	color: var(--fm-text);
	text-decoration: none;
	font-size: 14.5px;
	line-height: 1.4;
	white-space: nowrap;
	border-radius: 8px;
	transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.main-navigation .main-nav .menu-item-has-children > .sub-menu li > a:hover,
.main-navigation .main-nav .menu-item-has-children > .sub-menu li > a:focus {
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	transform: translateX(2px);
}
.main-navigation .main-nav .fmlife-submenu-story > a::after {
	content: "→";
	color: var(--fm-primary);
	font-weight: 700;
	transition: transform 0.15s ease;
}
.main-navigation .main-nav .fmlife-submenu-story > a:hover::after,
.main-navigation .main-nav .fmlife-submenu-story > a:focus::after {
	transform: translateX(2px);
}

/* 移动端：让下拉变成内联展开（GeneratePress 的 mobile toggle 会处理 click 行为） */
@media (max-width: 768px) {
	.main-navigation .main-nav .menu-item-has-children > .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		box-shadow: none;
		border: 0;
		border-radius: 0;
		padding: 0;
		min-width: 0;
		background: transparent;
	}
	.main-navigation .main-nav .menu-item-has-children > .sub-menu::before {
		display: none;
	}
	.main-navigation .main-nav .menu-item-has-children > .sub-menu li > a {
		padding-left: 36px;
		font-size: 14px;
		opacity: 0.85;
		transform: none;
	}
}

/* ============================================================
   认证健管师 - 列表页 toolbar (搜索 + 地区筛选)
   ============================================================ */
.fm-hm-toolbar {
	padding: 28px 0 0;
	border-bottom: 1px solid var(--fm-border);
}
.fm-hm-search {
	display: flex;
	gap: 12px;
	align-items: center;
	max-width: 640px;
	margin: 0 auto 20px;
	flex-wrap: wrap;
}
.fm-hm-search-input {
	flex: 1;
	min-width: 220px;
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: 999px;
	padding: 4px 4px 4px 16px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.fm-hm-search-input:focus-within {
	border-color: var(--fm-primary);
	box-shadow: 0 0 0 4px rgba(0, 134, 145, 0.12);
}
.fm-hm-search-icon {
	color: var(--fm-primary);
	font-size: 18px;
	margin-right: 8px;
}
.fm-hm-search-input input {
	flex: 1;
	border: 0;
	background: transparent;
	padding: 12px 0;
	font-size: 15px;
	color: var(--fm-text);
	outline: none;
	font-family: inherit;
}
.fm-hm-search-input input::placeholder {
	color: var(--fm-text-secondary);
}
.fm-hm-search .fm-btn-primary {
	padding: 12px 24px;
}
.fm-hm-clear {
	color: var(--fm-text-secondary);
	font-size: 13px;
	text-decoration: none;
}
.fm-hm-clear:hover {
	color: var(--fm-primary-darker);
	text-decoration: underline;
}
.fm-hm-regions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	padding: 16px 0 28px;
}
.fm-hm-region-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--fm-border);
	color: var(--fm-text);
	font-size: 14px;
	text-decoration: none;
	transition: all 0.2s ease;
}
.fm-hm-region-chip:hover {
	border-color: var(--fm-primary);
	color: var(--fm-primary-darker);
}
.fm-hm-region-chip.is-active {
	background: var(--fm-primary);
	border-color: var(--fm-primary);
	color: #fff;
}
.fm-hm-region-chip.is-active .fm-hm-region-count {
	background: rgba(255, 255, 255, 0.22);
	color: #fff;
}
.fm-hm-region-count {
	background: var(--fm-primary-soft);
	color: var(--fm-primary-darker);
	font-size: 11.5px;
	font-weight: 600;
	min-width: 22px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* 健管师卡上的地区徽章（叠在头像左上） */
.fm-hm-card .fm-doctor-photo-wrap {
	position: relative;
}
.fm-hm-card .fm-doctor-card-body {
	align-items: flex-start;
	text-align: left;
}
.fm-hm-card .fm-doctor-title {
	justify-content: flex-start;
	text-align: left;
	min-height: auto;
}
.fm-hm-card-summary {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.65;
	color: var(--fm-text-secondary);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 42px;
}
.fm-hm-region-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--fm-primary-darker);
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	letter-spacing: 0.5px;
	z-index: 2;
}

/* ============================================================
   认证健管师 - 详情页
   ============================================================ */
.fm-hm-detail {
	display: grid;
	grid-template-columns: minmax(280px, 420px) 1fr;
	gap: 56px;
	margin-top: 28px;
	align-items: start;
	background: #fff;
	border: 1px solid rgba(0, 134, 145, 0.08);
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 18px 48px rgba(0, 134, 145, 0.10);
}
.fm-hm-detail-photo {
	position: relative;
	background: linear-gradient(180deg, #e8f7f8 0%, #f5fbfb 100%);
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	box-shadow: 0 10px 28px rgba(0, 134, 145, 0.10);
}
.fm-hm-detail-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}
.fm-hm-detail-photo .fm-hm-region-badge {
	top: 16px;
	left: 16px;
	font-size: 13px;
	padding: 6px 14px;
}
.fm-hm-detail-info h1 {
	margin: 0 0 8px;
	font-size: 40px;
	line-height: 1.15;
}
.fm-hm-detail-title {
	margin: 0 0 14px;
	font-size: 17px;
	color: var(--fm-text-secondary);
	line-height: 1.6;
}
.fm-hm-detail-block {
	margin-top: 30px;
	padding-top: 24px;
	border-top: 1px solid rgba(0, 134, 145, 0.10);
}
.fm-hm-detail-block h3 {
	margin: 0 0 12px;
	font-size: 16px;
	color: var(--fm-primary-darker);
	letter-spacing: 0.5px;
	border-left: 3px solid var(--fm-primary);
	padding-left: 10px;
}
.fm-hm-credentials {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.fm-hm-credentials li {
	position: relative;
	padding-left: 22px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--fm-text);
}
.fm-hm-credentials li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--fm-primary);
	font-weight: 700;
}
.fm-hm-detail-cta {
	margin-top: 36px;
	padding: 24px;
	background: var(--fm-primary-soft);
	border-radius: 14px;
	text-align: center;
}
.fm-hm-profile-intro {
	font-size: 16px;
	line-height: 1.85;
	color: var(--fm-text);
}
.fm-hm-profile-intro p {
	margin: 0 0 14px;
}

@media (max-width: 768px) {
	.fm-hm-detail {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 20px;
		border-radius: 16px;
	}
	.fm-hm-detail-photo {
		max-width: 320px;
		margin: 0 auto;
	}
	.fm-hm-detail-info h1 { font-size: 26px; }
}

/* ============================================================
   /what-is-fm/ —— 「什么是功能医学」页面 v2（6 模块）
   ----------------------------------------------------------------
   ① Hero（已用 .fm-page-hero + 自带样式）
   ② Pain Points 痛点 3 卡：.fm-painpoint-card
   ③ vs 传统医学 双栏对比：.fm-vs-grid / .fm-vs-col
   ④ 功能医学树：.fm-tree-grid / .fm-tree-legend
   ⑤ 七大系统：.fm-system-card / .fm-matrix-visual
   ⑥ 适合人群 + 学习路径：.fm-learn-grid / .fm-learn-step-list
   ============================================================ */

/* Hero 内补一个学术信任带 */
.fm-page-what-is-fm .fm-page-hero h1 .fm-hl {
	color: var(--fm-primary);
	background: linear-gradient(180deg, transparent 65%, rgba(125, 216, 222, 0.45) 65%);
	padding: 0 4px;
}
.fm-page-what-is-fm .fm-fm-hero-trust {
	display: flex;
	justify-content: center;
	margin: 8px 0 24px;
}

/* ② Pain Points / 现代人类健康状况 — 默认 4 列，可折 2 列 / 1 列 */
.fm-grid.fm-painpoint-grid {
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
@media (max-width: 1024px) {
	.fm-grid.fm-painpoint-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 540px) {
	.fm-grid.fm-painpoint-grid { grid-template-columns: 1fr; }
}
.fm-painpoint-card {
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	padding: 32px 28px;
	box-shadow: var(--fm-shadow-card);
	transition: transform var(--fm-transition),
	            box-shadow var(--fm-transition),
	            border-color var(--fm-transition);
}
.fm-painpoint-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--fm-shadow-card-hover);
	border-color: var(--fm-primary-light);
}
.fm-painpoint-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: var(--fm-primary-soft);
	color: var(--fm-primary);
	margin-bottom: 18px;
}
.fm-painpoint-icon svg {
	width: 28px;
	height: 28px;
}
.fm-painpoint-card h3 {
	margin: 0 0 8px;
	font-size: 19px;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-painpoint-symptoms {
	margin: 0 0 12px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--fm-primary-darker);
	letter-spacing: 0.3px;
}
.fm-painpoint-reality {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.75;
	color: var(--fm-text-secondary);
}
@media (max-width: 768px) {
	.fm-painpoint-card { padding: 24px 22px; }
}

/* ③ vs 传统医学 双栏对比 */
.fm-section-heading h2 .fm-vs {
	display: inline-block;
	margin: 0 8px;
	padding: 2px 12px;
	font-size: 0.55em;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--fm-text-muted);
	background: var(--fm-bg-soft);
	border-radius: var(--fm-radius-pill);
	vertical-align: middle;
	transform: translateY(-3px);
}
.fm-vs-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	max-width: 960px;
	margin: 0 auto;
}
.fm-vs-col {
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius-lg);
	padding: 32px 36px;
	box-shadow: var(--fm-shadow-card);
}
.fm-vs-col-functional {
	background: linear-gradient(135deg, var(--fm-primary-soft) 0%, #fff 100%);
	border-color: var(--fm-primary-light);
}
.fm-vs-col-head {
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom: 1px dashed var(--fm-border);
}
.fm-vs-col-tag {
	display: inline-block;
	padding: 5px 14px;
	border-radius: var(--fm-radius-pill);
	background: var(--fm-bg-soft);
	color: var(--fm-text-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.fm-vs-col-tag-primary {
	background: var(--fm-primary);
	color: #fff;
}
.fm-vs-col-head p {
	margin: 0;
	font-size: 14px;
	color: var(--fm-text-secondary);
}
.fm-vs-list {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 14px 20px;
}
.fm-vs-list dt {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--fm-text-muted);
	padding-top: 2px;
}
.fm-vs-list dd {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--fm-text);
}
.fm-vs-col-functional .fm-vs-list dd {
	color: var(--fm-primary-darker);
	font-weight: 500;
}
.fm-vs-footnote {
	margin: 32px auto 0;
	max-width: 760px;
	text-align: center;
	font-size: 14px;
	color: var(--fm-text-muted);
}
@media (max-width: 768px) {
	.fm-vs-grid { grid-template-columns: 1fr; gap: 16px; }
	.fm-vs-col { padding: 24px 22px; }
	.fm-vs-list { grid-template-columns: 64px 1fr; gap: 10px 14px; }
	.fm-vs-list dt { font-size: 11px; }
	.fm-vs-list dd { font-size: 14px; }
}

/* ④ 功能医学树 */
.fm-tree-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
	max-width: 1080px;
	margin: 0 auto;
}
.fm-tree-visual {
	background: #fff;
	padding: 24px;
	border-radius: var(--fm-radius-lg);
	border: 1px solid var(--fm-border);
	box-shadow: var(--fm-shadow-card);
	text-align: center;
}
.fm-tree-visual img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
.fm-tree-legend {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.fm-tree-legend li {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 20px 22px;
	background: #fff;
	border-radius: var(--fm-radius);
	border: 1px solid var(--fm-border);
	transition: transform var(--fm-transition-fast),
	            border-color var(--fm-transition-fast);
}
.fm-tree-legend li:hover {
	transform: translateX(4px);
	border-color: var(--fm-primary-light);
}
.fm-tree-tag {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--fm-primary-soft);
	color: var(--fm-primary);
	font-size: 16px;
	font-weight: 700;
}
.fm-tree-tag-accent {
	background: var(--fm-accent-soft);
	color: var(--fm-accent-dark);
}
.fm-tree-legend h3 {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-tree-legend p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: var(--fm-text-secondary);
}
@media (max-width: 1024px) {
	.fm-tree-grid { gap: 32px; }
}
@media (max-width: 768px) {
	.fm-tree-grid { grid-template-columns: 1fr; gap: 28px; }
	.fm-tree-visual { padding: 20px; }
	.fm-tree-legend li { padding: 16px 18px; gap: 14px; }
}

/* ⑤ 七大系统 */
.fm-grid.fm-systems-grid {
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 56px;
}
.fm-system-card {
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	padding: 24px 22px;
	transition: transform var(--fm-transition-fast),
	            border-color var(--fm-transition-fast),
	            box-shadow var(--fm-transition-fast);
	position: relative;
}
.fm-system-card:hover {
	transform: translateY(-3px);
	border-color: var(--fm-primary-light);
	box-shadow: 0 8px 20px rgba(0, 134, 145, 0.10);
}
.fm-system-num {
	position: absolute;
	top: 18px;
	right: 22px;
	font-size: 14px;
	font-weight: 700;
	color: var(--fm-primary);
	opacity: 0.5;
	letter-spacing: 1px;
}
.fm-system-card h3 {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-system-en {
	margin: 0 0 10px;
	font-size: 12px;
	font-style: italic;
	color: var(--fm-primary);
	letter-spacing: 0.4px;
}
.fm-system-desc {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--fm-text-secondary);
}
.fm-matrix-visual {
	background: #fff;
	padding: 32px;
	border-radius: var(--fm-radius-lg);
	border: 1px solid var(--fm-border);
	box-shadow: var(--fm-shadow-card);
	text-align: center;
}
.fm-matrix-visual img {
	max-width: 720px;
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
.fm-matrix-caption {
	margin: 18px 0 0;
	font-size: 12.5px;
	color: var(--fm-text-muted);
	letter-spacing: 0.3px;
}
@media (max-width: 1024px) {
	.fm-grid.fm-systems-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.fm-grid.fm-systems-grid { grid-template-columns: 1fr; }
	.fm-matrix-visual { padding: 20px; }
}

/* ⑥ 适合人群 + 学习路径 */
.fm-learn-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}
.fm-learn-block-title {
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 600;
	color: var(--fm-primary-darker);
	padding-left: 12px;
	border-left: 3px solid var(--fm-primary);
	line-height: 1.3;
}
.fm-learn-audience-list,
.fm-learn-step-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.fm-learn-audience-list li,
.fm-learn-step-list li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px 22px;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
}
.fm-learn-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--fm-primary-soft);
	font-size: 18px;
	line-height: 1;
}
.fm-learn-step-num {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--fm-primary);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
}
.fm-learn-audience-list strong,
.fm-learn-step-list strong {
	display: block;
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-learn-audience-list p,
.fm-learn-step-list p {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--fm-text-secondary);
}
@media (max-width: 900px) {
	.fm-learn-grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ② 视频介绍段 ---------------------------------------------- */
.fm-video-section .fm-video-frame {
	max-width: 880px;
	margin: 0 auto;
	background: #000;
	border-radius: var(--fm-radius-lg);
	overflow: hidden;
	box-shadow: 0 18px 48px rgba(15, 90, 100, 0.18);
	aspect-ratio: 16 / 9;
}
.fm-video-section .fm-video-frame video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	background: #000;
}
@media (max-width: 768px) {
	.fm-video-section .fm-video-frame { border-radius: var(--fm-radius); }
}

/* ③ 功能医学如何运作 ---------------------------------------- */
.fm-howwork-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	max-width: 1080px;
	margin: 0 auto 48px;
}
.fm-howwork-block {
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius-lg);
	padding: 32px 32px 28px;
	box-shadow: var(--fm-shadow-card);
}
.fm-howwork-block h3 {
	margin: 0 0 18px;
	font-size: 20px;
	font-weight: 600;
	color: var(--fm-primary-darker);
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 14px;
	border-bottom: 1px dashed var(--fm-border);
}
.fm-howwork-num {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--fm-primary);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
}
.fm-howwork-block p {
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.85;
	color: var(--fm-text);
}
.fm-howwork-block p:last-child { margin-bottom: 0; }
.fm-howwork-block strong { color: var(--fm-primary-darker); font-weight: 600; }
.fm-howwork-quote {
	margin-top: 18px !important;
	padding: 16px 20px;
	background: var(--fm-primary-soft);
	border-left: 3px solid var(--fm-primary);
	border-radius: 6px;
	font-size: 16px !important;
	line-height: 1.7 !important;
	color: var(--fm-primary-darker) !important;
	font-weight: 500;
}
.fm-howwork-list {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
.fm-howwork-list li {
	display: flex;
	gap: 10px;
	padding: 10px 0;
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--fm-text-secondary);
	border-bottom: 1px solid var(--fm-border);
}
.fm-howwork-list li:last-child { border-bottom: none; }
.fm-howwork-list li span { color: var(--fm-primary); flex-shrink: 0; }

.fm-tenets-subhead {
	max-width: 720px;
	margin: 0 auto 28px;
	text-align: center;
}
.fm-tenets-subhead .fm-eyebrow {
	display: inline-block;
	margin-bottom: 8px;
}
.fm-tenets-subhead h3 {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-tenets-subhead p {
	margin: 0;
	font-size: 14.5px;
	color: var(--fm-text-secondary);
}

@media (max-width: 900px) {
	.fm-howwork-grid { grid-template-columns: 1fr; gap: 20px; }
	.fm-howwork-block { padding: 26px 22px; }
}

/* 核心理念 4 卡（保留作为如何运作段的下方要点）---------- */
.fm-grid.fm-tenets-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.fm-tenet-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius);
	padding: 28px 24px 24px;
	box-shadow: var(--fm-shadow-card);
	transition: transform var(--fm-transition),
	            box-shadow var(--fm-transition),
	            border-color var(--fm-transition);
}
.fm-tenet-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--fm-shadow-card-hover);
	border-color: var(--fm-primary-light);
}
.fm-tenet-num {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--fm-primary);
	background: var(--fm-primary-soft);
	padding: 4px 10px;
	border-radius: var(--fm-radius-pill);
	margin-bottom: 14px;
}
.fm-tenet-card h3 {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-tenet-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: var(--fm-text-secondary);
}
@media (max-width: 1024px) {
	.fm-grid.fm-tenets-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.fm-grid.fm-tenets-grid { grid-template-columns: 1fr; gap: 14px; }
	.fm-tenet-card { padding: 22px 20px; }
}

/* ⑤ vs 对比 5 行表 ---------------------------------------- */
.fm-vs-table-wrap {
	max-width: 1040px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--fm-border);
	border-radius: var(--fm-radius-lg);
	box-shadow: var(--fm-shadow-card);
	overflow: hidden;
}
.fm-vs-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 14.5px;
}
.fm-vs-table-caption {
	caption-side: top;
	padding: 18px 24px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--fm-text-muted);
	background: var(--fm-bg-soft);
	border-bottom: 1px solid var(--fm-border);
	text-align: left;
}
.fm-vs-table thead th {
	padding: 18px 22px;
	background: var(--fm-bg-soft);
	border-bottom: 1px solid var(--fm-border);
	text-align: left;
	vertical-align: middle;
	font-weight: 600;
	color: var(--fm-text);
}
.fm-vs-table thead th small {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	font-weight: 400;
	color: var(--fm-text-secondary);
	letter-spacing: 0;
	text-transform: none;
}
.fm-vs-table .fm-vs-table-axis { width: 16%; }
.fm-vs-table-axis-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.6px;
	color: var(--fm-text-muted);
	text-transform: uppercase;
}
.fm-vs-table .fm-vs-table-fm { background: var(--fm-primary-soft); }
.fm-vs-table tbody th {
	padding: 18px 22px;
	background: var(--fm-bg-soft);
	color: var(--fm-text-muted);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.4px;
	border-bottom: 1px solid var(--fm-border);
	border-right: 1px solid var(--fm-border);
	text-align: left;
	vertical-align: top;
}
.fm-vs-table tbody td {
	padding: 18px 22px;
	border-bottom: 1px solid var(--fm-border);
	line-height: 1.75;
	color: var(--fm-text);
	vertical-align: top;
}
.fm-vs-table tbody td.fm-vs-table-fm-cell {
	background: rgba(125, 216, 222, 0.10);
	color: var(--fm-primary-darker);
	font-weight: 500;
	border-right: 1px solid var(--fm-border);
}
.fm-vs-table tbody tr:last-child th,
.fm-vs-table tbody tr:last-child td { border-bottom: none; }
@media (max-width: 768px) {
	.fm-vs-table { font-size: 13.5px; }
	.fm-vs-table-caption { padding: 14px 16px; font-size: 11.5px; }
	.fm-vs-table thead th,
	.fm-vs-table tbody th,
	.fm-vs-table tbody td { padding: 14px 12px; }
	.fm-vs-table .fm-vs-table-axis { width: 22%; }
}

/* ⑥ 新树图：双语长图，纵向放大显示 -------------------- */
.fm-tree-visual-tall img {
	max-width: 520px;
	width: 100%;
}

/* ⑤ 慢性病危机金句横幅 -------------------------------- */
.fm-banner-quote {
	margin: 0;
	padding: 64px 24px;
	background: linear-gradient(135deg, var(--fm-primary) 0%, var(--fm-primary-darker, #007680) 100%);
	color: #fff;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.fm-banner-quote::before,
.fm-banner-quote::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	transform: translateY(-50%);
	pointer-events: none;
}
.fm-banner-quote::before { left: -80px; }
.fm-banner-quote::after  { right: -80px; }
.fm-banner-quote p {
	position: relative;
	max-width: 920px;
	margin: 0 auto;
	font-size: clamp(20px, 2.4vw, 30px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 1px;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}
@media (max-width: 768px) {
	.fm-banner-quote { padding: 48px 20px; }
	.fm-banner-quote p { font-size: 19px; line-height: 1.7; }
}

/* ============================================================
   移动端体验增强（与 assets/js/mobile.js 配套）
   ============================================================ */

/* 1. 触摸目标兜底 ≥44px */
@media (max-width: 768px) {
	.fm-btn,
	.fm-filter-pill,
	.fm-card-arrow,
	.main-navigation .menu-item > a,
	.fm-back-to-top {
		min-height: 44px;
	}
	.fm-btn { padding-top: 12px; padding-bottom: 12px; }
}

/* 2. 横向溢出兜底 + 长 URL 折行 */
html, body { overflow-x: hidden; }
.fm-footer a,
.fm-footer p,
.fm-footer span { word-break: break-word; overflow-wrap: anywhere; }

/* 3. 菜单展开时锁滚动（移动端） */
@media (max-width: 900px) {
	body.fm-menu-open {
		overflow: hidden;
		touch-action: none;
	}
}

/* 4. 回到顶部按钮 */
.fm-back-to-top {
	position: fixed;
	right: 16px;
	bottom: 20px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: var(--fm-primary);
	color: #fff;
	box-shadow: 0 8px 20px rgba(0, 134, 145, 0.28);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 90;
	-webkit-tap-highlight-color: transparent;
}
.fm-back-to-top svg { display: block; }
.fm-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}
.fm-back-to-top:hover { background: var(--fm-primary-dark); }
.fm-back-to-top:focus-visible {
	outline: 2px solid var(--fm-accent);
	outline-offset: 2px;
}
@media (max-width: 480px) {
	.fm-back-to-top { right: 12px; bottom: 14px; }
}

/* 5. 滚动渐显（IntersectionObserver 触发） */
.fm-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.5s ease, transform 0.5s ease;
	will-change: opacity, transform;
}
.fm-reveal.is-visible {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.fm-reveal { opacity: 1; transform: none; transition: none; }
}

/* 6. 触觉反馈（按钮/pill 即时缩放） */
.fm-btn.is-pressed,
.fm-filter-pill.is-pressed,
.fm-card-arrow.is-pressed,
.fm-back-to-top.is-pressed {
	transform: scale(0.96);
	transition: transform 0.08s ease;
}
.fm-back-to-top.is-pressed.is-visible { transform: scale(0.96); }

/* 7. 卡片整块可点击（data-card-link） */
[data-card-link] {
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
[data-card-link]:focus-visible {
	outline: 2px solid var(--fm-primary);
	outline-offset: 3px;
}

/* 8. 卡片标题移动端 line-clamp 2 行 */
@media (max-width: 768px) {
	.fm-card .fm-card-title,
	.fm-card h3 {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
}

/* 9. 筛选条粘性化（仅移动端，is-stuck 由 JS 切换） */
@media (max-width: 768px) {
	.fm-filter-bar {
		position: relative;
	}
	.fm-filter-bar.is-stuck {
		position: sticky;
		top: 56px;
		z-index: 30;
		background: rgba(255, 255, 255, 0.96);
		backdrop-filter: saturate(180%) blur(10px);
		-webkit-backdrop-filter: saturate(180%) blur(10px);
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
		padding-top: 10px;
		padding-bottom: 10px;
		margin-top: 0;
	}
	.fm-filter-sentinel { height: 1px; margin: 0; pointer-events: none; }
}

/* 10. 筛选条横滚右侧渐变遮罩（提示「可滑动」） */
@media (max-width: 768px) {
	.fm-archive-filter {
		position: relative;
	}
	.fm-archive-filter::after {
		content: "";
		position: absolute;
		top: 24px;
		right: 0;
		bottom: 4px;
		width: 32px;
		background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff 80%);
		pointer-events: none;
		z-index: 1;
	}
	.fm-archive-filter:has(.fm-filter-bar.is-stuck)::after {
		top: 10px;
	}
}

/* 11. 极小屏 (<480px) 防护 */
@media (max-width: 480px) {
	/* 容器 padding 收紧 */
	.fm-footer { padding-left: 14px; padding-right: 14px; }
	.fm-cta-banner { padding: 48px 16px; }
	.fm-cta-banner h2 { font-size: 22px; }

	/* Hero 字号 */
	.fm-hero h1 { font-size: 28px; line-height: 1.25; }
	.fm-hero-eyebrow { font-size: 11.5px; }

	/* 卡片 */
	.fm-card { padding: 16px; }

	/* 按钮 */
	.fm-btn { font-size: 14.5px; padding: 12px 18px; }

	/* 筛选 pill */
	.fm-filter-pill { padding: 7px 14px; font-size: 12.5px; min-height: 40px; }

	/* 菜单展开项 padding（覆盖 GP 默认） */
	.main-navigation .menu-item > a {
		padding-left: 18px;
		padding-right: 18px;
	}

	/* 标题 */
	.fm-section-heading h2 { font-size: 22px; }

	/* 数字带：阻止断行 */
	.fm-stats .fm-stat-num { white-space: nowrap; }
}

/* 12. 图片占位（避免 CLS） */
.fm-card img,
.fm-card-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

/* ============================================================
   13. 浮动客服按钮 + 二维码 Modal（全站）
   ============================================================ */
.fm-fab {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px 12px 14px;
	border: none;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--fm-primary, #00B6C3) 0%, var(--fm-primary-dark, #008891) 100%);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	box-shadow: 0 10px 28px rgba(0, 136, 145, 0.32);
	cursor: pointer;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.fm-fab:hover,
.fm-fab:focus {
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 14px 32px rgba(0, 136, 145, 0.42);
	outline: none;
}
.fm-fab svg {
	width: 22px;
	height: 22px;
}
.fm-fab-label {
	white-space: nowrap;
}

@media (max-width: 640px) {
	.fm-fab {
		right: 14px;
		bottom: 14px;
		padding: 10px 14px 10px 12px;
		font-size: 13px;
	}
	.fm-fab svg { width: 18px; height: 18px; }
}

.fm-fab-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fm-fab-modal[hidden] { display: none; }

.fm-fab-modal-mask {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
	backdrop-filter: blur(2px);
	cursor: pointer;
}

.fm-fab-modal-card {
	position: relative;
	width: min(540px, 92vw);
	background: #fff;
	border-radius: 16px;
	padding: 28px 32px 24px;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.32);
	animation: fm-fab-in 0.22s ease-out;
}
@keyframes fm-fab-in {
	from { opacity: 0; transform: translateY(12px) scale(0.97); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

.fm-fab-modal-close {
	position: absolute;
	top: 10px;
	right: 14px;
	border: none;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	color: #94a3b8;
	cursor: pointer;
	padding: 4px 10px;
}
.fm-fab-modal-close:hover { color: #1f2937; }

.fm-fab-modal-card h3 {
	margin: 0 0 6px;
	font-size: 20px;
	color: #0f172a;
}
.fm-fab-modal-lead {
	margin: 0 0 18px;
	font-size: 13px;
	color: #64748b;
	line-height: 1.65;
}

.fm-fab-qr-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
}
.fm-fab-qr-item {
	text-align: center;
}
.fm-fab-qr-frame {
	display: inline-block;
	padding: 8px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--fm-primary-soft, #E6F7F8) 0%, #d4f1f4 100%);
	border: 1px solid var(--fm-primary-light, #7DD8DE);
}
.fm-fab-qr-frame img {
	display: block;
	width: 200px;
	height: 200px;
	border-radius: 6px;
	background: #fff;
}
.fm-fab-qr-label {
	margin: 10px 0 0;
	font-size: 13px;
	color: #475569;
	font-weight: 500;
}

@media (max-width: 480px) {
	.fm-fab-modal-card { padding: 22px 18px 18px; }
	.fm-fab-qr-frame img { width: 160px; height: 160px; }
}

body.fm-fab-open { overflow: hidden; }

/* ============================================================
   14. 健管师详情「找我咨询」CTA + 独立 Modal
   ============================================================ */
.fm-hm-detail-cta-top {
	margin: 16px 0 4px;
}
.fm-hm-detail-cta-top .fm-btn {
	font-size: 15px;
	padding: 12px 28px;
}

.fm-hm-consult-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fm-hm-consult-modal[hidden] { display: none; }

.fm-hm-consult-mask {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
	backdrop-filter: blur(2px);
	cursor: pointer;
}
.fm-hm-consult-card {
	position: relative;
	width: min(420px, 92vw);
	background: #fff;
	border-radius: 16px;
	padding: 28px 32px 26px;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.32);
	text-align: center;
	animation: fm-fab-in 0.22s ease-out;
}
.fm-hm-consult-close {
	position: absolute;
	top: 10px;
	right: 14px;
	border: none;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	color: #94a3b8;
	cursor: pointer;
	padding: 4px 10px;
}
.fm-hm-consult-close:hover { color: #1f2937; }
.fm-hm-consult-card h3 {
	margin: 0 0 6px;
	font-size: 20px;
	color: #0f172a;
}
.fm-hm-consult-card > p {
	margin: 0 0 18px;
	font-size: 13px;
	color: #64748b;
	line-height: 1.65;
}
.fm-hm-consult-card img {
	display: inline-block;
	width: 220px;
	height: 220px;
	padding: 8px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--fm-primary-soft, #E6F7F8) 0%, #d4f1f4 100%);
	border: 1px solid var(--fm-primary-light, #7DD8DE);
}
.fm-hm-consult-hint {
	margin: 12px 0 0;
	font-size: 13px;
	color: #475569;
}

/* ============================================================
   15. 成功案例 case_study：列表卡片 + 详情对比块
   ============================================================ */
.fm-case-cover {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: 12px 12px 0 0;
	background: #f1f5f9;
}
.fm-case-cover-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.2em;
}
.fm-case-body {
	padding: 18px 18px 20px;
}
.fm-case-title {
	margin: 0 0 8px;
	font-size: 17px;
	color: #0f172a;
	line-height: 1.45;
}
.fm-case-summary {
	margin: 0 0 12px;
	font-size: 14px;
	color: #475569;
	line-height: 1.65;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fm-case-manager-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--fm-primary-darker, #005F66);
	background: var(--fm-primary-soft, #E6F7F8);
	padding: 4px 10px;
	border-radius: 999px;
	margin-bottom: 12px;
}
.fm-case-manager-tag svg { width: 14px; height: 14px; }

.fm-case-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 24px 0 32px;
}
@media (max-width: 640px) {
	.fm-case-compare { grid-template-columns: 1fr; }
}
.fm-case-compare-col {
	padding: 18px 20px;
	border-radius: 12px;
	border: 1px solid #e5e7eb;
}
.fm-case-compare-before {
	background: #fef2f2;
	border-color: #fecaca;
}
.fm-case-compare-after {
	background: #ecfdf5;
	border-color: #a7f3d0;
}
.fm-case-compare-label {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin-bottom: 8px;
	padding: 2px 10px;
	border-radius: 999px;
}
.fm-case-compare-before .fm-case-compare-label {
	background: #fecaca;
	color: #991b1b;
}
.fm-case-compare-after .fm-case-compare-label {
	background: #a7f3d0;
	color: #065f46;
}
.fm-case-compare-col p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #1f2937;
}

.fm-case-manager-card {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 20px;
	margin-top: 32px;
	border-radius: 14px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
}
.fm-case-manager-photo img,
.fm-case-manager-photo .fm-avatar-placeholder {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	background: #e5e7eb;
	color: #64748b;
}
.fm-case-manager-info { flex: 1; }
.fm-case-manager-info .fm-eyebrow { display: block; margin-bottom: 4px; }
.fm-case-manager-info h3 { margin: 0 0 4px; font-size: 18px; }
.fm-case-manager-title {
	margin: 0 0 10px;
	font-size: 13px;
	color: #64748b;
}
@media (max-width: 480px) {
	.fm-case-manager-card { flex-direction: column; text-align: center; }
}

/* ============================================
   首页 Banner 轮播（替代 .fm-hero）
   ============================================ */
.fm-banner-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #0a0a0a;
}
.fm-banner-track {
	display: flex;
	width: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.fm-banner-track::-webkit-scrollbar { display: none; }

.fm-banner-slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	height: clamp(420px, 52vw, 560px);
	scroll-snap-align: start;
	scroll-snap-stop: always;
	overflow: hidden;
}
.fm-banner-pic {
	position: absolute;
	inset: 0;
	display: block;
}
.fm-banner-pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.fm-banner-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.fm-banner-slide[data-overlay="dark-30"] .fm-banner-overlay { background: rgba(0, 0, 0, 0.30); }
.fm-banner-slide[data-overlay="dark-50"] .fm-banner-overlay { background: rgba(0, 0, 0, 0.50); }

.fm-banner-content {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	z-index: 2;
}
.fm-banner-content .fm-container {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0 24px;
}
.fm-banner-slide[data-text-color="light"] .fm-banner-content { color: #fff; }
.fm-banner-slide[data-text-color="dark"] .fm-banner-content { color: var(--fm-text); }

.fm-banner-eyebrow {
	display: inline-block;
	margin-bottom: 16px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.05em;
	border-radius: var(--fm-radius-pill);
	background: rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(8px);
}
.fm-banner-slide[data-text-color="dark"] .fm-banner-eyebrow {
	background: rgba(0, 0, 0, 0.08);
}

.fm-banner-heading {
	margin: 0 0 20px;
	max-width: 720px;
	font-size: clamp(32px, 4.4vw, 56px);
	line-height: 1.15;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: inherit;
}

.fm-banner-intro {
	margin: 0 0 32px;
	max-width: 600px;
	font-size: clamp(15px, 1.4vw, 18px);
	line-height: 1.7;
	color: inherit;
	opacity: 0.9;
}

.fm-banner-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

/* 浅色文字时 secondary 按钮换白色描边版，避免在深图上不可见 */
.fm-banner-slide[data-text-color="light"] .fm-banner-ctas .fm-btn-secondary {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.7);
}
.fm-banner-slide[data-text-color="light"] .fm-banner-ctas .fm-btn-secondary:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
}

/* 圆点 */
.fm-banner-dots {
	position: absolute;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 3;
}
.fm-banner-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: width 0.3s ease, background 0.3s ease;
}
.fm-banner-dot:hover { background: rgba(255, 255, 255, 0.8); }
.fm-banner-dot.is-active {
	width: 24px;
	background: #fff;
}

/* 箭头 */
.fm-banner-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	padding: 0;
	font-size: 28px;
	line-height: 1;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.35);
	color: #fff;
	cursor: pointer;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
}
.fm-banner-arrow:hover { background: rgba(0, 0, 0, 0.6); }
.fm-banner-arrow-prev { left: 24px; }
.fm-banner-arrow-next { right: 24px; }

@media (max-width: 768px) {
	.fm-banner-slide { height: clamp(360px, 100vw, 480px); }
	.fm-banner-content .fm-container { padding: 0 20px; }
	.fm-banner-heading { margin-bottom: 14px; }
	.fm-banner-intro { margin-bottom: 24px; }
	.fm-banner-ctas {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.fm-banner-ctas .fm-btn,
	.fm-banner-ctas .fm-btn-primary,
	.fm-banner-ctas .fm-btn-secondary {
		width: auto;
		padding: 12px 24px;
	}
	.fm-banner-arrow { display: none; }
	.fm-banner-dots { bottom: 16px; }
}

/* 首页品牌视频区块 */
.fm-section-video { padding-block: 48px; }
.fm-home-video {
	max-width: 960px;
	margin: 0 auto;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 60px -30px rgba(15, 23, 42, 0.35);
	background: #000;
}
.fm-home-video video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: #000;
}
@media (max-width: 768px) {
	.fm-section-video { padding-block: 32px; }
	.fm-home-video { border-radius: 12px; }
}

/* ========================================================
   首页 - 关于我们：FMC 简介（左图拼贴 + 右文）
   ======================================================== */
.fm-about-fmc {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
	margin-block: clamp(40px, 6vw, 72px);
}
.fm-about-fmc-media {
	position: relative;
	aspect-ratio: 1 / 1;
	min-height: 340px;
}
.fm-about-fmc-media[aria-hidden="true"] { display: none; }
.fm-about-fmc-media-main,
.fm-about-fmc-media-sub {
	position: absolute;
	margin: 0;
	border-radius: 50%;
	overflow: hidden;
	background: #e6f4f3;
	box-shadow: 0 20px 60px -25px rgba(15, 23, 42, 0.35);
}
.fm-about-fmc-media-main {
	top: 4%;
	left: 0;
	width: 60%;
	height: 60%;
}
.fm-about-fmc-media-sub-1 {
	top: 8%;
	right: 2%;
	width: 36%;
	height: 36%;
	border: 6px solid #fff;
	box-shadow: 0 16px 36px -18px rgba(15, 23, 42, 0.4);
}
.fm-about-fmc-media-sub-2 {
	bottom: 2%;
	right: 18%;
	width: 42%;
	height: 42%;
	border: 6px solid #fff;
	box-shadow: 0 16px 36px -18px rgba(15, 23, 42, 0.4);
}
.fm-about-fmc-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fm-about-fmc-text { display: flex; flex-direction: column; gap: 18px; }
.fm-about-fmc-eyebrow {
	color: var(--fm-color-muted, #94a3b8);
	font-size: 14px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.fm-about-fmc-title {
	font-size: clamp(28px, 3.4vw, 40px);
	line-height: 1.25;
	margin: 0;
	color: #0f172a;
}
.fm-about-fmc-body {
	color: #475569;
	font-size: 16px;
	line-height: 1.85;
}
.fm-about-fmc-body p { margin: 0 0 14px; }
.fm-about-fmc-body p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
	.fm-about-fmc {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.fm-about-fmc-media {
		max-width: 480px;
		margin-inline: auto;
		min-height: 0;
		aspect-ratio: 1 / 1;
		width: 100%;
	}
	.fm-about-fmc-text { text-align: left; }
}

/* 关于页 - 品牌概览：FMC 简介下方的富文本与四大品牌网格 */
.fm-about-brand-extra {
	max-width: 880px;
	margin: 32px auto 0;
	font-size: 17px;
	line-height: 1.9;
	color: var(--fm-text, #334155);
}
.fm-about-brand-cards {
	margin-top: 40px;
	gap: 16px;
}

/* ========================================================
   首页 - 关于我们：公司风采（多卡片轮播）
   桌面一行 6 张，移动一行 4 张
   ======================================================== */
.fm-about-gallery {
	--gallery-per-view: 4;
	--gallery-gap: 16px;
	position: relative;
	margin-top: clamp(40px, 6vw, 72px);
	padding-inline: clamp(0px, 2vw, 24px);
}
.fm-about-gallery-viewport { overflow: hidden; }
.fm-about-gallery-track {
	display: flex;
	gap: var(--gallery-gap);
	transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: transform;
}
/* 图片数 ≤ perView 时进入静态展示：居中排列、隐藏导航、整个 gallery 拉宽让单图更大 */
.fm-about-gallery.is-static .fm-about-gallery-track {
	justify-content: center;
	transform: none !important;
}
.fm-about-gallery.is-static .fm-about-gallery-nav,
.fm-about-gallery.is-static .fm-about-gallery-dots { display: none; }
.fm-about-gallery.is-static .fm-about-gallery-slide {
	border-radius: 14px;
	aspect-ratio: 3 / 2;  /* 静态模式下用 3:2 更宽扁，强化横版照片感 */
}
.fm-about-gallery.is-static .fm-about-gallery-slide img {
	transition: transform 0.4s ease;
}
.fm-about-gallery.is-static .fm-about-gallery-slide:hover img {
	transform: scale(1.06);
}
/* 桌面端突破 .fm-container 1200 限制，让 5 张图占更宽空间，每张更大 */
@media (min-width: 1280px) {
	.fm-about-gallery.is-static {
		width: calc(100% + 240px);
		max-width: calc(100vw - 48px);
		margin-inline: auto;
		margin-left: 50%;
		transform: translateX(-50%);
	}
}
.fm-about-gallery-slide {
	flex: 0 0 calc((100% - (var(--gallery-per-view) - 1) * var(--gallery-gap)) / var(--gallery-per-view));
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 12px;
	overflow: hidden;
	background: #e6f4f3;
	box-shadow: 0 10px 28px -16px rgba(15, 23, 42, 0.3);
}
.fm-about-gallery-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.fm-about-gallery-slide:hover img { transform: scale(1.04); }

.fm-about-gallery-nav {
	position: absolute;
	top: calc(50% - 14px);
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	color: #0f172a;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 24px -8px rgba(15, 23, 42, 0.25);
	transition: transform 0.2s, box-shadow 0.2s;
	z-index: 2;
}
.fm-about-gallery-nav:hover { transform: translateY(-50%) scale(1.08); }
.fm-about-gallery-nav:focus-visible { outline: 2px solid var(--fm-color-primary, #0f8a83); outline-offset: 2px; }
.fm-about-gallery-nav svg { width: 16px; height: 16px; }
.fm-about-gallery-prev { left: -8px; }
.fm-about-gallery-next { right: -8px; }
.fm-about-gallery-nav[disabled],
.fm-about-gallery-nav[hidden] { display: none; }

.fm-about-gallery-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
}
.fm-about-gallery-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(15, 23, 42, 0.2);
	cursor: pointer;
	transition: width 0.25s, background 0.25s;
}
.fm-about-gallery-dot.is-active {
	width: 22px;
	border-radius: 999px;
	background: var(--fm-color-primary, #0f8a83);
}
.fm-about-gallery-dot:focus-visible { outline: 2px solid var(--fm-color-primary, #0f8a83); outline-offset: 2px; }

@media (max-width: 1024px) {
	.fm-about-gallery { --gallery-per-view: 4; }
}
@media (max-width: 640px) {
	.fm-about-gallery {
		--gallery-per-view: 4;
		--gallery-gap: 10px;
		padding-inline: 0;
	}
	.fm-about-gallery-slide { border-radius: 10px; }
	.fm-about-gallery-nav { width: 34px; height: 34px; }
	.fm-about-gallery-prev { left: 0; }
	.fm-about-gallery-next { right: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.fm-about-gallery-track { transition: none; }
}
