@font-face {
  font-family: "GothamBook";
  src: url("../font/gothambook-webfont.woff2") format("woff2"),
    url("../font/gothambook-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "MONOTON";
  src: url("../font/MONOTON.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


:root {
  --blue: #078cc7;
  --deep-blue: #005fa8;
  --cyan: #04cfad;
  --orange: #f4a12d;
  --navy: #00234a;
  --footer: #001e40;
  --text: #222;
  --text-color: #222;
  --heading-color: #222;
  --link-color: #222;
  --muted: #666;
  --line: #b9c0c6;
  --body-size: 16px;
  --body-line: 1.7;
  --h1-size: 52px;
  --h2-size: 36px;
  --outline-title-size: 38px;
  --h3-size: 20px;
  --h4-size: 18px;
  --p-size: 16px;
  --p-line: 1.9;
  --section-padding-y: 60px;
  --stats-overlap: 95px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--text-color);
  font-family: GothamBook, "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-size: var(--body-size);
  line-height: var(--body-line);
  background: #fff;
}


body.tj-home main,
body.tj-profile main,
body.tj-news main,
body.tj-product main,
body.tj-contact main,
body.tj-equipment main {
  margin-bottom: 0;
  display: flow-root;
}

body.nav-open {
  overflow: hidden;
}

.about-section,
.why-section,
.news-section,
.tj-profile .profile-about,
.profile-application,
.profile-vision,
.tj-news .news-page-body,
.tj-product .product-page-body,
.tj-contact .contact-page-body,
.tj-equipment .equipment-page-body {
  padding-top: var(--section-padding-y);
  padding-bottom: var(--section-padding-y);
}

.product-section {
  --product-head-gap: 66px;
  margin-top: calc(var(--stats-overlap) * -1);
  padding-top: calc(var(--stats-overlap) + var(--product-head-gap));
  padding-bottom: var(--section-padding-y);
}

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

a {
  color: var(--link-color);
  text-decoration: none;
}

a:hover,
a:focus,
a:focus-visible {
  text-decoration: none;
}

ul,
ol,
p,
h1,
h2,
h3,
h4 {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4 {
  color: var(--heading-color);
  font-weight: 700;
  letter-spacing: 0;
}

h1 {
  font-size: var(--h1-size);
  line-height: 1.2;
}

h2 {
  font-size: var(--h2-size);
  line-height: 1.25;
}

h3 {
  font-size: var(--h3-size);
  line-height: 1.35;
}

h4 {
  font-size: var(--h4-size);
  line-height: 1.4;
}

p {
  color: var(--text-color);
  font-size: var(--p-size);
  line-height: var(--p-line);
}

span {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

li {
  list-style: none;
}

.tj-container {
  width: min(1520px, calc(100% - 64px));
  margin: 0 auto;
}

.outline-title {
  display: block;
  font-family: "MONOTON", Impact, "Arial Black", GothamBook, sans-serif;
  font-size: var(--outline-title-size);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: 12px;
  opacity: 0.4;
  color: var(--heading-color);
}

.more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 145px;
  height: 36px;
  padding: 0 8px 0 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-size: 15px;
  line-height: 1;
  transition: transform 0.24s ease, background 0.24s ease, border-color 0.24s ease;
}

.more-btn i {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-left: 14px;
  border-radius: 50%;
  background: #fff;
  flex: 0 0 auto;
}

.more-btn i::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 2px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #22c9db;
}

.more-btn:hover,
.more-btn:focus-visible {
  background: #0475ad;
  transform: translateY(-2px);
}

.more-btn.small {
  min-width: 130px;
  height: 34px;
  padding-left: 20px;
  font-size: 14px;
}

.more-btn.small i {
  width: 26px;
  height: 26px;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  width: 100%;
  background: transparent;
  transition: background 0.28s ease, box-shadow 0.28s ease;
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 132px;
}

.brand {
  position: relative;
  display: block;
  width: 521px;
  height: 88px;
  flex: 0 0 521px;
}

.brand img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.25s ease;
}

.brand-dark {
  opacity: 0;
}

.site-header.is-scrolled .brand-light {
  opacity: 0;
}

.site-header.is-scrolled .brand-dark {
  opacity: 1;
}

.site-nav ul {
  display: flex;
  align-items: center;
  gap: 38px;
}

.site-nav a {
  display: block;
  color: rgba(255, 255, 255, 0.94);
  font-size: 17px;
  line-height: 1.3;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.site-header.is-scrolled .site-nav a {
  color: #333;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a.active {
  color: #18d7f0;
}

.site-header.is-scrolled .site-nav a:hover,
.site-header.is-scrolled .site-nav a:focus-visible,
.site-header.is-scrolled .site-nav a.active {
  color: var(--blue);
}

.menu-toggle {
  display: none;
  width: 34px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  height: 3px;
  margin: 0 0 7px;
  border-radius: 3px;
  background: #222;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.menu-toggle span:last-child {
  margin-bottom: 0;
}

body.nav-open .menu-toggle span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}

body.nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}

