@charset "UTF-8";
/**
 * 前台样式表。
 *
 * 文件用途：为短代码与前台模板输出的全部结构提供样式（含响应式、可访问性与打印）。
 *
 * 覆盖范围（与 public/templates/ 下的 6 个模板一一对应）：
 *   1. 基础：设计变量、区块标题、空状态；
 *   2. 布局：grid / list / masonry 三种布局与 1-6 列；
 *   3. 卡片：服务、案例、洞察、资源、业务线分类；
 *   4. 详情：服务详情页的分块结构；
 *   5. 表单：咨询表单（含紧凑模式）、风险自测、评价提交；
 *   6. 团队：筛选条与顾问卡片；
 *   7. 评价：统计条、列表与星级；
 *   8. 资质：两栏对照表；
 *   9. 悬浮入口：在线咨询按钮；
 *  10. 交互状态：加载中、字段错误、提交结果；
 *  11. 补充：卡片变体、评价字段、动态修饰类的前缀兜底。
 *
 * 约定：所有类名以 zsy-la- 前缀命名，采用 BEM 风格，避免与主题样式冲突。
 *
 * @package ZSY_LA
 */

/* ================================================================== *
 * 1. 设计变量
 * ================================================================== */
:root {
	--zsy-la-primary: #1e3a5f;
	--zsy-la-primary-strong: #16293f;
	--zsy-la-primary-soft: #eef3f9;
	--zsy-la-accent: #b8894a;
	--zsy-la-accent-soft: #fbf5ea;
	--zsy-la-ink: #1a1f26;
	--zsy-la-text: #333c47;
	--zsy-la-muted: #66707c;
	--zsy-la-line: #e3e7ec;
	--zsy-la-bg: #f7f8fa;
	--zsy-la-surface: #ffffff;
	--zsy-la-danger: #c0392b;
	--zsy-la-danger-soft: #fdf1ef;
	--zsy-la-success: #1f7a4d;
	--zsy-la-success-soft: #eef8f2;
	--zsy-la-radius-sm: 4px;
	--zsy-la-radius: 8px;
	--zsy-la-radius-lg: 14px;
	--zsy-la-shadow-sm: 0 1px 2px rgba(26, 31, 38, 0.06);
	--zsy-la-shadow: 0 4px 16px rgba(26, 31, 38, 0.08);
	--zsy-la-shadow-lg: 0 12px 32px rgba(26, 31, 38, 0.12);
	--zsy-la-gap: 20px;
	--zsy-la-gap-sm: 12px;
	--zsy-la-gap-lg: 32px;
	--zsy-la-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
		"Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
	--zsy-la-line-height: 1.7;
	--zsy-la-transition: 160ms ease;
}

/* ================================================================== *
 * 2. 基础区块
 * ================================================================== */
.zsy-la-section {
	box-sizing: border-box;
	margin: 0 0 var(--zsy-la-gap-lg);
	padding: 0;
	color: var(--zsy-la-text);
	font-family: var(--zsy-la-font);
	font-size: 16px;
	line-height: var(--zsy-la-line-height);
	-webkit-text-size-adjust: 100%;
}

.zsy-la-section *,
.zsy-la-section *::before,
.zsy-la-section *::after,
.zsy-la-floating,
.zsy-la-floating * {
	box-sizing: border-box;
}

.zsy-la-section__title {
	margin: 0 0 var(--zsy-la-gap-sm);
	padding: 0;
	color: var(--zsy-la-ink);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.01em;
}

.zsy-la-section__lead {
	margin: 0 0 var(--zsy-la-gap);
	color: var(--zsy-la-muted);
	font-size: 15px;
}

.zsy-la-empty {
	margin: 0;
	padding: 28px 20px;
	border: 1px dashed var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-bg);
	color: var(--zsy-la-muted);
	font-size: 15px;
	text-align: center;
}

.zsy-la-entity-note {
	margin: var(--zsy-la-gap-sm) 0 0;
	color: var(--zsy-la-muted);
	font-size: 12px;
	line-height: 1.6;
	text-align: center;
}

/* 隐藏蜜罐字段：既不可见也不可聚焦，但仍会随表单提交。 */
.zsy-la-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ================================================================== *
 * 3. 布局：grid / list / masonry
 * ================================================================== */
.zsy-la-list,
.zsy-la-team__grid,
.zsy-la-quiz,
.zsy-la-grid,
.zsy-la-masonry {
	margin: 0;
	padding: 0;
}

.zsy-la-grid {
	display: grid;
	gap: var(--zsy-la-gap);
	align-items: start;
}

.zsy-la-grid--1 {
	grid-template-columns: minmax(0, 1fr);
}

.zsy-la-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zsy-la-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zsy-la-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zsy-la-grid--5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.zsy-la-grid--6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* 列表布局：单列纵向排列，卡片内部改为横向信息条。 */
.zsy-la-list--list {
	display: block;
}

.zsy-la-list--list > .zsy-la-card,
.zsy-la-list--list > .zsy-la-cat-card {
	margin-bottom: var(--zsy-la-gap-sm);
}

.zsy-la-list--list > .zsy-la-card:last-child,
.zsy-la-list--list > .zsy-la-cat-card:last-child {
	margin-bottom: 0;
}

/* 瀑布流布局：用多列实现，卡片禁止跨列断开。 */
.zsy-la-masonry {
	column-gap: var(--zsy-la-gap);
}

.zsy-la-masonry--1 {
	column-count: 1;
}

.zsy-la-masonry--2 {
	column-count: 2;
}

.zsy-la-masonry--3 {
	column-count: 3;
}

.zsy-la-masonry--4 {
	column-count: 4;
}

.zsy-la-masonry--5 {
	column-count: 5;
}

.zsy-la-masonry--6 {
	column-count: 6;
}

.zsy-la-masonry > .zsy-la-card,
.zsy-la-masonry > .zsy-la-cat-card {
	display: inline-block;
	width: 100%;
	margin: 0 0 var(--zsy-la-gap);
	break-inside: avoid;
	page-break-inside: avoid;
}

