:root {
	--primary: #0757c8;
	--primary-dark: #082f63;
	--navy: #071f3e;
	--text: #152238;
	--muted: #6e7a8c;
	--line: #e8edf4;
	--soft: #f7f9fc;
	--max: 1400px;
	--shadow: 0 9px 25px rgba(20, 46, 89, .00);
	--radius: 4px
}

* {
	box-sizing: border-box
}

html {
	scroll-behavior: smooth
}

body {
	margin: 0;
	font-family: "Arial", "Microsoft YaHei", "PingFang SC", sans-serif;
	color: var(--text);
	background: #fff;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased
}

a {
	color: inherit;
	text-decoration: none
}

button,
input,
select,
textarea {
	font: inherit
}

img {
	display: block;
	max-width: 100%
}

.container {
	width: min(calc(100% - 48px), var(--max));
	margin-inline: auto
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0
}

.icon {
	width: 1.25em;
	height: 1.25em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.2;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex: 0 0 auto
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 28px;
	border: 1px solid transparent;
	border-radius: 3px;
	font-size: 14px;
	/* font-weight: 700; */
	letter-spacing: .02em;
	cursor: pointer;
	transition: .25s
}

.btn-primary {
	background: var(--primary);
	color: #fff;
	box-shadow: 0 8px 18px rgba(7, 87, 200, .22)
}

.btn-primary:hover {
	background: #064dac;
	transform: translateY(-1px)
}

.btn-outline {
	border-color: rgba(11, 77, 191, .75);
	color: #064dac;
	background: transparent
}

.btn-outline:hover {
	background: rgba(255, 255, 255, .1)
}

.btn-light-outline {
	border-color: var(--primary);
	color: var(--primary);
	background: #fff
}

.btn-light-outline:hover {
	color: #fff;
	background: var(--primary)
}

.section-title {
	text-align: center;
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: .02em;
	color: #173b8d
}

.section-sub {
	margin: 7px 0 0;
	text-align: center;
	color: #7b8492;
	font-size: 14px
}

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, .98);
	border-bottom: 1px solid rgba(15, 45, 80, .08);
	backdrop-filter: blur(12px)
}

.header-inner {
	height: 72px;
	display: flex;
	align-items: center;
	gap: 30px
}

.brand {
	display: flex;
	align-items: center;
	width: 280px;
	min-width: 162px
}

.brand img {
	width: 306px;
	height: auto
}

.desktop-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 34px;
	flex: 1;
	height: 100%
}

.desktop-nav>a,
.desktop-nav .nav-link {
	display: flex;
	align-items: center;
	height: 100%;
	position: relative;
	font-size: 13px;
	/* font-weight: 700; */
	color: #18253a;
	white-space: nowrap
}

.desktop-nav>a::after,
.desktop-nav .nav-link::after {
	content: "";
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: -1px;
	height: 3px;
	background: var(--primary);
	transition: .25s
}

.desktop-nav>a:hover,
.desktop-nav>a.active,
.desktop-nav .nav-link:hover,
.desktop-nav .nav-link.active,
.nav-item.active>.nav-link,
.nav-item:hover>.nav-link,
.nav-item:focus-within>.nav-link {
	color: var(--primary)
}

.desktop-nav>a:hover::after,
.desktop-nav>a.active::after,
.desktop-nav .nav-link:hover::after,
.desktop-nav .nav-link.active::after,
.nav-item.active>.nav-link::after,
.nav-item:hover>.nav-link::after,
.nav-item:focus-within>.nav-link::after {
	left: 0;
	right: 0
}

.nav-item {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center
}

.nav-chevron {
	font-size: 14px;
	margin-left: 5px;
	transform: translateY(-1px);
	transition: .2s
}

.nav-item:hover .nav-chevron,
.nav-item:focus-within .nav-chevron {
	transform: translateY(-1px) rotate(180deg)
}

.nav-submenu {
	position: absolute;
	left: 50%;
	top: calc(100% + 1px);
	width: 230px;
	padding: 10px;
	background: #fff;
	border: 1px solid var(--line);
	border-top: 3px solid var(--primary);
	box-shadow: 0 18px 40px rgba(17, 45, 85, .16);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, -8px);
	transition: opacity .2s, transform .2s, visibility .2s;
	z-index: 30
}

.nav-item:hover .nav-submenu,
.nav-item:focus-within .nav-submenu,
.nav-item.submenu-open .nav-submenu {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0)
}

.nav-submenu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 42px;
	padding: 0 12px;
	border-radius: 3px;
	color: #35445a;
	font-size: 13px;
	font-weight: 600;
	transition: .2s
}

.nav-submenu a::after {
	content: "›";
	position: static;
	width: auto;
	height: auto;
	background: none;
	color: #9aa8bb;
	font-size: 18px;
	line-height: 1;
	transition: .2s
}

.nav-submenu a:hover {
	background: #f2f7ff;
	color: var(--primary);
	padding-left: 15px
}