body.nav-open .menu-toggle span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

.nav-mask {
  position: fixed;
  inset: 76px 0 0;
  z-index: 35;
  display: none;
  background: rgba(0, 0, 0, 0.62);
}

body.nav-open .nav-mask {
  display: block;
}

.mobile-quick-nav {
  display: none;
}

.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(90deg, rgba(0, 35, 77, 0.32), rgba(0, 35, 77, 0) 64%),
    url("../images/index-banner.jpg") center top / cover no-repeat;
}

.hero-copy {
  width: min(860px, 100%);
  min-width: 720px;
  margin-left: 80px;
  padding-top: 290px;
}

.hero-copy .animated {
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-outline {
  margin-bottom: 24px;
  font-size: clamp(30px, 6vw, calc(var(--outline-title-size) * 1.5));
}

.hero h1 {
  margin-bottom: 34px;
  font-weight: 400;
  line-height: 1.18;
}

.hero h1 span,
.hero h1 strong {
  display: block;
  font-size: 50px;
  font-weight: 600;
  text-transform: uppercase;
}

.hero h1 span {
  color: #17dcb3;
}

.hero h1 strong ,
.hero .outline-title
{
  color: #fff;
}

.hero-desc {
  max-width: 620px;
  margin-bottom: 78px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 20px;
  line-height: 2;
}

.about-section {
  position: relative;
  padding-bottom: 0;
  background: #fff url("../images/about-bg.jpg") center bottom / cover no-repeat;
}

.about-grid,
.profile-about-grid {
  display: grid;
  grid-template-columns: minmax(420px, 720px) minmax(0, 1fr);
  gap: 70px;
  align-items: start;
}

.about-photo,
.profile-about-photo {
  display: flex;
  overflow: hidden;
  min-height: 0;
  align-self: start;
}

.about-photo img,
.profile-about-photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.about-copy,
.profile-about-copy {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  padding-top: 0;
  align-self: start;
}

.about-copy-head {
  flex-shrink: 0;
}

.about-copy-head .outline-title,
.profile-about-copy .about-copy-head .outline-title {
  margin-bottom: 24px;
}

.about-copy-scroll {
  flex: 1 1 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  margin-bottom: 0;
  padding-right: 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(7, 140, 199, 0.45) transparent;
}

.about-copy-scroll::-webkit-scrollbar {
  width: 4px;
}

.about-copy-scroll::-webkit-scrollbar-track {
  background: rgba(7, 140, 199, 0.08);
  border-radius: 999px;
}

.about-copy-scroll::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(7, 140, 199, 0.45);
}

.about-copy-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(7, 140, 199, 0.55);
}

.about-copy .outline-title,
.profile-about-copy .outline-title {
  margin-bottom: 10px;
  font-family: "MONOTON", Impact, "Arial Black", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--heading-color);
  -webkit-text-stroke: 0;
  opacity: 0.4;
}


.about-copy .more-btn {
  flex-shrink: 0;
  align-self: flex-start;
  width: auto;
  margin-top: 28px;
}

.copy-block {
  margin-bottom: 0;
}

.about-grid.is-about-ready .about-copy,
.about-grid.is-about-ready .about-photo {
  overflow: hidden;
}

.about-section .profile-rich-content,
.tj-profile .profile-rich-content {
  color: #444;
  font-size: 16px;
  line-height: 1.95;
}

.about-section .profile-rich-content p,
.about-section .profile-text p,
.tj-profile .profile-rich-content p,
.tj-profile .profile-text p {
  margin: 0 0 24px;
  word-break: break-word;
}

.about-section .profile-rich-content p:last-child,
.about-section .profile-text p:last-child,
.tj-profile .profile-rich-content p:last-child,
.tj-profile .profile-text p:last-child {
  margin-bottom: 0;
}

.about-section .profile-rich-content .profile-content-subtitle,
.tj-profile .profile-rich-content .profile-content-subtitle {
  margin: 36px 0 20px;
  color: #222;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}

.about-section .profile-rich-content .profile-numbered-item,
.tj-profile .profile-rich-content .profile-numbered-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 16px;
}

.about-section .profile-rich-content .profile-number,
.tj-profile .profile-rich-content .profile-number {
  flex-shrink: 0;
  min-width: 1.2em;
  color: var(--blue);
  font-weight: 700;
}