/* ================================================================== *
 * 4. 卡片
 * ================================================================== */
.zsy-la-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 22px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-surface);
	box-shadow: var(--zsy-la-shadow-sm);
	transition: box-shadow var(--zsy-la-transition), border-color var(--zsy-la-transition),
		transform var(--zsy-la-transition);
}

.zsy-la-card:hover,
.zsy-la-card:focus-within {
	border-color: #cfd6df;
	box-shadow: var(--zsy-la-shadow);
}

.zsy-la-card--featured {
	border-color: var(--zsy-la-accent);
	background: linear-gradient(180deg, var(--zsy-la-accent-soft) 0%, var(--zsy-la-surface) 42%);
}

.zsy-la-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px;
}

.zsy-la-card__title {
	margin: 0 0 8px;
	color: var(--zsy-la-ink);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;
}

.zsy-la-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color var(--zsy-la-transition);
}

.zsy-la-card__title a:hover,
.zsy-la-card__title a:focus {
	color: var(--zsy-la-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.zsy-la-card__excerpt,
.zsy-la-card__summary {
	margin: 0 0 12px;
	color: var(--zsy-la-muted);
	font-size: 14px;
	line-height: 1.7;
}

.zsy-la-card__deliverables {
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.zsy-la-card__deliverable {
	position: relative;
	margin: 0 0 4px;
	padding-left: 16px;
	color: var(--zsy-la-text);
	font-size: 13.5px;
	line-height: 1.6;
}

.zsy-la-card__deliverable::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 2px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--zsy-la-accent);
}

.zsy-la-card__price {
	margin: 0 0 14px;
	padding: 8px 12px;
	border-radius: var(--zsy-la-radius-sm);
	background: var(--zsy-la-primary-soft);
	color: var(--zsy-la-primary-strong);
	font-size: 13.5px;
	font-weight: 500;
}

.zsy-la-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: auto 0 0;
	padding-top: 10px;
	border-top: 1px solid var(--zsy-la-line);
	color: var(--zsy-la-muted);
	font-size: 12.5px;
	line-height: 1.6;
}

.zsy-la-card__date,
.zsy-la-card__version,
.zsy-la-card__author {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.zsy-la-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: auto 0 0;
	padding-top: 14px;
}

.zsy-la-card__link {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 10px;
	color: var(--zsy-la-primary);
	font-size: 13.5px;
	font-weight: 500;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color var(--zsy-la-transition), color var(--zsy-la-transition);
}

.zsy-la-card__link::after {
	content: "\2192";
	margin-left: 4px;
}

.zsy-la-card__link:hover,
.zsy-la-card__link:focus {
	border-bottom-color: currentColor;
}

/* 4.1 业务线分类卡片 */
.zsy-la-cat-card {
	position: relative;
	margin: 0;
	padding: 24px 22px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-surface);
	box-shadow: var(--zsy-la-shadow-sm);
	transition: box-shadow var(--zsy-la-transition), border-color var(--zsy-la-transition),
		transform var(--zsy-la-transition);
}

.zsy-la-cat-card:hover,
.zsy-la-cat-card:focus-within {
	border-color: var(--zsy-la-primary);
	box-shadow: var(--zsy-la-shadow);
	transform: translateY(-2px);
}

.zsy-la-cat-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 0 12px;
	border-radius: var(--zsy-la-radius-sm);
	background: var(--zsy-la-primary-soft);
	color: var(--zsy-la-primary);
	font-size: 20px;
	line-height: 1;
}

.zsy-la-cat-card__title {
	margin: 0 0 8px;
	color: var(--zsy-la-ink);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
}

.zsy-la-cat-card__title a {
	color: inherit;
	text-decoration: none;
}

