/* ============================================================
   everfy — 全站样式（手写，BEM 命名）
   结构：设计令牌 → 基础 → 布局组件 → 页面组件 → 响应式
   ============================================================ */

/* ---------- 设计令牌 ---------- */
:root {
	--navy: #3c5a45;        /* 主色 森林绿（原藏青 #304f6d） */
	--navy-dark: #24382b;   /* 深松绿（原深藏青 #1a3550） */
	--sage: #526d50;        /* logo 主绿（点缀） */
	--sage-light: #6e8968;  /* logo 浅绿（hover/辅助） */
	--cream: #fff6e5;
	--yellow: #fdf1e5;
	--teal: #43998d;
	--orange: #e07d54;
	--sky: #e2f3fd;
	--white: #ffffff;

	--font-head: "Bricolage Grotesque", "PingFang SC", "Microsoft YaHei", sans-serif;
	--font-body: "Bricolage Grotesque", "PingFang SC", "Microsoft YaHei", sans-serif;

	--radius-lg: 20px;
	--radius-md: 14px;
	--radius-sm: 8px;

	--container: 1440px;
	--pad-x: clamp(24px, 4vw, 48px);
	--section-pad: clamp(48px, 6vw, 72px);

	--shadow: 4px 4px 0 var(--navy);
	--shadow-hover: 6px 6px 0 var(--navy);

	--title-size: clamp(28.8px, 1.8rem + ((1vw - 3.2px) * 1.32), 50px);
	--h3-size: clamp(24px, 1.5rem + ((1vw - 3.2px) * 1), 40px);
	--body-size: clamp(15px, 0.95rem + ((1vw - 3.2px) * 0.49), 23px);
	--small-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.25), 18px);
}

/* ---------- 基础 ---------- */
* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--navy);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--navy); }

h1, h2, h3, h4 {
	font-family: var(--font-head);
	line-height: 1.25;
	margin: 0 0 .5em;
}

p { margin: 0 0 1em; }

ul { margin: 0; padding: 0; list-style: none; }

.container {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--pad-x);
}

/* 描边硬阴影按钮 */
.btn {
	display: inline-block;
	padding: .55em 1.5em;
	border: 1px solid var(--navy);
	border-radius: 100px;
	background: var(--white);
	color: var(--navy);
	font-family: var(--font-head);
	font-size: var(--small-size);
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;   /* <button> 用 */
	box-shadow: var(--shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}
.btn:hover {
	transform: translate(-2px, -2px);
	box-shadow: var(--shadow-hover);
}
.btn--navy {
	background: var(--navy);
	color: var(--cream);
	box-shadow: 4px 4px 0 var(--navy-dark);
}
.btn--navy:hover { box-shadow: 6px 6px 0 var(--navy-dark); }
.btn--orange {
	background: var(--orange);
	border-color: var(--orange);
	color: var(--white);
	box-shadow: none;
	border-radius: 999px;
	padding: 14px 34px;
	font-weight: 600;
}
.btn--orange:hover { background: #c96a43; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,.18); }

/* ============================================================
   页头（全站共享）
   ============================================================ */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--navy);
	color: var(--cream);
}

.site-header__main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 1em var(--pad-x);
	border-bottom: 1px solid rgba(255, 246, 229, .35);
	background: #fdf1e5;
}

.site-header__socials {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
}
.site-header__social {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	color: #3c5a45;
	text-decoration: none;
	transition: opacity .2s ease, transform .2s ease;
}
.site-header__social .bi { font-size: 20px; }
.site-header__social:hover { opacity: .8; transform: translateY(-2px); }

.site-header__logo { line-height: 0; }
.site-header__logo img { height: 48px; width: auto; }

.site-header__cta .btn { box-shadow: 4px 4px 0 var(--navy-dark); }

/* 页头右侧操作组：语言切换 + Get a Quote */
.site-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex: 1;
}
.lang-switch .trp-shortcode-switcher {
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}
.lang-switch .trp-shortcode-switcher .trp-current-language-item__wrapper {
	gap: .6em;
	padding: .55em 1em .55em 1.1em;
	border: 1px solid var(--navy);
	border-radius: 100px;
	background: var(--white);
	font-family: var(--font-head);
	font-size: var(--small-size);
	line-height: 1.4;
	box-shadow: 4px 4px 0 var(--navy-dark);
	transition: box-shadow .2s ease, transform .2s ease;
}
.lang-switch:hover .trp-current-language-item__wrapper { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--navy-dark); }
.lang-switch:focus-within .trp-current-language-item__wrapper { outline: 2px solid var(--yellow); outline-offset: 2px; }
.lang-switch .trp-language-item__current { padding: 0; }
.lang-switch .trp-language-item-name {
	color: var(--navy);
	font-family: var(--font-head);
	font-size: var(--small-size);
	line-height: 1.4;
}
.lang-switch .trp-shortcode-arrow { width: 12px; height: 12px; }
.lang-switch .trp-shortcode-arrow path { stroke: var(--navy); }
.lang-switch .trp-language-item:not(.trp-language-item__current) { padding: 7px 1.1em; }
.lang-switch .trp-language-item:hover { background: var(--yellow); }
.lang-switch .trp-language-item:hover .trp-language-item-name { color: var(--navy); }
.lang-switch .trp-shortcode-switcher.is-open .trp-switcher-dropdown-list {
	margin-top: 8px;
	padding: 6px 0;
	border-radius: var(--radius-md);
	background: var(--white);
	box-shadow: 4px 4px 0 var(--navy-dark);
}

.site-nav {
	border-top: 1px solid rgba(255, 246, 229, .35);
	padding: 0 var(--pad-x);
}
.site-nav__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: clamp(16px, 3vw, 36px);
}
.site-nav__item { position: relative; }
.site-nav__link {
	display: block;
	padding: 1em 0;
	color: var(--cream);
	text-decoration: none;
	font-size: var(--small-size);
	transition: opacity .2s ease;
}
.site-nav__link:hover { opacity: .8; }
.site-nav__link.is-active { color: var(--yellow); }

/* 有下拉的导航项：黄色小箭头，hover 时翻转 */
.site-nav__item--sub > .site-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.site-nav__item--sub > .site-nav__link::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid var(--yellow);
	transition: transform .2s ease;
}
.site-nav__item--sub:hover > .site-nav__link::after,
.site-nav__item--sub:focus-within > .site-nav__link::after {
	transform: rotate(180deg);
}
.site-nav__sub-toggle { display: none; }

.site-nav__sub {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	min-width: 200px;
	padding: 10px 0;
	background: var(--cream);
	border-radius: var(--radius-md);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility .2s ease;
	z-index: 20;
}
.site-nav__item--sub:hover > .site-nav__sub,
.site-nav__item--sub:focus-within > .site-nav__sub {
	opacity: 1;
	visibility: visible;
}
.site-nav__sub a {
	display: block;
	padding: .55em 1.4em;
	color: var(--navy);
	text-decoration: none;
	font-size: 14px;
	white-space: nowrap;
}
.site-nav__sub a:hover { background: var(--navy); color: var(--cream); }

/* 三级下拉：贴父项右侧展开，不居中落在下方 */
.site-nav__sub .site-nav__sub {
	top: -10px;
	left: 100%;
	transform: none;
}
.site-nav__sub .site-nav__item--sub > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.site-nav__sub .site-nav__item--sub > a::after {
	content: "";
	flex: none;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid currentColor;
	opacity: .5;
}

/* 移动端汉堡按钮 */
.site-header__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 246, 229, .5);
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
}
.site-header__toggle span,
.site-header__toggle span::before,
.site-header__toggle span::after {
	content: "";
	display: block;
	width: 20px;
	height: 2px;
	background: var(--cream);
	border-radius: 2px;
	transition: transform .25s ease;
}
.site-header__toggle span { position: relative; }
.site-header__toggle span::before { position: absolute; top: -6px; left: 0; }
.site-header__toggle span::after { position: absolute; top: 6px; left: 0; }

