:root {
  color-scheme: light;
  --primary-red: #d7000f;
  --primary-red-hover: #b9000d;
  --primary-red-shadow: rgba(215, 0, 15, 0.16);
  --text-section: #0b1d27;
  --text-heading: #050505;
  --text-card-heading: #060606;
  --text-main: #101010;
  --text-body: #666;
  --text-option: #555;
  --surface-white: #fff;
  --surface-soft: #f5f5f5;
  --surface-page: #fbfbfb;
  --surface-black: #000;
  --surface-media: #111;
  --modal-overlay: rgba(0, 0, 0, 0.72);
  --border-line: #ddd;
  --badge-fallback-start: #b6aaa7;
  --pill-radius: 999px;
  --title-mark-radius: 4px;
  --font-base: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  --font-english-subtitle: "Outfit", "Microsoft YaHei", Arial, sans-serif;
  --page-gutter: clamp(24px, 7.292vw, 140px);
  --container-wide: min(1640px, calc(100vw - (var(--page-gutter) * 2)));
  --motion-ease: ease;
  --motion-interaction: 0.32s;
}



*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-width: 320px;
  min-height: 100%;
  background: var(--surface-white);
}

body {
  font-family: var(--font-base);
  color: var(--text-main);
}

img {
  display: block;
  max-width: 100%;
}

.talent-page {
  width: 100%;
  overflow: hidden;
  background: var(--surface-white);
}

.solutions-page a {
  color: inherit;
  text-decoration: none;
  font: inherit;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.solutions-page a:hover,
.solutions-page a:focus,
.solutions-page a:active,
.solutions-page a:visited {
  text-decoration: none;
  outline: none;
}

.solutions-container {
  width: var(--container-wide);
  margin: 0 auto;
}

.talent-hero {
  position: relative;
  height: 623px;
  padding-top: 90px;
  background: var(--surface-page);
  text-align: center;
}

.talent-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.talent-logo {
  width: 220px;
  height: 48px;
  object-fit: contain;
  margin-left: 0;
}

.talent-hero h1 {
  margin: 19px 0 0;
  color: var(--text-heading);
  font-size: 52px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0;
}

.talent-hero__copy {
  margin: 33px 0 0;
  color: var(--text-body);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.63;
}

.primary-action {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 139px;
  height: 40px;
  padding: 0 8px 0 14px;
  border: 2px solid var(--primary-red);
  border-radius: var(--pill-radius);
  overflow: hidden;
  background: var(--primary-red);
  background-image: linear-gradient(90deg, var(--surface-white) 0 50%, var(--primary-red) 50% 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  color: var(--surface-white);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  transition: color var(--motion-interaction) var(--motion-ease), background-position var(--motion-interaction) var(--motion-ease), box-shadow var(--motion-interaction) var(--motion-ease);
}

.primary-action > span {
  position: relative;
  z-index: 1;
}

.solutions-page .primary-action,
.solutions-page .primary-action a {
  color: var(--surface-white);
}

.talent-cta {
  margin-top: 43px;
  padding-left: 17px;
}

.action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  background: var(--surface-white);
  transition: background-color var(--motion-interaction) var(--motion-ease);
}

.action-icon .iconfont {
  color: var(--primary-red);
  font-size: 15px;
  line-height: 1;
  transition: color var(--motion-interaction) var(--motion-ease);
}

.primary-action:hover,
.primary-action:focus {
  color: var(--primary-red);
  background-position: 0 0;
  box-shadow: 0 12px 24px var(--primary-red-shadow);
}

.primary-action:hover .action-icon,
.primary-action:focus .action-icon {
  background: var(--primary-red);
}

.primary-action:hover .action-icon .iconfont,
.primary-action:focus .action-icon .iconfont {
  color: var(--surface-white);
}

.talent-hero__media {
  position: absolute;
  z-index: 1;
  top: 447px;
  left: 50%;
  margin-top: 0;
  border-radius: 20px;
  overflow: hidden;
  transform: translateX(-50%);
}

.talent-hero__media img {
  width: 100%;
  height: 467px;
  object-fit: cover;
}

.growth-section {
  padding: 422px 0 126px;
  background: var(--surface-white);
}

.growth-intro {
  display: grid;
  grid-template-columns: minmax(360px, 700px) minmax(520px, 805px);
  justify-content: space-between;
  align-items: start;
  column-gap: 80px;
}

.section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 31px;
  padding: 0;
  background: linear-gradient(90deg, var(--badge-fallback-start) 0%, var(--primary-red) 100%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  color: var(--surface-white);
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
}

.section-badge--growth {
  width: 117px;
  background-image: url("/wp-content/uploads/2026/05/badge-growth-plan.png");
}

.section-badge--benefits {
  width: 115px;
  background-image: url("/wp-content/uploads/2026/05/badge-benefits.png");
}

.section-badge--join {
  width: 104px;
  background-image: url("/wp-content/uploads/2026/05/badge-join-us.png");
}

.growth-title h2,
.benefits-copy h2,
.join-copy h2 {
  margin: 11px 0 0;
  color: var(--text-section);
  font-size: 42px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
}

.growth-title h2,
.join-copy h2 {
  font-size: 46px;
  line-height: 1.1;
}

.growth-title h2 {
  margin-top: 16px;
}

.growth-copy {
  padding-top: 2px;
  color: var(--text-body);
  font-size: 16px;
  line-height: 1.75;
  transform: translateY(-4px);
}

.growth-copy p {
  margin: 0 0 14px;
}

.growth-copy p:last-child {
  margin-bottom: 0;
}

.growth-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin-top: 119px;
  transform: translateY(-4px);
}

