/*
 * 装修模块的默认外观（EDIT-BLOCKS-03）。主题提供模块模板后，可以用自己的样式完全覆盖。
 * 颜色和尺寸尽量读取 CSS 变量：模块设置写在元素的 style 上（--vc-*），全局样式以后由“全局样式”文档提供。
 * 断点：767px 及以下为手机。
 */

.vc-m {
	--vc-m-gutter: 20px;
	box-sizing: border-box;
	position: relative;
	padding-top: var(--vc-m-pt, 48px);
	padding-bottom: var(--vc-m-pb, 48px);
	background: var(--vc-m-bg, transparent);
	color: var(--vc-fg, inherit);
}

.vc-m *,
.vc-m *::before,
.vc-m *::after {
	box-sizing: border-box;
}

.vc-m__inner {
	max-width: var(--vc-content-width, 1200px);
	margin: 0 auto;
	padding: 0 var(--vc-m-gutter);
}

.vc-m__inner--wide {
	max-width: 1440px;
}

.vc-m__inner--full {
	max-width: none;
	padding: 0;
}

.vc-m__head {
	margin: 0 auto 28px;
	max-width: 760px;
	text-align: center;
}

.vc-m__title {
	margin: 0 0 10px;
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.2;
	color: var(--vc-title-c, inherit);
}

.vc-m__title em {
	font-style: italic;
	opacity: 0.85;
}

.vc-m__desc {
	margin: 0;
	opacity: 0.8;
	line-height: 1.6;
}

.vc-m__desc > :first-child { margin-top: 0; }
.vc-m__desc > :last-child { margin-bottom: 0; }

.vc-m__actions {
	margin: 24px 0 0;
	text-align: center;
}

.vc-eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.75;
}

.vc-richtext > :first-child {
	margin-top: 0;
}

.vc-richtext > :last-child {
	margin-bottom: 0;
}

.vc-richtext a,
.vc-textblock a {
	color: var(--vc-link, inherit);
}

/* 图片 */
.vc-img,
.vc-img img,
picture.vc-img,
.vc-m picture img {
	display: block;
	width: 100%;
	height: auto;
}

.vc-link {
	color: inherit;
	text-decoration: none;
	display: block;
}

.vc-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 160px;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(45deg, #f1f2f4, #f1f2f4 10px, #e7e9ec 10px, #e7e9ec 20px);
	color: #646970;
	font-size: 13px;
	border-radius: 4px;
}

.vc-icon {
	display: inline-block;
	vertical-align: middle;
	color: var(--vc-accent, currentColor);
}

/* 按钮 */
.vc-btn {
	display: inline-block;
	padding: 12px 26px;
	border-radius: var(--vc-btn-radius, 30px);
	background: var(--vc-btn-bg, #1d2327);
	color: var(--vc-btn-fg, #fff);
	text-decoration: none;
	font-weight: 600;
	line-height: 1.2;
	border: 0;
	cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.vc-btn:hover,
.vc-btn:focus-visible {
	opacity: 0.9;
	transform: translateY(-1px);
}

.vc-btn--ghost {
	background: transparent;
	color: inherit;
	border: 1px solid currentColor;
}

.vc-btn--bounce.is-effect-active { animation: vc-button-bounce var(--vc-btn-duration, 1000ms) ease-in-out both; }
.vc-btn--rubberband.is-effect-active { animation: vc-button-rubberband var(--vc-btn-duration, 1000ms) ease-in-out both; }
.vc-btn--shake.is-effect-active { animation: vc-button-shake var(--vc-btn-duration, 1000ms) ease-in-out both; }
.vc-btn--swing.is-effect-active { transform-origin: 50% 100%; animation: vc-button-swing var(--vc-btn-duration, 1000ms) ease-in-out both; }
.vc-btn--wobble.is-effect-active { animation: vc-button-wobble var(--vc-btn-duration, 1000ms) ease-in-out both; }
.vc-btn--pulse.is-effect-active { animation: vc-pulse var(--vc-btn-duration, 1000ms) ease-in-out both; }

/* Small, authored gestures. JavaScript schedules each active phase and the quiet gap. */
@keyframes vc-button-bounce {
	0%, 30%, 60%, 100% { transform: translateY(0); }
	42% { transform: translateY(-7px); }
	75% { transform: translateY(-3px); }
}
@keyframes vc-button-rubberband {
	0%, 100% { transform: scale(1); }
	28% { transform: scale(1.12, .90); }
	44% { transform: scale(.93, 1.08); }
	60% { transform: scale(1.05, .97); }
	78% { transform: scale(.99, 1.01); }
}
@keyframes vc-button-shake {
	0%, 100% { transform: translateX(0); }
	20%, 60% { transform: translateX(-5px); }
	40%, 80% { transform: translateX(5px); }
}
@keyframes vc-button-swing {
	0%, 100% { transform: rotate(0); }
	22% { transform: rotate(7deg); }
	44% { transform: rotate(-5deg); }
	66% { transform: rotate(3deg); }
	84% { transform: rotate(-1deg); }
}
@keyframes vc-button-wobble {
	0%, 100% { transform: translateX(0) rotate(0); }
	22% { transform: translateX(-6%) rotate(-4deg); }
	44% { transform: translateX(5%) rotate(3deg); }
	66% { transform: translateX(-3%) rotate(-2deg); }
	84% { transform: translateX(1%) rotate(1deg); }
}

.vc-btn--shine {
	position: relative;
	overflow: hidden;
}

.vc-btn--shine::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.45) 50%, transparent 70%);
	transform: translateX(-100%);
	animation: none;
}

.vc-btn--shine.is-effect-active::after { animation: vc-shine var(--vc-btn-duration, 1000ms) ease both; }

@keyframes vc-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.05); }
}

@keyframes vc-shine {
	to { transform: translateX(100%); }
}

/* 九宫格文字位置 */
[class*="vc-pos-d-"] {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	padding: clamp(20px, 5vw, 72px);
	gap: 12px;
	color: var(--vc-fg, #fff);
	z-index: 2;
}

.vc-pos-d-top-left, .vc-pos-d-top-center, .vc-pos-d-top-right { justify-content: flex-start; }
.vc-pos-d-middle-left, .vc-pos-d-middle-center, .vc-pos-d-middle-right { justify-content: center; }
.vc-pos-d-bottom-left, .vc-pos-d-bottom-center, .vc-pos-d-bottom-right { justify-content: flex-end; }
.vc-pos-d-top-left, .vc-pos-d-middle-left, .vc-pos-d-bottom-left { align-items: flex-start; text-align: left; }
.vc-pos-d-top-center, .vc-pos-d-middle-center, .vc-pos-d-bottom-center { align-items: center; text-align: center; }
.vc-pos-d-top-right, .vc-pos-d-middle-right, .vc-pos-d-bottom-right { align-items: flex-end; text-align: right; }

[class*="vc-pos-d-"] .vc-m__head {
	margin: 0;
	text-align: inherit;
}

/* 轮播 */
.vc-carousel {
	position: relative;
	overflow: hidden;
	display: grid;
}

.vc-carousel > .vc-slide {
	grid-area: 1 / 1;
	position: relative;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.7s ease, visibility 0.7s;
}

.vc-carousel > .vc-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.vc-carousel--screen .vc-slide { height: 100vh; }
.vc-carousel--fixed .vc-slide { height: var(--vc-h, 640px); }

.vc-carousel--screen .vc-slide__media img,
.vc-carousel--fixed .vc-slide__media img,
.vc-carousel--screen .vc-slide__media,
.vc-carousel--fixed .vc-slide__media {
	height: 100%;
	object-fit: cover;
}

.vc-slide__overlay,
.vc-banner__overlay {
	position: absolute;
	inset: 0;
	background: var(--vc-overlay, #000);
	opacity: var(--vc-overlay-o, 0);
	pointer-events: none;
	z-index: 1;
}

.vc-slide__title {
	margin: 0;
	font-size: var(--vc-title, 48px);
	line-height: 1.1;
	color: inherit;
	max-width: 14ch;
}

.vc-slide__desc {
	margin: 0;
	max-width: 46ch;
	line-height: 1.6;
}

.vc-carousel__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	display: flex;
	justify-content: center;
	gap: 8px;
	z-index: 3;
}

.vc-carousel__dots span,
.vc-carousel__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.55);
	cursor: pointer;
}

.vc-carousel__dots .is-active {
	background: #fff;
	width: 22px;
	border-radius: 4px;
}

.vc-carousel__arrow { position: absolute; top: 50%; z-index: 4; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #171717; box-shadow: 0 3px 12px rgb(0 0 0 / 15%); transform: translateY(-50%); cursor: pointer; }
.vc-carousel__arrow--prev { left: 12px; }
.vc-carousel__arrow--next { right: 12px; }
.vc-carousel__arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* 单图 / 视频横幅 */
.vc-banner {
	position: relative;
	overflow: hidden;
}

.vc-banner__media,
.vc-banner__media img {
	display: block;
	width: 100%;
}

.vc-banner[style*="--vc-h"] .vc-banner__media,
.vc-banner[style*="--vc-h"] .vc-banner__media img {
	height: var(--vc-h);
	object-fit: cover;
}

.vc-banner--video {
	--vc-video-screen-height: 100vh;
	min-height: var(--vc-h, 600px);
	height: auto;
	background: #171717;
}
@supports (height: 100svh) { .vc-banner--video { --vc-video-screen-height: 100svh; } }
.vc-banner--video .vc-banner__text { position: relative; inset: auto; z-index: 4; min-height: var(--vc-h, 600px); padding: 40px; pointer-events: none; }
.vc-banner--video .vc-banner__text a,
.vc-banner--video .vc-banner__text button { pointer-events: auto; }
.vc-banner--video .vc-m__head { margin: 0; max-width: min(760px, 100%); text-align: inherit; overflow-wrap: anywhere; }
.vc-banner--video .vc-m__title { font-size: var(--vc-title, 40px); }
.vc-banner--video .vc-m__desc :is(a, p, li, blockquote, h1, h2, h3, h4, h5, h6) { color: inherit; }
.vc-banner--video[style*="--vc-h"] .vc-banner__media { height: 100%; }
.vc-banner--video > .vc-ph { position: absolute; inset: 0; height: 100%; background: #171717; color: #ddd; }
.vc-video-text__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: 100%; }
.vc-video-text__toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 14px; border: 1px solid currentColor; border-radius: 6px; background: transparent; color: inherit; font: inherit; font-size: 14px; cursor: pointer; }
.vc-video-text__toggle:hover { background: rgb(255 255 255 / 10%); }
.vc-video-text__toggle:focus-visible,
.vc-video-text__fallback:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.vc-video-text__toggle:disabled,
.vc-video-text__toggle[aria-disabled="true"] { cursor: wait; opacity: .7; }
.vc-video-text__toggle svg { width: 16px; height: 16px; fill: currentColor; flex: 0 0 auto; }
.vc-video-text__pause { display: none; }
.vc-video-text__toggle[aria-pressed="true"] .vc-video-text__play { display: none; }
.vc-video-text__toggle[aria-pressed="true"] .vc-video-text__pause { display: block; }
.vc-video-text__fallback { color: inherit; text-underline-offset: 3px; font-size: 14px; }
.vc-video-text__status { margin: 0; max-width: 48ch; color: inherit; font-size: 14px; }
.vc-video-text__toggle[hidden],
.vc-video-text__fallback[hidden],
.vc-video-text__status[hidden] { display: none; }

.vc-video--cover,
.vc-video--cover video,
.vc-video--cover iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
}

/* 排、网格 */
.vc-row {
	display: flex;
	gap: var(--vc-gap, 16px);
}

.vc-row__item {
	flex: 1 1 0;
	min-width: 0;
}

.vc-grid {
	display: grid;
	grid-template-columns: repeat(var(--vc-cols, 3), minmax(0, 1fr));
	gap: var(--vc-gap, 24px);
}