/* ============================================================
   页脚（全站共享）
   ============================================================ */
.site-footer {
	background: var(--yellow);
	color: var(--navy);
	padding: clamp(28px, 4.4vw, 56px) var(--pad-x);
}

.site-footer__newsletter {
	border-bottom: 1px solid rgba(60, 90, 69, .25);
	padding-bottom: 40px;
	margin-bottom: 40px;
	text-align: center;
}
.site-footer__newsletter-title {
	margin: 0 0 18px;
	font-size: var(--body-size);
	font-weight: 700;
}
.site-footer__subscribe {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}
.site-footer__subscribe-input {
	width: 260px;
	padding: 11px 17px;
	border: 1px solid var(--navy);
	border-radius: 15px;
	background: var(--white);
	color: var(--navy);
	font-size: 16px;
}
.site-footer__subscribe-btn {
	padding: 11px 17px;
	border: 1px solid var(--navy);
	border-radius: 15px;
	background: var(--navy);
	color: var(--cream);
	font-family: var(--font-head);
	font-size: 16px;
	cursor: pointer;
	transition: opacity .2s ease;
}
.site-footer__subscribe-btn:hover { opacity: .85; }

.site-footer__cols {
	display: grid;
	grid-template-columns: 1.5fr 1.5fr 1fr 1fr;
	gap: clamp(20px, 3vw, 40px);
}
.site-footer__col { min-width: 0; }
.site-footer__title {
	margin: 0 0 16px;
	font-size: var(--body-size);
	font-weight: 700;
}
.site-footer__logo { display: block; margin-bottom: 12px; height: 50px; width: auto; }
.site-footer__tagline { margin: 0 0 16px; font-size: 14px; line-height: 1.6; }
.site-footer__map { border-radius: 25px; width: 200px; height: 200px; object-fit: cover; }
.site-footer__text { margin: 0 0 10px; font-size: 14px; line-height: 1.6; }
.site-footer__text a { text-decoration: none; }
.site-footer__text a:hover { text-decoration: underline; }
.site-footer__nav { display: flex; flex-direction: column; gap: 8px; }
.site-footer__nav a { text-decoration: none; font-size: 14px; }
.site-footer__nav a:hover { text-decoration: underline; }
.site-footer__socials { display: flex; gap: 10px; }
.site-footer__socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--navy);
	color: var(--cream);
	transition: opacity .2s ease, transform .2s ease;
}
.site-footer__socials .bi { font-size: 20px; }
.site-footer__socials a:hover { opacity: .85; transform: translateY(-2px); }
.site-footer__copyright { margin: 40px 0 0; text-align: center; font-size: 14px; }

/* ============================================================
   页面横幅（section-header）——about/brand/contact/e-catalog/faq/product
   ============================================================ */
.section-header {
	background: var(--navy);
	color: var(--cream);
	text-align: center;
	padding: clamp(64px, 9vw, 100px) 24px;
}
.section-header__inner { max-width: 1200px; margin: 0 auto; }
.section-header__title {
	margin: 0;
	font-size: clamp(33.4px, 2.09rem + ((1vw - 3.2px) * 1.66), 60px);
	font-weight: 700;
	line-height: 1.2;
}
.section-header__subtitle {
	margin: 18px auto 0;
	max-width: 720px;
	font-size: clamp(16.3px, 1.02rem + ((1vw - 3.2px) * 0.54), 25px);
	line-height: 1.4;
}
.section-header__logo { margin: 24px auto 0; width: min(427px, 80%); }

/* ============================================================
   Hero 轮播（首页）
   ============================================================ */
.hero { position: relative; }
.hero__slider { position: relative; height: clamp(340px, 42vw, 620px); overflow: hidden; }
.hero__slide { position: relative; height: 100%; }
.hero__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero__content {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	max-width: 640px;
	padding: 0 clamp(24px, 6vw, 80px);
	color: var(--white);
	z-index: 2;
}
.hero__title {
	margin: 0 0 16px;
	font-size: clamp(33.4px, 2.09rem + ((1vw - 3.2px) * 1.66), 60px);
	font-weight: 700;
	line-height: 1.15;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .3);
}
.hero__text {
	margin: 0 0 28px;
	font-size: var(--small-size);
	line-height: 1.6;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .25);
}
.hero__btn {
	display: inline-block;
	padding: .55em 1.6em;
	border: 1px solid var(--cream);
	border-radius: 100px;
	background: var(--cream);
	color: var(--navy);
	font-family: var(--font-head);
	font-size: var(--small-size);
	line-height: 1.4;
	text-decoration: none;
	box-shadow: 4px 4px 0 var(--navy-dark);
	transition: transform .2s ease, box-shadow .2s ease;
}
.hero__btn:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--navy-dark); }
.hero__dots {
	position: absolute;
	left: 0; right: 0; bottom: 18px;
	text-align: center;
	z-index: 3;
}
.hero__dots .swiper-pagination-bullet {
	width: 10px; height: 10px;
	margin: 0 5px;
	background: var(--white);
	opacity: .55;
}
.hero__dots .swiper-pagination-bullet-active { opacity: 1; }
.hero__controls {
	position: absolute;
	right: clamp(24px, 6vw, 80px);
	bottom: 24px;
	left: clamp(24px, 6vw, 80px);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	z-index: 3;
}
.hero__arrow {
	width: 46px; height: 46px;
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 50%;
	background: rgba(60, 90, 69, .35);
	color: var(--white);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease;
}
.hero__arrow:hover { background: rgba(60, 90, 69, .65); }
.hero__arrow::before {
	content: "";
	width: 10px; height: 10px;
	border: solid var(--white);
	border-width: 2px 0 0 2px;
	transform: rotate(-45deg);
}
.hero__arrow--next::before { border-width: 2px 2px 0 0; transform: rotate(45deg); }

/* ============================================================
   分栏组件（图/文字卡片）
   ============================================================ */
.split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
}
.split__img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--radius-lg);
}
.split__media{
	overflow:hidden;
}
.split__media > .carousel { width: 100%; margin: 0; }
.split__card {
	background: var(--white);
	border-radius: var(--radius-lg);
	padding: clamp(28px, 5vw, 48px);
	color: var(--navy);
}
.split__title {
	margin: 0 0 .6em;
	font-size: var(--title-size);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: capitalize;
}
.split__text { margin: 0 0 1.5em; font-size: var(--body-size); line-height: 1.6; }
.split__btn {
	display: inline-block;
	padding: .55em 1.5em;
	border: 1px solid var(--navy);
	border-radius: 100px;
	background: transparent;
	color: var(--navy);
	font-size: var(--small-size);
	line-height: 1.4;
	text-decoration: none;
	box-shadow: var(--shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}
.split__btn:hover { transform: translate(-2px, -2px); box-shadow: var(--shadow-hover); }
.split--reverse .split__media { order: 2; }
.split--yellow {
	background: var(--yellow);
	border-radius: var(--radius-lg);
	padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 48px);
}
.split--yellow .split__card { background: transparent; padding: 0; }

/* 通用轮播（Swiper） */
.carousel {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: var(--white);
}
.carousel__slide { position: relative; height: 100%; }
.carousel__img { width: 100%; height: 100%; object-fit: cover; }
.carousel__caption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 32px 16px 10px;
	background: linear-gradient(transparent, rgba(0, 0, 0, .6));
	color: var(--white);
	font-size: var(--small-size);
	font-weight: 600;
	text-align: center;
	pointer-events: none;
}
.carousel__dots {
	position: absolute;
	left: 0; right: 0; bottom: 16px;
	text-align: center;
	z-index: 3;
}
.carousel__dots .swiper-pagination-bullet {
	width: 10px; height: 10px;
	margin: 0 5px;
	background: var(--white);
	opacity: .55;
}
.carousel__dots .swiper-pagination-bullet-active { opacity: 1; }
.carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 44px; height: 44px;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, .35);
	color: var(--white);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s ease;
}
.carousel__arrow:hover { background: rgba(0, 0, 0, .6); }
.carousel__arrow--prev { left: 12px; }
.carousel__arrow--next { right: 12px; }
.carousel__arrow::before {
	content: "";
	width: 10px; height: 10px;
	border: solid var(--white);
	border-width: 2px 0 0 2px;
	transform: rotate(-45deg);
	margin-left: 3px;
}
.carousel__arrow--next::before {
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
	margin-left: -3px;
}