.nav-submenu a:hover::after {
	color: var(--primary);
	transform: translateX(2px)
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 0 0 auto
}

.lang-wrap {
	position: relative
}

.lang-btn {
	height: 40px;
	border: 0;
	background: transparent;
	display: flex;
	align-items: center;
	gap: 5px;
	color: #263449;
	cursor: pointer;
	/* font-weight: 700; */
	font-size: 13px;
	white-space: nowrap
}

.lang-menu {
	position: absolute;
	right: 0;
	top: 48px;
	width: 136px;
	background: #fff;
	border: 1px solid var(--line);
	box-shadow: var(--shadow);
	padding: 6px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-5px);
	transition: .2s
}

.lang-menu.open {
	opacity: 1;
	visibility: visible;
	transform: none
}

.lang-menu button,
.lang-menu a {
	display: block;
	width: 100%;
	padding: 9px 10px;
	border: 0;
	background: #fff;
	text-align: left;
	cursor: pointer;
	color: #3b4656;
	text-decoration: none
}

.lang-menu button:hover,
.lang-menu a:hover,
.lang-menu a.active {
	background: #f1f6ff;
	color: var(--primary)
}

.quote-top {
	height: 40px;
	padding: 0 20px;
	font-size: 12px;
	white-space: nowrap
}

.menu-toggle {
	display: none;
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 8px
}

.menu-toggle span {
	display: block;
	height: 2px;
	background: #17304f;
	margin: 6px 0;
	transition: .25s
}

.mobile-drawer,
.drawer-mask {
	display: none
}

/* Hero */
.hero {
	--hero-image: url("../images/banner2.jpg");
	--hero-image2: url("../images/banner2.jpg");
	--hero-image3: url("../images/banner2.jpg");
	position: relative;
	overflow: hidden;
	background: #0a3769
}

.hero-carousel {
	position: relative;
	min-height: 560px
}

.hero-slide {
	position: absolute;
	inset: 0;
	display: grid;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .55s ease, visibility .55s ease;
	background-color: #0a3769;
	background-image: linear-gradient(90deg, rgba(5, 31, 65, 0) 0%, rgba(8, 44, 82, 0) 38%, rgba(8, 38, 73, 0) 59%, rgba(8, 28, 52, 0) 100%), var(--hero-image);
	background-size: 100% 100%, auto 100%;
	background-repeat: no-repeat;
	background-position: center, right center
}

.hero-slide.active {
	position: relative;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 1
}

.hero-slide-link {
	position: absolute;
	inset: 0;
	z-index: 1
}

.hero-slide[data-jumplink]:not([data-jumplink=""]) {
	cursor: pointer
}

.hero-slide.slide-2 {
	background-image: linear-gradient(90deg, rgba(5, 31, 65, 0) 0%, rgba(10, 60, 112, 0) 36%, rgba(10, 60, 112, 0) 60%, rgba(7, 30, 57, .12) 100%), var(--hero-image2);
	background-position: center, 78% center
}

.hero-slide.slide-3 {
	background-image: linear-gradient(90deg, rgba(4, 27, 58, 0) 0%, rgba(12, 70, 132, 0) 34%, rgba(11, 60, 116, 0) 58%, rgba(6, 25, 49, .12) 100%), var(--hero-image3);
	background-position: center, 70% center
}

.hero-inner {
	min-height: 560px;
	display: flex;
	align-items: center
}

.hero-copy {
	width:900px;
	padding: 44px 0 50px;
	color: #fff;
	position: relative;
	z-index: 2
}

.hero h1 {
	margin: 0;
	font-size: 42px;
	line-height: 1.14;
	letter-spacing: .01em;
	text-transform: uppercase;
	text-shadow: 0 3px 18px rgba(0, 0, 0, .2);
	color: #000424
}

.hero h1 span {
	display: block
}

.hero-lead {
	margin: 22px 0 26px;
	font-size: 20px;
	line-height: 1.6;
	color: #0a52c2
}

.hero-benefits {
	display: flex;
	align-items: center;
	gap: 38px;
	margin-bottom: 31px;
	flex-wrap: wrap;
	color: #134dab;
}

.hero-benefit {
	display: flex;
	align-items: center;
	gap: 9px;
	font-weight: 700;
	font-size: 14px;
	white-space: nowrap;
	min-width: 0
}

.hero-benefit span{
	color: #000424;
}

.hero-benefit .icon {
	width: 24px;
	height: 24px
}

.hero-benefit img,
.hero-benefit-img {
	width: 26px !important;
	height: 26px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	object-fit: contain;
	flex: 0 0 34px;
	display: block
}

.hero-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap
}

.hero-nav {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 24px;
	z-index: 5;
	width: min(calc(100% - 48px), var(--max));
	display: flex;
	justify-content: space-between;
	align-items: center;
	pointer-events: none
}