.growth-card {
  min-height: 171px;
}

.growth-card__head {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--border-line);
}

.growth-card__head img {
  width: 42px;
  height: 38px;
  object-fit: contain;
  flex: 0 0 auto;
}

.growth-card h3 {
  margin: 0 0 0 13px;
  color: var(--primary-red);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.2;
}

.growth-card p {
  min-height: 56px;
  margin: 31px 0 0;
  color: var(--text-body);
  font-size: 18px;
  line-height: 1.8;
}

.growth-card strong {
  display: block;
  margin-top: 4px;
  color: var(--text-card-heading);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.55;
}

.benefits-section {
  padding: 143px 0 63px;
  background: var(--surface-page);
}

.benefits-layout {
  display: grid;
  width: calc(100vw - var(--page-gutter));
  margin-left: var(--page-gutter);
  margin-right: 0;
  grid-template-columns: 770px 946px;
  justify-content: start;
  column-gap: 63px;
  align-items: start;
}

.benefits-copy h2 {
  max-width: 740px;
  margin-top: 18px;
  font-size: 42px;
  line-height: 1.18;
  letter-spacing: 2.4px;
}

.benefits-copy {
  transform: translateY(-5px);
}

.benefits-copy ul {
  display: grid;
  gap: 12px;
  margin: 46px 0 0;
  padding: 0;
  list-style: none;
  color: var(--text-body);
  font-size: 18px;
  line-height: 1.62;
}

.benefits-copy li {
  position: relative;
  padding-left: 28px;
}

.benefits-copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary-red);
}

.benefits-gallery {
  width: 100%;
  max-width: 946px;
  overflow: hidden;
  align-items: start;
  padding-top: 42px;
}

.benefits-gallery figure,
.worklife-gallery figure {
  margin: 0;
}

.benefits-gallery .swiper-wrapper,
.worklife-gallery .swiper-wrapper {
  align-items: flex-start;
}

.benefits-gallery .swiper-slide,
.worklife-gallery .swiper-slide {
  width: auto;
}

.benefits-card {
  display: inline-block;
  vertical-align: top;
}

.benefits-gallery img {
  border-radius: 10px;
}