/* ============================================================
   产品网格（index / brand / product / search / detail相关）
   ============================================================ */
.products {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.products__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 24px;
}
.products__title {
	margin: 0;
	font-size: var(--title-size);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: capitalize;
}
.products__links { display: flex; gap: 28px; }
.products__links a {
	font-size: clamp(14.6px, 0.92rem + ((1vw - 3.2px) * 0.46), 22px);
	font-weight: 600;
	color: var(--teal);
	text-decoration: none;
	white-space: nowrap;
	transition: color .2s ease;
}
.products__links a:hover { color: var(--orange); text-decoration: underline; }
.products__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 24px 20px;
}
.products__card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-decoration: none;
}
.products__thumb {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--radius-lg);
	transition: transform .3s ease;
}
.products__card:hover .products__thumb { transform: scale(1.04); }
.products__name {
	font-size: clamp(13px, 0.84rem + ((1vw - 3.2px) * 0.3), 17px);
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	color: var(--navy);
}

/* ============================================================
   特性卡片（首页 Boost Your Pet Business）
   ============================================================ */
.features {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
}
.features__title {
	margin: 0 0 44px;
	text-align: center;
	font-size: var(--title-size);
	font-weight: 700;
	line-height: 1.2;
}
.features__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.features__card {
	border-radius: var(--radius-lg);
	padding: 40px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	transition: transform .3s ease;
}
.features__card:hover { transform: translateY(-6px); }
.features__icon { width: 140px; height: auto; }
.features__card h3 {
	margin: 0;
	font-size: var(--h3-size);
	font-weight: 600;
	line-height: 1.2;
}
.features__card p { margin: 0; font-size: var(--small-size); line-height: 1.6; }
.features__card--blue   { background: var(--sky); }
.features__card--cream  { background: var(--yellow); }
.features__card--teal   { background: var(--teal); color: var(--cream); }
.features__card--orange { background: var(--orange); }

/* ============================================================
   分类展示（首页 View By Category）
   ============================================================ */
.category-grid {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
}
.category-grid__title {
	margin: 0 auto 35px;
	text-align: center;
	font-size: var(--title-size);
	font-weight: 700;
	line-height: 1.1;
}
.category-grid__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}
.category-card {
	position: relative;
	display: block;
	aspect-ratio: 1;
	border-radius: var(--radius-lg);
	background: var(--white) center/cover no-repeat;
	text-decoration: none;
	overflow: hidden;
}
.category-card__btn {
	position: absolute;
	left: 20px; bottom: 20px;
	display: inline-block;
	padding: .5em 1.5em;
	border: 1px solid var(--navy);
	background: var(--white);
	color: var(--navy);
	font-family: var(--font-head);
	font-size: var(--body-size);
	line-height: 1.4;
	box-shadow: var(--shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}
.category-card:hover .category-card__btn {
	transform: translate(-2px, -2px);
	box-shadow: var(--shadow-hover);
}

/* ============================================================
   数据统计（首页 banner 下方数字条，无标题）
   ============================================================ */
.stats {
	background: #fff6e5;
	color: var(--cream);
	padding: clamp(18px, 2.4vw, 28px) var(--pad-x);
}
.stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	max-width: var(--container);
	margin: 0 auto;
}
.stat-card {
	background: var(--cream);
	border-radius: 16px;
	padding: 15px 12px 14px;
	text-align: center;
}
.stat-card__num {
	font-family: var(--font-head);
	font-size: clamp(34px, 2.8vw, 46px);
	line-height: 1;
	font-weight: 600;
	color: var(--navy);
}
.stat-card__label {
	margin-top: 6px;
	font-size: clamp(13px, 1vw, 16px);
	line-height: 1.35;
	color: var(--navy);
}

/* ============================================================
   FAQ 手风琴（index / faq / brand服务）
   ============================================================ */
.faq {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
}
.faq__title {
	margin: 0 0 32px;
	text-align: center;
	font-size: var(--title-size);
	font-weight: 700;
	line-height: 1.1;
}
.faq__list {
	width:100%;
	max-width: 860px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}
.faq__item {
	background: var(--white);
	border: 1px solid rgba(60, 90, 69, .15);
	border-radius: var(--radius-sm);
	padding: 18px 24px;
}
.faq__item + .faq__item { margin-top: 12px; }
.faq__question {
	position: relative;
	padding-right: 24px;
	font-size: var(--body-size);
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}
.faq__question::-webkit-details-marker { display: none; }
.faq__question::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-weight: 400;
	color: var(--navy);
}
.faq__item[open] .faq__question::after { content: "–"; }
.faq__answer {
	font-size: var(--small-size);
	line-height: 1.6;
	margin-top: 12px;
}
.faq__answer p { margin: 0 0 8px; }
.faq__answer p:last-child { margin-bottom: 0; }

/* ============================================================
   CTA 横幅（hero-banner）
   ============================================================ */