.stats-wrap {
  position: relative;
  z-index: 2;
  margin-top: var(--section-padding-y);
  margin-bottom: 0;
}

.stats-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 190px;
  background: #05c8a4 url("../images/stat-bg.jpg") center / cover no-repeat;
  color: #fff;
  box-shadow: 0 20px 45px rgba(0, 86, 135, 0.12);
}

.stats-panel li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 34px 34px;
  border-right: 1px solid rgba(255, 255, 255, 0.28);
}

.stats-panel li:last-child {
  border-right: 0;
}

.stats-panel img {
  width: 64px;
  height: 64px;
  margin-right: 36px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.96;
}

.stats-panel span {
  display: block;
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.35;
}

.stats-panel strong {
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: 46px;
  font-weight: 700;
  line-height: 1;
}

.stats-panel em {
  margin-left: 8px;
  font-style: normal;
  font-size: 17px;
  font-weight: 400;
}

.product-section {
  position: relative;
  overflow: hidden;
  background: #d8e8fa;
}

.product-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1028px;
  background: linear-gradient(rgba(0, 92, 170, 0.9), rgba(0, 92, 170, 0.9)),
    url("../images/cate-bg.jpg") center top / cover no-repeat;
}

.product-section .tj-container {
  position: relative;
  z-index: 1;
}

.section-head {
  margin-bottom: 66px;
  text-align: center;
}

.product-section .section-head {
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: var(--product-head-gap);
}

.section-head .outline-title {
  margin-bottom: 0;
}

.section-head.light {
  --heading-color: #fff;
}


.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px 32px;
}

.product-card {
  min-width: 0;
  background: #fff;
  transition: transform 0.26s ease, box-shadow 0.26s ease;
}

.product-card a {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.product-card img {
  width: 100%;
  aspect-ratio: 370 / 231;
  object-fit: cover;
}

.product-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  padding: 28px 26px 34px;
  text-align: center;
}

.product-info h3 {
  margin-bottom: 12px;
}

.product-info p {
  display: -webkit-box;
  min-height: 64px;
  margin-bottom: 26px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.product-info .more-btn {
  margin-top: auto;
}

.product-card:hover,
.product-card:focus-within,
.product-card.is-active {
  transform: translateY(-8px);
  box-shadow: 0 20px 45px rgba(0, 34, 70, 0.18);
}

.why-section {
  background: #fff;
}

.why-grid {
  display: grid;
  grid-template-columns: 469px minmax(0, 1fr);
  gap: 36px;
}

.why-side {
  --heading-color: #fff;
  --text-color: #fff;
  padding: 92px 70px;
  color: #fff;
  background: linear-gradient(rgba(5, 207, 173, 0.8), rgba(0, 146, 169, 0.42)),
    url("../images/adv-01.jpg") center / cover no-repeat;
}

.why-side .outline-title {
  margin-bottom: 34px;
}


.why-main {
  display: grid;
  grid-template-rows: 300px minmax(0, 1fr);
  gap: 30px;
}

.why-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.why-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.why-list li {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 30px;
  border: 1px solid var(--line);
  background: #fff;
}

.why-list img {
  width: 100px;
  height: 100px;
  margin-right: 20px;
  object-fit: contain;
  flex: 0 0 auto;
}

.why-list h3 {
  margin-bottom: 18px;
}


.news-section {
  background: #edf7fb url("../images/news-bg.jpg") center / cover no-repeat;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.news-card {
  min-width: 0;
  min-height: 335px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.36);
  transition: background 0.24s ease, border-color 0.24s ease, transform 0.24s ease;
}

.news-card a {
  display: flex;
  min-height: 335px;
  flex-direction: column;
  padding: 30px;
}

.news-card time {
  margin-bottom: 28px;
  color: var(--muted);
}

.news-card h3 {
  margin-bottom: 24px;
}