.benefits-gallery figcaption {
  margin-top: 28px;
  color: var(--text-card-heading);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transform: translateY(-4px);
}

.worklife-section {
  padding: 100px 0 128px;
  background: var(--surface-page);
}

.cases-heading {
  position: relative;
  width: max-content;
  max-width: calc(100% - 48px);
  margin: 0 auto;
  text-align: center;
  z-index: 2;
}

.title-mark {
  position: absolute;
  top: -14px;
  left: -30px;
  width: 60px;
  height: 60px;
  border-radius: var(--title-mark-radius);
  background: url("/wp-content/uploads/2026/05/title-mark.png") center / 100% 100% no-repeat;
  z-index: -1;
}

.cases-heading h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--text-section);
  font-size: 48px;
  font-weight: 700;
  line-height: 58px;
}

.cases-heading p {
  margin: 12px 0 0;
  color: var(--text-heading);
  font-family: var(--font-english-subtitle);
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
}

.worklife-gallery {
  width: min(1920px, 100vw);
  margin: 90px auto 0;
  overflow: hidden;
  transform: none;
}

.worklife-card {
  display: inline-block;
  vertical-align: top;
}

.worklife-card--main {
  margin-top: 0;
}

.worklife-card--edge-right {
  margin-top: 0;
}

.worklife-card img {
  border-radius: 20px;
}

.worklife-card figcaption {
  margin-top: 44px;
  color: var(--text-card-heading);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transform: translateY(-6px);
}

.worklife-card--edge-left figcaption {
  margin-top: 44px;
}

.worklife-card--edge-right figcaption {
  margin-top: 44px;
}

.join-section {
  padding: 160px 0 56px;
  background: var(--surface-white);
}

.join-layout {
  display: grid;
  grid-template-columns: minmax(430px, 650px) minmax(700px, 806px);
  justify-content: space-between;
  column-gap: 95px;
  align-items: start;
}

.join-copy {
  transform: translateY(-2px);
}

.join-copy h2 {
  margin-top: 15px;
  font-size: 46px;
  line-height: 1.1;
}

.join-copy h3 {
  margin: 77px 0 0;
  color: var(--text-card-heading);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.6;
}

.join-copy p {
  margin: 24px 0 0;
  max-width: 600px;
  color: var(--text-body);
  font-size: 16px;
  line-height: 1.9;
}

.join-button {
  margin-top: 45px;
  padding: 0 7px 0 13px;
}