.hero-banner {
	display: flex;
	align-items: center;
	min-height: 400px;
	padding: clamp(32px, 4.4vw, 44px);
	border-radius: var(--radius-lg);
	background: var(--white) center/cover no-repeat;
	overflow: hidden;
}
.hero-banner__inner {
	max-width: 560px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.hero-banner__title {
	margin: 0;
	font-size: var(--title-size);
	font-weight: 600;
	line-height: 1.15;
	text-transform: capitalize;
}
.hero-banner__title--xl { font-size: clamp(33.4px, 2.09rem + ((1vw - 3.2px) * 1.66), 60px); }
.hero-banner__subtitle { margin: 0; font-size: var(--body-size); }
.hero-banner--center { justify-content: center; }
.hero-banner--center .hero-banner__inner { align-items: center; text-align: center; max-width: 720px; }
.hero-banner--center .hero-banner__title {
	color: var(--white);
	text-shadow: .075em .075em 0 var(--navy);
	line-height: 1.4;
}
.hero-banner--center .hero-banner__subtitle { color: var(--white); }
.home-block {
	max-width: var(--container);
	margin: var(--section-pad) auto;
	padding: 0 var(--pad-x);
}

/* ============================================================
   展会横幅（pet-fair，关于页）
   ============================================================ */
.pet-fair {
	position: relative;
	min-height: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(32px, 5vw, 64px);
	background: var(--navy-dark) center/cover no-repeat;
}
.pet-fair::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(36, 56, 43, .2);
}
.pet-fair__card {
	position: relative;
	z-index: 1;
	max-width: 760px;
	background: var(--navy);
	border-radius: 22px;
	padding: 32px clamp(28px, 4.4vw, 44px);
	text-align: center;
}
.pet-fair__title {
	margin: 0;
	font-size: clamp(24px, 1.5rem + ((1vw - 3.2px) * 1), 40px);
	line-height: 1.2;
	text-transform: capitalize;
	color: var(--white);
}
.pet-fair__subtitle { margin: 14px 0 28px; font-size: var(--small-size); color: var(--white); }
.social-links { display: flex; justify-content: center; gap: 14px; }
.social-links__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border-radius: 50%;
	color: var(--white);
	text-decoration: none;
	transition: opacity .2s ease, transform .2s ease;
}
.social-links__link svg { width: 24px; height: 24px; fill: currentColor; }
.social-links__link--instagram { background: #f00075; }
.social-links__link--facebook { background: #0866ff; }
.social-links__link--tiktok { background: #000; }
.social-links__link:hover { opacity: .85; transform: translateY(-2px); }

/* ============================================================
   联系我们区块 + 表单（about / contact-us）
   ============================================================ */
.contact-section {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
}
.contact-section__card {
	display: grid;
	grid-template-columns: 32% 1fr;
	gap: clamp(24px, 4vw, 56px);
	background: var(--navy);
	border-radius: var(--radius-lg);
	padding: clamp(28px, 4.4vw, 48px);
	color: var(--cream);
}
.contact-section__card--single { grid-template-columns: 1fr; }
.contact-section__info { min-width: 0; }
.contact-section__addr { color: var(--cream); line-height: 1.6; }
.contact-section__title {
	margin: 0 0 20px;
	font-size: var(--h3-size);
	line-height: 1.2;
	text-transform: capitalize;
	color: var(--white);
}
.contact-section__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: var(--small-size);
}
.contact-section__list a { color: var(--cream); text-decoration: none; transition: opacity .2s ease; }
.contact-section__list a:hover { opacity: .8; text-decoration: underline; }
.contact-section__map { margin-top: 24px; border-radius: 14px; overflow: hidden; line-height: 0; }
.contact-section__map iframe { width: 100%; height: 220px; border: 0; }
.contact-form { display: flex; flex-direction: column; gap: 18px; }
.contact-form__field { display: flex; flex-direction: column; gap: 8px; }
.contact-form__label { font-size: var(--small-size); color: var(--white); }
.contact-form__req { opacity: .75; font-size: .8em; }
.contact-form__input,
.contact-form__textarea {
	width: 100%;
	padding: 13px 16px;
	border: none;
	border-radius: 14px;
	background: var(--white);
	color: var(--navy);
	font-family: inherit;
	font-size: 16px;
}
.contact-form__input::placeholder,
.contact-form__textarea::placeholder { color: #8fa1b5; }
.contact-form__textarea { min-height: 150px; resize: vertical; line-height: 1.5; }
.contact-form__submit {
	align-self: flex-start;
	padding: .55em 1.5em;
	border: 1px solid var(--cream);
	border-radius: 100px;
	background: var(--cream);
	color: var(--navy);
	font-family: var(--font-head);
	font-size: var(--small-size);
	line-height: 1.4;
	cursor: pointer;
	box-shadow: 4px 4px 0 var(--navy-dark);
	transition: transform .2s ease, box-shadow .2s ease;
}
.contact-form__submit:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--navy-dark); }
.contact-form .hidden-fields-container { display: none; }
.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
}
.contact-form .wpcf7-not-valid-tip {
	display: inline-block;
	margin-top: 6px;
	padding: 3px 10px;
	border-radius: var(--radius-sm);
	background: #a83226;
	color: var(--cream);
	font-size: var(--small-size);
}

/* ============================================================
   询价弹窗（产品详情页，内嵌联系页那张表单）
   ============================================================ */
.quote-modal {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--pad-x);
}
.quote-modal[hidden] { display: none; }
body.is-quote-open { overflow: hidden; }
.quote-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(36, 56, 43, .72);
}
.quote-modal__dialog {
	position: relative;
	width: min(560px, 100%);
	max-height: calc(100vh - 2 * var(--pad-x));
	overflow-y: auto;
	padding: clamp(24px, 4vw, 40px);
	border-radius: var(--radius-lg);
	background: var(--navy);
	color: var(--cream);
}
.quote-modal__close {
	position: absolute;
	top: 14px; right: 14px;
	width: 36px; height: 36px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 246, 229, .14);
	color: var(--cream);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease;
}
.quote-modal__close::before { content: "✕"; }
.quote-modal__close:hover { background: rgba(255, 246, 229, .28); }
.quote-modal__title {
	margin: 0 0 20px;
	padding-right: 44px;
	font-size: var(--h3-size);
	line-height: 1.2;
	color: var(--white);
}

/* ============================================================
   E-Catalog 电子目录
   ============================================================ */
.catalog {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.catalog__group { background: var(--yellow); border-radius: var(--radius-lg); padding: 40px 24px; }
.catalog__title {
	margin: 0 0 32px;
	text-align: center;
	font-size: var(--h3-size);
	font-weight: 600;
	line-height: 1.4;
	text-transform: capitalize;
}
.catalog__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px 16px; }
.catalog__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
	width: 100%;
	max-width: 152px;
	justify-self: center;
	transition: transform .2s ease;
}
.catalog__card:hover { transform: translateY(-4px); }
.catalog__thumb {
	width: 100%;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: var(--white);
}
.catalog__thumb img { width: 100%; height: 100%; object-fit: cover; }
.catalog__label {
	font-size: clamp(15px, 0.95rem + ((1vw - 3.2px) * 0.35), 20px);
	font-weight: 500;
	line-height: 1.1;
	text-align: center;
	text-transform: capitalize;
}

/* ============================================================
   404 错误页
   ============================================================ */
.error-page {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 62vh;
	padding: clamp(64px, 8vw, 120px) var(--pad-x);
}
.error-page__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	max-width: 720px;
	text-align: center;
}
.error-page__emoji { font-size: 64px; line-height: 1; margin: 0; }
.error-page__title {
	margin: 0;
	font-size: var(--title-size);
	font-weight: 800;
	line-height: 1.2;
}
.error-page__text { margin: 0; font-size: var(--body-size); line-height: 1.5; }
.error-page__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 24px; margin-top: 8px; }

/* ============================================================
   产品列表页（product / search）：面包屑 + 侧栏 + 分页
   ============================================================ */
.breadcrumb {
	padding: 18px var(--pad-x);
	font-size: 14px;
	color: #66788d;
}
.breadcrumb__list { display: flex; flex-wrap: wrap; gap: 6px; max-width: var(--container); margin: 0 auto; }
.breadcrumb a { color: var(--navy); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb__sep { opacity: .5; }

.shop {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: clamp(20px, 3vw, 40px);
	max-width: var(--container);
	margin: 0 auto;
	padding: 20px var(--pad-x) var(--section-pad);
}
.shop__sidebar { align-self: start; position: sticky; top: 190px; max-height: calc(100vh - 210px); overflow-y: auto; }
.shop__main { min-width: 0; }
.shop__results-count { margin: 0 0 20px; font-size: 14px; color: #66788d; }
.shop__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 20px; }
.shop__page--dots { pointer-events: none; border-color: transparent; background: transparent; }
.shop__pagination { display: flex; justify-content: center; gap: 6px; margin-top: 40px; flex-wrap: wrap; }
.shop__page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid rgba(60, 90, 69, .3);
	border-radius: 8px;
	background: var(--white);
	color: var(--navy);
	text-decoration: none;
	font-size: 14px;
	transition: background .2s ease, color .2s ease;
}
.shop__page:hover { background: var(--navy); color: var(--cream); }
.shop__page.is-active { background: var(--navy); color: var(--cream); border-color: var(--navy); }