.hero-arrows {
	display: flex;
	gap: 12px;
	pointer-events: auto
}

.hero-arrow {
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, .52);
	background: rgba(255, 255, 255, .12);
	backdrop-filter: blur(10px);
	color: #fff;
	border-radius: 50%;
	display: grid;
	place-items: center;
	cursor: pointer;
	transition: .25s;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .14)
}

.hero-arrow:hover {
	background: rgba(255, 255, 255, .22);
	transform: translateY(-1px)
}

.hero-arrow .icon {
	width: 20px;
	height: 20px
}

.hero-dots {
	display: flex;
	align-items: center;
	gap: 10px;
	pointer-events: auto
}

.hero-dot {
	width: 11px;
	height: 11px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .42);
	cursor: pointer;
	transition: .25s;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .1) inset
}

.hero-dot.active {
	width: 32px;
	background: #fff
}


/* Floating service */
.floating-tools {
	position: fixed;
	z-index: 900;
	right: 0;
	top: 185px;
	width: 128px;
	background: #fff;
	border-radius: 7px 0 0 7px;
	box-shadow: 0 8px 30px rgba(11, 39, 77, .16);
	overflow: hidden
}

.floating-tools a {
	height: 56px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 14px;
	border-bottom: 1px solid #edf1f6;
	font-size: 12px;
	color: #546174;
	transition: .2s
}

.floating-tools a:last-child {
	border-bottom: 0
}

.floating-tools a:hover {
	background: #f4f8ff;
	color: var(--primary)
}

.tool-icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #eef4ff;
	color: var(--primary);
	display: grid;
	place-items: center
}

.tool-icon.whatsapp {
	color: #1bbf5d;
	background: #eafaf0
}

/* Products */
.products-section {
	padding: 30px 0 11px
}

.product-tabs {
	margin: 20px auto 19px;
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap
}

.tab-btn {
	height: 36px;
	padding: 0 26px;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 4px;
	font-size: 12px;
	color: #38465a;
	font-weight: 700;
	cursor: pointer;
	transition: .2s
}

.tab-btn.active,
.tab-btn:hover {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
	box-shadow: 0 5px 14px rgba(7, 87, 200, .18)
}

.carousel-shell {
	position: relative
}

.carousel-viewport {
	overflow: hidden;
	padding: 2px 2px 20px
}

.carousel-track {
	display: flex;
	gap: 14px;
	transition: transform .42s cubic-bezier(.22, .61, .36, 1);
	will-change: transform
}

.product-card {
	position: relative;
	flex: 0 0 calc((100% - 56px)/5);
	min-width: 0;
	background: #fff;
	border: 1px solid #edf1f5;
	border-radius: 3px;
	box-shadow: 0 5px 18px rgba(21, 53, 91, .06);
	overflow: hidden;
	transition: transform .25s, box-shadow .25s
}

.product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 13px 20px rgba(18, 48, 85, .1)
}

.product-card-link {
	display: flex;
	height: 100%;
	color: inherit;
	text-decoration: none;
	flex-direction: column
}

.product-card-link:focus-visible {
	outline: 3px solid var(--primary);
	outline-offset: -3px
}

.product-image {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	flex: 0 0 auto;
	overflow: hidden;
	background: #fff
}

.product-image img {
	width: 100%;
	height: 100%;
	background: #fff;
	object-fit: contain;
	transition: none
}

.product-copy {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 0;
	padding: 12px 16px 15px;
	flex: 1 1 auto;
	flex-direction: column;
	background: #fff
}

.product-copy h3 {
	margin: 0 0 7px;
	overflow: hidden;
	color: #111;
	font-size: 16px;
	line-height: 1.35;
	text-overflow: ellipsis;
	white-space: nowrap
}

.product-description {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: #566579;
	font-size: 11px;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2
}

.product-details {
	display: inline-flex;
	gap: 5px;
	margin-top: 14px;
	align-self: flex-end;
	color: var(--primary);
	font-size: 11px
}

.product-details span {
	transition: .2s
}

.product-card-link:hover .product-image img,
.product-card-link:focus-visible .product-image img {
	transform: none
}

.product-card-link:hover .product-details span,
.product-card-link:focus-visible .product-details span {
	transform: translateX(3px)
}



.carousel-trackN {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}

.product-cardN {
	flex: 0 0 calc((100% - 56px)/4);
	min-width: 0;
	background: #fff;
	border: 1px solid #edf1f5;
	border-radius: 3px;
	box-shadow: 0 5px 18px rgba(21, 53, 91, .06);
	overflow: hidden;
	transition: .25s
}

.product-cardN:hover {
	transform: translateY(-4px);
	box-shadow: 0 13px 20px rgba(18, 48, 85, .1)
}