.zsy-la-cat-card__title a:hover,
.zsy-la-cat-card__title a:focus {
	color: var(--zsy-la-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.zsy-la-cat-card__desc {
	margin: 0 0 12px;
	color: var(--zsy-la-muted);
	font-size: 13.5px;
	line-height: 1.7;
}

.zsy-la-cat-card__count {
	margin: 0 0 10px;
	color: var(--zsy-la-accent);
	font-size: 13px;
	font-weight: 600;
}

.zsy-la-cat-card__types-label {
	margin: 0 0 6px;
	color: var(--zsy-la-muted);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.zsy-la-cat-card__types {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ================================================================== *
 * 5. 徽标与标签
 * ================================================================== */
.zsy-la-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 2px 8px;
	border: 1px solid var(--zsy-la-line);
	border-radius: 999px;
	background: var(--zsy-la-bg);
	color: var(--zsy-la-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.8;
	white-space: nowrap;
}

.zsy-la-badge--featured {
	border-color: var(--zsy-la-accent);
	background: var(--zsy-la-accent-soft);
	color: #8a6229;
}

.zsy-la-chip {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 3px 10px;
	border: 1px solid var(--zsy-la-line);
	border-radius: 999px;
	background: var(--zsy-la-surface);
	color: var(--zsy-la-text);
	font-size: 12.5px;
	line-height: 1.7;
	text-decoration: none;
	transition: border-color var(--zsy-la-transition), background var(--zsy-la-transition),
		color var(--zsy-la-transition);
}

.zsy-la-chip:hover,
.zsy-la-chip:focus {
	border-color: var(--zsy-la-primary);
	color: var(--zsy-la-primary);
	text-decoration: none;
}

.zsy-la-chip--active,
.zsy-la-chip[aria-current="page"] {
	border-color: var(--zsy-la-primary);
	background: var(--zsy-la-primary);
	color: #fff;
}

.zsy-la-chip--active:hover,
.zsy-la-chip--active:focus {
	color: #fff;
}

/* ================================================================== *
 * 6. 按钮
 * ================================================================== */
.zsy-la-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 42px;
	margin: 0;
	padding: 9px 20px;
	border: 1px solid transparent;
	border-radius: var(--zsy-la-radius-sm);
	background: var(--zsy-la-primary);
	color: #fff;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background var(--zsy-la-transition), border-color var(--zsy-la-transition),
		color var(--zsy-la-transition), box-shadow var(--zsy-la-transition);
	-webkit-appearance: none;
	appearance: none;
}

.zsy-la-btn:hover,
.zsy-la-btn:focus {
	background: var(--zsy-la-primary-strong);
	color: #fff;
	text-decoration: none;
	box-shadow: var(--zsy-la-shadow-sm);
}

.zsy-la-btn--primary {
	background: var(--zsy-la-primary);
	border-color: var(--zsy-la-primary);
	color: #fff;
}

.zsy-la-btn--ghost {
	border-color: var(--zsy-la-primary);
	background: transparent;
	color: var(--zsy-la-primary);
}

.zsy-la-btn--ghost:hover,
.zsy-la-btn--ghost:focus {
	border-color: var(--zsy-la-primary-strong);
	background: var(--zsy-la-primary-soft);
	color: var(--zsy-la-primary-strong);
}

.zsy-la-btn[disabled],
.zsy-la-btn[aria-disabled="true"],
.zsy-la-btn.is-loading {
	opacity: 0.62;
	cursor: not-allowed;
	box-shadow: none;
}

.zsy-la-btn.is-loading::after {
	content: "";
	width: 12px;
	height: 12px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: zsy-la-spin 0.7s linear infinite;
}

@keyframes zsy-la-spin {
	to {
		transform: rotate(360deg);
	}
}

/* 加载更多 */
.zsy-la-more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: var(--zsy-la-gap) 0 0;
}

.zsy-la-more__status {
	min-height: 1em;
	color: var(--zsy-la-muted);
	font-size: 13px;
}

.zsy-la-more__status.is-error {
	color: var(--zsy-la-danger);
}

/* ================================================================== *
 * 7. 服务详情
 * ================================================================== */
.zsy-la-detail {
	margin: 0;
	padding: 0;
	color: var(--zsy-la-text);
	font-family: var(--zsy-la-font);
	font-size: 16px;
	line-height: var(--zsy-la-line-height);
}

.zsy-la-detail__header {
	margin: 0 0 var(--zsy-la-gap);
	padding: 0 0 var(--zsy-la-gap-sm);
	border-bottom: 1px solid var(--zsy-la-line);
}

.zsy-la-detail__title {
	margin: 0 0 10px;
	color: var(--zsy-la-ink);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.35;
}

.zsy-la-detail__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 12px;
}

.zsy-la-detail__excerpt {
	margin: 0;
	color: var(--zsy-la-muted);
	font-size: 15.5px;
}

.zsy-la-detail__block {
	margin: 0 0 var(--zsy-la-gap);
	padding: 18px 20px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-surface);
}

.zsy-la-detail__block--deliverables {
	border-left: 3px solid var(--zsy-la-primary);
}

.zsy-la-detail__block--price {
	border-left: 3px solid var(--zsy-la-accent);
	background: var(--zsy-la-accent-soft);
}

.zsy-la-detail__block--related {
	background: var(--zsy-la-bg);
}

.zsy-la-detail__block-title {
	margin: 0 0 10px;
	color: var(--zsy-la-ink);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
}

.zsy-la-detail__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.zsy-la-detail__list-item {
	position: relative;
	margin: 0 0 6px;
	padding-left: 20px;
	font-size: 14.5px;
	line-height: 1.75;
}

.zsy-la-detail__list-item:last-child {
	margin-bottom: 0;
}

.zsy-la-detail__list-item::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 2px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--zsy-la-primary);
}

.zsy-la-detail__price {
	margin: 0;
	color: var(--zsy-la-primary-strong);
	font-size: 14.5px;
	font-weight: 500;
}

.zsy-la-detail__content {
	margin: 0 0 var(--zsy-la-gap);
	font-size: 15.5px;
	line-height: 1.85;
}

.zsy-la-detail__content > *:first-child {
	margin-top: 0;
}

.zsy-la-detail__content > *:last-child {
	margin-bottom: 0;
}

.zsy-la-detail__content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--zsy-la-radius-sm);
}

.zsy-la-detail__related {
	margin: 0;
	padding: 0;
	list-style: none;
}

.zsy-la-detail__related-item {
	margin: 0 0 6px;
	font-size: 14.5px;
	line-height: 1.7;
}

.zsy-la-detail__related-item:last-child {
	margin-bottom: 0;
}

.zsy-la-detail__related-item a {
	color: var(--zsy-la-primary);
	text-decoration: none;
	border-bottom: 1px solid var(--zsy-la-line);
	transition: border-color var(--zsy-la-transition);
}

.zsy-la-detail__related-item a:hover,
.zsy-la-detail__related-item a:focus {
	border-bottom-color: currentColor;
}

/* ================================================================== *
 * 8. 表单（咨询 / 自测 / 评价共用）
 * ================================================================== */
.zsy-la-consult,
.zsy-la-assessment {
	margin: 0;
	padding: 0;
	color: var(--zsy-la-text);
	font-family: var(--zsy-la-font);
	font-size: 16px;
	line-height: var(--zsy-la-line-height);
}

.zsy-la-form {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius-lg);
	background: var(--zsy-la-surface);
	box-shadow: var(--zsy-la-shadow-sm);
}

.zsy-la-form--compact {
	padding: 18px;
	border-radius: var(--zsy-la-radius);
	box-shadow: none;
}

.zsy-la-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--zsy-la-gap-sm) var(--zsy-la-gap);
	margin: 0 0 var(--zsy-la-gap-sm);
}

.zsy-la-form__grid--contact {
	margin-bottom: var(--zsy-la-gap);
}

.zsy-la-form__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: var(--zsy-la-gap-sm) 0 0;
}

.zsy-la-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	min-width: 0;
}

.zsy-la-field--full,
.zsy-la-field--message,
.zsy-la-field--upload,
.zsy-la-field--privacy {
	grid-column: 1 / -1;
}

.zsy-la-field__label {
	display: flex;
	align-items: baseline;
	gap: 4px;
	color: var(--zsy-la-ink);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.6;
}

