@charset "utf-8";

:root {
  --at-red: rgba(209, 25, 25, 1);
  --at-title: #292929;
  --at-lead: #292929;
  --at-lead-ghost: rgba(41, 41, 41, 0.12);
  --at-muted: #666;
}

.theme-light,
.theme-light .about-title-block,
.theme-light .about-lead {
  --at-title: #292929;
  --at-lead: #292929;
  --at-lead-ghost: rgba(41, 41, 41, 0.1);
  --at-muted: #666;
}

.theme-dark,
.theme-dark .about-title-block,
.theme-dark .about-lead,
.about-title-block--light {
  --at-title: #fff;
  --at-lead: #fff;
  --at-lead-ghost: rgba(255, 255, 255, 0.12);
  --at-muted: #dedede;
}

[data-about-content] {
  visibility: hidden;
}

.no-js [data-about-content],
.no-gsap [data-about-content] {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.no-js .about-title-block,
.no-gsap .about-title-block {
  opacity: 1 !important;
  visibility: visible !important;
}
.no-js .about-title-en:not([data-about-title-split]),
.no-gsap .about-title-en:not([data-about-title-split]),
.no-js .about-title-sub,
.no-gsap .about-title-sub,
.no-js .about-title-sub:not([data-about-title-split]),
.no-gsap .about-title-sub:not([data-about-title-split]),
.no-js .about-title-sub i,
.no-gsap .about-title-sub i,
.no-js .about-title-desc,
.no-gsap .about-title-desc {
  opacity: 1 !important;
}

.no-js .about-title-en .char > span,
.no-gsap .about-title-en .char > span,
.no-js .about-title-sub-text .char > span,
.no-gsap .about-title-sub-text .char > span {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

.about-title-block {
  max-width: 100%;
}

.about-title-en {
  margin: 0 0 20px;
  font-family: "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;
  font-size: clamp(28px, 3.2vw, 48px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--at-title);
  perspective: 800px;
}

.about-title-en:not([data-about-title-split]) {
  opacity: 0;
}

.about-title-en .word .char:first-of-type span {
  color: var(--at-red);
  text-transform: uppercase;
}

.about-title-en .line {
  display: block;
}

.about-title-en .word {
  display: inline-block;
}

.about-title-en .char {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

.about-title-en .char span {
  display: block;
}

.about-title-sub {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  font-family: "Noto Sans SC", "Noto Sans S Chinese", "Microsoft YaHei", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 35px;
  height: 35px;
  color: var(--at-red);
  overflow: hidden;
}

.about-title-sub:not([data-about-title-split]) {
  opacity: 0;
}

.about-title-sub i {
  display: block;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 4px solid var(--at-red);
  border-radius: 50%;
  flex-shrink: 0;
  align-self: center;
  opacity: 0;
}

.about-title-sub-text {
  display: flex;
  align-items: center;
  height: 100%;
  overflow: hidden;
}

.about-title-sub-text .line {
  display: block;
}

.about-title-sub-text .word {
  display: inline-block;
}

.about-title-sub-text .char {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

.about-title-sub-text .char span {
  display: block;
}

.about-lead {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin: 0 0 24px;
}

.about-lead-bar {
  flex: 0 0 3px;
  width: 3px;
  height: 36px;
  margin-top: 7px;
  align-self: flex-start;
  background: var(--at-red);
  border-radius: 4px;
}

.about-lead-text {
  margin: 0;
  position: relative;
  max-width: 808px;
  font-family: "Noto Sans SC", "Noto Sans S Chinese", "Microsoft YaHei", sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 50px;
  letter-spacing: 0;
  text-align: left;
  color: var(--at-lead-ghost);
}

.about-lead-note {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: var(--at-lead);
  clip-path: inset(0 100% 0 0);
  z-index: 2;
  pointer-events: none;
}

.about-lead-text.is-on .about-lead-note {
  clip-path: inset(0 0 0 0);
  transition: clip-path 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.profile-lead {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin: 0 0 24px;
}

.profile-lead-bar {
  flex: 0 0 3px;
  width: 3px;
  height: 36px;
  margin-top: 7px;
  align-self: flex-start;
  background: var(--at-red);
  border-radius: 4px;
}

.profile-lead-text {
  margin: 0;
  position: relative;
  max-width: 808px;
  font-family: "Noto Sans SC", "Noto Sans S Chinese", "Microsoft YaHei", sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 50px;
  color: var(--at-lead-ghost);
}

.profile-lead-note {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: var(--at-lead);
  clip-path: inset(0 100% 0 0);
  z-index: 2;
  pointer-events: none;
}

.profile-lead-text.is-on .profile-lead-note {
  clip-path: inset(0 0 0 0);
  transition: clip-path 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.about-title-block--center {
  text-align: center;
}

.about-title-block--center .about-title-sub {
  justify-content: center;
}

.about-title-desc {
  margin: 0;
  font-family: "Noto Sans SC", "Noto Sans S Chinese", "Microsoft YaHei", sans-serif;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 400;
  line-height: 1.4;
  color: var(--at-title);
  opacity: 0;
}

.about-title-desc .red {
  color: var(--at-red);
}

.svc-grid-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 64px;
}

.svc-grid-head-left {
  flex-shrink: 0;
  min-width: 0;
}

.svc-grid-head .about-title-en {
  margin: 0 0 20px;
}

.svc-grid-endnote {
  margin: 0;
  padding-left: 20px;
  border-radius: 0;
  font-family: "Noto Sans SC", "Noto Sans S Chinese", "Microsoft YaHei", sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 50px;
  color: var(--at-title);
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
}

.svc-grid-endnote::after {
  content: "";
  position: absolute;
  left: 0;
  top: 14%;
  width: 3px;
  height: 72%;
  background-color: var(--at-red);
  border-radius: 4px;
}

@media only screen and (max-width: 1199px) {
  .svc-grid-endnote {
    font-size: 24px;
    line-height: 1.4;
    white-space: normal;
    max-width: 280px;
  }
}

@media only screen and (max-width: 991px) {
  .about-title-sub {
    font-size: 20px;
    line-height: 1.4;
    height: auto;
  }

  .about-title-sub i {
    width: 16px;
    height: 16px;
    border-width: 3px;
  }

  .about-lead-text,
  .profile-lead-text {
    font-size: 24px;
    line-height: 40px;
  }

  .about-lead-bar,
  .profile-lead-bar {
    height: 36px;
    margin-top: 2px;
  }

  .svc-grid-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 36px;
  }

  .svc-grid-endnote {
    font-size: 20px;
    max-width: none;
    padding-left: 16px;
  }
}

@media only screen and (max-width: 767px) {
  .about-title-sub {
    font-size: 16px;
    gap: 12px;
  }

  .about-title-sub i {
    width: 12px;
    height: 12px;
    border-width: 2px;
  }

  .about-lead-text,
  .profile-lead-text {
    font-size: 20px;
    line-height: 34px;
  }

  .about-lead-bar,
  .profile-lead-bar {
    height: 36px;
    margin-top: 0;
  }

  .svc-grid-endnote {
    font-size: 16px;
    line-height: 1.5;
    padding-left: 12px;
  }
}