.product-imageN {
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 12px;
	background: linear-gradient(#fff, #fcfdff);
}

.product-imageN img {
	width: 100%;
	height: 100%;
	object-fit: contain
}

.product-copyN {
	padding: 8px 15px 15px
}

.product-copyN h3 {
	margin: 0 0 1px;
	font-size: 16px;
	line-height: 1.35;
	color: #111;
	padding-top: 10px;
}

.product-enN {
	font-weight: 700;
	color: #39465a !important;
	font-size: 11px !important;
	margin-bottom: 7px !important
}

.product-copyN p {
	margin: 1px 0;
	color: #687486;
	font-size: 11px
}

.product-copyN a {
	display: inline-flex;
	gap: 5px;
	margin-top: 10px;
	color: var(--primary);
	/* font-weight: 800; */
	font-size: 11px
}

.product-copyN a span {
	transition: .2s
}

.product-copyN a:hover span {
	transform: translateX(3px)
}

.product-pagination {
	display: flex;
	justify-content: flex-end;
	margin-top: 26px;
	width: 100%;
	text-align: right;
}

.product-pagination .pagination-block {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	width: 100%;
}

.product-pagination .pagination,
.product-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	margin-left: auto;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
	list-style: none;
}

.product-pagination .pagination li {
	display: block;
	margin: 0;
	list-style: none;
}

.product-pagination .pagination a,
.product-pagination .pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 12px;
	border: 1px solid #d9e2ef;
	border-radius: 6px;
	background: #fff;
	color: #263449;
	font-size: 14px;
	line-height: 1;
	text-decoration: none;
	transition: .2s;
}

.product-pagination .pagination a:hover,
.product-pagination .pagination .active span {
	border-color: var(--primary);
	background: var(--primary);
	color: #fff;
}

.product-pagination .pagination .disabled span {
	color: #9aa7b7;
	background: #f5f7fb;
	cursor: not-allowed;
}

.product-pagination .pagination_info {
	margin-top: 12px;
	color: #687486;
	font-size: 14px;
}

.carousel-trackH {
	/* display: flex;
	gap: 14px;
	transition: transform .42s cubic-bezier(.22, .61, .36, 1);
	will-change: transform; */
	 display: grid;
	  grid-auto-flow: row; /* 元素优先横向填满，再向下生成新行 */
	  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* 自适应列宽，超出自动换行 */
	 /* grid-auto-rows: 300px; */ /* 设置自动生成的行高 */
	  gap: 10px; /* 设置网格间距 */
	  justify-content: start;
}

.carousel-trackH .product-cardH:only-child {
	width: min(100%, 360px);
	justify-self: start;
}

.technical-gallery-track {
	grid-template-columns: repeat(auto-fill, 300px);
}

.application-gallery-track {
	grid-template-columns: repeat(auto-fill, 300px);
}

.technical-gallery-track .product-cardH,
.technical-gallery-track .product-cardH:only-child,
.application-gallery-track .product-cardH,
.application-gallery-track .product-cardH:only-child {
	width: 300px;
	display: block;
	justify-self: start;
}