.vc-grid--carousel {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.vc-grid--carousel > * {
	flex: 0 0 calc((100% - (var(--vc-cols, 3) - 1) * var(--vc-gap, 24px)) / var(--vc-cols, 3));
	scroll-snap-align: start;
}

/* 多图 */
.vc-mosaic {
	display: grid;
	gap: var(--vc-gap, 16px);
	grid-template-columns: 1fr 1fr;
}

.vc-mosaic__tile {
	position: relative;
	overflow: hidden;
	min-height: 160px;
}

.vc-mosaic .vc-mosaic__tile:only-child { min-height: 160px; }

.vc-mosaic__link {
	display: block;
	height: 100%;
}

.vc-mosaic__media,
.vc-mosaic__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Override the shared responsive-image auto height inside fixed mosaic tiles. */
.vc-m .vc-mosaic__media img { height: 100%; }

.vc-mosaic__btn {
	position: absolute;
	left: 16px;
	bottom: 16px;
}

.vc-mosaic__title { position: relative; grid-area: 1 / 1; align-self: end; justify-self: start; max-width: calc(100% - 60px); margin: 30px; padding: 6px 10px; background: rgb(0 0 0 / 65%); color: #fff; font-size: 28px; line-height: 1.3; overflow-wrap: anywhere; }
.vc-mosaic__title--with-button { margin-bottom: 80px; }

.vc-mosaic--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 1fr 1fr; }
.vc-mosaic--3 .vc-mosaic__tile { min-height: 0; min-width: 0; }
.vc-mosaic--3 .vc-mosaic__tile--2,
.vc-mosaic--3 .vc-mosaic__tile--3 { aspect-ratio: 1; }
.vc-mosaic--3 .vc-mosaic__link,
.vc-mosaic--3 .vc-mosaic__media,
.vc-mosaic--3 .vc-ph { position: absolute; inset: 0; min-height: 0; }
.vc-mosaic--3.vc-mosaic--left .vc-mosaic__tile--1 { grid-area: 1 / 1 / 3 / 3; }
.vc-mosaic--3.vc-mosaic--left .vc-mosaic__tile--2 { grid-area: 1 / 3 / 2 / 4; }
.vc-mosaic--3.vc-mosaic--left .vc-mosaic__tile--3 { grid-area: 2 / 3 / 3 / 4; }
.vc-mosaic--3.vc-mosaic--right .vc-mosaic__tile--1 { grid-area: 1 / 2 / 3 / 4; }
.vc-mosaic--3.vc-mosaic--right .vc-mosaic__tile--2 { grid-area: 1 / 1 / 2 / 2; }
.vc-mosaic--3.vc-mosaic--right .vc-mosaic__tile--3 { grid-area: 2 / 1 / 3 / 2; }

.vc-mosaic--4 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.vc-mosaic--4 .vc-mosaic__tile { min-height: 0; min-width: 0; }
.vc-mosaic--4 .vc-mosaic__tile--2,
.vc-mosaic--4 .vc-mosaic__tile--3 { aspect-ratio: 1; }
.vc-mosaic--4 .vc-mosaic__link,
.vc-mosaic--4 .vc-mosaic__media,
.vc-mosaic--4 .vc-ph { position: absolute; inset: 0; min-height: 0; }
.vc-mosaic--4.vc-mosaic--left .vc-mosaic__tile--1 { grid-row: 1 / 3; }
.vc-mosaic--4.vc-mosaic--left .vc-mosaic__tile--4 { grid-column: 2 / 4; }
.vc-mosaic--4.vc-mosaic--right .vc-mosaic__tile--1 { grid-row: 1 / 3; grid-column: 3; }
.vc-mosaic--4.vc-mosaic--right .vc-mosaic__tile--4 { grid-column: 1 / 3; }
.vc-mosaic--4.vc-mosaic--poster { grid-template-columns: minmax(0, 58fr) minmax(0, 21fr) minmax(0, 21fr); }
.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile { align-self: stretch; }
.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--titled { display: grid; grid-template-columns: minmax(0, 1fr); }
.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--titled .vc-mosaic__link { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-area: 1 / 1; height: auto; min-height: 100%; }
.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--1 { grid-area: 1 / 1 / 3 / 2; }
.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--2 { grid-area: 1 / 2 / 2 / 3; }
.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--3 { grid-area: 1 / 3 / 2 / 4; }
.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--4 { grid-area: 2 / 2 / 3 / 4; }
.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right { grid-template-columns: minmax(0, 21fr) minmax(0, 21fr) minmax(0, 58fr); }
.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right .vc-mosaic__tile--1 { grid-area: 1 / 3 / 3 / 4; }
.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right .vc-mosaic__tile--2 { grid-area: 1 / 1 / 2 / 2; }
.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right .vc-mosaic__tile--3 { grid-area: 1 / 2 / 2 / 3; }
.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right .vc-mosaic__tile--4 { grid-area: 2 / 1 / 3 / 3; }

.vc-mosaic--5 { grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
.vc-mosaic--5 .vc-mosaic__tile { min-height: 0; min-width: 0; width: 100%; align-self: stretch; }
.vc-mosaic--5 .vc-mosaic__tile:not(.vc-mosaic__tile--1) { aspect-ratio: 1; }
.vc-mosaic--5 .vc-mosaic__link,
.vc-mosaic--5 .vc-mosaic__media,
.vc-mosaic--5 .vc-ph { position: absolute; inset: 0; min-height: 0; }
.vc-mosaic--5.vc-mosaic--left .vc-mosaic__tile--1 { grid-row: 1 / 3; }
.vc-mosaic--5.vc-mosaic--center .vc-mosaic__tile--1 { grid-row: 1 / 3; grid-column: 2; }
.vc-mosaic--5.vc-mosaic--right .vc-mosaic__tile--1 { grid-row: 1 / 3; grid-column: 3; }
.vc-mosaic--5.vc-mosaic--top { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 1fr 1fr; }
.vc-mosaic--5.vc-mosaic--top .vc-mosaic__tile--1 { grid-column: 1 / 3; }

/* 图文 */
.vc-mt {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 4vw, 56px);
	align-items: center;
}

.vc-mt--d-right .vc-mt__media { order: 2; }
.vc-mt--d-top,
.vc-mt--d-bottom { grid-template-columns: 1fr; }
.vc-mt--d-bottom .vc-mt__media { order: 2; }

@media (min-width: 768px) {
	.vc-m--media-text .vc-mt { column-gap: 30px; }
}

.vc-mt__text {
	background: var(--vc-text-bg, transparent);
	color: var(--vc-fg, inherit);
}

.vc-mt__text:not(:empty) {
	padding: var(--vc-text-pad, 0);
}

.vc-mt__title {
	margin: 0 0 6px;
	font-size: clamp(20px, 2.4vw, 28px);
}

.vc-mt__label {
	margin: 0 0 14px;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.7;
}

.vc-mt-list {
	display: grid;
	gap: var(--vc-gap, 48px);
}

.vc-mt__media {
	margin: 0;
}

.vc-mt__caption {
	padding-top: 6px;
	font-size: 12px;
	opacity: 0.7;
}

.vc-mt-list__note {
	margin: 24px 0 0;
	font-size: 13px;
	opacity: 0.7;
}

/* 卡片 */
.vc-card {
	border-radius: 8px;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.02);
}

.vc-card__link {
	color: inherit;
	text-decoration: none;
	display: block;
}

.vc-card__body {
	padding: 16px;
	overflow-wrap: anywhere;
}

.vc-card__title {
	margin: 0 0 6px;
	font-size: 18px;
}

.vc-card__text {
	margin: 0;
	opacity: 0.8;
	line-height: 1.5;
}