.primary-action--outline {
  background: var(--surface-white);
  background-image: linear-gradient(90deg, var(--primary-red) 0 50%, var(--surface-white) 50% 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
}

.solutions-page .primary-action--outline,
.solutions-page .primary-action--outline:visited {
  color: var(--text-option);
}

.primary-action--outline .action-icon {
  background: var(--primary-red);
}

.primary-action--outline .action-icon .iconfont {
  color: var(--surface-white);
}

.solutions-page .primary-action--outline:hover,
.solutions-page .primary-action--outline:focus {
  color: var(--surface-white);
}

.primary-action--outline:hover .action-icon,
.primary-action--outline:focus .action-icon {
  background: var(--surface-white);
}

.primary-action--outline:hover .action-icon .iconfont,
.primary-action--outline:focus .action-icon .iconfont {
  color: var(--primary-red);
}

.join-collage {
  position: relative;
  height: 620px;
  transform: translateY(-60px);
}

.join-collage img {
  position: absolute;
  object-fit: cover;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: transform, opacity, filter;
}

.join-collage.is-animated img {
  opacity: 0;
  animation: joinTileReveal 760ms var(--motion-ease) var(--join-delay, 0ms) both;
}

.join-collage .portrait {
  width: 149px;
  height: 149px;
}

.join-collage .team {
  width: 313px;
  height: 148px;
}

.join-collage .p1 {
  top: 0;
  left: 269px;
  --join-delay: 0ms;
  --join-float-y: -8px;
  --join-float-duration: 5200ms;
}

.join-collage .p2 {
  top: 165px;
  left: 105px;
  --join-delay: 80ms;
  --join-float-y: -6px;
  --join-float-duration: 5600ms;
}

.join-collage .p3 {
  top: 165px;
  left: 604px;
  --join-delay: 160ms;
  --join-float-y: -7px;
  --join-float-duration: 5400ms;
}

.join-collage .p4 {
  top: 165px;
  left: 440px;
  --join-delay: 240ms;
  --join-float-y: -9px;
  --join-float-duration: 5800ms;
}

.join-collage .p5 {
  top: 331px;
  left: 440px;
  --join-delay: 320ms;
  --join-float-y: -6px;
  --join-float-duration: 5500ms;
}

.join-collage .p6 {
  top: 0;
  left: 604px;
  --join-delay: 400ms;
  --join-float-y: -8px;
  --join-float-duration: 5700ms;
}

.join-collage .p7 {
  top: 497px;
  left: 269px;
  --join-delay: 480ms;
  --join-float-y: -7px;
  --join-float-duration: 5300ms;
}

.join-collage .t1 {
  top: 332px;
  left: 105px;
  --join-delay: 560ms;
  --join-float-y: -5px;
  --join-float-duration: 5900ms;
}

.join-collage .t2 {
  top: 497px;
  left: 440px;
  --join-delay: 640ms;
  --join-float-y: -6px;
  --join-float-duration: 5600ms;
}

@keyframes joinTileReveal {
  from {
    filter: blur(8px);
    opacity: 0;
    transform: translate3d(0, 22px, 0) scale(0.96);
  }

  to {
    filter: blur(0);
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .join-collage.is-animated img {
    filter: none;
    opacity: 1;
    transform: none;
  }
}

.video-modal-open,
.video-modal-open body {
  overflow: hidden;
}

.shared-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.shared-video-modal.is-open {
  display: flex;
}

.shared-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--modal-overlay);
}

.shared-video-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
  background: var(--surface-black);
}

.shared-video-modal__video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--surface-black);
}

.shared-video-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: var(--surface-white);
  color: var(--surface-media);
  font-size: 24px;
  cursor: pointer;
}

@media (max-width: 1500px) {
  :root {
    --page-gutter: clamp(32px, 5vw, 90px);
  }

  .growth-intro,
  .join-layout {
    column-gap: 56px;
  }

  .benefits-layout {
    width: var(--container-wide);
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 1fr;
    row-gap: 48px;
  }

  .benefits-gallery {
    max-width: 946px;
  }

  .growth-grid {
    gap: 24px;
  }

  .growth-card h3 {
    font-size: 22px;
  }

  .worklife-gallery {
    transform: none;
    width: var(--container-wide);
  }

  .worklife-card--main,
  .worklife-card--edge-right {
    margin-top: 0;
  }

  .worklife-card--edge-left figcaption,
  .worklife-card--edge-right figcaption {
    margin-top: 44px;
  }
}

@media (max-width: 1300px) {
  .join-layout {
    grid-template-columns: 1fr;
    row-gap: 48px;
  }

  .join-collage {
    width: min(806px, 100%);
    margin: 0 auto;
    transform: none;
  }
}

@media (max-width: 1180px) {
  :root {
    --page-gutter: 36px;
  }

  .talent-hero {
    height: auto;
    padding-top: 72px;
  }

  .talent-hero__media {
    position: static;
    transform: none;
    margin-top: 45px;
  }

  .talent-hero h1 {
    font-size: 46px;
  }

  .talent-hero__copy {
    font-size: 17px;
  }

  .growth-section,
  .benefits-section,
  .worklife-section,
  .join-section {
    padding-top: 96px;
    padding-bottom: 106px;
  }

  .benefits-section {
    padding-bottom: 58px;
  }

  .worklife-section {
    padding-top: 58px;
  }

  .growth-intro,
  .benefits-layout,
  .join-layout {
    grid-template-columns: 1fr;
    row-gap: 48px;
  }

  .growth-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 46px;
  }

  .benefits-gallery {
    max-width: 820px;
    padding-top: 18px;
  }

  .join-collage {
    width: min(806px, 100%);
    margin: 0 auto;
    transform: none;
  }
}