.technical-gallery-track .product-imageH {
	box-sizing: border-box;
	height: 240px;
	padding: 12px 8px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.technical-gallery-track .product-imageH img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.event-trackH {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-cardH {
	flex: 0 0 calc((100% - 56px)/4);
	min-width: 0;
	background: #fff;
	border: 1px solid #edf1f5;
	border-radius: 3px;
	box-shadow: 0 5px 18px rgba(21, 53, 91, .06);
	overflow: hidden;
	transition: .25s
}

.product-cardH:hover {
	transform: translateY(-4px);
	box-shadow: 0 13px 20px rgba(18, 48, 85, .1)
}

.product-imageH {
	height: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 8px 0;
	background: linear-gradient(#fff, #fcfdff);
	/* float: left; */

}

.product-imageH img {
	width: 100%;
	height: 100%;
	object-fit: contain
}

.product-copyH {
	padding: 8px 15px 15px
}

.product-copyH h3 {
	margin: 0 0 1px;
	font-size: 16px;
	line-height: 1.35;
	color: #111;
	font-weight: normal;
	text-align: center;
	padding-top: 10px;
}
.product-copyH p{
	text-align: center;
}
.product-enH {
	font-weight: 700;
	color: #39465a !important;
	font-size: 11px !important;
	margin-bottom: 7px !important
}

.product-copyH p {
	margin: 1px 0;
	color: #687486;
	font-size: 11px
}

.product-copyH a {
	display: inline-flex;
	gap: 5px;
	margin-top: 10px;
	color: var(--primary);
	/* font-weight: 800; */
	font-size: 12px
}

.product-copyH a span {
	transition: .2s
}

.product-copyH a:hover span {
	transform: translateX(3px)
}


.carousel-arrow {
	position: absolute;
	top: 50%;
	z-index: 4;
	width: 38px;
	height: 38px;
	margin-top: -19px;
	border: 1px solid #dce5f0;
	background: #fff;
	color: #25466f;
	border-radius: 50%;
	display: grid;
	place-items: center;
	box-shadow: 0 7px 18px rgba(20, 54, 96, .11);
	cursor: pointer;
	transition: .2s
}

.carousel-arrow:hover {
	background: var(--primary);
	color: #fff;
	border-color: var(--primary)
}

.carousel-arrow.prev {
	left: -19px
}

.carousel-arrow.next {
	right: -19px
}

.carousel-arrow:disabled {
	opacity: .25;
	cursor: not-allowed
}

.carousel-dots {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin-top: 8px
}

.carousel-dot {
	width: 6px;
	height: 6px;
	border-radius: 99px;
	border: 0;
	padding: 0;
	background: #cad4e1;
	cursor: pointer;
	transition: .2s
}

.carousel-dot.active {
	width: 22px;
	background: var(--primary)
}

.products-more {
	text-align: center;
	margin: 12px 0 12px
}

.products-more .btn {
	height: 35px;
	font-size: 12px;
	padding: 0 24px
}

/* Why */
.why-strip {
	margin: 30px auto 23px;
	/* background: linear-gradient(100deg, #08347a, #075bc9); */
	background: #fff;
	color: #001561;
	min-height: 70px;
	display: grid;
	grid-template-columns:  repeat(6, 1fr);
	align-items: center;
	padding: 40px 28px;
	box-shadow: 0 8px 22px rgba(5, 60, 135, .13)
}

.why-title {
	font-size: 24px;
	/* font-weight: 800; */
	letter-spacing: .02em
}

.why-item {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0
}

.why-item .icon {
	width: 30px;
	height: 30px
}

.why-item-icon {
	width: 30px;
	height: 30px;
	object-fit: contain;
	flex: 0 0 30px
}

.why-item strong {
	display: block;
	font-size: 14px;
	line-height: 1.35
}

.why-item span {
	display: block;
	font-size: 12px;
	opacity: .78;
	line-height: 1.35
}

/* Applications */
.applications-section {
	padding: 0 0 26px
}

.application-carousel {
	margin-top: 20px
}

.app-card {
	flex: 0 0 calc((100% - 70px)/6);
	background: #fff;
	border: 1px solid #e9eef4;
	box-shadow: 0 5px 17px rgba(18, 51, 92, .06);
	overflow: hidden;
	transition: .25s
}

.app-card:hover {
	transform: translateY(-4px)
}

.app-card>img {
	width: 100%;
	height: 126px;
	object-fit: cover
}

.app-copy {
	text-align: center;
	padding: 10px 8px 13px
}

.app-copy h3 {
	margin: 0;
	font-size: 15px;
	color: #101722
}

.app-copy p {
	margin: 3px 0 0;
	color: #7c8796;
	font-size: 11px
}

.app-more {
	text-align: center;
	margin-top: 11px
}

.app-more .btn {
	height: 34px;
	padding: 0 30px;
	font-size: 12px
}

/* Info band */
.info-band {
	background: linear-gradient(180deg, #f7f9fc, #fff);
	border-top: 1px solid #f0f3f7;
	padding: 28px 0 27px
}

.info-grid {
	display: grid;
	grid-template-columns: 1.05fr .9fr 1.05fr;
	gap: 34px
}

.info-panel {
	min-width: 0
}

.info-panel+.info-panel {
	border-left: 1px solid #e8edf4;
	padding-left: 34px
}

.info-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 15px
}

.info-heading h2 {
	margin: 0;
	font-size: 20px;
	color: #172339;
	font-weight: normal;
}

.info-heading a {
	color: var(--primary);
	font-size: 12px;
	/* font-weight: 800 */
}

.cert-card {
	flex: 0 0 calc((100% - 30px)/4);
	text-align: center;
	min-width: 0
}

.cert-img {
	height: 125px;
	padding: 4px;
	background: #fff;
	border: 1px solid #e7ebf0;
	box-shadow: 0 4px 12px rgba(15, 48, 88, .05)
}

.cert-img img {
	width: 100%;
	height: 100%;
	object-fit: contain
}

.cert-card strong {
	display: block;
	margin-top: 7px;
	font-size: 11px;
	color: #435167
}

.cert-card span {
	display: block;
	font-size: 9px;
	color: #8a94a3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis
}

.cert-shell .carousel-arrow {
	width: 30px;
	height: 30px;
	margin-top: -15px
}

.cert-shell .carousel-arrow.prev {
	left: -13px
}

.cert-shell .carousel-arrow.next {
	right: -13px
}
.about-img{
	display: grid;
	grid-auto-flow: row;
	grid-template-columns: repeat(2, 1fr); /* 强制分为两列，每列占据 1 份可用空间 */
	grid-auto-rows: 300px;
	gap: 10px;
}
.about-copy {
	font-size: 13px;
	color: #6e7a89;
	line-height: 1.65;
	margin: 0 0 14px
}

.about-panel .btn {
	height: 35px;
	font-size: 11px;
	padding: 0 22px
}

.blog-list {
	display: grid;
	gap: 10px
}

.blog-item {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 12px;
	align-items: center
}

.blog-item img {
	width: 60px;
	height: 45px;
	object-fit: cover
}

.blog-item h3 {
	margin: 0;
	font-size: 14px;
	line-height: 1.35;
	color: #1d2a3c
}
.blog-item:hover h3 {
	margin: 0;
	font-size: 14px;
	line-height: 1.35;
	color: #1d2a3c;
	color: #064dac;
}
.blog-item time {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	color: #8a94a3
}

/* Footer */
.site-footer {
	background: radial-gradient(circle at 30% 0, #0e3869 0, #08284d 38%, #071e3b 100%);
	color: #fff;
	padding: 28px 0 0
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.25fr .95fr .95fr .95fr 1.25fr;
	gap: 44px;
	padding-bottom: 23px
}

.footer-brand img {
	width: 200px;
	opacity: .98
}

.footer-brand p {
	font-size: 12px;
	line-height: 1.55;
	color: #c8d4e3;
	margin: 17px 0 0;
	max-width: 250px
}

.footer-col h3 {
	font-size: 14px;
	margin: 4px 0 13px;
	letter-spacing: .02em
}

.footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0
}

.footer-col li {
	margin: 4px 0;
	color: #cbd5e2;
	font-size: 12px
}

.footer-col a:hover {
	color: #fff;
	text-decoration: none
}

.product-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 18px
}

.contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	line-height: 1.5
}

.contact-list .icon {
	width: 14px;
	height: 14px;
	margin-top: 1px
}

.footer-bottom {
	height: 46px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #9eb1c7;
	font-size: 12px
}

.footer-legal {
	display: flex;
	gap: 22px
}

/* Modal */
.modal-mask {
	position: fixed;
	inset: 0;
	background: rgba(5, 22, 43, .72);
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px
}

.modal-mask.open {
	display: flex
}

.modal {
	width: min(560px, 100%);
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .3);
	overflow: hidden
}