.news-card p {
  display: -webkit-box;
  margin-bottom: 56px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.news-card .more-btn {
  align-self: flex-start;
  width: auto;
  margin-top: auto;
}

.news-card.is-active,
.news-card:hover,
.news-card:focus-within {
  border-color: var(--blue);
  background: var(--blue) url("../images/news-item-active.jpg") right bottom / cover no-repeat;
  transform: translateY(-4px);
}

.news-card.is-active time,
.news-card.is-active h3,
.news-card.is-active p,
.news-card:hover time,
.news-card:hover h3,
.news-card:hover p,
.news-card:focus-within time,
.news-card:focus-within h3,
.news-card:focus-within p {
  color: #fff;
}

.news-card.is-active .more-btn,
.news-card:hover .more-btn,
.news-card:focus-within .more-btn {
  border-color: rgba(255, 255, 255, 0.8);
  background: transparent;
}

.site-footer {
  --text-color: #d8e6f3;
  --heading-color: #fff;
  --link-color: #d8e6f3;
  margin: 0;
  color: var(--text-color);
  background: var(--footer);
}

.footer-top-line {
  display: block;
  width: 100%;
  height: 6px;
  overflow: hidden;
  line-height: 0;
  font-size: 0;
  background: linear-gradient(90deg, #005fa8 0%, #078cc7 18%, #04cfad 42%, #8cf5e4 65%, #f4a12d 65%, #ffc84a 100%);
}

.footer-top-line img {
  display: block;
  width: 100%;
  height: 6px;
  object-fit: fill;
}

.footer-main {
  display: grid;
  grid-template-columns: 1fr 1.35fr 1.1fr;
  gap: 92px;
  padding: var(--section-padding-y) 96px 24px;
}

.footer-col h4 {
  margin-bottom: 30px;
  color: var(--heading-color);
}

.footer-toggle {
  display: block;
  width: 100%;
  margin: 0 0 30px;
  padding: 0;
  border: 0;
  color: var(--heading-color);
  background: transparent;
  font: inherit;
  font-size: var(--h4-size);
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  cursor: default;
  pointer-events: none;
}

.footer-toggle::after {
  content: "";
  display: none;
}

.footer-collapse[hidden] {
  display: none;
}

.footer-col ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 58px;
}

.footer-products ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.footer-col a,
.footer-col p,
.footer-bottom span {
  color: inherit;
}

.footer-col a:hover,
.footer-col a:focus-visible {
  color: #20d2ec;
}

.footer-contact p {
  margin-bottom: 12px;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px 0 var(--section-padding-y);
}

.footer-bottom-line {
  display: flex;
  justify-content: center;
  padding: 0;
}

.footer-inline-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 4px;
  width: 100%;
}

.footer-inline-label {
  flex: 0 0 auto;
  color: inherit;
}

.footer-inline-items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-inline-items > li {
  display: inline-flex;
  align-items: center;
}

.footer-inline-items > li + li::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 11px;
  margin: 0 10px;
  background: rgba(255, 255, 255, 0.28);
  vertical-align: middle;
}

.footer-inline-items a {
  color: inherit;
}

.footer-inline-items a:hover,
.footer-inline-items a:focus-visible {
  color: #20d2ec;
}

/* Inner page hero banners */
.page-hero {
  --heading-color: #fff;
  --text-color: #fff;
  min-height: 528px;
  background: var(--page-hero-bg) center top / cover no-repeat;
}

.page-hero--news {
  --page-hero-bg: url("../images/ban_xw.jpg");
}

.page-hero--profile {
  --page-hero-bg: url("../images/ban_gy.jpg");
}

.page-hero--equipment {
  --page-hero-bg: url("../images/ban_sb.jpg");
}

.page-hero--contact {
  --page-hero-bg: url("../images/ban_lx.jpg");
}

.page-hero--product {
  --page-hero-bg: url("../images/ban_cp.jpg");
}

.page-hero .tj-container {
  display: flex;
  min-height: 528px;
  align-items: center;
}

.page-hero .banner-copy {
  margin-left: 25%;
}

.page-hero .banner-copy h2 {
  margin: 0;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.page-hero--profile .banner-copy h2,
.profile-banner .banner-copy h2 {
  letter-spacing: 0;
}

.banner_xw,
.banner_sb,
.banner_lx,
.banner_cp,
.banner_gy {
  min-height: 528px;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}

.banner_xw {
  background-image: url("../images/ban_xw.jpg");
}

.banner_sb {
  background-image: url("../images/ban_sb.jpg");
}

.banner_lx {
  background-image: url("../images/ban_lx.jpg");
}

.banner_cp {
  background-image: url("../images/ban_cp.jpg");
}

.banner_gy {
  background-image: url("../images/ban_gy.jpg");
}

/* Profile page */
.tj-profile .profile-banner,
.tj-profile .page-hero--profile {
  --page-hero-bg: url("../images/ban_gy.jpg");
}

.tj-profile .profile-banner {
  --heading-color: #fff;
  --text-color: #fff;
  min-height: 528px;
  background: url("../images/ban_gy.jpg") center top / cover no-repeat;
}

.profile-banner .tj-container {
  display: flex;
  min-height: 528px;
  align-items: center;
}

.tj-profile .profile-about {
  background: #fff;
}

.tj-profile .profile-rich-content .profile-content-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 28px auto;
  border-radius: 4px;
}

.tj-profile .profile-rich-content ul,
.tj-profile .profile-rich-content ol {
  margin: 0 0 26px;
  padding-left: 1.4em;
}

.tj-profile .profile-rich-content li {
  margin-bottom: 10px;
}