/* 侧栏筛选 */
.filter__search { margin-bottom: 24px; position: relative; }
.filter__search-input {
	width: 100%;
	padding: 11px 46px 11px 14px;
	border: 1px solid rgba(60, 90, 69, .35);
	border-radius: 10px;
	font-size: 14px;
}
.filter__search-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
/* 点进输入框就把提示文字收掉（不清空 placeholder，只是画成透明） */
.filter__search-input:focus::placeholder { color: transparent; }
.filter__search-btn {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--navy);
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
}
.filter__search-btn:hover { color: var(--teal); }
.filter__search-btn:focus-visible { outline: 2px solid var(--yellow); outline-offset: -2px; border-radius: 10px; }
.filter__group { margin-bottom: 22px; }
.filter__title {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 700;
	text-transform: capitalize;
}
.filter__list { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.filter__link { color: var(--navy); text-decoration: none; line-height: 1.4; }
.filter__link:hover { text-decoration: underline; }
.filter__link--active { color: var(--teal); font-weight: 700; }
.filter__count { color: #8a9aad; font-size: 13px; }
.filter__link--sub { padding-left: 14px; }
.filter__link--sub2 { padding-left: 28px; }
.filter__toggle {
	display: none;
	width: 100%;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 10px;
	padding: 11px 14px;
	border: 1px solid rgba(60, 90, 69, .35);
	border-radius: 10px;
	background: var(--white);
	color: var(--navy);
	font-size: 15px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}
.filter__toggle-icon {
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .2s ease, margin-top .2s ease;
}
.filter__group.is-open .filter__toggle-icon { margin-top: 4px; transform: rotate(225deg); }
.filter__select {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid rgba(60, 90, 69, .35);
	border-radius: 10px;
	font-size: 14px;
	background: var(--white);
}

/* ============================================================
   产品详情页
   ============================================================ */
.pd {
	max-width: var(--container);
	margin: 0 auto;
	padding: 30px var(--pad-x) var(--section-pad);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 4vw, 56px);
}
.pd__info { min-width: 0; }
.pd__gallery { position: sticky; top: 160px; align-self: start; min-width: 0; }
.pd__slider {
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--radius-lg);
}
.pd__slide { position: relative; height: 100%; }
.pd__main {
	width: 100%; height: 100%;
	object-fit: cover;
	user-select: none;
	-webkit-user-drag: none;
}
.pd__thumbs { display: flex; gap: 10px; margin-top: 12px; }
.pd__thumb {
	width: 72px; height: 72px;
	border-radius: 10px;
	object-fit: cover;
	border: 2px solid transparent;
	cursor: pointer;
	opacity: .7;
	transition: border-color .2s ease, opacity .2s ease;
}
.pd__thumb:hover { opacity: 1; }
.pd__thumb.is-active { border-color: var(--navy); opacity: 1; }
.pd__category {
	margin: 0 0 12px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--teal);
	font-weight: 700;
}
.pd__title {
	margin: 0 0 12px;
	font-size: clamp(25px, 1.5625rem + ((1vw - 3.2px) * 0.85), 34px);
	font-weight: 700;
	line-height: 1.2;
}
.pd__info > .pd__desc {
	margin: 0 0 20px;
	font-size: 19px;
	line-height: 1.65;
	color: #4f6c5c;
}
.pd__info > .pd__desc > p:last-child { margin-bottom: 0; }
.pd__info > .pd__desc strong { color: var(--navy); }
.pd__meta { margin: 0; font-size: 13px; line-height: 1.7; color: #55677c; }
.pd__meta > p { margin: 0; }
.pd__meta strong { color: var(--navy); }
.pd__actions { margin-bottom: 20px; }
.pd__section { margin-top: 48px; }
.pd__section-title {
	margin: 0 0 16px;
	font-size: clamp(19px, 1.1875rem + ((1vw - 3.2px) * 0.25), 22px);
	font-weight: 700;
}
.pd__section > p { margin: 0 0 18px; font-size: 16px; line-height: 1.7; }
.pd__section .pd__desc {
	display: inline-block;
	margin: 0 0 20px;
	padding: 6px 16px;
	border-radius: var(--radius-sm);
	background: var(--cream);
	font-size: 14px;
	line-height: 1.6;
	color: var(--navy);
}
.pd__features { display: flex; flex-direction: column; gap: 14px; }
.pd__features .pd__feature {
	margin: 0;
	padding-left: 26px;
	position: relative;
	font-size: 16px;
	line-height: 1.7;
}
.pd__feature strong { color: var(--navy); }
.pd__feature::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--teal);
	font-weight: 700;
}
.pd__section .pd__note {
	margin: 24px 0 0;
	padding-top: 20px;
	border-top: 1px solid rgba(60, 90, 69, .14);
	font-size: 14px;
	line-height: 1.65;
	color: #55677c;
}
.pd__note a { color: var(--teal); text-decoration: none; }
.pd__note a:hover { text-decoration: underline; }
.pd__related { max-width: var(--container); margin: 0 auto; padding: 0 var(--pad-x) var(--section-pad); }

/* ============================================================
   关于页 OEM/ODM 流程
   ============================================================ */
.oem {
	background: var(--navy);
	color: var(--cream);
	padding: var(--section-pad) var(--pad-x);
}
.oem__inner { max-width: var(--container); margin: 0 auto; }
.oem__head { margin: 40px 0 36px; }
.oem__lead {
	display: grid;
	grid-template-columns: 40% 1fr;
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
}
.oem__lead .carousel { max-width: 460px; margin-left: auto; }
.oem__lead-carousel, .oem__lead-text { min-width: 0; }
.oem__head-title { margin: 0; font-size: var(--title-size); font-weight: 700; text-transform: capitalize; line-height: 1.4; color: var(--cream); }
.oem__head-desc { margin: 14px 0 0; font-size: var(--small-size); line-height: 1.5; color: var(--cream); }
.oem__head-steps { margin: 48px 0 0; text-align: center; font-size: var(--title-size); font-weight: 700; text-transform: capitalize; color: var(--cream); }
.oem__timeline {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: step;
	position: relative;
}
.oem__timeline::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 23px;
	width: 2px;
	background: var(--yellow);
	opacity: .45;
}
.oem__timeline-item {
	position: relative;
	display: grid;
	grid-template-columns: 48px 1fr;
	align-items: start;
	column-gap: 18px;
	padding-bottom: 18px;
}
.oem__timeline-item:last-child { padding-bottom: 0; }
.oem__timeline-dot {
	position: relative;
	z-index: 1;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--yellow);
	color: var(--navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	font-weight: 700;
}
.oem__timeline-dot::before {
	counter-increment: step;
	content: counter(step);
}
.oem__timeline-card {
	background: var(--white);
	color: var(--navy);
	border-radius: var(--radius-lg);
	padding: clamp(16px, 2.4vw, 24px) clamp(16px, 2.4vw, 22px);
}
.oem__timeline-card h3 {
	margin: 0 0 6px;
	font-size: clamp(18px, 1.05rem + ((1vw - 3.2px) * 0.45), 23px);
	font-weight: 700;
	line-height: 1.25;
}
.oem__timeline-card p {
	margin: 0;
	font-size: var(--small-size);
	line-height: 1.45;
}

/* ============================================================
   brand 页特色组件
   ============================================================ */
/* 三张特性小卡（Shelf-Ready / Seasonal / Wholesale）包在黄底圆角容器里 */
.brand-cards {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x) 0;
}
.brand-cards__shell {
	background: var(--yellow);
	border-radius: var(--radius-lg);
	padding: clamp(24px, 3vw, 40px);
}
.brand-cards__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.brand-card { border-radius: var(--radius-lg); padding: 34px 22px; text-align: center; transition: transform .25s ease; }
.brand-card:hover { transform: translateY(-5px); }
.brand-card h3 { margin: 0 0 8px; font-size: clamp(21.5px, 1.35rem + ((1vw - 3.2px) * 0.84), 35px); font-weight: 500; }
.brand-card p { margin: 0; font-size: var(--small-size); }
.brand-card--cream { background: var(--yellow); }
.brand-card--white { background: var(--white); color: var(--navy); }
.brand-card--teal { background: var(--teal); color: var(--cream); }