.zsy-la-field__req {
	color: var(--zsy-la-danger);
	font-size: 12px;
}

.zsy-la-field__opt {
	color: var(--zsy-la-muted);
	font-size: 12px;
	font-weight: 400;
}

.zsy-la-field__control {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 9px 12px;
	border: 1px solid #ccd3db;
	border-radius: var(--zsy-la-radius-sm);
	background: var(--zsy-la-surface);
	color: var(--zsy-la-ink);
	font-family: inherit;
	font-size: 14.5px;
	line-height: 1.5;
	transition: border-color var(--zsy-la-transition), box-shadow var(--zsy-la-transition);
	-webkit-appearance: none;
	appearance: none;
}

textarea.zsy-la-field__control {
	min-height: 120px;
	resize: vertical;
}

select.zsy-la-field__control {
	padding-right: 32px;
	background-image: linear-gradient(45deg, transparent 50%, var(--zsy-la-muted) 50%),
		linear-gradient(135deg, var(--zsy-la-muted) 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}

.zsy-la-field__control:focus {
	outline: none;
	border-color: var(--zsy-la-primary);
	box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.12);
}

.zsy-la-field__control::placeholder {
	color: #9aa3ad;
}

.zsy-la-field__control--file {
	padding: 7px 10px;
	background: var(--zsy-la-bg);
	font-size: 13.5px;
	cursor: pointer;
}

.zsy-la-field__checkbox {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	color: var(--zsy-la-text);
	font-size: 13.5px;
	line-height: 1.65;
	cursor: pointer;
}

.zsy-la-field__checkbox input[type="checkbox"] {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 3px 0 0;
	accent-color: var(--zsy-la-primary);
	cursor: pointer;
}

.zsy-la-field__checkbox-text {
	flex: 1 1 auto;
}

/* 字段错误态：由前端脚本在提交失败时添加。 */
.zsy-la-field--error .zsy-la-field__control,
.zsy-la-field__control.is-invalid {
	border-color: var(--zsy-la-danger);
	background: var(--zsy-la-danger-soft);
}

.zsy-la-field--error .zsy-la-field__label {
	color: var(--zsy-la-danger);
}

/* 提交状态提示 */
.zsy-la-form__status {
	display: block;
	min-height: 1em;
	margin: 10px 0 0;
	font-size: 13.5px;
	line-height: 1.6;
}

.zsy-la-form__status.is-success {
	padding: 10px 12px;
	border-radius: var(--zsy-la-radius-sm);
	background: var(--zsy-la-success-soft);
	color: var(--zsy-la-success);
}

.zsy-la-form__status.is-error {
	padding: 10px 12px;
	border-radius: var(--zsy-la-radius-sm);
	background: var(--zsy-la-danger-soft);
	color: var(--zsy-la-danger);
}

/* 表单附注 */
.zsy-la-consult__privacy,
.zsy-la-quiz__privacy,
.zsy-la-consult__hours,
.zsy-la-review-form__note {
	margin: 12px 0 0;
	color: var(--zsy-la-muted);
	font-size: 12.5px;
	line-height: 1.7;
}

.zsy-la-consult__hotline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	margin: var(--zsy-la-gap) 0 0;
	padding: 14px 18px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-primary-soft);
}

.zsy-la-consult__hotline-label {
	color: var(--zsy-la-muted);
	font-size: 13px;
}

.zsy-la-consult__hotline-number {
	color: var(--zsy-la-primary-strong);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
}

.zsy-la-consult__hotline-number:hover,
.zsy-la-consult__hotline-number:focus {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ================================================================== *
 * 9. 风险自测
 * ================================================================== */
.zsy-la-quiz {
	display: block;
	margin: 0 0 var(--zsy-la-gap);
	padding: 0;
	border: 0;
}

/*
 * 问卷区块的根节点同时带有 zsy-la-grid--2 / zsy-la-masonry--2，
 * 若直接生效会把标题、表单、附注排成两列，因此在此中和掉，
 * 改由表单内部承载两列布局。
 */
.zsy-la-quiz.zsy-la-grid,
.zsy-la-quiz.zsy-la-masonry {
	display: block;
	grid-template-columns: none;
	column-count: auto;
}

.zsy-la-quiz--grid .zsy-la-form--assessment,
.zsy-la-quiz--masonry .zsy-la-form--assessment {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--zsy-la-gap);
	align-items: start;
}

.zsy-la-quiz--grid .zsy-la-form--assessment > .zsy-la-form__grid,
.zsy-la-quiz--grid .zsy-la-form--assessment > .zsy-la-form__actions,
.zsy-la-quiz--grid .zsy-la-form--assessment > .zsy-la-quiz__result,
.zsy-la-quiz--masonry .zsy-la-form--assessment > .zsy-la-form__grid,
.zsy-la-quiz--masonry .zsy-la-form--assessment > .zsy-la-form__actions,
.zsy-la-quiz--masonry .zsy-la-form--assessment > .zsy-la-quiz__result {
	grid-column: 1 / -1;
}

@media screen and (max-width: 782px) {
	.zsy-la-quiz--grid .zsy-la-form--assessment,
	.zsy-la-quiz--masonry .zsy-la-form--assessment {
		grid-template-columns: minmax(0, 1fr);
	}
}

.zsy-la-quiz__group {
	margin: 0 0 var(--zsy-la-gap-sm);
	padding: 18px 20px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-surface);
}

.zsy-la-quiz__legend {
	padding: 0 6px;
	color: var(--zsy-la-ink);
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.5;
}

.zsy-la-quiz__items {
	margin: 0;
	padding: 0 0 0 20px;
	list-style: decimal;
}

.zsy-la-quiz__item {
	margin: 0 0 12px;
	padding: 0;
}

.zsy-la-quiz__item:last-child {
	margin-bottom: 0;
}

.zsy-la-quiz__question {
	margin: 0 0 8px;
	color: var(--zsy-la-text);
	font-size: 14.5px;
	line-height: 1.7;
}