.profile-application {
  position: relative;
  overflow: hidden;
  --p-line: 1.7;
  --profile-max: 1520px;
  --profile-gutter: max(32px, calc((100vw - var(--profile-max)) / 2));
  --profile-inner: min(var(--profile-max), calc(100% - 64px));
  --app-panel-left: calc(50% + 35px);
  background: #edf4f8;
}

.profile-application::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  bottom: 0;
  width: var(--app-panel-left);
  height: 167px;
  background: linear-gradient(135deg, #2fd9bb 0%, #18c6b2 100%);
}


.profile-application .tj-container {
  position: relative;
  z-index: 1;
  width: var(--profile-inner);
}

.tj-profile .profile-section-head {
  margin-bottom: 49px;
}


.profile-app-layout {
  display: grid;
  grid-template-columns: minmax(0, 632fr) minmax(0, 576fr);
  align-items: stretch;
}

.profile-app-cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 19px 13px;
}

.profile-app-cards li {
  min-width: 0;
  background: #fff;
  box-shadow: 0 12px 28px rgba(0, 29, 55, 0.05);
}

.profile-app-cards img {
  width: 100%;
  aspect-ratio: 310 / 173;
  object-fit: cover;
}

.profile-app-cards h3 {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  text-align: center;
}

.profile-app-feature {
  --heading-color: #fff;
  --text-color: rgba(255, 255, 255, 0.92);
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  justify-content: center;
  padding: 37px 0 36px 41px;
  background: transparent;
}

.profile-app-feature::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: calc(var(--profile-gutter) * -1);
  bottom: calc(var(--section-padding-y) * -1);
  left: 0;
  background: #1688bd;
}

.profile-app-feature li {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.profile-app-feature li:first-child {
  padding-top: 0;
}

.profile-app-feature li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.profile-app-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 82px;
  margin-right: 35px;
  border-radius: 50%;
  background: #fff;
  flex: 0 0 auto;
}

.profile-app-feature-icon img {
  display: block;
  width: 70%;
  height: 70%;
  object-fit: contain;
}

.profile-app-feature h3 {
  margin-bottom: 8px;
}

.profile-vision {
  background: #fff;
}

.profile-vision-grid {
  display: grid;
  grid-template-columns: minmax(300px, 360px) minmax(430px, 1fr) minmax(360px, 565px);
  gap: 28px;
  align-items: start;
}

.profile-vision-intro {
  padding-top: 4px;
}

.profile-vision-intro .outline-title {
  margin-bottom: 72px;
  line-height: 1.22;
}

.profile-vision-intro > p:not(.outline-title) {
  max-width: 320px;
}

.profile-vision-list {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.profile-vision-list li {
  display: flex;
  min-height: 198px;
  align-items: flex-start;
  padding: 45px 56px;
  border: 1px solid #b9b9b9;
  background: #fff;
}

.profile-vision-list span {
  margin-right: 20px;
  color: transparent;
  font-family: Impact, "Arial Black", GothamBook, sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1;
  -webkit-text-stroke: 0.5px rgba(0, 0, 0, 0.16);
  text-stroke: 0.5px rgba(0, 0, 0, 0.16);
  flex: 0 0 auto;
}

.profile-vision-list h3 {
  margin-bottom: 20px;
}

.profile-vision-images {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.profile-vision-images img {
  width: 100%;
  aspect-ratio: 565 / 198;
  object-fit: cover;
}

/* News list & detail */
body.tj-news main {
  background: #fff;
}

.tj-news .news-page-banner,
.tj-news .page-hero--news {
  --page-hero-bg: url("../images/ban_xw.jpg");
}

.tj-news .news-page-banner {
  --heading-color: #fff;
  --text-color: #fff;
  background: url("../images/ban_xw.jpg") center top / cover no-repeat;
}


.tj-news .news-tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #ececec;
}

.tj-news .news-tabs a {
  min-width: 196px;
  padding: 18px 28px;
  border: none;
  color: #333;
  text-align: center;
  background: transparent;
  transition: background 0.2s ease, color 0.2s ease;
}

.tj-news .news-tabs a h4 {
  margin: 0;
  color: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.tj-news .news-tabs a.is-active {
  background: var(--blue);
  color: #fff;
}

.tj-news .news-list .list-item {
  display: flex;
  align-items: stretch;
  margin-bottom: 0;
  padding: 34px 0;
  border-bottom: 1px dashed #cfcfcf;
}

.tj-news .news-list .list-item:first-child {
  padding-top: 0;
}

.tj-news .news-list .list-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.tj-news .news-list .list-item-link {
  display: flex;
  align-items: stretch;
  width: 100%;
  color: inherit;
}

.tj-news .news-list .time {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 132px;
  margin-right: 48px;
  padding: 22px 28px;
  background: #ececec;
  color: var(--blue);
  text-align: center;
}

.tj-news .news-list .day {
  font-size: 48px;
  line-height: 1;
  font-weight: 700;
}

.tj-news .news-list .year {
  margin-top: 8px;
  font-size: 18px;
  line-height: 1.2;
}

.tj-news .news-list .info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.tj-news .news-list .info h3 {
  margin: 0 0 16px;
  line-height: 1.45;
  color: #222;
}

.tj-news .news-list .info p {
  margin: 0;
  line-height: 1.9;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.tj-news .news-list .list-item-link:hover h3,
.tj-news .news-list .list-item-link:focus-visible h3 {
  color: var(--blue);
}

.tj-news .news-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 42px;
}

.tj-news .news-pager-btn,
.tj-news .news-pager-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  height: 42px;
  padding: 0 18px;
  border: 1px solid #cfcfcf;
  border-radius: 999px;
  color: #333;
  background: #fff;
}

.tj-news .news-pager-btn:hover,
.tj-news .news-pager-btn:focus-visible {
  border-color: var(--blue);
  color: var(--blue);
}

.tj-news .news-pager-btn.is-disabled {
  pointer-events: none;
  opacity: 0.45;
}

.tj-news .news-pager-status {
  min-width: 72px;
  border-radius: 999px;
}

.tj-news .news-detail-head {
  margin-bottom: 34px;
  padding-bottom: 24px;
  border-bottom: 1px solid #d7d7d7;
  text-align: center;
}

.tj-news .news-detail-head h3 {
  margin: 0 0 24px;
  line-height: 1.45;
  color: #222;
}

.tj-news .news-detail-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #666;
  font-size: 15px;
}