/* Yes Fun / Yes Safe 两栏卡片 */
.yes-card {
	max-width: var(--container);
	margin: var(--section-pad) auto 0;
	padding: 0 var(--pad-x);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.yes-card__text {
	background: var(--yellow);
	border-radius: 28px;
	min-height: 420px;
	padding: clamp(28px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 16px;
}
.yes-card__text h2 { margin: 0; font-size: var(--h3-size); }
.yes-card__text p { margin: 0; font-size: var(--body-size); line-height: 1.3; }
.yes-card__media { border-radius: 28px; overflow: hidden; min-height: 420px; }
.yes-card__media img { width: 100%; height: 100%; object-fit: cover; min-height: 420px; }

/* 服务 / 理念 大标题区块 */
.big-title { text-align: center; }
.big-title h2 {
	margin: 0;
	font-size: clamp(37.8px, 2.36rem + ((1vw - 3.2px) * 2.01), 70px);
	font-weight: 700;
	line-height: 1.4;
	text-transform: capitalize;
}
.big-title p { margin: 10px auto 0; max-width: 820px; font-size: var(--body-size); font-weight: 300; line-height: 1.5; }
.big-section {
	padding: var(--section-pad) var(--pad-x);
}
.big-section--navy { background: var(--navy); color: var(--cream); }
.big-section--yellow { background: var(--yellow); color: var(--navy); }
.big-section__inner { max-width: var(--container); margin: 0 auto; }

/* 服务页两栏：图卡 + FAQ手风琴 */
.services {
	display: grid;
	grid-template-columns: 45% 1fr;
	gap: clamp(24px, 4vw, 48px);
	align-items: start;
	margin-top: 36px;
}
.services__img {
	border-radius: var(--radius-lg);
	min-height: 520px;
	background: center/cover no-repeat;
}
.services__accordion .faq__item { background: transparent; border-color: rgba(255, 246, 229, .25); }
.services__accordion .faq__question { color: var(--cream); }
.services__accordion .faq__answer { color: var(--cream); }
.services__accordion .faq__item[open] { background: rgba(255, 246, 229, .08); }

/* 理念页两栏：卡片列表 + 图卡 */
.philosophy {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	margin-top: 36px;
}
.philosophy__list { display: flex; flex-direction: column; gap: 14px; }
.philosophy__card {
	background: var(--cream);
	border-radius: var(--radius-sm);
	padding: 18px clamp(20px, 3vw, 30px);
	transition: transform .2s ease;
}
.philosophy__card:hover { transform: translateX(6px); }
.philosophy__card h3 { margin: 0 0 6px; font-size: clamp(19px, 1.19rem + ((1vw - 3.2px) * 0.69), 30px); font-weight: 600; }
.philosophy__card p { margin: 0; font-size: var(--small-size); line-height: 1.3; }
.philosophy__img {
	border-radius: var(--radius-lg);
	min-height: 540px;
	background: center/cover no-repeat;
}

/* 创始人故事 / 引言卡片 */
.story {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
}
.story__grid {
	background: var(--yellow);
	border-radius: var(--radius-lg);
	padding: clamp(28px, 4vw, 48px);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
}
.story__img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-lg); }
.story__body { min-width: 0; }
.story__grid--reverse .story__img { order: 2; }
.story__grid--reverse .story__body { order: 1; }
.story__label { margin: 0 0 6px; font-size: var(--small-size); color: var(--navy); }
.story__title { margin: 0 0 16px; font-size: var(--h3-size); font-weight: 700; }
.story__text { margin: 0; font-size: var(--body-size); line-height: 1.4; }