.zsy-la-quiz__options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.zsy-la-quiz__option {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 6px 14px;
	border: 1px solid #ccd3db;
	border-radius: 999px;
	background: var(--zsy-la-surface);
	color: var(--zsy-la-text);
	font-size: 13.5px;
	line-height: 1.6;
	cursor: pointer;
	transition: border-color var(--zsy-la-transition), background var(--zsy-la-transition),
		color var(--zsy-la-transition);
}

.zsy-la-quiz__option:hover {
	border-color: var(--zsy-la-primary);
}

.zsy-la-quiz__option input[type="radio"] {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	margin: 0;
	accent-color: var(--zsy-la-primary);
	cursor: pointer;
}

/* 选中态：用 :has 做渐进增强，不支持时仅依赖原生单选样式。 */
.zsy-la-quiz__option:has(input:checked) {
	border-color: var(--zsy-la-primary);
	background: var(--zsy-la-primary-soft);
	color: var(--zsy-la-primary-strong);
	font-weight: 500;
}

.zsy-la-quiz__option:focus-within {
	outline: 2px solid var(--zsy-la-primary);
	outline-offset: 2px;
}

.zsy-la-quiz__disclaimer {
	margin: var(--zsy-la-gap-sm) 0 0;
	padding: 10px 12px;
	border-radius: var(--zsy-la-radius-sm);
	background: var(--zsy-la-bg);
	color: var(--zsy-la-muted);
	font-size: 12.5px;
	line-height: 1.7;
}

/* 自测结果面板（由前端脚本在提交成功后填充） */
.zsy-la-quiz__result {
	margin: var(--zsy-la-gap) 0 0;
	padding: 0;
	color: var(--zsy-la-text);
	font-size: 14.5px;
	line-height: var(--zsy-la-line-height);
}

.zsy-la-quiz__result:empty {
	display: none;
}

.zsy-la-result {
	margin: 0;
	padding: 22px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-surface);
	box-shadow: var(--zsy-la-shadow-sm);
}

.zsy-la-result__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 14px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--zsy-la-line);
}

.zsy-la-result__level {
	color: var(--zsy-la-ink);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.4;
}

.zsy-la-result__score {
	color: var(--zsy-la-muted);
	font-size: 13.5px;
}

.zsy-la-result__dims {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.zsy-la-result__dim {
	margin: 0 0 12px;
	padding: 0;
}

.zsy-la-result__dim:last-child {
	margin-bottom: 0;
}

.zsy-la-result__dim-name {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 5px;
	color: var(--zsy-la-text);
	font-size: 13.5px;
	font-weight: 500;
}

.zsy-la-result__bar {
	position: relative;
	height: 8px;
	margin: 0;
	overflow: hidden;
	border-radius: 999px;
	background: var(--zsy-la-line);
}

.zsy-la-result__bar-fill {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--zsy-la-primary) 0%, var(--zsy-la-accent) 100%);
	transition: width 320ms ease;
}

.zsy-la-result__advice {
	margin: 6px 0 0;
	color: var(--zsy-la-muted);
	font-size: 13px;
	line-height: 1.7;
}

.zsy-la-result__suggestions {
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.zsy-la-result__suggestion {
	position: relative;
	margin: 0 0 8px;
	padding: 10px 14px 10px 30px;
	border-radius: var(--zsy-la-radius-sm);
	background: var(--zsy-la-primary-soft);
	color: var(--zsy-la-text);
	font-size: 13.5px;
	line-height: 1.75;
}

.zsy-la-result__suggestion::before {
	content: "";
	position: absolute;
	top: 16px;
	left: 13px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--zsy-la-primary);
}

.zsy-la-result__note,
.zsy-la-result__batch {
	margin: 8px 0 0;
	color: var(--zsy-la-muted);
	font-size: 12px;
	line-height: 1.7;
}

/* ================================================================== *
 * 10. 客户评价
 * ================================================================== */
.zsy-la-reviews {
	margin: 0;
	padding: 0;
	color: var(--zsy-la-text);
	font-family: var(--zsy-la-font);
	font-size: 16px;
	line-height: var(--zsy-la-line-height);
}

.zsy-la-reviews__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: var(--zsy-la-gap-sm);
	margin: 0 0 var(--zsy-la-gap);
	padding: 18px 20px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-primary-soft);
}

.zsy-la-stat {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	text-align: center;
}

.zsy-la-stat__value {
	color: var(--zsy-la-primary-strong);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
}

.zsy-la-stat__label {
	color: var(--zsy-la-muted);
	font-size: 12.5px;
	line-height: 1.6;
}

.zsy-la-reviews__list {
	display: grid;
	gap: var(--zsy-la-gap-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.zsy-la-reviews--grid .zsy-la-reviews__list,
.zsy-la-reviews--masonry .zsy-la-reviews__list {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.zsy-la-review {
	margin: 0;
	padding: 18px 20px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-surface);
	box-shadow: var(--zsy-la-shadow-sm);
}

.zsy-la-review__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 8px;
}

.zsy-la-review__stars {
	color: var(--zsy-la-accent);
	font-size: 15px;
	letter-spacing: 0.08em;
	line-height: 1.4;
	white-space: nowrap;
}

.zsy-la-review__title {
	color: var(--zsy-la-ink);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
}

.zsy-la-review__content {
	margin: 0 0 10px;
	color: var(--zsy-la-text);
	font-size: 14px;
	line-height: 1.8;
	word-break: break-word;
}

.zsy-la-review__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px;
}

.zsy-la-review__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding-top: 10px;
	border-top: 1px solid var(--zsy-la-line);
	color: var(--zsy-la-muted);
	font-size: 12.5px;
	line-height: 1.6;
}

.zsy-la-review__company::before {
	content: "\00B7";
	margin-right: 6px;
}

.zsy-la-review-form {
	margin: var(--zsy-la-gap) 0 0;
	padding: 24px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius-lg);
	background: var(--zsy-la-bg);
}

.zsy-la-review-form__title {
	margin: 0 0 var(--zsy-la-gap-sm);
	color: var(--zsy-la-ink);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.5;
}