/* Card-list controls belong to this block, leaving product grids unchanged. */
.vc-card-list .vc-card { min-width: 28px; }
.vc-card-list .vc-card__body { padding-inline: min(16px, 8%); }
.vc-card-list .vc-grid--grid { grid-template-columns: repeat(var(--vc-cols, 3), minmax(28px, 1fr)); overflow-x: auto; }
.vc-card-list .vc-grid--masonry { display: block; column-count: var(--vc-cols, 3); column-gap: var(--vc-gap, 24px); overflow-x: auto; }
.vc-card-list .vc-grid--masonry > .vc-card { display: inline-flex; flex-direction: column; width: 100%; margin-bottom: var(--vc-gap, 24px); break-inside: avoid; vertical-align: top; }
.vc-card-list [data-vc-card-grid],
.vc-card-list [data-vc-card-carousel] { scrollbar-width: thin; scrollbar-color: #737373 transparent; }
.vc-card-list [data-vc-card-grid]:focus-visible,
.vc-card-list [data-vc-card-carousel]:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.vc-card-list .vc-card__link:focus-visible { outline: 2px solid #737373; outline-offset: -3px; }
.vc-card-list__scroll-hint { margin: 8px 0 0; color: #666; font-size: 12px; line-height: 1.5; }
.vc-card-list__scroll-hint[hidden] { display: none; }
.vc-card-list__controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 20px; }
.vc-card-list__controls[hidden] { display: none; }
.vc-card-list__arrow { flex: 0 0 40px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid #d4d4d4; border-radius: 50%; background: #fff; color: #171717; cursor: pointer; }
.vc-card-list__arrow:disabled { opacity: .35; cursor: default; }
.vc-card-list__arrow svg { display: block; }
.vc-card-list:dir(rtl) .vc-card-list__arrow svg { transform: scaleX(-1); }
.vc-card-list__pages { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; min-width: 0; }
.vc-card-list__page { display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 32px; padding: 0; border: 0; background: transparent; color: #737373; cursor: pointer; }
.vc-card-list__page::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.vc-card-list__page[aria-current="true"] { color: #171717; }
.vc-card-list__page[aria-current="true"]::after { width: 8px; height: 8px; }
.vc-card-list__arrow:focus-visible,
.vc-card-list__page:focus-visible { outline: 2px solid #737373; outline-offset: 2px; }
.vc-card-list__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* 视频 */
.vc-video {
	position: relative;
	aspect-ratio: var(--vc-ratio, 16 / 9);
	background: #000;
	overflow: hidden;
}

.vc-video video,
.vc-video iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	object-fit: cover;
}

.vc-video-block {
	display: grid;
	gap: 24px;
}

.vc-video-block--above .vc-video { order: -1; }
.vc-video-block--left,
.vc-video-block--right { grid-template-columns: 1fr 1fr; align-items: center; }
.vc-video-block--left .vc-video { order: -1; }
.vc-video-block--left .vc-m__head,
.vc-video-block--right .vc-m__head { text-align: left; margin: 0; }
.vc-video-block > :only-child { grid-column: 1 / -1; }
.vc-video__cover { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; padding: 0; border: 0; background: #171717; color: #fff; cursor: pointer; }
.vc-video__cover[hidden] { display: none; }
.vc-video__cover .vc-video__poster { display: block; width: 100%; height: 100%; object-fit: cover; }
.vc-video__cover svg { position: absolute; top: 50%; left: 50%; width: 48px; height: 48px; padding: 8px; border-radius: 50%; background: rgb(0 0 0 / 55%); fill: currentColor; transform: translate(-50%, -50%); }
.vc-video__cover:focus-visible { outline: 3px solid currentColor; outline-offset: -6px; }
.vc-video__fallback { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; background: #171717; color: #fff; }

/* slogan / 信息列表 */
.vc-slogan {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: 24px;
	text-align: center;
}

.vc-slogan__item { min-width: 0; overflow-wrap: anywhere; }
.vc-slogan__pages { display: none; }

.vc-slogan__icon {
	width: var(--vc-icon, 30px);
	height: auto;
	margin: 0 auto 10px;
	display: block;
}

.vc-slogan-symbol { height: var(--vc-icon, 30px); }

.vc-slogan .vc-ph {
	width: var(--vc-icon, 30px);
	height: var(--vc-icon, 30px);
	min-height: 0;
	margin: 0 auto 10px;
}

.vc-slogan .vc-slogan__title {
	margin: 0 0 4px;
	font-size: var(--vc-t, 16px);
}

.vc-slogan .vc-slogan__text {
	margin: 0;
	font-size: 14px;
	color: inherit;
}
.vc-slogan__text > :first-child { margin-top: 0; }
.vc-slogan__text > :last-child { margin-bottom: 0; }
.vc-slogan__text p { color: inherit; }
.vc-slogan__text ul, .vc-slogan__text ol { display: inline-block; max-width: 100%; padding-inline-start: 1.5em; text-align: start; }
.vc-slogan__text a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.vc-info {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
}

.vc-info--center { justify-content: center; }
.vc-info--right { justify-content: flex-end; }

.vc-info__item {
	display: flex;
	align-items: center;
	gap: 8px;
}

.vc-m__icon-img {
	width: 40px;
	height: auto;
}

/* 数字 */
.vc-counter { grid-template-columns: repeat(var(--vc-cols, 3), minmax(min(100%, 180px), 1fr)); gap: 30px; overflow-x: auto; }
.vc-counter__item {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 24px;
	min-width: 0;
	padding: 30px 12px;
	text-align: start;
}
.vc-counter__item:not(.vc-counter__item--row-start)::before { content: ''; position: absolute; inset-block: 20px; inset-inline-start: -15px; width: 1px; background: currentColor; opacity: .15; }
.vc-counter__icon { flex: 0 0 74px; width: 74px; height: 74px; display: grid; place-items: center; border: 1px solid #d4d4d4; border-radius: 12px; }
.vc-counter__icon svg, .vc-counter__icon img { display: block; width: 32px; height: 32px; object-fit: contain; margin: 0; }
.vc-counter__copy { min-width: 0; max-width: 100%; flex: 0 1 auto; }

.vc-counter .vc-counter__num {
	max-width: 100%;
	margin: 0;
	font-size: var(--vc-num, 42px);
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	color: inherit;
}

.vc-counter__unit { font-size: inherit; }
.vc-counter:focus-visible, .vc-counter__num:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }

.vc-counter .vc-counter__label {
	margin: 14px 0 0;
	font-size: 14px;
	color: inherit;
	overflow-wrap: anywhere;
}

/* 画廊 */
.vc-gallery {
	columns: var(--vc-cols, 3);
	column-gap: 16px;
}

.vc-gallery__item {
	break-inside: avoid;
	margin: 0 0 16px;
}

.vc-gallery__img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}

.vc-gallery figcaption {
	font-size: 13px;
	opacity: 0.75;
	padding-top: 6px;
}

.vc-gallery-rail { container-type: inline-size; min-width: 0; }
.vc-gallery--rail {
	--vc-gallery-image-height: 360px;
	display: flex;
	align-items: flex-start;
	gap: 30px;
	columns: auto;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	padding-bottom: 24px;
	scrollbar-color: #737373 #e6e6e6;
}
@supports (height: 1cqw) { .vc-gallery--rail { --vc-gallery-image-height: calc(100cqw / 3); } }
.vc-gallery--rail .vc-gallery__item { flex: 0 0 auto; width: clamp(1px, calc(var(--vc-gallery-image-height) * var(--vc-gallery-ratio, 1)), 20000px); margin: 0; min-width: 0; }
.vc-gallery--rail .vc-gallery__img { display: block; width: 100%; height: var(--vc-gallery-image-height); max-width: none; object-fit: contain; border-radius: 0; }
.vc-gallery--rail .vc-ph { width: 100%; height: var(--vc-gallery-image-height); min-height: 0; aspect-ratio: auto; }
.vc-gallery--rail .vc-gallery__caption { margin-top: 16px; padding: 0; font-size: 15px; opacity: 1; color: inherit; overflow-wrap: anywhere; }
.vc-gallery__caption > :first-child, .vc-gallery__caption-link > :first-child { margin-top: 0; }
.vc-gallery__caption > :last-child, .vc-gallery__caption-link > :last-child { margin-bottom: 0; }
.vc-gallery__caption p { color: inherit; }
.vc-gallery--rail::-webkit-scrollbar { height: 12px; }
.vc-gallery--rail::-webkit-scrollbar-track { background: #e6e6e6; }
.vc-gallery--rail::-webkit-scrollbar-thumb { background: #737373; border: 4px solid #e6e6e6; border-radius: 6px; }
.vc-gallery--rail.has-scroll-control { padding-bottom: 8px; scrollbar-width: none; }
.vc-gallery--rail.has-scroll-control::-webkit-scrollbar { display: none; }
.vc-gallery__position { appearance: none; display: block; width: 100%; min-height: 24px; height: 24px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; cursor: grab; }
.vc-gallery__position[hidden] { display: none; }
.vc-gallery__position::-webkit-slider-runnable-track { height: 2px; background: #e6e6e6; }
.vc-gallery__position::-webkit-slider-thumb { appearance: none; width: max(24px, var(--vc-gallery-thumb, 24px)); max-width: 100%; height: 6px; margin-top: -2px; border: 0; border-radius: 3px; background: #737373; }
.vc-gallery__position::-moz-range-track { height: 2px; background: #e6e6e6; }
.vc-gallery__position::-moz-range-thumb { width: max(24px, var(--vc-gallery-thumb, 24px)); max-width: 100%; height: 6px; border: 0; border-radius: 3px; background: #737373; }
.vc-gallery__position:focus-visible { outline: 2px solid currentColor; outline-offset: 0; }
.vc-gallery--rail:focus-visible, .vc-gallery--rail a:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.vc-gallery--rail.is-draggable .vc-gallery__img { cursor: grab; }
.vc-gallery--rail.is-dragging { cursor: grabbing; user-select: none; }
.vc-gallery--rail.is-dragging .vc-gallery__img { cursor: grabbing; }

/* 时间轴 */
.vc-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
}
.vc-timeline-content {
	min-width: 0;
	padding: var(--vc-timeline-pad-top-d, 0px) min(40%, var(--vc-timeline-pad-right-d, 0px)) var(--vc-timeline-pad-bottom-d, 0px) min(40%, var(--vc-timeline-pad-left-d, 0px));
}
.vc-timeline__item { position: relative; min-width: 0; overflow-wrap: anywhere; }
.vc-timeline__item[hidden] { display: none !important; }
.vc-timeline__body { display: contents; }
.vc-timeline__year { grid-area: year; margin: 0; font-size: 32px; font-weight: 600; line-height: 1.25; color: var(--vc-title-c, inherit); font-variant-numeric: tabular-nums; }
.vc-timeline__title { grid-area: title; margin: 0; font-size: 20px; font-weight: 600; line-height: 1.4; color: var(--vc-title-c, inherit); }
.vc-timeline__text { grid-area: text; min-width: 0; color: var(--vc-fg, inherit); }
.vc-timeline__text > :first-child { margin-top: 0; }
.vc-timeline__text > :last-child { margin-bottom: 0; }
.vc-timeline__date { grid-area: date; margin: 0; line-height: 1.5; font-variant-numeric: tabular-nums; }
.vc-timeline--horizontal {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(var(--vc-timeline-width, 200px), 1fr);
	align-items: stretch;
	gap: 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: thin;
	scrollbar-color: #737373 #f1f1f1;
	padding: 2px 0 8px;
}
.vc-timeline--horizontal .vc-timeline__item {
	display: grid;
	grid-template-areas: "year" "arrow" "title" "text" "date";
	grid-template-rows: 40px 16px auto 1fr auto;
	row-gap: 14px;
	align-content: start;
	text-align: center;
	padding-inline-end: 15px;
}
.vc-timeline__arrow {
	grid-area: arrow;
	display: block;
	height: 16px;
	background: var(--vc-accent, #171717);
	clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%, 8px 50%);
}
.vc-timeline--horizontal:dir(rtl) .vc-timeline__arrow { transform: scaleX(-1); }
.vc-timeline--horizontal .vc-timeline__title,
.vc-timeline--horizontal .vc-timeline__text,
.vc-timeline--horizontal .vc-timeline__date { margin-inline: 10px; }
.vc-timeline--vertical {
	display: grid;
	gap: 0;
}
.vc-timeline--vertical .vc-timeline__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 9px minmax(0, 1fr);
	grid-template-areas: "visual . body";
	grid-template-rows: auto;
	gap: 10px 20px;
	align-content: center;
	align-items: center;
	min-height: 250px;
	padding-bottom: 80px;
	text-align: start;
}
.vc-timeline--vertical .vc-timeline__item--right {
	grid-template-areas: "body . visual";
	text-align: end;
}
.vc-timeline--vertical .vc-timeline__item::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: calc(50% - 1px);
	width: 2px;
	background: var(--vc-accent, #d4d4d4);
}
.vc-timeline--vertical .vc-timeline__item::after {
	content: "";
	position: absolute;
	inset-block-start: calc((100% - 80px) / 2 - 4.5px);
	inset-inline-start: calc(50% - 4.5px);
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--vc-accent, #171717);
}
.vc-timeline--vertical .vc-timeline__item:last-child { padding-bottom: 0; }
.vc-timeline--vertical .vc-timeline__item:last-child::after { inset-block-start: calc(50% - 4.5px); }
.vc-timeline--vertical .vc-timeline__title { font-size: 16px; }
.vc-timeline--vertical .vc-timeline__body { grid-area: body; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.vc-timeline__visual { grid-area: visual; display: flex; align-items: center; justify-content: flex-end; min-width: 0; }
.vc-timeline__item--right .vc-timeline__visual { justify-content: flex-start; }
.vc-timeline__visual > .vc-ph { width: min(250px, 100%); aspect-ratio: 1; min-height: 0; }
.vc-timeline__img { display: block; width: auto; max-width: 100%; height: auto; max-height: 250px; border-radius: 0; }
.vc-timeline__toggle { display: block; width: fit-content; max-width: 100%; margin: 24px auto 0; }
.vc-timeline__toggle[hidden], .vc-timeline__autoscroll[hidden] { display: none; }
.vc-timeline__autoscroll { display: block; min-height: 24px; margin-top: 10px; padding: 3px 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.vc-timeline--horizontal:focus-visible, .vc-timeline__autoscroll:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.vc-timeline a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 767px) {
	.vc-timeline__autoscroll { display: none; }
	.vc-timeline-content { padding: var(--vc-timeline-pad-top-m, 0px) min(40%, var(--vc-timeline-pad-right-m, 0px)) var(--vc-timeline-pad-bottom-m, 0px) min(40%, var(--vc-timeline-pad-left-m, 0px)); }
	.vc-timeline--horizontal { display: block; overflow: visible; padding: 0; }
	.vc-timeline--horizontal .vc-timeline__item,
	.vc-timeline--vertical .vc-timeline__item,
	.vc-timeline--vertical .vc-timeline__item--right {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: auto;
		grid-template-areas: "year date" "title title" "text text";
		gap: 10px;
		min-height: 0;
		padding: 0 0 30px 19px;
		padding-inline: 19px 0;
		text-align: start;
	}
	.vc-timeline--vertical .vc-timeline__item,
	.vc-timeline--vertical .vc-timeline__item--right { grid-template-areas: "year year" "visual visual" "title title" "text text" "date date"; }
	.vc-timeline--vertical .vc-timeline__body { display: contents; }
	.vc-timeline__year { font-size: 30px; line-height: 1.5; }
	.vc-timeline__arrow { display: none; }
	.vc-timeline--horizontal .vc-timeline__item::before,
	.vc-timeline--vertical .vc-timeline__item::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 3.5px; width: 2px; background: var(--vc-accent, #d4d4d4); }
	.vc-timeline--horizontal .vc-timeline__item::after,
	.vc-timeline--vertical .vc-timeline__item::after,
	.vc-timeline--vertical .vc-timeline__item:last-child::after { content: ""; position: absolute; inset-block-start: 18px; inset-inline-start: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--vc-accent, #171717); }
	.vc-timeline--horizontal .vc-timeline__date { align-self: center; text-align: end; }
	.vc-timeline--horizontal .vc-timeline__title { font-size: 16px; }
	.vc-timeline--horizontal .vc-timeline__title,
	.vc-timeline--horizontal .vc-timeline__text,
	.vc-timeline--horizontal .vc-timeline__date { margin-inline: 0; }
	.vc-timeline__visual, .vc-timeline__item--right .vc-timeline__visual { justify-content: flex-start; }
	.vc-timeline__img, .vc-timeline__visual > .vc-ph { width: 100%; max-width: 100%; max-height: none; }
}

/* 联系我们 */
.vc-contact-frame { padding-inline: 0; }
.vc-contact {
	position: relative;
	overflow: hidden;
	background: var(--vc-bg, #f3f4f6);
	border-radius: 0;
	color: var(--vc-contact-fg, inherit);
}

.vc-contact__bg,
.vc-contact__bg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.vc-contact__bg--mobile { display: none; }

.vc-contact .vc-banner__overlay {
	opacity: var(--vc-overlay-o, 0.5);
}

.vc-contact__body {
	position: relative;
	z-index: 2;
	padding: 0 50px;
}
.vc-contact .vc-m__head { max-width: none; margin: 0; padding: 40px 0; }
.vc-contact .vc-m__title { max-width: 880px; margin: 0 auto 10px; font-size: 40px; line-height: 1.5; }
.vc-contact .vc-m__desc { font-size: 15px; line-height: 1.5; opacity: 1; }
.vc-contact__list {
	list-style: none;
	margin: 0;
	padding: 0 0 40px;
	display: grid;
	grid-template-columns: repeat(var(--vc-contact-count, 3), minmax(0, 1fr));
	gap: 0;
}
.vc-contact__body > .vc-contact__list:first-child { padding-top: 40px; }
.vc-contact__item { position: relative; min-width: 0; padding: 0 10px; overflow-wrap: anywhere; }
.vc-contact__item:not(:last-child)::after { content: ""; position: absolute; inset-block: 0; inset-inline-end: 0; width: 1px; background: currentColor; opacity: .3; pointer-events: none; }
.vc-contact__heading-link,
.vc-contact__method,
.vc-contact__method--linked {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	color: inherit;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.5;
}
.vc-contact .vc-contact__title { margin: 8px 0 5px; color: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; }
.vc-contact__heading-link, .vc-contact__method--linked { min-height: 24px; }
.vc-contact__heading-link { min-width: 24px; }
.vc-contact__heading-link--fallback { margin-bottom: 5px; text-decoration: underline; text-underline-offset: 3px; }
.vc-contact__text { width: 100%; min-width: 0; }
.vc-contact__text > :first-child { margin-top: 0; }
.vc-contact__text > :last-child { margin-bottom: 0; }
.vc-contact .vc-m__desc :where(p, strong, b, em, i, u, s, li, h2, h3, h4, a),
.vc-contact .vc-contact__text :where(p, strong, b, em, i, u, s, li, h2, h3, h4, a) { color: inherit; }
.vc-contact__text a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.vc-contact__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--vc-icon, 24px);
	max-width: 100%;
	height: auto;
	aspect-ratio: 1;
	color: var(--vc-accent, inherit);
	flex: 0 0 auto;
}
.vc-contact__icon img, .vc-contact__icon svg { display: block; width: 100%; height: 100%; object-fit: contain; }
.vc-contact__method--linked:focus-visible, .vc-contact__heading-link:focus-visible, .vc-contact__text a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 767px) {
	.vc-contact__bg--desktop { display: none; }
	.vc-contact__bg--mobile { display: block; }
	.vc-contact-frame { padding-inline: 15px; }
	.vc-contact-frame.vc-m__inner--full { padding-inline: 0; }
	.vc-contact__body { padding-inline: 15px; }
	.vc-contact .vc-m__head { padding-block: 30px; }
	.vc-contact .vc-m__title { font-size: 30px; }
	.vc-contact .vc-m__desc { padding-inline: 15px; font-size: 14px; }
	.vc-contact__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 0; padding-bottom: 30px; }
	.vc-contact__body > .vc-contact__list:first-child { padding-top: 30px; }
	.vc-contact__item:not(:last-child)::after { display: none; }
	.vc-contact__item:nth-child(2n + 1):not(:last-child)::after { display: block; }
}

/* 推广格子 */
.vc-promo {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 16px;
}

.vc-promo__title {
	margin: 0 0 12px;
	font-size: 20px;
}

.vc-promo__right {
	display: grid;
	gap: 16px;
	align-content: start;
}

.vc-promo__cat {
	position: relative;
	display: block;
	border-radius: 6px;
	overflow: hidden;
	background: #f3f4f6;
	color: inherit;
	text-decoration: none;
	min-height: 120px;
}

.vc-promo__cat span {
	position: absolute;
	left: 12px;
	bottom: 12px;
	font-weight: 600;
	background: rgba(255, 255, 255, 0.9);
	padding: 4px 10px;
	border-radius: 20px;
}

.vc-promo__img {
	width: 100%;
	height: auto;
	display: block;
}

/* Promo settings stay local; legacy proportions and dot visibility remain valid. */
.vc-promo .vc-carousel__dots button { background: var(--vc-promo-dot-color,rgba(255,255,255,.55)); }
.vc-promo .vc-carousel__dots button.is-active { background: var(--vc-promo-dot-color,#fff); }
.vc-promo.vc-promo--balanced { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; align-items: stretch; }
.vc-promo--balanced .vc-promo__column { display: flex; flex-direction: column; min-width: 0; }
.vc-promo--balanced .vc-promo__title { flex: none; margin: 0 0 20px; font-size: 40px; line-height: 1.5; overflow-wrap: anywhere; }
.vc-promo--balanced .vc-carousel { flex: 1; display: grid; grid-template-rows: minmax(min-content,1fr) auto; min-height: 0; border-radius: 6px; }
.vc-promo--balanced .vc-carousel:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.vc-promo--balanced .vc-carousel > .vc-slide { display: grid; position: relative; min-width: 0; min-height: 0; overflow: hidden; border-radius: 6px; }
.vc-promo--balanced .vc-slide > .vc-link { display: grid; width: 100%; height: 100%; min-width: 0; min-height: 0; }
.vc-promo--balanced .vc-slide__media { display: block; width: 100%; height: 100%; object-fit: cover; }
.vc-promo--balanced .vc-slide > .vc-ph { height: 100%; min-height: 0; }
.vc-promo--balanced .vc-promo__right { gap: 0; }
.vc-promo--balanced .vc-promo__categories { flex: 1; display: grid; grid-template-columns: minmax(0,1fr); grid-auto-rows: minmax(min-content,1fr); gap: 1.5rem; min-width: 0; }
.vc-promo--balanced .vc-promo__cat { display: grid; align-items: end; align-self: stretch; aspect-ratio: 2/1; width: 100%; max-width: 100%; min-width: 0; min-height: 0; }
.vc-promo--balanced .vc-promo__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vc-promo--balanced .vc-promo__cat .vc-promo__cat-title { position: relative; left: auto; bottom: auto; width: 100%; margin: 0; padding: 37px 12px; border-radius: 0; color: #fff; background: linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.65) 85%,transparent); font-size: 1.25rem; line-height: 1.25; overflow-wrap: anywhere; }
.vc-promo--balanced .vc-promo__empty { position: relative; aspect-ratio: 2/1; width: 100%; max-width: 100%; min-width: 0; }
.vc-promo--balanced .vc-promo__empty > .vc-ph { position: absolute; inset: 0; min-height: 0; padding: 8px; overflow-wrap: anywhere; }
.vc-promo--balanced .vc-carousel__dots { position: static; grid-area: 2/1; align-self: end; flex-wrap: wrap; min-height: 30px; height: auto; padding: 3px 0; gap: 0; background: #fff; }
.vc-promo--balanced .vc-carousel__dots button { display: grid; place-items: center; width: 24px; height: 24px; min-width: 24px; padding: 0; background: transparent; border-radius: 0; }
.vc-promo--balanced .vc-carousel__dots button.is-active { background: transparent; }
.vc-promo--balanced .vc-carousel__dots button::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--vc-promo-dot-color,#171717); opacity: .5; }
.vc-promo--balanced .vc-carousel__dots button.is-active::before { opacity: 1; }
.vc-promo--balanced .vc-carousel__dots button:focus-visible { outline: 2px solid var(--vc-promo-dot-color,#171717); outline-offset: -2px; }
.vc-promo.vc-promo--single-column { grid-template-columns: minmax(0,1fr); }
@media (max-width:767px) {
	.vc-promo--balanced .vc-promo__column { padding: 16px 8px; border-radius: 8px; background: #fff; }
	.vc-promo--balanced .vc-promo__title { font-size: 30px; }
	.vc-promo--balanced .vc-promo__cat .vc-promo__cat-title { padding: 6px 8px; font-size: 12px; line-height: 1.2; }
}

/* 滚动文本 */
.vc-marquee {
	position: relative;
	display: flow-root;
	min-height: var(--vc-h, 64px);
	background: var(--vc-bg, #1d2327);
	color: var(--vc-fg, #fff);
	font-size: var(--vc-fs, 20px);
	line-height: 1.4;
}

.vc-marquee__viewport {
	min-height: var(--vc-h, 64px);
	display: flex;
	align-items: center;
	overflow: auto;
}

.vc-marquee__group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	flex: 0 0 auto;
	max-width: 100%;
}

.vc-marquee__track {
	width: 100%;
}

.vc-marquee__item {
	flex: 0 0 auto;
	max-width: 100%;
	padding: 8px 20px;
	overflow-wrap: anywhere;
}

.vc-marquee__item > :first-child { margin-block-start: 0; }
.vc-marquee__item > :last-child { margin-block-end: 0; }
.vc-marquee .vc-marquee__item :where(p, strong, b, em, i, u, ul, ol, li, h3, h4, a) { color: inherit; }
.vc-marquee__item a { color: inherit; text-underline-offset: .16em; }
.vc-marquee a:focus-visible,
.vc-marquee__toggle:focus-visible,
.vc-marquee__viewport:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }

.vc-marquee.is-enhanced .vc-marquee__viewport {
	min-height: max(0px, calc(var(--vc-h, 64px) - 36px));
	overflow: hidden;
	direction: ltr;
}
.vc-marquee.is-enhanced .vc-marquee__track {
	display: flex;
	width: max-content;
	direction: ltr;
	animation: vc-marquee var(--vc-duration, 40s) linear infinite;
}

.vc-marquee.is-enhanced .vc-marquee__group {
	flex-wrap: nowrap;
	max-width: none;
}

.vc-marquee.is-enhanced .vc-marquee__item {
	max-width: none;
	white-space: nowrap;
}

.vc-marquee--right.is-enhanced .vc-marquee__track { animation-direction: reverse; }
.vc-marquee.is-paused .vc-marquee__track { animation-play-state: paused; }
.vc-marquee.is-reading .vc-marquee__viewport { overflow: auto; }
.vc-marquee.is-reading .vc-marquee__track { animation: none; transform: none; }
.vc-marquee.is-reading [data-vc-marquee-copy] { display: none; }

.vc-marquee__toggle {
	display: block;
	margin: 0 12px 8px auto;
	padding: 4px 8px;
	min-height: 28px;
	border: 1px solid currentColor;
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 12px;
	line-height: 1.5;
	cursor: pointer;
}
.vc-marquee__toggle[hidden] { display: none; }
.vc-marquee__toggle:hover { text-decoration: underline; text-underline-offset: .16em; }

@keyframes vc-marquee {
	to { transform: translateX(calc(-1 * var(--vc-marquee-distance, 0px))); }
}

/* 空白 */
/* 空白积木块只有自己的高度，电脑和手机都不加默认上下留白。 */
.vc-m.vc-m--spacer {
	padding: 0;
}

.vc-spacer {
	height: var(--vc-h, 40px);
	background: var(--vc-bg, transparent);
}

/* 富文本 */
.vc-rich {
	max-width: var(--vc-w, 800px);
	margin: 0 auto;
	padding: var(--vc-pad, 32px);
	border-radius: var(--vc-radius, 0);
	background: var(--vc-text-bg, transparent);
	color: var(--vc-fg, inherit);
	line-height: 1.7;
}

/* 对比图 */
.vc-compare {
	position: relative;
	overflow: hidden;
	max-width: 1000px;
	margin: 0 auto;
	user-select: none;
}

.vc-compare__after .vc-compare__img,
.vc-compare__after .vc-ph {
	display: block;
	width: 100%;
	height: auto;
}

.vc-compare__before {
	position: absolute;
	inset: 0;
	clip-path: inset(0 calc(100% - var(--vc-pos, 50%)) 0 0);
}

.vc-compare__before .vc-compare__img,
.vc-compare__before .vc-ph {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vc-compare::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--vc-pos, 50%);
	width: 2px;
	background: #fff;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
	pointer-events: none;
}

.vc-compare__range {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: ew-resize;
	margin: 0;
}
.vc-compare:focus-within { outline: 2px solid currentColor; outline-offset: 4px; }

.vc-compare__label {
	position: absolute;
	top: 12px;
	padding: 4px 10px;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	border-radius: 20px;
	font-size: 13px;
	z-index: 2;
}

.vc-compare__label--before { left: 12px; }
.vc-compare__label--after { right: 12px; }

/* 热点 */
.vc-hotspots {
	position: relative;
}
.vc-hotspots__overlay { position: absolute; inset: 0; background: var(--vc-overlay, transparent); pointer-events: none; }
.vc-showcase__product-image { display: block; width: 100%; height: 110px; margin-bottom: 10px; object-fit: contain; }
.vc-m picture img[data-vc-media-fit] { --vc-media-fit-active: var(--vc-media-fit-d, cover); --vc-media-pos-active: var(--vc-media-pos-d, 50% 50%); }

.vc-hotspot {
	position: absolute;
	left: var(--x, 50%);
	top: var(--y, 50%);
	transform: translate(-50%, -50%);
	z-index: 3;
}

.vc-hotspot > summary {
	list-style: none;
	cursor: pointer;
}

.vc-hotspot > summary::-webkit-details-marker {
	display: none;
}

.vc-hotspot__dot {
	display: block;
	width: var(--vc-icon, 32px);
	height: var(--vc-icon, 32px);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.35), 0 2px 8px rgba(0, 0, 0, 0.25);
}

.vc-hotspot__icon {
	width: var(--vc-icon, 32px);
	height: auto;
	display: block;
}

.vc-hotspot__pop {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 12px);
	transform: translateX(-50%);
	width: 240px;
	background: #fff;
	color: #1d2327;
	border-radius: 8px;
	padding: 14px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.vc-hotspot__pop p {
	margin: 6px 0 10px;
	font-size: 14px;
}

.vc-hotspot__pop--bottom { bottom: auto; top: calc(100% + 12px); }
.vc-hotspot__pop--right { left: calc(100% + 12px); bottom: auto; top: 50%; transform: translateY(-50%); }
.vc-hotspot__pop--left { left: auto; right: calc(100% + 12px); bottom: auto; top: 50%; transform: translateY(-50%); }

/* FAQ */
.vc-faq {
	max-width: 860px;
	margin: 0 auto;
	display: grid;
	gap: 10px;
}

.vc-faq__item {
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	overflow: hidden;
}

.vc-faq__item > summary {
	padding: 16px 20px;
	font-weight: 600;
	cursor: pointer;
}

.vc-faq__answer {
	padding: 4px 20px 18px;
	background: var(--vc-answer-bg, transparent);
	color: var(--vc-answer-fg, inherit);
	line-height: 1.7;
}

/* H1 */
.vc-hero-h1 {
	min-height: 200px;
}

.vc-hero-h1__title {
	margin: 0 0 12px;
	font-size: clamp(30px, 4.5vw, 56px);
	line-height: 1.1;
	color: var(--vc-title-c, inherit);
}

.vc-hero-h1 .vc-mt__text .vc-btn {
	margin-top: 16px;
}

/* 导航栏 */
.vc-nav {
	background: var(--vc-bg, transparent);
	color: var(--vc-fg, inherit);
	font-size: var(--vc-fs, 16px);
}

.vc-nav--border {
	border-top: 1px solid var(--vc-border, currentColor);
	border-bottom: 1px solid var(--vc-border, currentColor);
}

.vc-nav__list {
	list-style: none;
	margin: 0;
	padding: var(--vc-pad, 12px) 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
}

.vc-nav--center .vc-nav__list { justify-content: center; }
.vc-nav--right .vc-nav__list { justify-content: flex-end; }

.vc-nav__list a {
	color: inherit;
	text-decoration: none;
}

/* 商标 */
.vc-logos {
	display: grid;
	grid-template-columns: repeat(var(--vc-cols, 6), minmax(0, 1fr));
	gap: 20px;
	align-items: center;
}

.vc-logos--scroll {
	display: flex;
	overflow-x: auto;
}

.vc-logos--scroll .vc-logos__item {
	flex: 0 0 calc((100% - (var(--vc-cols, 6) - 1) * 20px) / var(--vc-cols, 6));
}

.vc-logos__img {
	width: 100%;
	height: auto;
	display: block;
	filter: grayscale(1);
	opacity: 0.8;
	transition: filter 0.2s, opacity 0.2s;
}

.vc-logos__item:hover .vc-logos__img {
	filter: none;
	opacity: 1;
}

.vc-logos .vc-ph {
	min-height: 60px;
}

/* 文本区块 */
.vc-textblock {
	color: var(--vc-fg, inherit);
	line-height: 1.7;
}

.vc-textblock.is-collapsible:not(.is-open) .vc-textblock__body {
	max-height: var(--vc-collapsed, 160px);
	overflow: hidden;
	mask-image: linear-gradient(#000 60%, transparent);
}

.vc-textblock__toggle {
	margin-top: 10px;
	background: none;
	border: 0;
	padding: 0;
	color: var(--vc-btn-c, inherit);
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
}

/* 自定义 HTML */
.vc-custom {
	overflow-wrap: anywhere;
}

/* 滚动渐显 */
.vc-reveal.is-pending > * {
	opacity: 0;
	transform: translateY(24px);
}

.vc-reveal.is-pending > *.is-in {
	opacity: 1;
	transform: none;
	transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 小标题 + 两行标题（左对齐）、文字链接 */
.vc-m__head--left {
	text-align: left;
	margin-left: 0;
	max-width: none;
}

.vc-text-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	color: inherit;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

/* 轮播：图文并排、按钮组、短信息、浮动卡片、图片说明 */
.vc-slide__figure {
	position: relative;
	margin: 0;
}

.vc-slide--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: clamp(20px, 4vw, 64px);
	align-items: center;
	padding: clamp(20px, 4vw, 56px);
	color: var(--vc-fg, inherit);
}

.vc-slide--split .vc-slide__text {
	position: static;
	padding: 0;
	color: inherit;
}

.vc-slide__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: 8px;
}

.vc-slide__actions .vc-text-link {
	margin-top: 0;
}

.vc-slide__facts {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	font-size: 13px;
	opacity: 0.85;
}

.vc-slide__cards {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 8px;
	padding: 12px;
	pointer-events: none;
}

.vc-slide__cards > * {
	pointer-events: auto;
	max-width: 260px;
}

/* 压在图上且已拖动定位：按 x / y 放在图片上 */
.vc-cards-d-overlay > .is-placed-d {
	position: absolute;
	left: var(--x);
	top: var(--y);
}

.vc-cards-d-below {
	position: static;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 12px 0 0;
}

.vc-cards-d-hidden {
	display: none;
}

.vc-slide__card {
	display: grid;
	gap: 2px;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.94);
	color: #1d2327;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
	text-decoration: none;
	font-size: 13px;
}

.vc-slide__card-label {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.7;
}

.vc-slide__card-action {
	font-size: 12px;
	opacity: 0.75;
}

.vc-slide__number {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 2px 8px;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	border-radius: 12px;
	font-size: 12px;
}

.vc-slide__footnote {
	margin: 16px 0 0;
	font-size: 13px;
	opacity: 0.75;
}

.vc-slide__caption {
	padding-top: 8px;
	font-size: 12px;
	opacity: 0.75;
}

/* 标题栏 */
.vc-heading .vc-m__head {
	margin-bottom: 0;
	max-width: 820px;
}

.vc-heading--center .vc-m__head {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.vc-heading--right .vc-m__head {
	text-align: right;
	margin-left: auto;
}

/* 商品区 */
.vc-collection .vc-m__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 32px;
}

.vc-collection .vc-m__head .vc-m__title {
	flex: 1 1 100%;
}

.vc-products.home-product-grid {
	display: grid;
	grid-template-columns: repeat(var(--vc-cols, 4), minmax(0, 1fr));
	gap: var(--vc-gap, 24px);
}

.vc-products--no-report .product-report-preview {
	display: none;
}

.vc-price {
	margin: 4px 0 0;
	font-weight: 600;
}

.vc-empty {
	padding: 24px;
	text-align: center;
	opacity: 0.7;
}

/* 批次报告介绍 */
.vc-m--report-feature {
	background: var(--vc-m-bg, #0f2a3d);
	color: var(--vc-fg, #fff);
}

.vc-report-feature__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(24px, 5vw, 72px);
	align-items: center;
}

.vc-report-feature .vc-btn {
	background: var(--vc-btn-bg, #fff);
	color: var(--vc-btn-fg, #0f2a3d);
	margin-top: 16px;
}

.vc-report-card {
	background: #fff;
	color: #1d2327;
	border-radius: 14px;
	padding: 22px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.vc-report-card__top {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 10px;
	color: #0f766e;
}

.vc-report-card__title {
	margin: 0 0 12px;
	font-size: 20px;
}

.vc-report-card__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid #e5e7eb;
	font-size: 14px;
}

.vc-report-card__row span {
	opacity: 0.65;
}

.vc-report-card__note {
	margin: 12px 0 0;
	font-size: 13px;
	opacity: 0.7;
}

/* 结尾引导 */
.vc-cta {
	text-align: center;
	background: var(--vc-m-bg, transparent);
	color: var(--vc-fg, inherit);
}

.vc-cta .vc-btn {
	margin-top: 16px;
}

/* FAQ：标题在左、问答在右 */
.vc-faq-wrap--side {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
	gap: clamp(24px, 5vw, 72px);
	align-items: start;
}

.vc-faq-wrap--side .vc-faq {
	max-width: none;
	margin: 0;
}

.vc-faq-wrap--stacked .vc-m__head {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

/* 手机版单独设置：同一个积木输出电脑版和手机版两份，按屏幕宽度只显示一份。 */
.vc-v--desktop {
	display: contents;
}

.vc-v--mobile {
	display: none;
}

/* 手机 */
@media (max-width: 767px) {
	.vc-v--desktop {
		display: none;
	}

	.vc-v--mobile {
		display: contents;
	}

	.vc-m {
		padding-top: var(--vc-m-pt-m, 32px);
		padding-bottom: var(--vc-m-pb-m, 32px);
	}

	.vc-hide-mobile {
		display: none !important;
	}

	[class*="vc-pos-d-"] { justify-content: center; align-items: center; text-align: center; }
	.vc-pos-m-top-left, .vc-pos-m-top-center, .vc-pos-m-top-right { justify-content: flex-start; }
	.vc-pos-m-middle-left, .vc-pos-m-middle-center, .vc-pos-m-middle-right { justify-content: center; }
	.vc-pos-m-bottom-left, .vc-pos-m-bottom-center, .vc-pos-m-bottom-right { justify-content: flex-end; }
	.vc-pos-m-top-left, .vc-pos-m-middle-left, .vc-pos-m-bottom-left { align-items: flex-start; text-align: left; }
	.vc-pos-m-top-center, .vc-pos-m-middle-center, .vc-pos-m-bottom-center { align-items: center; text-align: center; }
	.vc-pos-m-top-right, .vc-pos-m-middle-right, .vc-pos-m-bottom-right { align-items: flex-end; text-align: right; }

	.vc-carousel--fixed .vc-slide { height: var(--vc-h-m, var(--vc-h, 520px)); }
	.vc-banner--video,
	.vc-banner--video .vc-banner__text { min-height: var(--vc-h-m, var(--vc-h, 420px)); }
	.vc-spacer { height: var(--vc-h-m, var(--vc-h, 24px)); }
	.vc-rich { padding: var(--vc-pad-m, var(--vc-pad, 20px)); }
	.vc-mt-list { gap: var(--vc-gap-m, var(--vc-gap, 32px)); }

	.vc-grid,
	.vc-logos { grid-template-columns: repeat(var(--vc-cols-m, 1), minmax(0, 1fr)); }
	.vc-card-list .vc-grid--grid { grid-template-columns: repeat(var(--vc-cols-m, 1), minmax(28px, 1fr)); }
	.vc-card-list .vc-grid--masonry { column-count: var(--vc-cols-m, 1); }
	.vc-logos--scroll .vc-logos__item { flex-basis: calc((100% - (var(--vc-cols-m, 2) - 1) * 20px) / var(--vc-cols-m, 2)); }
	.vc-m picture img[data-vc-media-fit] { --vc-media-fit-active: var(--vc-media-fit-m, var(--vc-media-fit-d, cover)); --vc-media-pos-active: var(--vc-media-pos-m, var(--vc-media-pos-d, 50% 50%)); }
	.vc-grid--carousel > * { flex-basis: calc((100% - (var(--vc-cols-m, 1) - 1) * var(--vc-gap, 24px)) / var(--vc-cols-m, 1)); }
	.vc-gallery { columns: var(--vc-cols-m, 2); }

	.vc-row--scroll { overflow-x: auto; scroll-snap-type: x mandatory; }
	.vc-row--scroll .vc-row__item { flex: 0 0 80%; scroll-snap-align: start; }
	.vc-row--stack { flex-direction: column; }
	.vc-row--inline .vc-row__item { flex: 1 1 0; }

	.vc-mt,
	.vc-mt--d-right { grid-template-columns: 1fr; }
	.vc-mt--d-right .vc-mt__media { order: 0; }
	.vc-mt--m-bottom .vc-mt__media { order: 2; }
	.vc-mt--m-top .vc-mt__media { order: 0; }
	.vc-mt--m-left, .vc-mt--m-right { grid-template-columns: 1fr 1fr; }
	.vc-mt--m-left .vc-mt__media { order: 0; }
	.vc-mt--m-right .vc-mt__media { order: 2; }

	.vc-mosaic,
	.vc-mosaic--4,
	.vc-mosaic--5,
	.vc-mosaic--5.vc-mosaic--top { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.vc-mosaic .vc-mosaic__tile { grid-column: auto; }
	.vc-mosaic--3,
	.vc-mosaic--4,
	.vc-mosaic--5 { gap: var(--vc-gap-m, var(--vc-gap, 16px)); }
	.vc-mosaic__title { max-width: calc(100% - 30px); margin: 15px; font-size: 20px; }
	.vc-mosaic__title--with-button { margin-bottom: 64px; }
	.vc-mosaic--3 .vc-mosaic__tile--1 { aspect-ratio: 1; }
	.vc-mosaic--3.vc-mosaic--left .vc-mosaic__tile--1 { grid-area: 1 / 1 / 2 / 3; }
	.vc-mosaic--3.vc-mosaic--left .vc-mosaic__tile--2 { grid-area: 2 / 1 / 3 / 2; }
	.vc-mosaic--3.vc-mosaic--left .vc-mosaic__tile--3 { grid-area: 2 / 2 / 3 / 3; }
	.vc-mosaic--3.vc-mosaic--right .vc-mosaic__tile--1 { grid-area: 2 / 1 / 3 / 3; }
	.vc-mosaic--3.vc-mosaic--right .vc-mosaic__tile--2 { grid-area: 1 / 1 / 2 / 2; }
	.vc-mosaic--3.vc-mosaic--right .vc-mosaic__tile--3 { grid-area: 1 / 2 / 2 / 3; }
	.vc-mosaic--4 .vc-mosaic__tile--4 { aspect-ratio: 2; }
	.vc-mosaic--4.vc-mosaic--left .vc-mosaic__tile--1 { grid-area: 1 / 1 / 3 / 2; }
	.vc-mosaic--4.vc-mosaic--left .vc-mosaic__tile--2 { grid-area: 1 / 2 / 2 / 3; }
	.vc-mosaic--4.vc-mosaic--left .vc-mosaic__tile--3 { grid-area: 2 / 2 / 3 / 3; }
	.vc-mosaic--4.vc-mosaic--left .vc-mosaic__tile--4 { grid-area: 3 / 1 / 4 / 3; }
	.vc-mosaic--4.vc-mosaic--right .vc-mosaic__tile--1 { grid-area: 1 / 2 / 3 / 3; }
	.vc-mosaic--4.vc-mosaic--right .vc-mosaic__tile--2 { grid-area: 1 / 1 / 2 / 2; }
	.vc-mosaic--4.vc-mosaic--right .vc-mosaic__tile--3 { grid-area: 2 / 1 / 3 / 2; }
	.vc-mosaic--4.vc-mosaic--right .vc-mosaic__tile--4 { grid-area: 3 / 1 / 4 / 3; }
	.vc-mosaic--4.vc-mosaic--poster,
	.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--1,
	.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right .vc-mosaic__tile--1 { grid-area: 1 / 1 / 2 / 3; aspect-ratio: 7 / 5; }
	.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--2,
	.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right .vc-mosaic__tile--2 { grid-area: 2 / 1 / 3 / 2; }
	.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--3,
	.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right .vc-mosaic__tile--3 { grid-area: 2 / 2 / 3 / 3; }
	.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--4,
	.vc-mosaic--4.vc-mosaic--poster.vc-mosaic--right .vc-mosaic__tile--4 { grid-area: 3 / 1 / 4 / 3; }
	.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--titled { aspect-ratio: auto; }
	.vc-mosaic--4.vc-mosaic--poster .vc-mosaic__tile--titled::before { content: ''; grid-area: 1 / 1; width: 100%; aspect-ratio: 7 / 5; pointer-events: none; }
	.vc-mosaic--5 { grid-template-rows: repeat(3, 1fr); }
	.vc-mosaic--5.vc-mosaic--left .vc-mosaic__tile--1 { grid-area: 1 / 1 / 3 / 2; }
	.vc-mosaic--5.vc-mosaic--left .vc-mosaic__tile--2 { grid-area: 1 / 2 / 2 / 3; }
	.vc-mosaic--5.vc-mosaic--left .vc-mosaic__tile--3 { grid-area: 2 / 2 / 3 / 3; }
	.vc-mosaic--5.vc-mosaic--left .vc-mosaic__tile--4 { grid-area: 3 / 1 / 4 / 2; }
	.vc-mosaic--5.vc-mosaic--left .vc-mosaic__tile--5 { grid-area: 3 / 2 / 4 / 3; }
	.vc-mosaic--5.vc-mosaic--center .vc-mosaic__tile--1 { grid-area: 2 / 2 / 4 / 3; }
	.vc-mosaic--5.vc-mosaic--center .vc-mosaic__tile--2 { grid-area: 1 / 1 / 2 / 2; }
	.vc-mosaic--5.vc-mosaic--center .vc-mosaic__tile--3 { grid-area: 1 / 2 / 2 / 3; }
	.vc-mosaic--5.vc-mosaic--center .vc-mosaic__tile--4 { grid-area: 2 / 1 / 3 / 2; }
	.vc-mosaic--5.vc-mosaic--center .vc-mosaic__tile--5 { grid-area: 3 / 1 / 4 / 2; }
	.vc-mosaic--5.vc-mosaic--right .vc-mosaic__tile--1 { grid-area: 1 / 2 / 3 / 3; }
	.vc-mosaic--5.vc-mosaic--right .vc-mosaic__tile--2 { grid-area: 1 / 1 / 2 / 2; }
	.vc-mosaic--5.vc-mosaic--right .vc-mosaic__tile--3 { grid-area: 2 / 1 / 3 / 2; }
	.vc-mosaic--5.vc-mosaic--right .vc-mosaic__tile--4 { grid-area: 3 / 1 / 4 / 2; }
	.vc-mosaic--5.vc-mosaic--right .vc-mosaic__tile--5 { grid-area: 3 / 2 / 4 / 3; }
	.vc-mosaic--5.vc-mosaic--top { grid-template-rows: repeat(3, 1fr); }
	.vc-mosaic--5.vc-mosaic--top .vc-mosaic__tile--1 { grid-area: 1 / 1 / 2 / 3; aspect-ratio: 2; }
	.vc-mosaic--5.vc-mosaic--top .vc-mosaic__tile--2 { grid-area: 2 / 1 / 3 / 2; }
	.vc-mosaic--5.vc-mosaic--top .vc-mosaic__tile--3 { grid-area: 2 / 2 / 3 / 3; }
	.vc-mosaic--5.vc-mosaic--top .vc-mosaic__tile--4 { grid-area: 3 / 1 / 4 / 2; }
	.vc-mosaic--5.vc-mosaic--top .vc-mosaic__tile--5 { grid-area: 3 / 2 / 4 / 3; }

	.vc-video-block--left,
	.vc-video-block--right { grid-template-columns: 1fr; }
	.vc-video-block--left .vc-video { order: 0; }

	.vc-counter { grid-template-columns: repeat(var(--vc-cols-m, 1), minmax(min(100%, 140px), 1fr)); column-gap: 0; row-gap: 0; }
	.vc-counter__item { flex-direction: column; flex-wrap: nowrap; gap: 20px; padding: 30px 12px; text-align: center; }
	.vc-counter__item::before { display: none; }
	.vc-counter__icon { flex-basis: 74px; }
	.vc-gallery--rail { --vc-gallery-image-height: 370px; }
	.vc-gallery--rail .vc-gallery__caption { font-size: 14px; }

	.vc-slogan { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.vc-slogan--carousel {
		display: flex;
		align-items: flex-start;
		gap: 30px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
	}
	.vc-slogan--carousel > .vc-slogan__item { flex: 0 0 100%; scroll-snap-align: start; }
	.vc-slogan--carousel.is-enhanced { overflow-y: hidden; scrollbar-width: none; }
	.vc-slogan--carousel.is-enhanced::-webkit-scrollbar { display: none; }
	.vc-slogan--carousel:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
	.vc-slogan__pages:not([hidden]) { display: flex; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
	.vc-slogan__page {
		display: grid;
		place-items: center;
		width: 24px;
		height: 24px;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: inherit;
		cursor: pointer;
	}
	.vc-slogan__page::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .35; }
	.vc-slogan__page[aria-current="true"]::before { opacity: 1; }
	.vc-slogan__page:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }

	.vc-swipe-m {
		display: flex !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		flex-wrap: nowrap !important;
	}

	.vc-swipe-m > * {
		flex: 0 0 75%;
		scroll-snap-align: start;
	}

	.vc-promo { grid-template-columns: 1fr; }
	.vc-slide--split,
	.vc-report-feature__inner,
	.vc-faq-wrap--side { grid-template-columns: 1fr; }
	.vc-slide__cards { display: flex; }
	.vc-cards-m-overlay { position: absolute; inset: 0; flex-direction: column; padding: 8px; }
	.vc-cards-m-overlay > .is-placed-d { position: static; }
	.vc-cards-m-overlay > .is-placed-m { position: absolute; left: var(--x-m); top: var(--y-m); }
	.vc-cards-m-below { position: static; flex-direction: column; align-items: stretch; padding: 10px 0 0; }
	.vc-cards-m-below > * { max-width: none; }
	.vc-cards-m-below > .is-placed-d { position: static; }
	.vc-cards-m-hidden { display: none; }
	.vc-products.home-product-grid { grid-template-columns: repeat(var(--vc-cols-m, 2), minmax(0, 1fr)); }

	.vc-hotspot {
		left: var(--x-m, var(--x, 50%));
		top: var(--y-m, var(--y, 50%));
	}

	.vc-hotspot__pop { width: 200px; }
}

@media (min-width: 768px) {
	.vc-hide-desktop {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vc-btn.is-effect-active,
	.vc-btn--pulse,
	.vc-btn--pulse.is-effect-active,
	.vc-btn--shine::after,
	.vc-btn--shine.is-effect-active::after,
	.vc-marquee__track {
		animation: none;
	}

	.vc-carousel > .vc-slide,
	.vc-reveal.is-pending > * {
		transition: none;
	}

	.vc-reveal.is-pending > * {
		opacity: 1;
		transform: none;
	}
}

/* 编辑器里：显示被隐藏的模块（半透明）、标记，链接不跳转 */
.vc-m--editor.vc-hide-desktop,
.vc-m--editor.vc-hide-mobile {
	display: block !important;
	opacity: 0.55;
}

.vc-m--editor a,
.vc-m--editor summary,
.vc-m--editor input,
.vc-m--editor button,
.vc-m--editor iframe,
.vc-m--editor video {
	pointer-events: none;
}

.vc-m--editor .is-hidden {
	opacity: 0.35;
	outline: 1px dashed #b32d2e;
}

.vc-m--editor .vc-carousel > .vc-slide:not(.is-active) {
	display: none;
}

.vc-m--editor .vc-spacer {
	outline: 1px dashed #c3c4c7;
}

.vc-m--editor .vc-spacer::after {
	content: attr(data-label);
	display: block;
	text-align: center;
	font-size: 11px;
	color: #646970;
	line-height: var(--vc-h, 40px);
}

.vc-m__badge {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 10;
	background: #b32d2e;
	color: #fff;
	font-size: 12px;
	padding: 2px 8px;
	border-radius: 3px;
}

.vc-m__notice {
	padding: 24px;
	text-align: center;
	color: #646970;
	background: #f6f7f7;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
}

/* Rich text: device widths and nullable sides retain the legacy uniform padding. */
.vc-m--rich-text .vc-rich {
	width: 100%;
	box-sizing: border-box;
	overflow-wrap: anywhere;
	padding-top: var(--vc-pad-t, var(--vc-pad, 32px));
	padding-bottom: var(--vc-pad-b, var(--vc-pad, 32px));
	padding-left: min(var(--vc-pad-l, var(--vc-pad, 32px)), 40%, calc(var(--vc-w, 800px) * .4));
	padding-right: min(var(--vc-pad-r, var(--vc-pad, 32px)), 40%, calc(var(--vc-w, 800px) * .4));
}
.vc-m--rich-text .vc-richtext :is(p, h3, h4, ul, ol, li, strong, b, em, i, u, a) { color: inherit; }
.vc-m--rich-text .vc-rich .vc-btn { max-width: 100%; min-width: 0; overflow-wrap: anywhere; white-space: normal; text-align: center; padding-inline: min(22px, 10%); }
@media (max-width: 767px) {
	.vc-m--rich-text .vc-rich {
		max-width: var(--vc-w-m, var(--vc-w, 800px));
		padding-top: var(--vc-pad-t-m, var(--vc-pad-m, var(--vc-pad, 20px)));
		padding-bottom: var(--vc-pad-b-m, var(--vc-pad-m, var(--vc-pad, 20px)));
		padding-left: min(var(--vc-pad-l-m, var(--vc-pad-m, var(--vc-pad, 20px))), 40%, calc(var(--vc-w-m, var(--vc-w, 800px)) * .4));
		padding-right: min(var(--vc-pad-r-m, var(--vc-pad-m, var(--vc-pad, 20px))), 40%, calc(var(--vc-w-m, var(--vc-w, 800px)) * .4));
	}
}

/* Only server-validated rich images; contact symbols and background media keep their own sizing. */
.vc-contact .vc-m__desc img.pc-rich-image,
.vc-contact .vc-contact__text img.pc-rich-image,
.vc-m--rich-text .vc-rich .vc-richtext img.pc-rich-image,
.vc-content-rich .vc-content-rich-body img.pc-rich-image { display: inline-block; max-inline-size: 100%; block-size: auto; object-fit: contain; }

/* Image comparisons keep the original after-image frame beside a natural before-image frame. */
.vc-m--compare .vc-m__desc :is(p, h3, h4, ul, ol, li, strong, b, em, i, u, a) { color: inherit; }
.vc-m--compare .vc-compare--natural { width: 100%; max-width: none; }
.vc-m--compare .vc-compare--natural .vc-compare__before { position: relative; inset: auto; clip-path: none; z-index: 0; }
.vc-m--compare .vc-compare--natural .vc-compare__before .vc-compare__img { display: block; width: 100%; height: auto; }
.vc-m--compare .vc-compare--natural .vc-compare__after { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--vc-pos, 50%)); z-index: 1; }
.vc-m--compare .vc-compare--natural .vc-compare__after .vc-compare__img { width: 100%; height: 100%; object-fit: cover; }
.vc-m--compare .vc-compare--natural .vc-compare__label { top: auto; bottom: 10px; max-width: calc(50% - 20px); padding: 0; background: transparent; color: #1a1a1a; border-radius: 0; font-size: 22px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.vc-m--compare .vc-compare--natural .vc-compare__label--before { left: 10px; }
.vc-m--compare .vc-compare--natural .vc-compare__label--after { right: 10px; text-align: right; }
.vc-m--compare .vc-compare::after { z-index: 3; }
.vc-m--compare .vc-compare__handle { display: none; position: absolute; left: clamp(14px, var(--vc-pos, 50%), calc(100% - 14px)); top: 50%; transform: translate(-50%, -50%); width: 28px; height: 35px; border-radius: 999px; background: #fff; color: #171717; box-shadow: 0 2px 4px rgba(0, 0, 0, .16); pointer-events: none; z-index: 4; }
.vc-m--compare .vc-compare__handle svg { display: block; }
.vc-m--compare .vc-compare.is-interactive .vc-compare__handle { display: block; }
.vc-m--compare .vc-compare__range { direction: ltr; touch-action: pan-y; z-index: 5; }
.vc-m--compare .vc-compare__range:disabled { display: none; }
.vc-m--compare .vc-compare--single::after { display: none; }
.vc-m--compare .vc-compare__single { position: relative; }
.vc-m--compare .vc-compare__single .vc-compare__img { display: block; width: 100%; height: auto; }
.vc-m--compare .vc-compare--single .vc-compare__label { max-width: calc(100% - 24px); overflow-wrap: anywhere; }
@media (min-width: 1150px) { .vc-m--compare .vc-compare--natural { width: 80%; } }
@media (max-width: 767px) { .vc-m--compare .vc-compare--natural .vc-compare__label { font-size: 18px; } }

/* Image hotspots only: the product showcase keeps its existing shared marker rules. */
.vc-hotspots-layout--plus > .vc-m__head { padding-inline: 20px; }
.vc-hotspots .vc-hotspot__popup-media { margin-bottom: 12px; }
.vc-hotspots .vc-hotspot__popup-image { display: block; width: min(var(--vc-popup-image-width, 32px), 100%); height: auto; }
.vc-hotspots .vc-hotspot__pop :is(p, h3, h4, ul, ol, li, strong, b, em, i, u, a) { color: inherit; }
.vc-hotspots .vc-hotspot__pop a { text-decoration: underline; text-underline-offset: 3px; }
.vc-hotspots--plus { --vc-hotspot-point-size: 48px; display: grid; isolation: isolate; }
.vc-m--hotspots:has(.vc-hotspots--plus.is-enhanced > .vc-hotspot[open]) { z-index: 1; }
.vc-hotspots--plus > picture, .vc-hotspots--plus > .vc-ph { display: block; width: 100%; grid-area: 1 / 1; }
.vc-hotspots--plus > .vc-hotspots__overlay { position: relative; inset: auto; grid-area: 1 / 1; z-index: 1; }
.vc-hotspots--plus > .vc-hotspot { position: static; left: auto; top: auto; width: auto; height: auto; max-width: calc(100% - 40px); margin: 16px 20px; transform: none; grid-column: 1; }
.vc-hotspots--plus > .vc-hotspot > summary { position: relative; display: flex; align-items: center; justify-content: center; width: var(--vc-hotspot-point-size); height: var(--vc-hotspot-point-size); border-radius: 50%; background: #fff; color: #171717; z-index: 1; }
.vc-hotspots--plus > .vc-hotspot > summary::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: 0 0 0 16px rgba(255, 255, 255, .24); animation: vc-hotspot-pulse 2s ease-in-out infinite alternate; pointer-events: none; z-index: -1; }
.vc-hotspots--plus > .vc-hotspot > summary:focus-visible { outline: 2px solid #171717; outline-offset: 4px; }
.vc-hotspots--plus > .vc-hotspot > summary:is(:hover, :focus-visible)::after { animation-play-state: paused; }
.vc-hotspots--plus .vc-hotspot__plus { display: block; flex: none; transition: transform .2s ease; pointer-events: none; }
.vc-hotspots--plus > .vc-hotspot[open] > summary .vc-hotspot__plus { transform: rotate(45deg); }
.vc-hotspots--plus .vc-hotspot__pop { position: static; left: auto; right: auto; top: auto; bottom: auto; width: auto; max-width: 100%; margin-top: 12px; transform: none; border-radius: 12px; background: #f3f4f6; color: #171717; padding: 24px; box-shadow: 0 5px 15px rgba(26, 26, 26, .1); overflow-wrap: anywhere; }
.vc-hotspots--plus .vc-hotspot__title { display: block; font-size: 20px; font-weight: 700; line-height: 1.4; }
.vc-hotspots--plus .vc-hotspot__detail, .vc-hotspots--plus .vc-hotspot__pop > p { margin-top: 16px; font-size: 15px; line-height: 1.6; }
.vc-hotspots--plus .vc-hotspot__detail > :first-child { margin-top: 0; }
.vc-hotspots--plus .vc-hotspot__detail > :last-child { margin-bottom: 0; }
.vc-hotspots--plus.is-enhanced > .vc-hotspot { position: absolute; left: clamp(0px, var(--x, 50%), calc(100% - var(--vc-hotspot-point-size))); top: clamp(0px, var(--y, 50%), calc(100% - var(--vc-hotspot-point-size))); width: var(--vc-hotspot-point-size); height: var(--vc-hotspot-point-size); max-width: none; margin: 0; z-index: 3; }
.vc-hotspots--plus.is-enhanced > .vc-hotspot[open] { z-index: 10; }
.vc-hotspots--plus.is-enhanced .vc-hotspot__pop { position: absolute; top: 50%; bottom: auto; left: auto; right: calc(100% + 12px); width: min(360px, calc(100vw - 32px)); max-width: none; max-height: min(350px, calc(100dvh - 32px)); margin: 0; transform: translateY(-50%); overflow: auto; overscroll-behavior: contain; }
.vc-hotspots--plus.is-enhanced .vc-hotspot__pop--right { left: calc(100% + 12px); right: auto; }
.vc-hotspots .vc-hotspots__dialog:not([open]) { display: none; }
.vc-hotspots .vc-hotspots__dialog { position: fixed; inset: 0; width: min(380px, calc(100vw - 40px)); max-width: calc(100vw - 40px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; background: transparent; color: #171717; overflow: visible; }
.vc-hotspots .vc-hotspots__dialog[open] { display: flex; flex-direction: column; align-items: center; gap: min(16px, 2vh); }
.vc-hotspots .vc-hotspots__dialog::backdrop { background: rgba(0, 0, 0, .55); }
.vc-hotspots .vc-hotspots__dialog-close { display: flex; flex: none; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #171717; cursor: pointer; }
.vc-hotspots .vc-hotspots__dialog-close svg { display: block; }
.vc-hotspots .vc-hotspots__dialog-close:focus-visible, .vc-hotspots .vc-hotspots__dialog-card:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
.vc-hotspots .vc-hotspots__dialog-card { box-sizing: border-box; width: 100%; max-height: max(1px, calc(100dvh - 128px)); padding: min(24px, 4vh); border-radius: 12px; background: #f3f4f6; color: #171717; overflow: auto; overscroll-behavior: contain; overflow-wrap: anywhere; }
.vc-hotspots--plus.is-enhanced .vc-hotspots__dialog .vc-hotspot__pop { position: static; width: 100%; max-width: 100%; max-height: none; margin: 0; padding: 0; background: transparent; box-shadow: none; transform: none; overflow: visible; }
@keyframes vc-hotspot-pulse { from { transform: scale(1); } to { transform: scale(.8); } }
@media (max-width: 767px) {
	.vc-hotspots--plus { --vc-hotspot-point-size: 32px; }
	.vc-hotspots--plus > .vc-hotspot > summary::after { box-shadow: 0 0 0 10px rgba(255, 255, 255, .24); }
	.vc-hotspots--plus.is-enhanced > .vc-hotspot { left: clamp(0px, var(--x-m, var(--x, 50%)), calc(100% - var(--vc-hotspot-point-size))); top: clamp(0px, var(--y-m, var(--y, 50%)), calc(100% - var(--vc-hotspot-point-size))); }
	.vc-hotspots--plus .vc-hotspot__title { font-size: 16px; }
	.vc-hotspots--plus .vc-hotspot__detail, .vc-hotspots--plus .vc-hotspot__pop > p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.vc-hotspots--plus > .vc-hotspot > summary::after { animation: none; }
	.vc-hotspots--plus .vc-hotspot__plus { transition: none; }
}

/* FAQ panel is opt-in; the saved side/stacked layouts keep their existing rules. */
.vc-m--faq .vc-faq-wrap--panel { display:block; }
.vc-m--faq .vc-faq-wrap--panel > .vc-m__head { text-align:center; margin:0 auto 32px; }
.vc-m--faq .vc-faq-wrap--panel > .vc-m__head .vc-m__title { font-size:40px; line-height:1.5; }
.vc-m--faq .vc-faq-wrap--panel > .vc-m__head .vc-m__desc { font-size:15px; line-height:1.5; }
.vc-m--faq .vc-faq-wrap--panel .vc-faq { max-width:none; padding:60px; background:var(--vc-answer-bg,#f6f6f6); color:var(--vc-answer-fg,#1d1f21); box-sizing:border-box; }
.vc-m--faq .vc-faq__panel-list { padding-block:5px; }
.vc-m--faq .vc-faq-wrap--panel .vc-faq__item { border:0; border-bottom:1px solid #0000001a; border-radius:0; padding:1.25rem 0; margin:0; background:transparent; overflow-wrap:anywhere; }
.vc-m--faq .vc-faq-wrap--panel .vc-faq__item:last-child { border-bottom:0; }
.vc-m--faq .vc-faq-wrap--panel summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0; font-size:16px; font-weight:700; line-height:1.5; color:inherit; list-style:none; }
.vc-m--faq .vc-faq-wrap--panel summary::-webkit-details-marker { display:none; }
.vc-m--faq .vc-faq-wrap--panel .vc-faq__question { margin:0; font-size:16px; font-weight:700; line-height:1.5; color:inherit; }
.vc-m--faq .vc-faq-wrap--panel .vc-faq__answer { padding:0; margin-top:16px; background:transparent; color:inherit; }
.vc-m--faq .vc-faq__chevron { display:grid; place-items:center; width:24px; height:24px; flex:0 0 24px; border-radius:50%; background:#fff; color:#171717; }
.vc-m--faq .vc-faq__chevron svg { width:16px; height:16px; }
.vc-m--faq details[open] > summary .vc-faq__chevron { background:#171717; color:#fff; }
.vc-m--faq details[open] > summary .vc-faq__chevron svg { transform:rotate(180deg); }
.vc-m--faq .vc-faq-wrap--panel :where(.vc-faq__answer,.vc-m__desc) :where(p,strong,b,em,i,u,h3,h4,ul,ol,li,a) { color:inherit; }
.vc-m--faq .vc-faq-wrap--panel .vc-faq__answer a { text-decoration:underline; text-underline-offset:3px; }
/* Trusted inline content images remain distinct from hotspot marker/popup images. */
.vc-m--compare .vc-m__desc img.pc-rich-image,
.vc-m--hotspots .vc-m__desc img.pc-rich-image,
.vc-hotspots .vc-hotspot__detail img.pc-rich-image,
.vc-m--faq .vc-m__desc img.pc-rich-image,
.vc-m--faq .vc-faq__answer img.pc-rich-image { display:inline-block; max-inline-size:100%; block-size:auto; object-fit:contain; }
@media (max-width:767px) {
  .vc-m--faq .vc-faq-wrap--panel .vc-faq { padding:0 20px; }
  .vc-m--faq .vc-faq-wrap--panel > .vc-m__head .vc-m__title { font-size:30px; }
}

/* Product showcase has its own cards and purchase dialog; the generic hotspot block is unchanged. */
.vc-m--product-showcase .vc-showcase { overflow:visible; isolation:isolate; }
.vc-showcase > .vc-showcase__scene { min-width:0; }
.vc-showcase .vc-showcase__scene > picture { display:block; width:100%; }
.vc-showcase .vc-showcase__scene > picture img { display:block; width:100%; height:auto; }
.vc-showcase .vc-showcase__scene > .vc-slide__overlay { pointer-events:none; }
.vc-showcase:not(.is-enhanced) { display:block; }
.vc-showcase:not(.is-enhanced) > .vc-showcase__scene { opacity:1; visibility:visible; margin-bottom:24px; }
.vc-showcase .vc-showcase__spot { position:static; transform:none; margin:12px 0; }
.vc-showcase .vc-showcase__spot > summary { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; }
.vc-showcase .vc-showcase__spot > summary:focus-visible { outline:2px solid #171717; outline-offset:2px; }
.vc-showcase .vc-hotspot__dot { width:25px; height:25px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px #ffffff40,0 2px 8px #0002; }
.vc-showcase .vc-showcase__card { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; width:220px; max-width:100%; box-sizing:border-box; padding:10px; position:static; transform:none; margin-top:6px; color:#171717; overflow-wrap:anywhere; }
.vc-showcase .vc-showcase__product-image { width:72px; height:72px; object-fit:contain; margin:0; }
.vc-showcase .vc-showcase__copy { min-width:0; }
.vc-showcase .vc-showcase__copy > strong { display:block; font-size:13px; font-weight:600; line-height:1.4; color:inherit; }
.vc-showcase .vc-showcase__card .vc-price { margin:6px 0; font-size:13px; line-height:1.5; color:inherit; }
.vc-showcase .vc-showcase__card .vc-price :where(del,ins,span) { font-size:inherit; }
.vc-showcase .vc-showcase__action { display:inline-flex; align-items:center; min-height:24px; padding:0; max-width:100%; white-space:normal; color:inherit; background:transparent; font-size:13px; line-height:1.5; text-decoration:underline; text-underline-offset:3px; }
.vc-showcase.is-enhanced .vc-showcase__scene:not([data-vc-showcase-static]):not(.vc-showcase__scene--static) > .vc-showcase__spot { position:absolute; width:44px; height:44px; margin:0; left:clamp(22px,var(--x,50%),calc(100% - 22px)); top:clamp(22px,var(--y,50%),calc(100% - 22px)); transform:translate(-50%,-50%); z-index:3; }
.vc-showcase.is-enhanced .vc-showcase__spot[open] { z-index:10; }
.vc-showcase.is-enhanced .vc-showcase__scene:not([data-vc-showcase-static]):not(.vc-showcase__scene--static) .vc-showcase__card { position:absolute; left:50%; top:auto; bottom:calc(100% + 10px); transform:translateX(-50%); margin:0; max-width:calc(100vw - 32px); max-height:min(360px,calc(100dvh - 32px)); overflow:auto; overscroll-behavior:contain; }
.vc-showcase .vc-showcase__empty-spot { position:relative; margin:10px; }
.vc-showcase .vc-carousel__dots { z-index:15; }
.vc-showcase .vc-carousel__dots button { width:24px; height:24px; padding:0; border:0; display:grid; place-items:center; background:transparent; }
.vc-showcase .vc-carousel__dots button::after { content:""; width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 0 1px #171717; opacity:.5; }
.vc-showcase .vc-carousel__dots button.is-active::after { opacity:1; }
/* The one active purchase form is outside the carousel and inherits no RTE/image authorization. */
.vc-showcase-quick { box-sizing:border-box; width:min(920px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); padding:24px; margin:auto; border:1px solid #ddd; border-radius:12px; color:#171717; background:#fff; overflow:auto; overscroll-behavior:contain; }
.vc-showcase-quick:not([open]) { display:none; }
.vc-showcase-quick::backdrop { background:#0009; }
.vc-showcase-quick .vc-showcase-quick__close { display:block; min-width:44px; min-height:44px; margin:0 0 12px auto; padding:8px 12px; color:inherit; border:1px solid #ddd; background:#fff; border-radius:4px; cursor:pointer; }
.vc-showcase-quick .vc-showcase-quick-product { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.vc-showcase-quick .vc-showcase-quick-product > * { min-width:0; }
.vc-showcase-quick .vc-showcase-quick__media img { display:block; width:100%; max-height:480px; height:auto; object-fit:contain; }
.vc-showcase-quick .vc-showcase-quick__title { margin:0 0 20px; font-size:28px; line-height:1.3; color:inherit; overflow-wrap:anywhere; }
.vc-showcase-quick .summary > .price { margin:0 0 20px; font-size:20px; color:inherit; }
.vc-showcase-quick form.cart { margin:0; }
.vc-showcase-quick .variations,.vc-showcase-quick .variations :where(tbody,tr,td,th) { display:block; width:100%; padding:0; border:0; text-align:start; }
.vc-showcase-quick .variations th { margin-bottom:8px; }
.vc-showcase-quick .variations td { margin-bottom:18px; }
.vc-showcase-quick .variations select { box-sizing:border-box; width:100%; min-height:44px; padding:8px; }
.vc-showcase-quick .vc-native-variation { position:absolute; width:1px!important; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); }
.vc-showcase-quick .vc-variation-options { display:flex; gap:8px; flex-wrap:wrap; }
.vc-showcase-quick .vc-variation-option { padding:10px 12px; min-height:44px; border:1px solid #ccc; border-radius:4px; background:#fff; color:#171717; max-width:100%; overflow-wrap:anywhere; cursor:pointer; }
.vc-showcase-quick .vc-variation-option.is-selected { border-color:#171717; box-shadow:inset 0 0 0 1px #171717; }
.vc-showcase-quick .vc-variation-option:disabled { opacity:.5; text-decoration:line-through; cursor:not-allowed; }
.vc-showcase-quick .vc-option-status,.vc-showcase-quick .vc-showcase-quick__note { font-size:12px; line-height:1.6; margin:8px 0 16px; color:#555; }
.vc-showcase-quick .quantity { margin:16px 0; }
.vc-showcase-quick input.qty { box-sizing:border-box; width:90px; min-height:44px; padding:8px; }
.vc-showcase-quick .single_add_to_cart_button,.vc-showcase-quick .vc-showcase-quick__buy { box-sizing:border-box; width:100%; min-height:44px; padding:12px 16px; border:1px solid #171717; border-radius:4px; background:#171717; color:#fff; font-size:14px; font-weight:600; cursor:pointer; white-space:normal; }
.vc-showcase-quick .vc-showcase-quick__buy { margin-top:10px; background:#fff; color:#171717; }
.vc-showcase-quick :where(button:disabled,.single_add_to_cart_button.disabled) { opacity:.45; cursor:not-allowed; }
.vc-showcase-quick .vc-showcase-quick__details,.vc-showcase-quick .vc-showcase-quick__feedback a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.vc-showcase-quick .vc-showcase-quick__feedback { margin-top:20px; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.vc-showcase-quick .vc-showcase-quick__feedback > :where(button,a) { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; margin:4px; border:1px solid #ccc; border-radius:4px; background:#fff; color:inherit; }
.vc-showcase-quick .vc-showcase-quick__feedback [hidden] { display:none; }
.vc-showcase-quick :focus-visible { outline:2px solid #171717; outline-offset:3px; }
@media (max-width:767px) {
 .vc-showcase .vc-showcase__card { width:193px; }
 .vc-showcase .vc-showcase__product-image { width:65px; height:65px; }
 .vc-showcase .vc-showcase__action { font-size:12px; }
 .vc-showcase-quick { padding:16px; }
 .vc-showcase-quick .vc-showcase-quick-product { grid-template-columns:minmax(0,1fr); gap:20px; }
 .vc-showcase-quick .vc-showcase-quick__media img { max-height:260px; }
 .vc-showcase-quick .vc-showcase-quick__title { font-size:24px; }
}

.vc-showcase.is-enhanced { padding-bottom:var(--vc-showcase-tail,44px); }
.vc-showcase.is-enhanced > .vc-carousel__dots { bottom:4px; min-height:32px; }
.vc-showcase-quick .vc-showcase-quick-product > .summary:only-child { grid-column:1/-1; }

.vc-showcase .vc-price del { margin-inline-end:4px; }
/* Observed information rows; the original .vc-info layout remains separate. */
.vc-info-bar-wrap { width: min(90%, 1440px); margin-inline: auto; min-width: 0; }
.vc-info.vc-info-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.vc-info-bar > .vc-info-bar__item { display: flex; flex-direction: column; align-items: center; gap: 12px; min-width: 0; width: auto; padding: 12px; text-align: center; font-size: 12px; line-height: 18px; overflow-wrap: anywhere; }
.vc-info-bar--left > .vc-info-bar__item { align-items: flex-start; text-align: left; }
.vc-info-bar--right > .vc-info-bar__item { align-items: flex-end; text-align: right; }
.vc-info-bar__visual { display: flex; align-items: center; justify-content: inherit; min-width: 0; max-width: 100%; }
.vc-info-bar__visual > img.vc-m__icon-img { display: block; width: auto; height: auto; max-width: 100%; max-height: 20px; object-fit: contain; }
.vc-info-bar__visual > .vc-icon { width: 20px; height: 20px; }
.vc-info-bar__text { min-width: 0; max-width: 100%; }
.vc-info-bar__text > :first-child { margin-top: 0; }
.vc-info-bar__text > :last-child { margin-bottom: 0; }
.vc-info-bar__text :where(p, h3, h4, strong, b, em, i, u, ul, ol, li, a) { color: inherit; font-size: inherit; line-height: inherit; }
.vc-info-bar__text a { text-decoration: underline; text-underline-offset: 3px; }
.vc-info-bar__text img.pc-rich-image { max-width: 100%; height: auto; max-height: none; }
.vc-info-bar__empty { color: inherit; opacity: .75; }
.vc-info-bar__arrow { display: none; }
@media (min-width: 1280px) {
	.vc-info.vc-info-bar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.vc-info-bar-wrap { width: calc(100% - 30px); }
	.vc-info.vc-info-bar { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.vc-info-bar-wrap--swipe { position: relative; width: 100%; padding: 20px 70px; }
	.vc-info-bar-wrap--swipe > .vc-info-bar { display: flex; flex-wrap: nowrap; align-items: flex-start; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; }
	.vc-info-bar-wrap--swipe > .vc-info-bar > .vc-info-bar__item { flex: 0 0 100%; scroll-snap-align: start; }
	.vc-info-bar-wrap--swipe > .vc-info-bar.is-enhanced { scrollbar-width: none; }
	.vc-info-bar-wrap--swipe > .vc-info-bar.is-enhanced::-webkit-scrollbar { display: none; }
	.vc-info-bar-wrap--swipe > .vc-info-bar__arrow { position: absolute; top: 50%; display: grid; place-items: center; width: 45px; height: 45px; min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; transform: translateY(-50%); cursor: pointer; }
	.vc-info-bar__arrow--previous { left: 10px; }
	.vc-info-bar__arrow--next { right: 10px; }
	.vc-info-bar__arrow:disabled { opacity: .35; cursor: default; }
	.vc-info-bar__arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
}

/* Store navigation consumes resolved menu data, preserving the old WP walker mode. */
.vc-store-nav-wrap.vc-m__inner { width: min(90%, 1440px); max-width: none; }
.vc-store-nav-wrap.vc-m__inner--full { width: 100%; }
.vc-nav--store { min-width: 0; max-width: 100%; padding: var(--vc-nav-top, 12px) var(--vc-nav-right, 0px) var(--vc-nav-bottom, 12px) var(--vc-nav-left, 0px); line-height: 1.5; }
.vc-nav--store.vc-store-nav--top, .vc-nav--store.vc-store-nav--both { border-top: 1px solid var(--vc-border, currentColor); }
.vc-nav--store.vc-store-nav--bottom, .vc-nav--store.vc-store-nav--both { border-bottom: 1px solid var(--vc-border, currentColor); }
.vc-nav--store .vc-nav__list { min-width: 0; margin: 0; padding: 0; gap: 12px 18px; }
.vc-nav--store .vc-nav__list > li { flex: none; min-width: 0; margin: 0; padding: 0; }
.vc-nav--store .vc-nav__list > li > :is(a, span) { display: inline-flex; align-items: center; gap: 8px; color: inherit; font: inherit; text-decoration: none; overflow-wrap: anywhere; }
.vc-nav--store .vc-nav__list a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.vc-store-nav__icon { display: block; width: auto; height: auto; max-height: 20px; max-width: 40px; object-fit: contain; }
.vc-info-bar__arrow[hidden] { display: none; }
@media (max-width: 767px) {
	.vc-store-nav-wrap.vc-m__inner { width: calc(100% - 30px); }
	.vc-store-nav-wrap.vc-m__inner--full { width: 100%; }
	.vc-nav--store .vc-nav__list { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; overscroll-behavior-inline: contain; }
	.vc-nav--store .vc-nav__list > li > :is(a, span) { white-space: nowrap; }
}

/* New manual logo modes: natural images, one canonical list, native scroll fallback. */
.vc-logo-list { width: min(90%, 1440px); margin-inline: auto; color: var(--vc-fg, inherit); }
.vc-logo-list > .vc-m__head { margin: 0 0 45px; text-align: left; }
.vc-logo-list > .vc-m__head .vc-m__title { margin: 0; font-size: 40px; line-height: 1.5; text-align: inherit; }
.vc-logo-list > .vc-m__head .vc-m__desc { margin: 15px 0 0; font-size: 17px; line-height: 2; text-align: inherit; }
.vc-logo-list .vc-m__desc :where(p,strong,b,em,i,u,ul,ol,li,h3,h4,a) { color: inherit; font-size: inherit; line-height: inherit; }
.vc-logo-list .vc-m__desc > :first-child { margin-top: 0; }
.vc-logo-list .vc-m__desc > :last-child { margin-bottom: 0; }
.vc-logo-frame { position: relative; min-width: 0; max-width: 100%; }
.vc-logos.vc-logos--reference { --vc-logo-visible: var(--vc-cols, 6); --vc-logo-gap: 20px; display: grid; grid-template-columns: repeat(var(--vc-logo-visible), minmax(0, 1fr)); gap: var(--vc-logo-gap); align-items: start; width: 100%; min-width: 0; max-width: 100%; margin: 0; padding: 0; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; list-style: none; scroll-snap-type: x mandatory; }
.vc-logos--reference > .vc-logos__item { min-width: 0; margin: 0; padding: 0; scroll-snap-align: start; }
.vc-logos--reference .vc-logos__img { display: block; width: 100%; max-width: 100%; height: auto; max-height: none; object-fit: cover; filter: none; opacity: 1; }
.vc-logos--reference .vc-logos__item > a { display: block; }
.vc-logos--reference .vc-logos__item > a:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
.vc-logos--reference.vc-logos--single { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - (var(--vc-logo-visible) - 1) * var(--vc-logo-gap)) / var(--vc-logo-visible)); }
.vc-logos--reference.vc-logos--double { grid-template-columns: repeat(var(--vc-logo-grid-d), calc((100% - (var(--vc-logo-visible) - 1) * var(--vc-logo-gap)) / var(--vc-logo-visible))); }
.vc-logos--reference.is-enhanced { scrollbar-width: none; }
.vc-logos--reference.is-enhanced::-webkit-scrollbar { display: none; }
.vc-logos--reference:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.vc-logo-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; max-width: 100%; margin-top: 20px; }
.vc-logo-page { display: grid; place-items: center; flex: 0 0 24px; min-width: 24px; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 0; color: inherit; background: transparent; cursor: pointer; }
.vc-logo-page::after { content: ''; display: block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .25; }
.vc-logo-page[aria-current="true"]::after { opacity: 1; }
.vc-logo-page:focus-visible, .vc-logo-arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.vc-logo-arrow { position: absolute; z-index: 1; top: 50%; display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; transform: translateY(-50%); border: 1px solid #ddd; border-radius: 50%; background: #fffffff2; color: #171717; cursor: pointer; }
.vc-logo-arrow--previous { inset-inline-start: 0; }
.vc-logo-arrow--next { inset-inline-end: 0; }
.vc-logo-arrow:disabled { opacity: .3; cursor: default; }
.vc-logo-pages[hidden], .vc-logo-arrow[hidden] { display: none; }
@media (max-width: 767px) {
	.vc-logo-list { width: calc(100% - 30px); }
	.vc-logo-list > .vc-m__head .vc-m__title { font-size: 30px; }
	.vc-logos.vc-logos--reference { --vc-logo-visible: var(--vc-cols-m, 2); --vc-logo-gap: 10px; }
	.vc-logos--reference.vc-logos--adaptive { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - (var(--vc-logo-visible) - 1) * var(--vc-logo-gap)) / var(--vc-logo-visible)); }
	.vc-logos--reference.vc-logos--double { grid-template-columns: repeat(var(--vc-logo-grid-m), calc((100% - (var(--vc-logo-visible) - 1) * var(--vc-logo-gap)) / var(--vc-logo-visible))); }
	.vc-logo-frame > .vc-logo-arrow { display: none; }
}

/* Read-only donation/tip totals. The provider gate emits no public unavailable block. */
.vc-m--donation-tip { padding-top: var(--vc-m-pt, 40px); padding-bottom: var(--vc-m-pb, 40px); }
.vc-donation { display: flex; align-items: flex-start; gap: 60px; width: min(90%, 1440px); min-width: 0; max-width: 100%; margin-inline: auto; color: #000; }
.vc-donation--full { width: 100%; }
.vc-donation__intro { flex: 1 1 0; min-width: 0; }
.vc-donation__intro > .vc-m__head { margin: 0; text-align: left; }
.vc-donation__intro .vc-m__title { margin: 0; color: #000; font-size: 40px; line-height: 1.5; text-align: inherit; }
.vc-donation__intro .vc-m__desc { margin: 8px 0 0; color: #666; font-size: 15px; line-height: 1.5; text-align: inherit; }
.vc-donation__intro .vc-m__desc :where(p,strong,b,em,i,u,ul,ol,li,h3,h4,a) { color: inherit; font-size: inherit; line-height: inherit; }
.vc-donation__intro .vc-m__desc > :first-child { margin-top: 0; }
.vc-donation__intro .vc-m__desc > :last-child { margin-bottom: 0; }
.vc-donation__intro .vc-m__title, .vc-donation__intro .vc-m__desc, .vc-donation__totals dt { overflow-wrap: anywhere; }
.vc-donation__link { display: block; width: fit-content; max-width: 100%; margin: 0 0 16px; color: #000; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; text-underline-offset: 3px; }
.vc-donation__link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.vc-donation__media > picture, .vc-donation__image { display: block; width: 100%; }
.vc-donation__image { height: auto; max-width: 100%; max-height: none; object-fit: contain; }
.vc-donation__image > img { display: block; width: 100%; height: auto; max-width: 100%; max-height: none; }
.vc-donation__summary { flex: 0 0 50%; min-width: 0; padding: 25px; background: #f6f6f6; color: #000; }
.vc-donation__totals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 0 25px; padding: 0 0 25px; border-bottom: 1px solid #ddd; }
.vc-donation__totals > div { display: flex; flex-direction: column; min-width: 0; }
.vc-donation__totals dt { order: 2; margin: 0; color: #666; font-size: 15px; line-height: 1.5; }
.vc-donation__totals dd { order: 1; margin: 0; color: #000; font-size: 40px; line-height: 1.5; overflow-wrap: anywhere; }
.vc-donation__totals dd :where(span,bdi,b,strong) { color: inherit; font: inherit; }
.vc-donation__caption { margin: 0; color: #666; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.vc-donation__summary--no-caption .vc-donation__totals { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
@media (max-width: 767px) {
	.vc-m--donation-tip { padding-top: var(--vc-m-pt-m, var(--vc-m-pt, 40px)); padding-bottom: var(--vc-m-pb-m, var(--vc-m-pb, 40px)); }
	.vc-donation, .vc-donation--full { flex-direction: column; gap: 16px; width: 100%; padding-inline: 16px; }
	.vc-donation__intro, .vc-donation__summary { flex: none; width: 100%; text-align: center; }
	.vc-donation__intro > .vc-m__head { text-align: center; }
	.vc-donation__intro .vc-m__title, .vc-donation__totals dd { font-size: 30px; }
	.vc-donation__link { margin-inline: auto; font-size: 14px; }
}

/* Text content is fully readable without JS. Enhancement owns only the fold. */
.vc-m--text-block .vc-m__inner { width: min(100%, 1440px); max-width: none; padding-inline: 50px; }
.vc-textblock { text-align: center; }
.vc-textblock__head { margin: 0 0 40px; }
.vc-textblock__head > .vc-m__title { margin: 0 0 12px; color: var(--vc-fg, #000); font-size: 40px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.vc-textblock__body { max-width: 77%; margin: 0 auto; color: var(--vc-fg, #333); font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; transition: max-height .3s ease; }
.vc-textblock__body :where(p,strong,b,em,i,u,ul,ol,li,h3,h4,a) { color: inherit; }
.vc-textblock__body > :first-child { margin-top: 0; }
.vc-textblock__body > :last-child { margin-bottom: 0; }
.vc-textblock__body a { color: var(--vc-link, #666); }
.vc-textblock__body :where(span[style]) a { color: inherit; }
.vc-textblock__body img.pc-rich-image { max-width: 100%; height: auto; max-height: none; }
.vc-textblock.is-collapsible:not(.is-enhanced) .vc-textblock__body, .vc-textblock.is-collapsible.is-short .vc-textblock__body { max-height: none; overflow: visible; mask-image: none; }
.vc-textblock.is-collapsible.is-enhanced:not(.is-open):not(.is-short) .vc-textblock__body { max-height: var(--vc-collapsed, 160px); overflow: hidden; mask-image: linear-gradient(to bottom, #000 calc(100% - 60px), transparent); }
.vc-textblock.is-collapsible.is-enhanced.is-open .vc-textblock__body { max-height: var(--vc-text-natural); overflow: hidden; mask-image: none; }
.vc-textblock.is-revealing .vc-textblock__body { transition: none; }
.vc-textblock > .vc-textblock__toggle { display: inline-block; margin-top: 24px; padding: 8px 0; color: var(--vc-btn-c, #666); font-size: 15px; line-height: 17.333333px; text-underline-offset: 3px; }
.vc-textblock > .vc-textblock__toggle[hidden] { display: none; }
.vc-textblock__toggle:focus-visible, .vc-textblock__body:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 767px) {
	.vc-m--text-block .vc-m__inner { padding-inline: 16px; }
	.vc-textblock__head { margin-bottom: 20px; }
	.vc-textblock__head > .vc-m__title { font-size: 30px; }
	.vc-textblock__body { max-width: 100%; font-size: 14px; line-height: 1.7; }
	.vc-textblock > .vc-textblock__toggle { margin-top: 20px; font-size: 14px; line-height: 16px; }
}
@media (prefers-reduced-motion: reduce) { .vc-textblock__body { transition: none; } }