.modal-head {
	padding: 20px 24px;
	background: linear-gradient(90deg, #073d86, #075fcf);
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center
}

.modal-head h2 {
	font-size: 20px;
	margin: 0
}

.modal-close {
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer
}

.quote-form {
	padding: 22px 24px 25px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px
}

.field {
	display: grid;
	gap: 6px
}

.field.full {
	grid-column: 1/-1
}

.field label {
	font-size: 12px;
	font-weight: 700;
	color: #344154
}

.field input,
.field select,
.field textarea {
	width: 100%;
	border: 1px solid #dce4ee;
	border-radius: 4px;
	padding: 11px 12px;
	outline: none;
	background: #fff
}

.field input:focus,
.field select:focus,
.field textarea:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(7, 87, 200, .09)
}

.field textarea {
	min-height: 92px;
	resize: vertical
}

.form-actions {
	grid-column: 1/-1;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 4px
}

.form-actions .btn-outline-cancel {
	background: #fff;
	border-color: #dce4ee;
	color: #48566a
}

.toast {
	position: fixed;
	z-index: 3000;
	left: 50%;
	bottom: 30px;
	transform: translate(-50%, 20px);
	background: #102d50;
	color: #fff;
	padding: 11px 18px;
	border-radius: 5px;
	font-size: 13px;
	opacity: 0;
	pointer-events: none;
	transition: .25s
}

.toast.show {
	opacity: 1;
	transform: translate(-50%, 0)
}

@media(max-width:1280px) {
	.desktop-nav {
		gap: 22px
	}

	.desktop-nav a {
		font-size: 12px
	}

	.product-card {
		flex-basis: calc((100% - 56px)/5)
	}

	.app-card {
		flex-basis: calc((100% - 28px)/3)
	}

	.why-strip {
		grid-template-columns: 180px repeat(3, 1fr);
		row-gap: 13px
	}

	.why-title {
		grid-row: 1/3
	}

	.why-item {
		justify-content: flex-start
	}
}

.desktop-nav > a.active,
.desktop-nav > .nav-item.active > .nav-link,
.desktop-nav .nav-link.active {
	color: var(--primary);
}

.desktop-nav > a.active::after,
.desktop-nav > .nav-item.active > .nav-link::after,
.desktop-nav .nav-link.active::after {
	left: 0;
	right: 0;
}