.zsy-la-review-form .zsy-la-form {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

/* ================================================================== *
 * 11. 团队
 * ================================================================== */
.zsy-la-team {
	margin: 0;
	padding: 0;
	color: var(--zsy-la-text);
	font-family: var(--zsy-la-font);
	font-size: 16px;
	line-height: var(--zsy-la-line-height);
}

/* section 上的布局类不直接生效，交由内部 __grid 承载。 */
.zsy-la-team.zsy-la-grid,
.zsy-la-team.zsy-la-masonry {
	display: block;
	column-count: auto;
}

.zsy-la-team__filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 var(--zsy-la-gap);
	padding: 14px 16px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-bg);
}

.zsy-la-team__filter-label {
	flex: 0 0 auto;
	color: var(--zsy-la-muted);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.zsy-la-team__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.zsy-la-team__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: var(--zsy-la-gap);
	margin: 0;
	padding: 0;
}

.zsy-la-team.zsy-la-grid--1 .zsy-la-team__grid {
	grid-template-columns: minmax(0, 1fr);
}

.zsy-la-team.zsy-la-grid--2 .zsy-la-team__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zsy-la-team.zsy-la-grid--3 .zsy-la-team__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zsy-la-team.zsy-la-grid--4 .zsy-la-team__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zsy-la-team.zsy-la-grid--5 .zsy-la-team__grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.zsy-la-team.zsy-la-grid--6 .zsy-la-team__grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.zsy-la-advisor {
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-surface);
	box-shadow: var(--zsy-la-shadow-sm);
	transition: box-shadow var(--zsy-la-transition), border-color var(--zsy-la-transition);
}

.zsy-la-advisor:hover,
.zsy-la-advisor:focus-within {
	border-color: #cfd6df;
	box-shadow: var(--zsy-la-shadow);
}

.zsy-la-advisor__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--zsy-la-primary-soft);
}

.zsy-la-advisor__media--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--zsy-la-primary);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.zsy-la-advisor__media--placeholder::after {
	content: "";
	width: 48px;
	height: 48px;
	border: 2px solid currentColor;
	border-radius: 50%;
	opacity: 0.35;
}

.zsy-la-advisor__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.zsy-la-advisor__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 8px;
	padding: 18px 20px 20px;
}

.zsy-la-advisor__name {
	margin: 0;
	color: var(--zsy-la-ink);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
}

.zsy-la-advisor__name a {
	color: inherit;
	text-decoration: none;
}

.zsy-la-advisor__name a:hover,
.zsy-la-advisor__name a:focus {
	color: var(--zsy-la-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.zsy-la-advisor__position,
.zsy-la-advisor__qualification,
.zsy-la-advisor__practice {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	margin: 0;
	font-size: 13px;
	line-height: 1.65;
}

.zsy-la-advisor__label {
	flex: 0 0 auto;
	color: var(--zsy-la-muted);
	font-size: 12px;
	letter-spacing: 0.04em;
}

.zsy-la-advisor__value {
	color: var(--zsy-la-text);
}

.zsy-la-advisor__excerpt {
	margin: 0;
	color: var(--zsy-la-muted);
	font-size: 13.5px;
	line-height: 1.75;
}

.zsy-la-advisor__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: auto 0 0;
	padding-top: 10px;
}

/* ================================================================== *
 * 12. 资质说明（两栏对照）
 * ================================================================== */
.zsy-la-qualification {
	margin: 0;
	padding: 0;
	color: var(--zsy-la-text);
	font-family: var(--zsy-la-font);
	font-size: 16px;
	line-height: var(--zsy-la-line-height);
}

.zsy-la-qualification__lead {
	margin: 0 0 var(--zsy-la-gap);
	color: var(--zsy-la-muted);
	font-size: 15px;
	line-height: 1.75;
}

.zsy-la-qualification__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--zsy-la-gap);
	margin: 0;
}

.zsy-la-qualification__col {
	margin: 0;
	padding: 22px;
	border: 1px solid var(--zsy-la-line);
	border-radius: var(--zsy-la-radius);
	background: var(--zsy-la-surface);
	box-shadow: var(--zsy-la-shadow-sm);
}

.zsy-la-qualification__col--platform {
	border-top: 3px solid var(--zsy-la-primary);
}

.zsy-la-qualification__col--partner {
	border-top: 3px solid var(--zsy-la-accent);
}

.zsy-la-qualification__col-title {
	margin: 0 0 12px;
	color: var(--zsy-la-ink);
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.5;
}

.zsy-la-qualification__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.zsy-la-qualification__item {
	position: relative;
	margin: 0 0 8px;
	padding-left: 20px;
	font-size: 14px;
	line-height: 1.75;
}

.zsy-la-qualification__item:last-child {
	margin-bottom: 0;
}

.zsy-la-qualification__item::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 2px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--zsy-la-primary);
}

.zsy-la-qualification__col--partner .zsy-la-qualification__item::before {
	background: var(--zsy-la-accent);
}

/* ================================================================== *
 * 13. 悬浮咨询入口
 * ================================================================== */
.zsy-la-floating {
	position: fixed;
	right: 20px;
	bottom: 24px;
	z-index: 9990;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	font-family: var(--zsy-la-font);
	line-height: 1.5;
}

.zsy-la-floating--left {
	right: auto;
	left: 20px;
	align-items: flex-start;
}

.zsy-la-floating__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border: 1px solid var(--zsy-la-primary-strong);
	border-radius: 999px;
	background: var(--zsy-la-primary);
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	box-shadow: var(--zsy-la-shadow-lg);
	transition: background var(--zsy-la-transition), transform var(--zsy-la-transition),
		box-shadow var(--zsy-la-transition);
}

.zsy-la-floating__btn::before {
	content: "";
	width: 8px;
	height: 8px;
	margin-right: 8px;
	border-radius: 50%;
	background: #6ee7a8;
	box-shadow: 0 0 0 3px rgba(110, 231, 168, 0.24);
}