.tj-news .news-detail-content {
  color: #333;
  line-height: 1.95;
  font-size: 16px;
}


.tj-news .news-detail-content img {
  max-width: 100%;
  height: auto;
  margin: 12px auto;
}

.tj-news .news-article-nav {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid #d7d7d7;
}

.tj-news .news-article-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 122px;
  height: 45px;
  padding: 0 24px;
  border: 1px solid #cfcfcf;
  border-radius: 999px;
  color: #333;
}

.tj-news .news-article-nav a:hover,
.tj-news .news-article-nav a:focus-visible {
  border-color: var(--blue);
  color: var(--blue);
}

.tj-news .news-article-nav .is-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 122px;
  height: 45px;
  padding: 0 24px;
  border: 1px solid #cfcfcf;
  border-radius: 999px;
  color: #999;
  opacity: 0.45;
}

.tj-news .news-empty {
  padding: 48px 0;
  color: #888;
  text-align: center;
}

/* Product list & detail */
body.tj-product main {
  background: #fff;
}

.tj-product .product-page-banner,
.tj-product .page-hero--product {
  --page-hero-bg: url("../images/ban_cp.jpg");
}

.tj-product .product-page-banner {
  --heading-color: #fff;
  --text-color: #fff;
  min-height: 528px;
  background: url("../images/ban_cp.jpg") center top / cover no-repeat;
}

.tj-product .product-page-banner .tj-container {
  display: flex;
  min-height: 528px;
  align-items: center;
}

.tj-product .product-tabs {
  width: 100%;
  padding: 28px 0;
  background: transparent;
}

.tj-product .product-tabs-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 28px;
  width: min(1520px, calc(100% - 64px));
  margin: 0 auto;
}

.tj-product .product-tabs a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: 100%;
  min-height: 46px;
  padding: 10px 22px;
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  background: #fff;
  color: #333;
  text-align: center;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tj-product .product-tabs a.is-active {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.tj-product .product-section-title {
  margin: 0 0 36px;
  color: #222;
  font-weight: 700;
  text-align: center;
}

.tj-product .product-list-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px 28px;
}

.tj-product .product-list-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e8e8e8;
  transition: box-shadow 0.24s ease, transform 0.24s ease;
}

.tj-product .product-list-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0, 34, 70, 0.12);
}

.tj-product .product-list-card .card-image {
  display: block;
  overflow: hidden;
  background: #f3f3f3;
}

.tj-product .product-list-card .card-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.tj-product .product-list-card:hover .card-image img {
  transform: scale(1.04);
}

.tj-product .product-list-card .card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px 22px 26px;
}

.tj-product .product-list-card h3 {
  margin-bottom: 10px;
}

.tj-product .product-list-card h3 a {
  color: inherit;
  text-decoration: none;
}

.tj-product .product-list-card h3 a:hover,
.tj-product .product-list-card h3 a:focus-visible {
  color: var(--blue);
}