@media(max-width:1024px) {
	.container {
		width: min(calc(100% - 32px), var(--max))
	}

	.desktop-nav,
	.quote-top {
		display: none
	}

	.header-inner {
		height: 66px
	}

	.header-actions {
		margin-left: auto
	}

	.menu-toggle {
		display: block
	}

	.mobile-drawer {
		display: block;
		position: fixed;
		z-index: 1200;
		top: 0;
		right: 0;
		height: 100dvh;
		width: min(360px, 88vw);
		background: #fff;
		transform: translateX(105%);
		transition: .3s;
		box-shadow: -18px 0 40px rgba(8, 32, 65, .2);
		padding: 19px 20px 30px;
		overflow: auto
	}

	.mobile-drawer.open {
		transform: none
	}

	.drawer-mask {
		display: block;
		position: fixed;
		z-index: 1100;
		inset: 0;
		background: rgba(5, 23, 46, .54);
		opacity: 0;
		visibility: hidden;
		transition: .25s
	}

	.drawer-mask.open {
		opacity: 1;
		visibility: visible
	}

	.drawer-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-bottom: 1px solid #e8edf4;
		padding-bottom: 14px
	}

	.drawer-head img {
		width: 145px
	}

	.drawer-close {
		border: 0;
		background: transparent;
		font-size: 29px;
		cursor: pointer;
		color: #253853
	}

	.mobile-nav {
		display: grid;
		padding: 12px 0
	}

	.mobile-nav>a,
	.mobile-submenu-toggle {
		width: 100%;
		padding: 13px 4px;
		border: 0;
		border-bottom: 1px solid #eef2f6;
		background: transparent;
		text-align: left;
		font-weight: 700;
		color: #28364b;
		cursor: pointer
	}

	.mobile-nav>a.active,
	.mobile-submenu-toggle.active {
		color: var(--primary)
	}

	.mobile-submenu-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between
	}

	.mobile-submenu-toggle .arrow {
		font-size: 18px;
		transition: .25s
	}

	.mobile-nav-group.open .mobile-submenu-toggle .arrow {
		transform: rotate(180deg)
	}

	.mobile-submenu {
		display: grid;
		grid-template-rows: 0fr;
		background: #f7f9fc;
		transition: grid-template-rows .25s ease
	}

	.mobile-submenu-inner {
		overflow: hidden
	}

	.mobile-nav-group.open .mobile-submenu {
		grid-template-rows: 1fr
	}

	.mobile-submenu a {
		display: block;
		padding: 11px 14px 11px 22px;
		border-bottom: 1px solid #e9eef5;
		color: #5b687a;
		font-size: 13px;
		font-weight: 600
	}

	.mobile-submenu a:hover {
		color: var(--primary);
		background: #eef5ff
	}

	.drawer-quote {
		width: 100%;
		margin-top: 15px
	}

	.hero,
	.hero-carousel,
	.hero-slide,
	.hero-inner {
		min-height: 440px
	}

	.hero h1 {
		font-size: 36px
	}

	.hero-copy {
		width: 620px
	}

	.hero-benefits {
		gap: 20px
	}

	.product-card {
		flex-basis: calc((100% - 28px)/3)
	}

	.event-trackH {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.carousel-arrow.prev {
		left: -12px
	}

	.carousel-arrow.next {
		right: -12px
	}

	.info-grid {
		grid-template-columns: 1fr 1fr
	}

	.info-panel+.info-panel {
		border-left: 0;
		padding-left: 0
	}

	.blog-panel {
		grid-column: 1/-1;
		border-top: 1px solid #e6ebf1;
		padding-top: 22px
	}

	.blog-list {
		grid-template-columns: repeat(3, 1fr)
	}

	.footer-grid {
		grid-template-columns: 1.2fr repeat(2, 1fr);
		gap: 28px
	}

	.footer-col:nth-child(4),
	.footer-col:nth-child(5) {
		grid-column: auto
	}

	.footer-brand {
		grid-row: span 2
	}
}