.zsy-la-floating__btn:hover,
.zsy-la-floating__btn:focus {
	background: var(--zsy-la-primary-strong);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 16px 36px rgba(26, 31, 38, 0.2);
}

.zsy-la-floating__phone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 16px;
	border: 1px solid var(--zsy-la-line);
	border-radius: 999px;
	background: var(--zsy-la-surface);
	color: var(--zsy-la-primary-strong);
	font-size: 13.5px;
	font-weight: 500;
	text-decoration: none;
	box-shadow: var(--zsy-la-shadow);
	transition: border-color var(--zsy-la-transition), color var(--zsy-la-transition);
}

.zsy-la-floating__phone:hover,
.zsy-la-floating__phone:focus {
	border-color: var(--zsy-la-primary);
	color: var(--zsy-la-primary);
	text-decoration: none;
}

/* 有悬浮入口时给页面留出安全边距，避免遮挡页脚内容。 */
body.zsy-la-has-floating {
	padding-bottom: 0;
}

body.zsy-la-has-floating > footer,
body.zsy-la-has-floating .site-footer {
	padding-bottom: 72px;
}

/* 滚动后进入紧凑形态（由前端脚本添加 is-stuck）。 */
.zsy-la-floating.is-stuck .zsy-la-floating__btn {
	min-height: 44px;
	padding: 10px 18px;
	font-size: 14px;
}

/* ================================================================== *
 * 14. 可访问性
 * ================================================================== */
.zsy-la-section a:focus-visible,
.zsy-la-floating a:focus-visible,
.zsy-la-btn:focus-visible,
.zsy-la-chip:focus-visible,
.zsy-la-quiz__option input:focus-visible,
.zsy-la-field__control:focus-visible {
	outline: 2px solid var(--zsy-la-primary);
	outline-offset: 2px;
}

.zsy-la-btn:focus:not(:focus-visible) {
	outline: none;
}

/* 屏幕阅读器专用文本 */
.zsy-la-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ================================================================== *
 * 15. 模板补充规则
 *
 * 补齐各模板中用到的变体类与前缀修饰类。动态拼接的修饰类无法逐一
 * 枚举，统一用属性前缀选择器兜底，保证新增取值时仍能继承基础样式。
 * ================================================================== */

/* ---- 资源库卡片：元信息上收，操作区贴底 ---- */
.zsy-la-card--resource .zsy-la-card__meta {
	margin: 0 0 12px;
	padding-top: 0;
	border-top: 0;
}

.zsy-la-card--resource .zsy-la-card__actions {
	margin-top: auto;
}

.zsy-la-card--resource .zsy-la-card__version {
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--zsy-la-primary-soft);
	color: var(--zsy-la-primary-strong);
	font-size: 12px;
	font-weight: 500;
}

/* ---- 案例卡片：徽标前置，摘要用正文色强调 ---- */
.zsy-la-card--case .zsy-la-card__badges {
	margin-bottom: 12px;
}

.zsy-la-card--case .zsy-la-card__summary {
	color: var(--zsy-la-text);
}

/* ---- 洞察卡片：正文之后以文字链收尾 ---- */
.zsy-la-card--insight .zsy-la-card__link {
	margin-top: auto;
	padding-top: 4px;
}

/* ---- 评价提交表单：两列栅格，长文本独占整行 ---- */
.zsy-la-form--review .zsy-la-form__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zsy-la-form--review .zsy-la-form__actions {
	margin-top: var(--zsy-la-gap-sm);
}

/* ---- 评价字段：下拉收窄，文本域加高 ---- */
.zsy-la-field--rating .zsy-la-field__control,
.zsy-la-field--company-size .zsy-la-field__control {
	max-width: 220px;
	font-variant-numeric: tabular-nums;
}

.zsy-la-field--contact-name .zsy-la-field__control,
.zsy-la-field--title .zsy-la-field__control {
	max-width: 100%;
}

.zsy-la-field--content {
	grid-column: 1 / -1;
}

.zsy-la-field--content .zsy-la-field__control {
	min-height: 132px;
}

/* ---- 算术校验字段：独占整行，输入框窄幅右对齐数字 ---- */
.zsy-la-field--captcha {
	grid-column: 1 / -1;
}

.zsy-la-field--captcha .zsy-la-field__label {
	font-variant-numeric: tabular-nums;
}

.zsy-la-field--captcha .zsy-la-field__control {
	max-width: 200px;
	letter-spacing: 0.06em;
	font-variant-numeric: tabular-nums;
}

/* ---- 自测选项文案：与单选钮垂直居中，长文案自动换行 ---- */
.zsy-la-quiz__option-text {
	display: inline-block;
	min-width: 2em;
	line-height: 1.5;
	text-align: center;
	white-space: normal;
	word-break: break-word;
}

/* ---- 评价时间：与公司名同排，数字等宽 ---- */
.zsy-la-review__date {
	display: inline-flex;
	align-items: center;
	color: var(--zsy-la-muted);
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
	line-height: 1.6;
	white-space: nowrap;
}