.quote {
	display: grid;
	grid-template-columns: 67% 1fr;
	gap: 20px;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--pad-x) var(--section-pad);
}
.quote--reverse { grid-template-columns: 1fr 67%; }
.quote--reverse .quote__media { order: 1; }
.quote--reverse .quote__text { order: 2; }
.quote__text {
	background: var(--yellow);
	border-radius: 28px;
	padding: clamp(26px, 3.5vw, 36px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
	min-height: 440px;
}
.quote__text h2 { margin: 0; font-size: clamp(17.4px, 1.09rem + ((1vw - 3.2px) * 0.6), 27px); font-weight: 600; line-height: 1.3; }
.quote__text p { margin: 0; font-size: var(--body-size); line-height: 1.3; }
.quote__media { border-radius: 28px; overflow: hidden; min-height: 440px; }
.quote__media img { width: 100%; height: 100%; object-fit: cover; min-height: 440px; }

/* Ray 的 6 个瞬间 */
.moments {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
}
.moments__banner {
	position: relative;
	border-radius: var(--radius-lg);
	overflow: hidden;
	min-height: 275px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #292929 center/cover no-repeat;
	margin-bottom: 40px;
}
.moments__banner::before { content: ""; position: absolute; inset: 0; background: rgba(41, 41, 41, .45); }
.moments__banner h2 {
	position: relative;
	margin: 0;
	color: var(--white);
	font-size: clamp(24px, 1.5rem + ((1vw - 3.2px) * 1), 40px);
	font-weight: 700;
	text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
.moments__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.moment {
	background: var(--white);
	border: 1px solid rgba(60, 90, 69, .12);
	border-radius: var(--radius-lg);
	padding: clamp(24px, 3vw, 32px) 20px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.moment:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(60, 90, 69, .12); }
.moment h3 { margin: 0 0 12px; text-align: center; font-size: clamp(19px, 1.19rem + ((1vw - 3.2px) * 0.69), 30px); font-weight: 600; }
.moment p { margin: 0; font-size: var(--small-size); line-height: 1.6; }
.moments__band {
	border-radius: var(--radius-lg);
	background: #292929 center/cover no-repeat;
	min-height: 240px;
	margin: 20px 0;
}

/* 返回顶部 */
.back-to-top {
	position: fixed;
	/* right 与 WhatsApp 圆钮同轴：(64 - 44) / 2 = 10px；圆钮尺寸变了这里要跟着改 */
	right: calc(max(20px, env(safe-area-inset-right)) + 10px);
	bottom: 20px;
	z-index: 999;
	width: 44px; height: 44px;
	border: none;
	border-radius: 50%;
	background: rgba(60, 90, 69, .8);
	color: var(--cream);
	font-size: 18px;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--navy); }

/* ============================================================
   右下角 WhatsApp 询盘悬浮按钮（全站）
   ============================================================ */
.has-inquiry .back-to-top { bottom: 92px; }

.inquiry-widget {
	position: fixed;
	right: max(20px, env(safe-area-inset-right));
	bottom: max(20px, env(safe-area-inset-bottom));
	z-index: 1000;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #25d366;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .22);
	text-decoration: none;
	transition: transform .22s ease, box-shadow .22s ease;
}
/* 每 3s 一圈涟漪：前 60% 扩散淡出，后面留白，不是持续闪烁 */
.inquiry-widget::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	animation: cuddlebondWaPulse 3s ease-out infinite;
}
.inquiry-widget:hover {
	transform: scale(1.08);
	box-shadow: 0 8px 26px rgba(0, 0, 0, .3);
}
/* 文字默认藏在圆钮左侧，hover / 键盘聚焦时滑出 */
.inquiry-widget__label {
	position: absolute;
	right: calc(100% + 10px);
	top: 50%;
	background: var(--navy-dark);
	color: var(--white);
	font-size: 13px;
	line-height: 1;
	padding: 10px 14px;
	border-radius: var(--radius-sm);
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translate(8px, -50%);
	transition: opacity .22s ease, transform .22s ease;
}
.inquiry-widget:hover .inquiry-widget__label,
.inquiry-widget:focus-visible .inquiry-widget__label {
	opacity: 1;
	transform: translate(0, -50%);
}
.inquiry-widget__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	font-size: 34px;
	line-height: 1;
	color: var(--white);
}
@keyframes cuddlebondWaPulse {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); }
	60%, 100% { box-shadow: 0 0 0 18px rgba(37, 211, 102, 0); }
}
@media (max-width: 767px) {
	.inquiry-widget {
		right: max(14px, env(safe-area-inset-right));
		bottom: max(14px, env(safe-area-inset-bottom));
		width: 56px;
		height: 56px;
	}
	.inquiry-widget__icon { font-size: 30px; }
	.inquiry-widget__label { display: none; }
	/* 同步同轴：(56 - 44) / 2 = 6px */
	.back-to-top { right: calc(max(14px, env(safe-area-inset-right)) + 6px); }
}
@media (prefers-reduced-motion: reduce) {
	.inquiry-widget::after { animation: none; }
	.inquiry-widget,
	.inquiry-widget__label { transition: none; }
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 992px) {
	.products__grid { grid-template-columns: repeat(3, 1fr); }
	.catalog__grid { grid-template-columns: repeat(3, 1fr); }
	.features__grid { grid-template-columns: repeat(2, 1fr); }
	.stats__grid { grid-template-columns: repeat(2, 1fr); }
	.category-grid__grid { grid-template-columns: repeat(2, 1fr); }
	.split { grid-template-columns: 1fr; }
	.split--reverse .split__media { order: 0; }
	.contact-section__card { grid-template-columns: 1fr; }
	.pd { grid-template-columns: 1fr; }
	.pd__gallery { position: static; }
	.pd__section { margin-top: 32px; }
	.shop { grid-template-columns: 1fr; }
	.shop__sidebar { position: static; max-height: none; overflow: visible; }
	.shop__grid { grid-template-columns: repeat(3, 1fr); }
	.filter__toggle { display: flex; }
	.shop__sidebar .filter__title { display: none; }
	.filter__group { position: relative; }
	.filter__list {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 30;
		gap: 0;
		max-height: 60vh;
		overflow-y: auto;
		padding: 6px 14px;
		background: var(--white);
		border: 1px solid rgba(60, 90, 69, .35);
		border-radius: 10px;
		box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
	}
	.filter__group.is-open .filter__list { display: flex; }
	.filter__group.is-open .filter__toggle { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
	.filter__group.is-open .filter__list {
		border-top: 0;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
	.filter__link { display: block; padding-top: 12px; padding-bottom: 12px; }
	.filter__search-input { font-size: 16px; }
	.brand-cards__grid { grid-template-columns: 1fr; }
	.yes-card { grid-template-columns: 1fr; }
	.services { grid-template-columns: 1fr; }
	.philosophy { grid-template-columns: 1fr; }
	.story__grid { grid-template-columns: 1fr; }
	.quote, .quote--reverse { grid-template-columns: 1fr; }
	.quote--reverse .quote__media { order: 0; }
	.quote--reverse .quote__text { order: 1; }
	.moments__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
	.site-header__main { flex-wrap: wrap; justify-content: center; }
	.site-nav__list { gap: 10px 18px; }
	.site-nav__sub {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		box-shadow: none;
		background: transparent;
		padding: 4px 0 10px 12px;
	}
	.site-nav__sub a { color: var(--cream); padding: .4em 1em; }
	.site-nav__sub a:hover { background: rgba(255, 246, 229, .15); color: var(--cream); }
	.site-footer__cols { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
	.site-header__toggle { display: flex; }
	.site-header__main { justify-content: space-between; }
	.site-header__socials { display: none; }
	.site-nav {
		display: none;
		padding: 0 20px 20px;
	}
	.site-nav.is-open { display: block; }
	.site-nav__list { flex-direction: column; align-items: flex-start; gap: 4px; }
	.site-nav__link { padding: .8em 0; }
	.oem__lead { grid-template-columns: 1fr; }
	.oem__lead .carousel { max-width: 460px; margin: 0 auto; }
	.oem__timeline-item { column-gap: 12px; }
	.site-footer__col--nav { display: none; }
}

@media (max-width: 600px) {
	.products__grid { grid-template-columns: repeat(2, 1fr); gap: 20px 12px; }
	.catalog__grid { grid-template-columns: repeat(2, 1fr); }
	.shop__grid { grid-template-columns: repeat(2, 1fr); gap: 20px 12px; }
	.products__links { gap: 20px; }
	
	.features__title { font-size: var(--h3-size); margin-bottom: 30px; }
	.features__grid {}
	.stats__grid {  }
	.category-grid__grid { grid-template-columns: 1fr; }
	.moments__grid { grid-template-columns: 1fr; }
	.hero__content { max-width: none; }
	.hero__controls {  }
	.site-footer__cols { grid-template-columns: 1fr; }
	.big-title h2 { font-size: 42px; }
	
	.split { gap:32px; padding-top: 16px; padding-bottom: 16px; }
	.split__card { padding: 0; }
	
	.home-block { margin-top: 32px; margin-bottom: 32px; }

	.features { padding-top: 32px; padding-bottom: 32px; }

	.faq { padding-top: 32px; padding-bottom: 32px; }
	.faq__question::after { font-size: 24px; line-height: 1; }

	.pd__info > .pd__desc { font-size: 17px; }
	.pd__section > p,
	.pd__features .pd__feature { font-size: 15px; }
}


/* ============================================================
   Blog（页头导航 Blog 页面）
   ============================================================ */
.blog-link { color: var(--teal); font-weight: 600; text-decoration: none; }
.blog-link:hover { color: var(--orange); text-decoration: underline; }

.blog-section {
	max-width: var(--container);
	margin: 0 auto;
	padding: var(--section-pad) var(--pad-x);
}
.blog-section__title {
	margin: 0 0 40px;
	text-align: center;
	font-size: var(--title-size);
	font-weight: 700;
	letter-spacing: 1px;
}
.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.post-card {
	display: flex;
	flex-direction: column;
	background: var(--white);
	border: 1px solid rgba(60, 90, 69, .12);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.post-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(60, 90, 69, .12); }
.post-card__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.post-card__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px 22px 24px;
}
.post-card__meta {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--orange);
}
.post-card__title {
	margin: 0;
	font-size: clamp(17px, 1.08rem + ((1vw - 3.2px) * 0.5), 25px);
	font-weight: 600;
	line-height: 1.3;
	color: var(--navy);
}
.post-card__text {
	margin: 0;
	font-size: var(--small-size);
	line-height: 1.6;
	color: rgba(60, 90, 69, .85);
}

@media (max-width: 992px) {
	.blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.blog-grid { grid-template-columns: 1fr; }
}
.post-kicker { margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--teal); }


/* 博客分页 */
.pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 44px;
}
.pagination__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(60, 90, 69, .25);
	border-radius: 100px;
	background: var(--white);
	color: var(--navy);
	font-size: var(--small-size);
	font-weight: 600;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.pagination__link:hover { box-shadow: 0 6px 16px rgba(60, 90, 69, .18); }
.pagination__link--active { background: var(--navy); border-color: var(--navy); color: var(--cream); }
.pagination__link--active:hover { box-shadow: none; }

/* 博客分类标签(带链接) */
.blog-cats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: -8px 0 36px;
	padding: 0;
	list-style: none;
}
.blog-cats__link {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid rgba(60, 90, 69, .25);
	border-radius: 100px;
	background: var(--white);
	color: var(--navy);
	font-size: var(--small-size);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.blog-cats__link:hover { box-shadow: 0 6px 14px rgba(60, 90, 69, .18); }
.blog-cats__link--active { background: var(--navy); border-color: var(--navy); color: var(--cream); }
.blog-cats__link--active:hover { box-shadow: none; }

/* ============================================================
   博客详情页
   ============================================================ */
.article-kicker {
	margin: 0 0 16px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--yellow);
}
.article-hero {
	max-width: var(--container);
	margin: 0 auto;
	padding: clamp(28px, 5vw, 52px) var(--pad-x) 0;
}
.article-hero img {
	display: block;
	width: 100%;
	max-height: 560px;
	object-fit: cover;
	border-radius: var(--radius-lg);
}
.article {
	max-width: 780px;
	margin: 0 auto;
	padding: clamp(36px, 6vw, 64px) var(--pad-x) clamp(20px, 3vw, 32px);
}
.article p {
	margin: 0 0 1.6em;
	font-size: var(--body-size);
	line-height: 1.85;
	color: rgba(60, 90, 69, .92);
}
.article h2 {
	margin: 2.2em 0 .8em;
	font-size: clamp(21px, 1.34rem + ((1vw - 3.2px) * 0.62), 31px);
	line-height: 1.3;
	color: var(--navy);
	font-weight: 700;
}
.article ul { margin: 0 0 1.6em; padding-left: 1.2em; }
.article ul li {
	margin: 0 0 .7em;
	font-size: var(--body-size);
	line-height: 1.75;
	color: rgba(60, 90, 69, .92);
}
.article__signoff {
	margin-top: 2.4em;
	font-weight: 700;
	color: var(--navy);
}