@media(max-width:760px) {
	.container {
		width: min(calc(100% - 24px), var(--max))
	}

	.brand {
		width: 148px;
		min-width: 148px
	}

	.brand img {
		width: 145px
	}

	.event-trackH {
		grid-template-columns: 1fr;
	}

	.lang-btn span.label {
		display: none
	}

	.hero-slide {
		background-position: center center, center center;
		background-size: 100% 100%, 100% auto;
		background-color: #fff
	}

	.hero-slide.slide-2,
	.hero-slide.slide-3 {
		background-position: center center, center center
	}

	.hero,
	.hero-carousel,
	.hero-slide,
	.hero-inner {
		height: 150px;
		min-height: 0
	}

	.hero-slide::before {
		display: none
	}

	.hero-inner {
		position: relative;
		z-index: 1;
		height: 150px;
		min-height: 0
	}

	.hero-copy {
		display: none
	}

	.hero h1 {
		font-size: 24px;
		line-height: 1.12
	}

	.hero-lead {
		font-size: 13px;
		margin: 10px 0 12px
	}

	.hero-benefits {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px
	}

	.hero-benefit {
		font-size: 13px
	}

	.hero-nav {
		left: auto;
		right: 12px;
		bottom: 10px;
		transform: none;
		width: auto;
		z-index: 20;
		justify-content: flex-end
	}

	.hero-dots {
		display: flex;
		visibility: visible;
		opacity: 1
	}

	.hero-dot {
		background: rgba(0, 0, 0, .28);
		box-shadow: 0 0 0 1px rgba(255, 255, 255, .72)
	}

	.hero-dot.active {
		background: #fff
	}

	.hero-arrow {
		width: 40px;
		height: 40px
	}

	.floating-tools {
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		border-radius: 0;
		display: grid;
		grid-template-columns: repeat(4, 1fr)
	}

	.floating-tools a {
		height: 57px;
		justify-content: center;
		padding: 0;
		border-right: 1px solid #edf1f6;
		border-bottom: 0;
		font-size: 0
	}

	.tool-icon {
		width: 30px;
		height: 30px
	}

	body {
		padding-bottom: 57px
	}

	.section-title {
		font-size: 25px
	}

	.product-tabs {
		gap: 8px;
		justify-content: flex-start;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px
	}

	.tab-btn {
		flex: 0 0 auto;
		padding: 0 17px
	}

	.product-card {
		flex-basis: 100%
	}

	.products-section .carousel-viewport {
		padding-left: 0;
		padding-right: 0
	}

	.products-section .product-card {
		box-shadow: none
	}


	.why-strip {
		grid-template-columns: 1fr 1fr;
		padding: 20px 17px;
		gap: 18px;
		border-radius: 0
	}

	.why-title {
		grid-column: 1/-1;
		grid-row: auto;
		font-size: 19px
	}

	.why-item {
		align-items: flex-start
	}

	.why-item .icon {
		width: 26px;
		height: 26px
	}

	.app-card {
		flex-basis: calc((100% - 14px)/2)
	}

	.app-card>img {
		height: 120px
	}

	.application-carousel .carousel-arrow,
	.application-carousel .carousel-dots {
		display: none
	}

	.application-carousel .carousel-viewport {
		overflow: visible
	}

	.application-carousel .carousel-track {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
		transform: none !important
	}

	.application-carousel .app-card {
		flex-basis: auto;
		width: 100%
	}

	.info-grid {
		grid-template-columns: 1fr;
		gap: 28px
	}

	.info-panel+.info-panel {
		border-top: 1px solid #e6ebf1;
		padding-top: 25px
	}

	.blog-panel {
		grid-column: auto
	}

	.blog-list {
		grid-template-columns: 1fr
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 25px
	}

	.footer-brand {
		grid-column: 1/-1;
		grid-row: auto
	}

	.footer-col:last-child {
		grid-column: 1/-1
	}

	.footer-bottom {
		height: auto;
		min-height: 58px;
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		padding: 10px 0
	}

	.quote-form {
		grid-template-columns: 1fr
	}

	.field.full,
	.form-actions {
		grid-column: auto
	}
}

@media(max-width:480px) {
	.hero,
	.hero-carousel,
	.hero-slide,
	.hero-inner {
		height: 140px;
		min-height: 0
	}

	.hero-slide {
		background-size: 100% 100%, 100% auto
	}

	.hero h1 {
		font-size: 21px
	}

	.hero-lead {
		font-size: 12px;
		margin: 8px 0 10px
	}

	.hero-benefits {
		grid-template-columns: 1fr;
		gap: 10px
	}

	.application-carousel .carousel-track {
		grid-template-columns: minmax(0, 1fr)
	}

	.technical-gallery-track {
		grid-template-columns: minmax(0, 1fr)
	}

	.application-gallery-track {
		grid-template-columns: minmax(0, 1fr)
	}

	.technical-gallery-track .product-cardH,
	.technical-gallery-track .product-cardH:only-child,
	.application-gallery-track .product-cardH,
	.application-gallery-track .product-cardH:only-child {
		width: 100%
	}

	.header-inner {
		gap: 8px
	}

	.brand {
		min-width: 135px;
		width: 135px
	}

	.brand img {
		width: 134px
	}

	.lang-wrap {
		margin-left: auto
	}

	.hero h1 {
		font-size: 27px
	}

	.hero-lead {
		font-size: 15px
	}

	.hero-benefits {
		grid-template-columns: 1fr
	}

	.hero-actions .btn {
		width: 100%
	}

	.hero-nav {
		justify-content: flex-end
	}

	.hero-arrows {
		gap: 8px
	}

	.hero-arrow {
		width: 36px;
		height: 36px
	}

	.hero-dot {
		width: 10px;
		height: 10px
	}

	.hero-dot.active {
		width: 24px
	}

	.product-card,
	.app-card {
		flex-basis: 100%
	}

	.product-copy h3 {
		font-size: 18px
	}

	.product-copy p,
	.product-copy a {
		font-size: 12px
	}

	.product-en {
		font-size: 12px !important
	}

	.why-strip {
		grid-template-columns: 1fr
	}

	.why-title {
		grid-column: auto
	}

	.footer-grid {
		grid-template-columns: 1fr
	}

	.footer-col:last-child {
		grid-column: auto
	}

	.footer-legal {
		gap: 14px
	}
}