.tj-product .product-list-card p {
  display: -webkit-box;
  flex: 1;
  margin: 0 0 22px;
  overflow: hidden;
  color: #666;
  font-size: 14px;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
}

.tj-product .product-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tj-product .product-card-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  color: #333;
  font-size: 14px;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tj-product .product-card-actions a.btn-primary {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.tj-product .product-card-actions a:hover,
.tj-product .product-card-actions a:focus-visible {
  border-color: var(--blue);
  color: var(--blue);
}

.tj-product .product-card-actions a.btn-primary:hover,
.tj-product .product-card-actions a.btn-primary:focus-visible {
  background: #0675b3;
  color: #fff;
}

.tj-product .product-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 48px;
}

.tj-product .product-pager-btn,
.tj-product .product-pager-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  color: #333;
  background: #fff;
}

.tj-product .product-pager-btn:hover,
.tj-product .product-pager-btn:focus-visible {
  border-color: var(--blue);
  color: var(--blue);
}

.tj-product .product-pager-btn.is-disabled {
  color: #aaa;
  opacity: 0.55;
  pointer-events: none;
}

.tj-product .product-pager-status {
  min-width: 72px;
}

.tj-product .product-empty {
  padding: 48px 0;
  color: #888;
  text-align: center;
}

.tj-product .product-detail-summary {
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 42px;
  align-items: center;
  margin-bottom: 48px;
  padding: 34px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  background: #fff;
}

.tj-product .product-detail-media {
  overflow: hidden;
  background: #111;
}

.tj-product .product-detail-media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.tj-product .product-detail-intro h1 {
  margin: 0 0 18px;
  color: #222;
  font-size: 34px;
  line-height: 1.35;
}

.tj-product .product-detail-intro p {
  margin: 0 0 28px;
  color: #666;
  font-size: 16px;
  line-height: 1.85;
}

.tj-product .product-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.tj-product .product-detail-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 148px;
  min-height: 46px;
  padding: 0 24px;
  border: 1px solid #d7d7d7;
  border-radius: 999px;
  color: #333;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tj-product .product-detail-actions a.btn-primary {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.tj-product .product-detail-actions a:hover,
.tj-product .product-detail-actions a:focus-visible {
  border-color: var(--blue);
  color: var(--blue);
}

.tj-product .product-detail-actions a.btn-primary:hover,
.tj-product .product-detail-actions a.btn-primary:focus-visible {
  background: #0675b3;
  color: #fff;
}

.tj-product .product-detail-section {
  margin-bottom: 56px;
}

.tj-product .product-detail-section h2 {
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e0e0e0;
  color: #222;
}

.tj-product .product-detail-content {
  color: #444;
  font-size: 16px;
  line-height: 1.9;
}

.tj-product .product-detail-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 24px auto;
}

.tj-product .product-detail-content p:has(img) {
  text-align: center;
}

.tj-product .product-page-body:has(+ .product-inquiry) {
  padding-bottom: 0;
}

.tj-product .product-inquiry {
  padding: 0 32px var(--section-padding-y);
}

.tj-product .product-inquiry-head {
  margin-bottom: 32px;
  text-align: center;
}

.tj-product .product-inquiry-head h2 {
  margin: 0 0 10px;
  color: #222;
}

.tj-product .product-inquiry-head p {
  margin: 0;
  color: #666;
}

.tj-product .product-inquiry-form {
  width: 100%;
  margin: 0 auto;
}

.tj-product .product-inquiry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.tj-product .product-inquiry-form input,
.tj-product .product-inquiry-form textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font: inherit;
}

.tj-product .product-inquiry-form textarea {
  min-height: 140px;
  resize: vertical;
}

.tj-product .product-inquiry-form .field-full {
  grid-column: 1 / -1;
}

.tj-product .product-inquiry-form input:focus,
.tj-product .product-inquiry-form textarea:focus {
  border-color: var(--blue);
  outline: none;
}

.tj-product .product-inquiry-submit {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.tj-product .product-inquiry-submit button {
  min-width: 168px;
  min-height: 48px;
  padding: 0 28px;
  border: none;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font: inherit;
  cursor: pointer;
  transition: background 0.2s ease;
}

.tj-product .product-inquiry-submit button:hover,
.tj-product .product-inquiry-submit button:focus-visible {
  background: #0675b3;
}

/* Contact page */
body.tj-contact main {
  background: #fff;
}

.tj-contact .contact-page-banner,
.tj-contact .page-hero--contact {
  --page-hero-bg: url("../images/ban_lx.jpg");
}

.tj-contact .contact-page-banner {
  --heading-color: #fff;
  --text-color: #fff;
  min-height: 528px;
  background: url("../images/ban_lx.jpg") center top / cover no-repeat;
}

.tj-contact .contact-page-banner .tj-container {
  display: flex;
  min-height: 528px;
  align-items: center;
}

.tj-contact .contact-info-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 24px;
  margin: 0 0 56px;
  padding: 0;
  list-style: none;
}