/* ---- 前缀兜底：字段修饰类（如 field--company-size） ---- */
.zsy-la-form [class*="zsy-la-field--"] {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

/* ---- 前缀兜底：区块模式修饰类（如 section--services） ---- */
.zsy-la-section[class*="zsy-la-section--"] {
	position: relative;
}

.zsy-la-section[class*="zsy-la-section--"] > .zsy-la-section__title:first-child {
	margin-top: 0;
}

/* ---- 前缀兜底：悬浮入口方位修饰类（如 floating--right） ---- */
.zsy-la-floating[class*="zsy-la-floating--"] {
	position: fixed;
	z-index: 9990;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* ---- 前缀兜底：业务线分类卡修饰类（如 cat-card--legal-counsel） ---- */
.zsy-la-cat-card[class*="zsy-la-cat-card--"] {
	border-color: var(--zsy-la-line);
	background: var(--zsy-la-surface);
}

.zsy-la-cat-card[class*="zsy-la-cat-card--"]:hover,
.zsy-la-cat-card[class*="zsy-la-cat-card--"]:focus-within {
	border-color: #cfd6df;
	box-shadow: var(--zsy-la-shadow);
}

/* ---- 前缀兜底：对照表列修饰类（如 qualification__col--platform） ---- */
.zsy-la-qualification__col[class*="zsy-la-qualification__col--"] {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

/* ================================================================== *
 * 16. 响应式
 * ================================================================== */
@media screen and (max-width: 1024px) {
	.zsy-la-grid--4,
	.zsy-la-grid--5,
	.zsy-la-grid--6 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.zsy-la-masonry--4,
	.zsy-la-masonry--5,
	.zsy-la-masonry--6 {
		column-count: 3;
	}

	.zsy-la-team.zsy-la-grid--4 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--5 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--6 .zsy-la-team__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.zsy-la-detail__title {
		font-size: 25px;
	}

	.zsy-la-section__title {
		font-size: 23px;
	}
}

@media screen and (max-width: 782px) {
	:root {
		--zsy-la-gap: 16px;
		--zsy-la-gap-lg: 24px;
	}

	.zsy-la-grid--3,
	.zsy-la-grid--4,
	.zsy-la-grid--5,
	.zsy-la-grid--6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zsy-la-masonry--3,
	.zsy-la-masonry--4,
	.zsy-la-masonry--5,
	.zsy-la-masonry--6 {
		column-count: 2;
	}

	.zsy-la-team.zsy-la-grid--3 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--4 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--5 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--6 .zsy-la-team__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zsy-la-form {
		padding: 18px;
	}

	.zsy-la-form__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.zsy-la-form--review .zsy-la-form__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.zsy-la-field--rating .zsy-la-field__control,
	.zsy-la-field--company-size .zsy-la-field__control,
	.zsy-la-field--captcha .zsy-la-field__control {
		max-width: 100%;
	}

	.zsy-la-qualification__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.zsy-la-reviews__stats {
		padding: 14px 16px;
	}

	.zsy-la-stat__value {
		font-size: 21px;
	}
}

@media screen and (max-width: 600px) {
	.zsy-la-grid--2,
	.zsy-la-grid--3,
	.zsy-la-grid--4,
	.zsy-la-grid--5,
	.zsy-la-grid--6 {
		grid-template-columns: minmax(0, 1fr);
	}

	.zsy-la-masonry--2,
	.zsy-la-masonry--3,
	.zsy-la-masonry--4,
	.zsy-la-masonry--5,
	.zsy-la-masonry--6 {
		column-count: 1;
	}

	.zsy-la-team.zsy-la-grid--2 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--3 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--4 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--5 .zsy-la-team__grid,
	.zsy-la-team.zsy-la-grid--6 .zsy-la-team__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.zsy-la-card,
	.zsy-la-cat-card,
	.zsy-la-review,
	.zsy-la-advisor__body {
		padding: 16px;
	}

	.zsy-la-detail__title {
		font-size: 22px;
	}

	.zsy-la-section__title {
		font-size: 20px;
	}

	.zsy-la-quiz__group {
		padding: 14px 16px;
	}

	.zsy-la-quiz__items {
		padding-left: 18px;
	}

	.zsy-la-quiz__option {
		padding: 6px 12px;
	}

	.zsy-la-floating {
		right: 12px;
		bottom: 14px;
	}

	.zsy-la-floating--left {
		right: auto;
		left: 12px;
	}

	.zsy-la-floating__btn {
		min-height: 44px;
		padding: 10px 18px;
		font-size: 14px;
	}

	.zsy-la-consult__hotline {
		padding: 12px 14px;
	}

	.zsy-la-consult__hotline-number {
		font-size: 18px;
	}
}

/* ================================================================== *
 * 17. 动效偏好与打印
 * ================================================================== */
@media (prefers-reduced-motion: reduce) {
	.zsy-la-section *,
	.zsy-la-floating *,
	.zsy-la-btn.is-loading::after {
		transition: none !important;
		animation: none !important;
	}

	.zsy-la-cat-card:hover,
	.zsy-la-cat-card:focus-within,
	.zsy-la-floating__btn:hover,
	.zsy-la-floating__btn:focus {
		transform: none;
	}
}

@media print {
	.zsy-la-floating,
	.zsy-la-more,
	.zsy-la-form,
	.zsy-la-review-form,
	.zsy-la-team__filter {
		display: none !important;
	}

	.zsy-la-card,
	.zsy-la-cat-card,
	.zsy-la-review,
	.zsy-la-advisor,
	.zsy-la-detail__block {
		border: 1px solid #999;
		box-shadow: none;
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.zsy-la-grid,
	.zsy-la-team__grid {
		display: block;
	}

	.zsy-la-card,
	.zsy-la-cat-card,
	.zsy-la-advisor {
		margin-bottom: 12px;
	}
}

/* ================================================================== *
 * 18. 从右至左语言环境
 * ================================================================== */
[dir="rtl"] .zsy-la-card__deliverable,
[dir="rtl"] .zsy-la-detail__list-item,
[dir="rtl"] .zsy-la-qualification__item,
[dir="rtl"] .zsy-la-result__suggestion {
	padding-right: 20px;
	padding-left: 0;
}

[dir="rtl"] .zsy-la-card__deliverable::before,
[dir="rtl"] .zsy-la-detail__list-item::before,
[dir="rtl"] .zsy-la-qualification__item::before,
[dir="rtl"] .zsy-la-result__suggestion::before {
	right: 2px;
	left: auto;
}

[dir="rtl"] .zsy-la-result__suggestion::before {
	right: 13px;
}

[dir="rtl"] .zsy-la-floating {
	right: auto;
	left: 20px;
	align-items: flex-start;
}

[dir="rtl"] .zsy-la-floating--left {
	right: 20px;
	left: auto;
	align-items: flex-end;
}

[dir="rtl"] .zsy-la-floating__btn::before {
	margin-right: 0;
	margin-left: 8px;
}

[dir="rtl"] .zsy-la-card__link::after {
	content: "\2190";
	margin-right: 4px;
	margin-left: 0;
}