.article-tags {
	max-width: 780px;
	margin: 0 auto;
	padding: 0 var(--pad-x) clamp(20px, 3vw, 32px);
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	border-top: 1px solid rgba(60, 90, 69, .12);
	padding-top: 10px;
}
.article-tags__label {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--navy);
}
.article-tags__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.article-tags__tag {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 100px;
	background: var(--cream);
	color: var(--navy);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
.article-tags__tag:hover { background: var(--yellow); }.article__back {
	margin: 44px 0 0;
	text-align: center;
}
.article__back a {
	color: var(--teal);
	font-weight: 600;
	text-decoration: none;
}
.article__back a:hover { color: var(--orange); text-decoration: underline; }

/* 列表卡片整卡链接 */
.post-card { position: relative; }
.post-card__link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: var(--radius-lg);
}
.post-card__link:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }

/* ============================================================
   资质背书条（index：stats 数字条与精选产品之间）
   ============================================================ */
.assur {
	background: var(--navy);
	color: var(--cream);
	padding: clamp(16px, 2vw, 26px) var(--pad-x);
}
.assur__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: var(--container);
	margin: 0 auto;
}
.assur__item {
	flex: 1 1 0;
	min-width: 148px;
	max-width: 300px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	padding: 4px clamp(8px, 1.6vw, 24px);
	text-align: center;
}
.assur__item + .assur__item { border-left: 1px solid rgba(255, 246, 229, .22); }
.assur__icon {
	width: clamp(30px, 2vw, 38px);
	height: auto;
	color: var(--cream);
}
.assur__label {
	font-size: clamp(13px, 1.05vw, 16px);
	line-height: 1.25;
	font-weight: 600;
	letter-spacing: .02em;
	color: var(--cream);
}
@media (max-width: 900px) {
	.assur{
		padding-left: 0;
		padding-right: 0;
	}
	.assur__grid { row-gap: 8px; }
	.assur__item { flex: 0 1 33.3333%; min-width: 0; }
	.assur__label{
		font-size: 12px; font-weight: normal;
	}
	.assur__item + .assur__item { border-left: none; padding-left: 0; padding-right: 0;}
}


/* ============================================================
   移动端汉堡菜单 v2（以 <body class="menu-v2"> 门控，先只开首页）
   ============================================================ */
@media (max-width: 768px) {
	body.menu-v2 .site-header__toggle {
		display: flex;
		flex: none;
		background: var(--white);
		border-color: rgba(60, 90, 69, .45);
	}
	body.menu-v2 .site-header__toggle span,
	body.menu-v2 .site-header__toggle span::before,
	body.menu-v2 .site-header__toggle span::after { background: var(--navy); }
	body.menu-v2 .site-header__toggle.is-active span { background: transparent; }
	body.menu-v2 .site-header__toggle.is-active span::before { top: 0; transform: rotate(45deg); }
	body.menu-v2 .site-header__toggle.is-active span::after { top: 0; transform: rotate(-45deg); }

	body.menu-v2 .site-header__logo img { height: 30px; }
	body.menu-v2 .site-header__main { gap: 10px; }
	body.menu-v2 .site-header__actions { gap: 16px; }

	/* 菜单：下拉浮层，不进入文档流 */
	body.menu-v2 .site-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		max-height: calc(100vh - 76px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: var(--cream);
		border-top: 1px solid rgba(60, 90, 69, .12);
		box-shadow: 0 16px 30px rgba(0, 0, 0, .16);
		padding: 4px var(--pad-x) 18px;
	}
	body.menu-v2 .site-nav.is-open { display: block; animation: menuDropV2 .18s ease-out; }
	body.menu-v2 .site-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	body.menu-v2 .site-nav__item { border-bottom: 1px solid rgba(60, 90, 69, .1); }
	body.menu-v2 .site-nav__item:last-child { border-bottom: 0; }
	body.menu-v2 .site-nav__link { padding: .9em 0; color: var(--navy); font-size: 16px; font-weight: 600; }
	body.menu-v2 .site-nav__link:hover { opacity: .7; }
	body.menu-v2 .site-nav__link.is-active { color: var(--teal); }
	body.menu-v2 .site-nav__item--sub { display: flex; flex-wrap: wrap; align-items: center; }
	body.menu-v2 .site-nav__item--sub > a { flex: 1 1 auto; min-width: 0; }
	/* 箭头挪到按钮上，链接自己那份藏掉 */
	body.menu-v2 .site-nav__item--sub > a::after { display: none; }
	body.menu-v2 .site-nav__sub-toggle {
		display: flex;
		flex: none;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		background: none;
		border: 0;
		padding: 0;
		cursor: pointer;
	}
	body.menu-v2 .site-nav__sub-toggle::after {
		content: "";
		width: 0;
		height: 0;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 6px solid var(--navy);
		transition: transform .2s ease;
	}
	body.menu-v2 .site-nav__item--sub.is-open > .site-nav__sub-toggle::after { transform: rotate(90deg); }
	body.menu-v2 .site-nav__item--sub > .site-nav__sub { display: none; flex: 1 0 100%; }
	body.menu-v2 .site-nav__item--sub.is-open > .site-nav__sub { display: block; border-left: 0; }
	body.menu-v2 .site-nav__sub {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		background: transparent;
		box-shadow: none;
		padding: 0 0 12px;
		margin-left: 2px;
		border-left: 2px solid rgba(60, 90, 69, .16);
	}
	body.menu-v2 .site-nav__sub a { color: var(--navy); padding: .45em 1em; font-size: 15px; white-space: normal; }
	body.menu-v2 .site-nav__sub a:hover { background: var(--yellow); color: var(--navy); }
}


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


.site-nav__cta { display: none; }

@media (max-width: 768px) {
	body.menu-v2 .site-header__cta { display: block; }
	body.menu-v2 .site-header__cta .btn {
		padding: .5em .8em;
		font-size: 12px;
		white-space: nowrap;
	}
	.lang-switch .trp-shortcode-switcher .trp-current-language-item__wrapper {
		gap: .3em;
		padding: .5em .6em .5em .7em;
		font-size: 12px;
	}
	.lang-switch .trp-current-language-item__wrapper .trp-language-item-name { font-size: 12px; }
	.lang-switch .trp-shortcode-arrow { width: 10px; height: 10px; }
}

@media (max-width: 380px) {
	body.menu-v2 .site-header__main { gap: 8px; }
	body.menu-v2 .site-header__logo img { height: 30px; }
	body.menu-v2 .site-header__cta .btn { padding: .4em .7em; }
	.lang-switch .trp-shortcode-switcher .trp-current-language-item__wrapper {
		padding: .45em .5em .45em .55em;
	}
}


/* ============================================================
   Hero 手机版横幅（图片地址在 HTML <picture> 里，不入 CSS）
   ============================================================ */
.hero__slide picture { display: block; width: 100%; height: 100%; }
.hero__slide picture .hero__img { width: 100%; height: 100%; }

@media (max-width: 768px) {
	.hero__slider { height: clamp(300px, 100vw, 560px); }
	.hero__title { margin-bottom: 10px; font-size: clamp(24px, 7vw, 34px); }
	.hero__text { margin-bottom: 18px; }
}