.tj-contact .contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.tj-contact .contact-info-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border: 1px solid #d7d7d7;
  color: var(--blue);
  background: #fff;
}

.tj-contact .contact-info-icon svg,
.tj-contact .contact-info-icon .iconfont {
  width: 42px;
  height: 42px;
  font-size: 42px;
  line-height: 1;
}

.tj-contact .contact-info-body {
  min-width: 0;
  padding-top: 6px;
  color: #444;
  font-size: 15px;
  line-height: 1.8;
}

.tj-contact .contact-info-body h3 {
  margin: 0 0 8px;
  color: #222;
  font-weight: 700;
}

.tj-contact .contact-info-body p {
  margin: 0 0 4px;
}

.tj-contact .contact-info-body a {
  color: inherit;
  text-decoration: none;
}

.tj-contact .contact-info-body a:hover,
.tj-contact .contact-info-body a:focus-visible {
  color: var(--blue);
}

.tj-contact .contact-inquiry-form {
  width: 100%;
}

.tj-contact .contact-inquiry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.tj-contact .contact-inquiry-form input,
.tj-contact .contact-inquiry-form textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font: inherit;
}

.tj-contact .contact-inquiry-form textarea {
  min-height: 140px;
  resize: vertical;
}

.tj-contact .contact-inquiry-form .field-full {
  grid-column: 1 / -1;
}

.tj-contact .contact-inquiry-form input:focus,
.tj-contact .contact-inquiry-form textarea:focus {
  border-color: var(--blue);
  outline: none;
}

.tj-contact .contact-inquiry-submit {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.tj-contact .contact-inquiry-submit button {
  min-width: 168px;
  min-height: 48px;
  padding: 0 28px;
  border: none;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font: inherit;
  cursor: pointer;
  transition: background 0.2s ease;
}

.tj-contact .contact-inquiry-submit button:hover,
.tj-contact .contact-inquiry-submit button:focus-visible {
  background: #0675b3;
}

/* Equipment page */
body.tj-equipment main {
  background: #fff;
}

.tj-equipment .equipment-page-banner,
.tj-equipment .page-hero--equipment {
  --page-hero-bg: url("../images/ban_sb.jpg");
}

.tj-equipment .equipment-page-banner {
  --heading-color: #fff;
  --text-color: #fff;
  min-height: 528px;
  background: url("../images/ban_sb.jpg") center top / cover no-repeat;
}

.tj-equipment .equipment-page-banner .tj-container {
  display: flex;
  min-height: 528px;
  align-items: center;
}

.tj-equipment .equipment-section-title {
  margin: 0 0 40px;
  color: #222;
  font-weight: 700;
  text-align: center;
}

.tj-equipment .equipment-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tj-equipment .equipment-gallery-item {
  min-width: 0;
}

.tj-equipment .equipment-gallery-item a {
  position: relative;
  display: block;
  overflow: hidden;
  padding-top: 100%;
  background: #f2f2f2;
  cursor: zoom-in;
}

.tj-equipment .equipment-gallery-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.tj-equipment .equipment-gallery-item a:hover img,
.tj-equipment .equipment-gallery-item a:focus-visible img {
  transform: scale(1.03);
}

.tj-equipment .equipment-empty {
  padding: 48px 0;
  color: #888;
  text-align: center;
}

.site-nav .nav-products{position:relative}.site-nav .product-submenu{position:absolute;top:calc(100% + 18px);left:50%;display:block;min-width:260px;padding:10px 0;border:1px solid rgba(0,0,0,.08);border-radius:4px;background:rgba(255,255,255,.98);box-shadow:0 14px 34px rgba(0,43,92,.18);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;pointer-events:none}.site-nav .product-submenu:before{content:"";position:absolute;right:0;bottom:100%;left:0;height:20px}.site-nav .product-submenu li{display:block}.site-nav .product-submenu li+li{border-top:1px solid #e5e8eb}.site-nav .product-submenu a,.site-header.is-scrolled .site-nav .product-submenu a{display:block;padding:10px 20px;color:#333;font-size:17px;line-height:1.35}.site-nav .product-submenu a:hover,.site-nav .product-submenu a:focus-visible,.site-header.is-scrolled .site-nav .product-submenu a:hover,.site-header.is-scrolled .site-nav .product-submenu a:focus-visible{color:var(--blue);background:#f2f8fc}.site-nav .nav-products:hover .product-submenu,.site-nav .nav-products:focus-within .product-submenu{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}.submenu-toggle{display:none}