@media (max-width: 900px) {
  .growth-title h2,
  .benefits-copy h2,
  .join-copy h2,
  .cases-heading h2 {
    font-size: 38px;
    line-height: 42px;
  }

  .title-mark {
    top: -10px;
    left: -28px;
    width: 52px;
    height: 52px;
  }
}

@media (max-width: 768px) {
  :root {
    --page-gutter: 20px;
  }

  .talent-logo {
    width: 176px;
    height: auto;
  }

  .talent-hero h1 {
    font-size: 34px;
  }

  .talent-hero__copy {
    font-size: 15px;
    line-height: 1.75;
  }

  .talent-hero__copy br {
    display: none;
  }

  .talent-hero__media img {
    height: auto;
    min-height: 230px;
  }

  .growth-title h2,
  .benefits-copy h2,
  .join-copy h2,
  .cases-heading h2 {
    font-size: 32px;
    line-height: 36px;
  }

  .section-badge {
    font-size: 16px;
  }

  .growth-grid,
  .benefits-gallery,
  .worklife-gallery {
    grid-template-columns: 1fr;
  }

  .growth-copy,
  .join-copy p {
    font-size: 14px;
  }

  .growth-card p,
  .growth-card strong,
  .benefits-copy ul {
    font-size: 15px;
  }

  .benefits-gallery img,
  .worklife-card img {
    width: 100%;
    max-width: 100%;
  }

  .cases-heading {
    width: calc(100% - 40px);
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .cases-heading h2 {
    margin: 0;
  }

  .cases-heading p {
    margin-top: 6px;
    font-size: 15px;
    line-height: 18px;
  }

  .title-mark {
    position: absolute;
    top: -8px;
    left: calc(50% - 96px);
    width: 44px;
    height: 44px;
  }

  .worklife-gallery {
    margin-top: 28px;
  }

  .benefits-section {
    padding-bottom: 38px;
  }

  .worklife-section {
    padding-top: 32px;
    padding-bottom: 74px;
  }

  .join-section {
    padding-top: 84px;
  }

  .benefits-card,
  .worklife-card {
    display: block;
  }

  .join-copy h3 {
    margin-top: 48px;
    font-size: 19px;
  }

  .join-collage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    height: auto;
    transform: none;
  }

  .join-collage img,
  .join-collage .portrait,
  .join-collage .team {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .join-collage .team {
    aspect-ratio: 313 / 148;
    grid-column: span 2;
  }
}

@media (max-width: 520px) {
  .growth-title h2,
  .benefits-copy h2,
  .join-copy h2,
  .cases-heading h2 {
    font-size: 27px;
    line-height: 1.32;
  }
}

@media (max-width: 430px) {
  :root {
    --page-gutter: 14px;
  }

  .talent-hero {
    padding-top: 48px;
  }

  .talent-hero h1 {
    font-size: 28px;
  }

  .talent-cta,
  .join-button {
    width: 126px;
    height: 36px;
    font-size: 14px;
  }

  .talent-cta .action-icon,
  .join-button .action-icon {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
  }

  .talent-cta .action-icon .iconfont,
  .join-button .action-icon .iconfont {
    font-size: 13px;
  }

  .growth-section,
  .benefits-section,
  .worklife-section,
  .join-section {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .benefits-section {
    padding-bottom: 30px;
  }

  .worklife-section {
    padding-top: 28px;
    padding-bottom: 58px;
  }

  .join-section {
    padding-top: 64px;
  }

  .title-mark {
    top: -6px;
    left: calc(50% - 92px);
    width: 38px;
    height: 38px;
  }

  .worklife-gallery {
    margin-top: 24px;
  }
}
