/* Contact / careers landing page
   Loaded after the shared site styles so this file is the page's single visual source of truth. */

body.contact-page {
  --ct-ink: #07142d;
  --ct-ink-soft: #0f2141;
  --ct-blue: #1458d4;
  --ct-blue-bright: #4389f4;
  --ct-paper: #f4f6fa;
  --ct-line: rgba(7, 20, 45, 0.12);
  --ct-content: var(--amicro-content-width, min(1600px, calc(100% - 48px)));
  margin: 0;
  overflow-x: hidden;
  background: var(--ct-paper);
  color: var(--ct-ink);
  font-family: 'PingFang SC', -apple-system, BlinkMacSystemFont, 'Microsoft YaHei', sans-serif;
  font-weight: 400;
}

html[data-mobile] body.contact-page .ct-canvas > .sec.s-contact-form {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: calc(96 / 1080 * 100vw) calc(60 / 1080 * 100vw) !important;
  background: #f5f7fb !important;
}

html[data-mobile] body.contact-page .contact-form-shell {
  padding: calc(54 / 1080 * 100vw) calc(42 / 1080 * 100vw);
  border-radius: calc(28 / 1080 * 100vw);
  background: #fff;
}

html[data-mobile] body.contact-page .contact-form-heading h2 {
  margin: 0 0 calc(18 / 1080 * 100vw);
  color: #050c3e;
  font-size: var(--fs-56);
  line-height: 1.3;
}

html[data-mobile] body.contact-page .contact-form-heading p,
html[data-mobile] body.contact-page .contact-form-footer p {
  margin: 0;
  color: rgba(5, 12, 62, 0.62);
  font-size: var(--fs-28);
  line-height: 1.7;
}

html[data-mobile] body.contact-page .contact-form-grid {
  display: grid;
  gap: calc(30 / 1080 * 100vw);
  margin-top: calc(48 / 1080 * 100vw);
}

html[data-mobile] body.contact-page .contact-form-grid label {
  display: grid;
  gap: calc(14 / 1080 * 100vw);
  color: #050c3e;
  font-size: var(--fs-30);
}

html[data-mobile] body.contact-page .contact-form-grid input,
html[data-mobile] body.contact-page .contact-form-grid textarea {
  width: 100%;
  box-sizing: border-box;
  padding: calc(24 / 1080 * 100vw) calc(26 / 1080 * 100vw);
  border: 1px solid #dce2ed;
  border-radius: calc(14 / 1080 * 100vw);
  background: #fff;
  color: #050c3e;
  font: inherit;
}

html[data-mobile] body.contact-page .contact-form-grid input {
  height: calc(92 / 1080 * 100vw);
}

html[data-mobile] body.contact-page .contact-form-grid textarea {
  min-height: calc(240 / 1080 * 100vw);
  resize: vertical;
}

html[data-mobile] body.contact-page .contact-form-footer {
  display: grid;
  gap: calc(30 / 1080 * 100vw);
  margin-top: calc(38 / 1080 * 100vw);
}

html[data-mobile] body.contact-page .contact-form-footer button {
  width: 100%;
  min-height: calc(96 / 1080 * 100vw);
  border: 0;
  border-radius: calc(48 / 1080 * 100vw);
  background: #0d63f3;
  color: #fff;
  font-size: var(--fs-32);
}

html[data-mobile] body.contact-page .contact-form-status {
  margin: calc(28 / 1080 * 100vw) 0 0;
  font-size: var(--fs-28);
  line-height: 1.5;
}

html[data-mobile] body.contact-page .contact-form-status.is-success { color: #16834a; }
html[data-mobile] body.contact-page .contact-form-status.is-error { color: #c73535; }

body.contact-page *,
body.contact-page *::before,
body.contact-page *::after {
  box-sizing: border-box;
}

body.contact-page .header.solid {
  background: rgba(1, 8, 20, 0.9);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

body.contact-page :focus-visible {
  outline: 3px solid var(--ct-blue-bright);
  outline-offset: 4px;
}

.contact-page .ct-canvas {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: clip;
  background: #fff;
}

.contact-page .ct-canvas img {
  display: block;
  max-width: 100%;
}

.contact-page .sec {
  position: relative;
  width: 100%;
}

.contact-page .accent,
.contact-page .grad-text {
  color: var(--ct-blue);
  background: none;
  -webkit-text-fill-color: currentColor;
}

.contact-page .arrow-down {
  display: none;
}

/* Mobile navigation is injected once. Hide the stale drawer if the viewport later returns to desktop. */
html:not([data-mobile]) body.contact-page > .m-nav-backdrop,
html:not([data-mobile]) body.contact-page > .m-nav-drawer {
  display: none !important;
}

/* Hero */
.contact-page .s-hero {
  min-height: clamp(520px, 62svh, 720px);
  margin-top: max(70px, var(--header-height, 70px));
  overflow: hidden;
  isolation: isolate;
  background: #040d20;
}

.contact-page .hero-photo,
.contact-page .hero-grad,
.contact-page .hero-tint {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.contact-page .hero-photo {
  z-index: -3;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.012);
}

.contact-page .hero-grad {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(2, 10, 26, 0.96) 0%, rgba(2, 10, 26, 0.72) 34%, rgba(2, 10, 26, 0.14) 72%),
    linear-gradient(0deg, rgba(2, 10, 26, 0.55) 0%, rgba(2, 10, 26, 0) 52%);
}

.contact-page .hero-tint {
  z-index: -1;
  background: rgba(16, 54, 126, 0.12);
}

.contact-page .hero-copy {
  position: absolute;
  left: 50%;
  bottom: clamp(64px, 9vh, 112px);
  width: var(--ct-content);
  display: block;
  transform: translateX(-50%) !important;
  color: #f6f9ff;
}

.contact-page .hero-kicker,
.contact-page .team-heading__eyebrow {
  margin: 0 0 20px;
  color: #8fbaff;
  font-size: var(--fs-14);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
}

.contact-page .ct-hero-title {
  width: min(10em, 72%);
  margin: 0;
  color: #f7f9ff;
  font-size: var(--fs-72);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.contact-page .ct-hero-subtitle {
  margin: 20px 0 0;
  color: rgba(239, 245, 255, 0.76);
  font-size: var(--fs-20);
  line-height: 1.6;
  letter-spacing: 0.04em;
}

.contact-page .hero-action {
  min-height: 52px;
  margin-top: 36px;
  padding: 5px 7px 5px 24px;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  border: 1px solid rgba(232, 241, 255, 0.42);
  border-radius: 999px;
  color: #f7f9ff;
  font-size: var(--fs-15);
  text-decoration: none;
  transition: border-color 220ms ease, background-color 220ms ease, transform 220ms ease;
}

.contact-page .hero-action__arrow {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f7f9ff;
  color: var(--ct-ink);
  font-size: var(--fs-18);
  line-height: 1;
  transition: transform 220ms ease;
}

.contact-page .hero-action:hover {
  border-color: rgba(232, 241, 255, 0.85);
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}

.contact-page .hero-action:hover .hero-action__arrow {
  transform: rotate(-45deg);
}

.contact-page .hero-count {
  position: absolute;
  right: max(var(--amicro-gutter, 24px), calc((100% - 1600px) / 2));
  bottom: 40px;
  margin: 0;
  color: rgba(239, 245, 255, 0.52);
  font-size: var(--fs-12);
  letter-spacing: 0.16em;
}

/* Shared section typography */
.contact-page .style-title,
.contact-page .culture-title,
.contact-page .bf-title,
.contact-page .rc-title-1,
.contact-page .rc-title-2,
.contact-page .team-heading h2 {
  margin: 0;
  color: inherit;
  font-size: var(--fs-56);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

/* Working style */
.contact-page .s-style {
  min-height: 620px;
  padding: clamp(96px, 8vw, 144px) max(var(--amicro-gutter, 24px), calc((100% - 1600px) / 2));
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(520px, 1.62fr);
  align-items: center;
  gap: clamp(64px, 7vw, 132px);
  background: var(--ct-paper);
}

.contact-page .style-title {
  position: relative;
  max-width: 8.5em;
  padding-top: 34px;
}

.contact-page .style-title .style-eyebrow {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: auto;
  color: var(--ct-blue);
  font-size: var(--fs-12);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.16em;
}

.contact-page .style-img {
  width: 100%;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 28px;
  object-fit: cover;
  box-shadow: none;
}

/* Culture */
.contact-page .s-culture {
  padding: clamp(112px, 9vw, 168px) max(var(--amicro-gutter, 24px), calc((100% - 1600px) / 2));
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 10%, rgba(45, 105, 218, 0.2), transparent 28%),
    var(--ct-ink);
  color: #f5f8ff;
}

.contact-page .s-culture::before {
  content: '';
  position: absolute;
  top: 0;
  left: max(var(--amicro-gutter, 24px), calc((100% - 1600px) / 2));
  width: min(18vw, 260px);
  height: 1px;
  background: var(--ct-blue-bright);
}

.contact-page .culture-title {
  width: min(14em, 100%);
}

.contact-page .culture-sub {
  width: min(36em, 100%);
  margin: 22px 0 0;
  color: rgba(225, 235, 252, 0.66);
  font-size: var(--fs-18);
  line-height: 1.8;
}

.contact-page .culture-card {
  position: relative;
  width: 100%;
  min-height: 390px;
  margin: 72px 0 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(159, 190, 239, 0.15);
  border-radius: 28px;
  background: var(--ct-ink-soft);
}

.contact-page .culture-card + .culture-card {
  margin-top: 28px;
}

.contact-page .culture-card .item-index {
  position: absolute;
  top: 28px;
  right: 32px;
  z-index: 2;
  color: rgba(226, 237, 255, 0.4);
  font-size: var(--fs-12);
  font-weight: 500;
  letter-spacing: 0.14em;
}

.contact-page .culture-card .card-img {
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
  transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-page .culture-card .card-content {
  min-width: 0;
  padding: clamp(48px, 5vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-page .card-label {
  margin: 0 0 18px;
  color: #f7f9ff;
  font-size: var(--fs-36);
  font-weight: 500;
  line-height: 1.2;
}

.contact-page .card-label--image {
  display: none;
}

.contact-page .card-headline {
  width: min(22em, 100%);
  margin: 0 0 32px;
  color: rgba(239, 245, 255, 0.88);
  font-size: var(--fs-24);
  line-height: 1.5;
}

.contact-page .card-desc,
.contact-page .card-desc p {
  margin: 0;
  color: rgba(218, 229, 248, 0.58);
  font-size: var(--fs-15);
  line-height: 1.85;
}

.contact-page .culture-card:hover .card-img {
  transform: scale(1.035);
}

/* Benefits */
.contact-page .s-benefit {
  padding: clamp(112px, 9vw, 168px) max(var(--amicro-gutter, 24px), calc((100% - 1600px) / 2));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  background: #fff;
  color: var(--ct-ink);
}

.contact-page .bf-title,
.contact-page .bf-sub,
.contact-page .bf-arrow {
  grid-column: 1 / -1;
}

.contact-page .bf-title {
  text-align: center;
}

.contact-page .bf-sub {
  width: min(42em, 100%);
  margin: 18px auto 52px;
  color: rgba(7, 20, 45, 0.62);
  font-size: var(--fs-18);
  line-height: 1.7;
  text-align: center;
}

.contact-page .bf-card {
  position: relative;
  height: clamp(470px, 32vw, 560px);
  min-height: 0;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  border-radius: 24px;
  background: var(--ct-ink);
  -webkit-mask-image: none;
  mask-image: none;
}

.contact-page .bf-card .item-index {
  position: absolute;
  top: 28px;
  right: 30px;
  z-index: 3;
  color: rgba(255, 255, 255, 0.62);
  font-size: var(--fs-12);
  letter-spacing: 0.14em;
}

.contact-page .bf-card .bf-img,
.contact-page .bf-card.bf2 .bf-img,
.contact-page .bf-card.bf4 .bf-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  opacity: 1;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-page .bf-card.bf1 .bf-img { object-position: 42% center; }
.contact-page .bf-card.bf2 .bf-img { object-position: 60% center; }
.contact-page .bf-card.bf3 .bf-img { object-position: 46% center; }
.contact-page .bf-card.bf4 .bf-img { object-position: 58% center; }

.contact-page .bf-card .bf-grad,
.contact-page .bf-card.bf1 .bf-grad,
.contact-page .bf-card.bf2 .bf-grad,
.contact-page .bf-card.bf3 .bf-grad,
.contact-page .bf-card.bf4 .bf-grad {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(3, 11, 28, 0.96) 0%, rgba(3, 11, 28, 0.72) 40%, rgba(3, 11, 28, 0.08) 82%);
  pointer-events: none;
}

.contact-page .bf-card .bf-text,
.contact-page .bf-card.bf2 .bf-text,
.contact-page .bf-card.bf4 .bf-text {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  width: 100%;
  height: auto;
  padding: clamp(30px, 3vw, 52px);
  display: block;
  color: #f7f9ff;
  text-align: left;
  background: transparent;
}

.contact-page .bf-title-l {
  max-width: none;
  margin: 0 0 20px;
  display: flex;
  flex-direction: row;
  gap: 0.45em;
  color: #f7f9ff;
  font-size: var(--fs-42);
  font-weight: 500;
  line-height: 1.2;
  text-shadow: none;
}

.contact-page .bf-title-l span,
.contact-page .bf-title-l span + span {
  display: inline;
  padding: 0;
}

.contact-page .bf-body,
.contact-page .bf-tag,
.contact-page .bf-text:hover .bf-body,
.contact-page .bf-text:hover .bf-tag {
  width: min(38em, 100%);
  margin: 0;
  display: block;
  color: rgba(240, 245, 255, 0.82);
  text-shadow: none;
}

.contact-page .bf-body {
  font-size: var(--fs-15);
  line-height: 1.7;
}

.contact-page .bf-body p,
.contact-page .bf-tag {
  margin: 0;
}

.contact-page .bf-body .bf-gap {
  height: 8px;
}

.contact-page .bf-tag {
  margin-top: 16px;
  color: rgba(208, 223, 246, 0.62);
  font-size: var(--fs-14);
  line-height: 1.55;
}

.contact-page .bf-text:hover .bf-title-l {
  display: flex;
}

.contact-page .bf-card:hover .bf-img {
  transform: scale(1.045);
}

/* Locations and jobs */
.contact-page .s-recruit {
  padding: clamp(112px, 9vw, 168px) 0;
  overflow: hidden;
  background: var(--ct-paper);
  color: var(--ct-ink);
  scroll-margin-top: 80px;
}

.contact-page .rc-title-1,
.contact-page .rc-title-2 {
  width: var(--ct-content);
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

.contact-page .city-marquee {
  width: 100vw;
  margin: 56px calc(50% - 50vw) 120px;
  overflow: hidden;
}

.contact-page .city-track {
  width: max-content;
  display: flex;
  will-change: transform;
  animation: contactCityMarquee 36s linear infinite;
}

.contact-page .city-track.is-paused,
.contact-page .team-track.is-paused {
  animation-play-state: paused;
}

.contact-page .marquee-toggle {
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(7, 20, 45, 0.16);
  border-radius: 999px;
  background: transparent;
  color: rgba(7, 20, 45, 0.62);
  font: inherit;
  font-size: var(--fs-14);
  line-height: 1;
  cursor: pointer;
  transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.contact-page .marquee-toggle:hover,
.contact-page .marquee-toggle[aria-pressed='true'] {
  border-color: rgba(20, 88, 212, 0.42);
  background: rgba(20, 88, 212, 0.06);
  color: var(--ct-blue);
}

.contact-page .marquee-toggle__icon {
  min-width: 12px;
  display: inline-block;
  font-size: var(--fs-12);
  line-height: 1;
  text-align: center;
}

.contact-page .marquee-toggle--city {
  position: absolute;
  top: clamp(112px, 9vw, 168px);
  right: max(var(--amicro-gutter, 24px), calc((100% - 1600px) / 2));
}

.contact-page .city-set {
  padding-right: 40px;
  display: flex;
  flex: 0 0 auto;
  gap: 20px;
}

.contact-page .city {
  width: clamp(210px, 14.4vw, 276px);
  height: auto;
  aspect-ratio: 276 / 345;
  flex: 0 0 auto;
  border-radius: 18px;
  object-fit: cover;
  box-shadow: 0 16px 38px rgba(19, 39, 74, 0.1);
  transition: transform 300ms ease, box-shadow 300ms ease;
}

.contact-page .city:hover {
  z-index: 1;
  transform: translateY(-8px);
  box-shadow: 0 24px 50px rgba(19, 39, 74, 0.16);
}

.contact-page .rc-types {
  width: var(--ct-content);
  margin: 28px auto 0;
  display: flex;
  justify-content: flex-start;
  gap: 36px;
}

.contact-page .type-tab {
  min-height: 44px;
  padding: 8px 0;
  display: inline-flex;
  align-items: center;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: rgba(7, 20, 45, 0.46);
  font-size: var(--fs-18);
  line-height: 1.3;
  text-decoration: none;
  transition: color 200ms ease, border-color 200ms ease;
}

.contact-page .type-tab.active,
.contact-page .type-tab:hover {
  border-color: var(--ct-blue);
  background: transparent;
  color: var(--ct-blue);
}

.contact-page .rc-search {
  width: var(--ct-content);
  margin: 52px auto 0;
  padding: 0;
  border-top: 1px solid var(--ct-line);
  background: transparent;
}

.contact-page .rc-search-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.contact-page .rc-search-item {
  position: relative;
  min-width: 0;
  min-height: 118px;
  padding: 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  border: 0;
  border-right: 1px solid var(--ct-line);
  border-bottom: 1px solid var(--ct-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ct-ink);
  font-size: var(--fs-18);
  line-height: 1.35;
  text-decoration: none;
  transition: background-color 220ms ease, color 220ms ease;
}

.contact-page .rc-search-item:last-child {
  border-right: 0;
}

.contact-page .rc-search-item:hover {
  border-color: var(--ct-line);
  background: #fff;
  box-shadow: none;
  color: var(--ct-blue);
  transform: none;
}

.contact-page .rc-search-item .arrow {
  color: currentColor;
  font-size: var(--fs-18);
  font-weight: 300;
  line-height: 0.8;
  transition: transform 220ms ease;
}

.contact-page .rc-search-item:hover .arrow {
  transform: translateX(4px);
}

.contact-page .rc-all-jobs {
  width: 224px;
  min-height: 56px;
  margin: 42px 0 0 max(var(--amicro-gutter, 24px), calc((100% - 1600px) / 2));
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--ct-blue);
  color: #fff;
  font-size: var(--fs-18);
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 220ms ease, transform 220ms ease;
}

.contact-page .rc-all-jobs:hover {
  background: #0e48b5;
  transform: translateY(-2px);
}

/* Team */
.contact-page .s-cta {
  padding: clamp(112px, 9vw, 168px) 0 0;
  overflow: hidden;
  background: var(--ct-ink);
  color: #f7f9ff;
}

.contact-page .team-heading {
  position: relative;
  width: var(--ct-content);
  margin: 0 auto;
}

.contact-page .marquee-toggle--team {
  position: absolute;
  top: 0;
  right: 0;
  border-color: rgba(225, 235, 252, 0.22);
  color: rgba(225, 235, 252, 0.66);
}

.contact-page .marquee-toggle--team:hover,
.contact-page .marquee-toggle--team[aria-pressed='true'] {
  border-color: rgba(143, 186, 255, 0.52);
  background: rgba(143, 186, 255, 0.1);
  color: #b7d3ff;
}

.contact-page .team-heading h2 {
  color: #f7f9ff;
}

.contact-page .team-heading > p:last-child {
  margin: 20px 0 0;
  color: rgba(221, 231, 249, 0.64);
  font-size: var(--fs-18);
  line-height: 1.7;
}

.contact-page .team-album {
  width: 100%;
  margin-top: 64px;
  overflow: hidden;
}

.contact-page .team-track {
  width: max-content;
  display: flex;
  will-change: transform;
  animation: contactTeamMarquee 44s linear infinite;
}

.contact-page .team-set {
  padding-right: 24px;
  display: flex;
  flex: 0 0 auto;
  gap: 24px;
}

.contact-page .team-card,
.contact-page .team-card.tm-left,
.contact-page .team-card.tm-main,
.contact-page .team-card.tm-right {
  position: relative;
  width: clamp(520px, 46vw, 820px);
  aspect-ratio: 16 / 9;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 24px 24px 0 0;
  background: #0e1e39;
}

.contact-page .team-card .tm-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-page .team-card:hover .tm-img {
  transform: scale(1.035);
}

@keyframes contactCityMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes contactCityMarqueeH5 {
  from { translate: calc(-109 * var(--ct-u)) 0; }
  to { translate: calc(-50% - 109 * var(--ct-u)) 0; }
}

@keyframes contactTeamMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes contactHeroReveal {
  from { transform: translateY(22px); }
  to { transform: translateY(0); }
}

.contact-page .hero-copy > * {
  animation: contactHeroReveal 760ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.contact-page .hero-copy > :nth-child(1) { animation-delay: 100ms; }
.contact-page .hero-copy > :nth-child(2) { animation-delay: 180ms; }
.contact-page .hero-copy > :nth-child(3) { animation-delay: 260ms; }
.contact-page .hero-copy > :nth-child(4) { animation-delay: 340ms; }

/* Shared CTA keeps the site's 1600 × 390 image treatment. */
body.contact-page .mod-cta {
  --mod-cta-scroll-distance-factor: 0.05;
  --mod-cta-target-radius: 4;
}

body.contact-page .mod-cta .ct-foot__cta-title p,
body.contact-page .mod-cta .ct-foot__cta-sub p {
  white-space: nowrap;
}

@media (min-width: 48.0625rem) {
  body.contact-page .ct-foot__cta-band.mod-cta.mod-cta--photo .mod-cta-wrap {
    aspect-ratio: 1600 / 390 !important;
  }

  body.contact-page .ct-foot__cta-band.mod-cta.mod-cta--photo .mod-cta-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.contact-page .ct-foot__cta-band.mod-cta.mod-cta--photo .ct-foot__cta-bg,
  body.contact-page .ct-foot__cta-band.mod-cta.mod-cta--photo .ct-foot__cta-bg-mobile {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}

/* Tablet */
@media (max-width: 67.5rem) {
  html[data-mobile] body.contact-page .ct-canvas .s-hero .hero-copy,
  html[data-mobile] body.contact-page .ct-canvas .s-hero .hero-count {
    display: none !important;
  }

  .contact-page .s-hero {
    min-height: min(720px, 70svh);
    margin-top: var(--m-size-header-h, 52px);
  }

  .contact-page .ct-hero-title {
    width: min(12em, 86%);
    font-size: var(--fs-63);
  }

  .contact-page .hero-copy {
    bottom: 60px;
  }

  .contact-page .s-style {
    min-height: 0;
    padding: 96px clamp(32px, 7vw, 72px);
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .contact-page .style-title {
    max-width: 12em;
  }

  .contact-page .s-culture,
  .contact-page .s-benefit,
  .contact-page .s-recruit {
    padding: 96px clamp(32px, 7vw, 72px);
  }

  .contact-page .s-culture::before {
    left: clamp(32px, 7vw, 72px);
  }

  .contact-page .culture-card {
    grid-template-columns: 1fr;
  }

  .contact-page .culture-card .card-img {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .contact-page .culture-card .card-content,
  .contact-page .culture-card.cc2 .card-content {
    order: 2;
  }

  .contact-page .culture-card .card-img,
  .contact-page .culture-card.cc2 .card-img {
    order: 1;
  }

  .contact-page .s-benefit {
    grid-template-columns: 1fr;
  }

  .contact-page .bf-card {
    height: min(620px, 68vw);
  }

  .contact-page .rc-title-1,
  .contact-page .rc-title-2,
  .contact-page .rc-types,
  .contact-page .rc-search {
    width: 100%;
  }

  .contact-page .rc-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-page .rc-search-item:nth-child(2n) {
    border-right: 0;
  }

  .contact-page .rc-all-jobs {
    margin-left: 0;
  }

  .contact-page .team-heading {
    width: calc(100% - clamp(64px, 14vw, 144px));
  }

  .contact-page .marquee-toggle {
    display: none;
  }

  .contact-page .team-track,
  .contact-page .city-track {
    animation: none;
  }

  .contact-page .city-marquee,
  .contact-page .team-album {
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .contact-page .city-marquee::-webkit-scrollbar,
  .contact-page .team-album::-webkit-scrollbar {
    display: none;
  }

  .contact-page .city-set[aria-hidden='true'],
  .contact-page .team-set[aria-hidden='true'] {
    display: none;
  }

  .contact-page .city,
  .contact-page .team-card {
    scroll-snap-align: start;
  }
}

/* Mobile: deliberately override the legacy mobile reset loaded before this stylesheet. */
@media (max-width: 67.5rem) {
  html[data-mobile] body.contact-page .ct-canvas {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-hero {
    position: relative !important;
    min-height: max(560px, 68svh) !important;
    margin-top: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: #040d20 !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-photo,
  html[data-mobile] body.contact-page .s-hero .hero-grad,
  html[data-mobile] body.contact-page .s-hero .hero-tint {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-photo {
    z-index: 0 !important;
    object-fit: cover !important;
    object-position: 54% center !important;
    opacity: 0.72 !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-grad {
    z-index: 1 !important;
    background:
      linear-gradient(0deg, rgba(2, 10, 26, 0.96) 0%, rgba(2, 10, 26, 0.56) 58%, rgba(2, 10, 26, 0.1) 100%) !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-tint {
    z-index: 1 !important;
    background: rgba(11, 43, 104, 0.12) !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-copy {
    position: absolute !important;
    right: var(--m-pad-x, 20px) !important;
    bottom: 46px !important;
    left: var(--m-pad-x, 20px) !important;
    z-index: 2 !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    color: #f7f9ff !important;
  }

  html[data-mobile] body.contact-page .hero-kicker {
    margin: 0 0 14px !important;
    display: block !important;
    color: #9fc2ff !important;
    font-size: var(--fs-12) !important;
    letter-spacing: 0.14em !important;
  }

  html[data-mobile] body.contact-page .ct-hero-title {
    width: min(9.5em, 100%) !important;
    margin: 0 !important;
    display: block !important;
    color: #f7f9ff !important;
    font-size: var(--fs-48) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.035em !important;
  }

  html[data-mobile] body.contact-page .ct-hero-subtitle {
    margin: 14px 0 0 !important;
    display: block !important;
    color: rgba(239, 245, 255, 0.74) !important;
    font-size: var(--fs-15) !important;
    line-height: 1.6 !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .hero-action {
    width: max-content !important;
    min-height: 48px !important;
    margin-top: 26px !important;
    padding: 5px 6px 5px 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 16px !important;
    border: 1px solid rgba(232, 241, 255, 0.42) !important;
    border-radius: 999px !important;
    color: #f7f9ff !important;
    font-size: var(--fs-14) !important;
  }

  html[data-mobile] body.contact-page .hero-action > span {
    display: inline-flex !important;
    width: auto !important;
  }

  html[data-mobile] body.contact-page .hero-action__arrow {
    width: 36px !important;
    height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #f7f9ff !important;
    color: var(--ct-ink) !important;
  }

  html[data-mobile] body.contact-page .hero-count {
    position: absolute !important;
    top: 22px !important;
    right: var(--m-pad-x, 20px) !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 2 !important;
    width: auto !important;
    margin: 0 !important;
    display: block !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-style,
  html[data-mobile] body.contact-page .ct-canvas .s-culture,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit,
  html[data-mobile] body.contact-page .ct-canvas .s-recruit {
    padding: 80px var(--m-pad-x, 20px) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-style {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    background: var(--ct-paper) !important;
    color: var(--ct-ink) !important;
  }

  html[data-mobile] body.contact-page .style-title,
  html[data-mobile] body.contact-page .culture-title,
  html[data-mobile] body.contact-page .bf-title,
  html[data-mobile] body.contact-page .rc-title-1,
  html[data-mobile] body.contact-page .rc-title-2,
  html[data-mobile] body.contact-page .team-heading h2 {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    max-width: 12em !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: inherit !important;
    font-size: var(--fs-36) !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em !important;
    text-align: left !important;
  }

  html[data-mobile] body.contact-page .style-title {
    padding-top: 30px !important;
  }

  html[data-mobile] body.contact-page .style-img {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
    aspect-ratio: 1200 / 484 !important;
    border-radius: 16px !important;
    object-fit: cover !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-culture {
    display: block !important;
    background:
      radial-gradient(circle at 95% 5%, rgba(45, 105, 218, 0.2), transparent 25%),
      var(--ct-ink) !important;
    color: #f5f8ff !important;
  }

  html[data-mobile] body.contact-page .culture-sub {
    width: 100% !important;
    max-width: 28em !important;
    margin: 16px 0 0 !important;
    display: block !important;
    color: rgba(225, 235, 252, 0.62) !important;
    font-size: var(--fs-14) !important;
    line-height: 1.7 !important;
    text-align: left !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .culture-card {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 48px 0 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border: 1px solid rgba(159, 190, 239, 0.15) !important;
    border-radius: 18px !important;
    background: var(--ct-ink-soft) !important;
    overflow: hidden !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .culture-card + .culture-card {
    margin-top: 18px !important;
  }

  html[data-mobile] body.contact-page .culture-card .item-index {
    position: absolute !important;
    top: 18px !important;
    right: 20px !important;
  }

  html[data-mobile] body.contact-page .culture-card .card-img,
  html[data-mobile] body.contact-page .culture-card.cc2 .card-img {
    position: static !important;
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }

  html[data-mobile] body.contact-page .culture-card .card-content,
  html[data-mobile] body.contact-page .culture-card.cc2 .card-content {
    position: static !important;
    order: 2 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 28px 24px 30px !important;
    display: block !important;
    background: transparent !important;
  }

  html[data-mobile] body.contact-page .card-label {
    margin: 0 0 10px !important;
    color: #f7f9ff !important;
    font-size: var(--fs-24) !important;
    line-height: 1.25 !important;
  }

  html[data-mobile] body.contact-page .card-headline {
    margin: 0 0 18px !important;
    color: rgba(239, 245, 255, 0.86) !important;
    font-size: var(--fs-16) !important;
    line-height: 1.55 !important;
  }

  html[data-mobile] body.contact-page .card-desc,
  html[data-mobile] body.contact-page .card-desc p {
    color: rgba(218, 229, 248, 0.58) !important;
    font-size: var(--fs-14) !important;
    line-height: 1.75 !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    background: #fff !important;
    color: var(--ct-ink) !important;
  }

  html[data-mobile] body.contact-page .bf-title,
  html[data-mobile] body.contact-page .bf-sub,
  html[data-mobile] body.contact-page .bf-arrow {
    grid-column: 1 / -1 !important;
  }

  html[data-mobile] body.contact-page .bf-title {
    text-align: left !important;
  }

  html[data-mobile] body.contact-page .bf-sub {
    width: 100% !important;
    max-width: 30em !important;
    margin: 14px 0 32px !important;
    display: block !important;
    color: rgba(7, 20, 45, 0.62) !important;
    font-size: var(--fs-14) !important;
    line-height: 1.7 !important;
    text-align: left !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .bf-card {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
    background: var(--ct-ink-soft) !important;
    overflow: hidden !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  html[data-mobile] body.contact-page .bf-card .bf-img,
  html[data-mobile] body.contact-page .bf-card.bf2 .bf-img,
  html[data-mobile] body.contact-page .bf-card.bf4 .bf-img {
    position: static !important;
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  html[data-mobile] body.contact-page .bf-card .bf-grad {
    display: none !important;
  }

  html[data-mobile] body.contact-page .bf-card .bf-text,
  html[data-mobile] body.contact-page .bf-card.bf2 .bf-text,
  html[data-mobile] body.contact-page .bf-card.bf4 .bf-text {
    position: static !important;
    order: 2 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 26px 22px 28px !important;
    display: block !important;
    color: #f7f9ff !important;
    text-align: left !important;
    background: var(--ct-ink-soft) !important;
  }

  html[data-mobile] body.contact-page .bf-title-l,
  html[data-mobile] body.contact-page .bf-text:hover .bf-title-l {
    margin: 0 0 16px !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 0.4em !important;
    color: #f7f9ff !important;
    font-size: var(--fs-27) !important;
    line-height: 1.25 !important;
    text-shadow: none !important;
  }

  html[data-mobile] body.contact-page .bf-title-l span,
  html[data-mobile] body.contact-page .bf-title-l span + span {
    display: inline !important;
    width: auto !important;
    padding: 0 !important;
  }

  html[data-mobile] body.contact-page .bf-body,
  html[data-mobile] body.contact-page .bf-tag,
  html[data-mobile] body.contact-page .bf-text:hover .bf-body,
  html[data-mobile] body.contact-page .bf-text:hover .bf-tag {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
    color: rgba(240, 245, 255, 0.76) !important;
    font-size: var(--fs-14) !important;
    line-height: 1.7 !important;
  }

  html[data-mobile] body.contact-page .bf-tag,
  html[data-mobile] body.contact-page .bf-text:hover .bf-tag {
    margin-top: 14px !important;
    color: rgba(208, 223, 246, 0.58) !important;
    font-size: var(--fs-12) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-recruit {
    display: block !important;
    background: var(--ct-paper) !important;
    color: var(--ct-ink) !important;
  }

  html[data-mobile] body.contact-page .rc-title-1,
  html[data-mobile] body.contact-page .rc-title-2,
  html[data-mobile] body.contact-page .rc-types,
  html[data-mobile] body.contact-page .rc-search {
    width: 100% !important;
    max-width: none !important;
  }

  html[data-mobile] body.contact-page .city-marquee {
    width: calc(100% + var(--m-pad-x, 20px) * 2) !important;
    max-width: none !important;
    margin: 34px calc(var(--m-pad-x, 20px) * -1) 80px !important;
    padding: 0 var(--m-pad-x, 20px) 8px !important;
    display: block !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
  }

  html[data-mobile] body.contact-page .city-track {
    width: max-content !important;
    max-width: none !important;
    display: flex !important;
    animation: none !important;
  }

  html[data-mobile] body.contact-page .city-set {
    max-width: none !important;
    padding-right: 12px !important;
    display: flex !important;
    gap: 12px !important;
  }

  html[data-mobile] body.contact-page .city-set[aria-hidden='true'] {
    display: none !important;
  }

  html[data-mobile] body.contact-page .city {
    width: min(62vw, 242px) !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 276 / 345 !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    border-radius: 16px !important;
    object-fit: cover !important;
    scroll-snap-align: start !important;
  }

  html[data-mobile] body.contact-page .rc-types {
    margin: 22px 0 0 !important;
    padding: 0 0 4px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    overflow-x: auto !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .type-tab {
    width: auto !important;
    min-height: 44px !important;
    padding: 8px 0 !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: var(--fs-14) !important;
  }

  html[data-mobile] body.contact-page .rc-search {
    margin: 34px 0 0 !important;
    padding: 0 !important;
    border-top: 1px solid var(--ct-line) !important;
    background: transparent !important;
  }

  html[data-mobile] body.contact-page .rc-search-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  html[data-mobile] body.contact-page .rc-search-grid .rc-search-item {
    width: 100% !important;
    min-height: 64px !important;
    padding: 0 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ct-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ct-ink) !important;
    font-size: var(--fs-15) !important;
  }

  html[data-mobile] body.contact-page .rc-search-item .arrow {
    display: inline !important;
    width: auto !important;
    font-size: var(--fs-18) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .rc-all-jobs {
    width: 100% !important;
    min-height: 52px !important;
    margin: 28px 0 0 !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: var(--ct-blue) !important;
    color: #fff !important;
    font-size: var(--fs-15) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-cta {
    padding: 80px 0 0 !important;
    display: block !important;
    background: var(--ct-ink) !important;
    color: #f7f9ff !important;
  }

  html[data-mobile] body.contact-page .team-heading {
    width: auto !important;
    max-width: none !important;
    margin: 0 var(--m-pad-x, 20px) !important;
    display: block !important;
  }

  html[data-mobile] body.contact-page .team-heading__eyebrow,
  html[data-mobile] body.contact-page .team-heading > p:last-child {
    width: 100% !important;
    margin: 0 0 14px !important;
    display: block !important;
  }

  html[data-mobile] body.contact-page .team-heading > p:last-child {
    margin: 16px 0 0 !important;
    color: rgba(221, 231, 249, 0.62) !important;
    font-size: var(--fs-14) !important;
    line-height: 1.7 !important;
  }

  html[data-mobile] body.contact-page .team-album {
    width: 100% !important;
    max-width: none !important;
    margin: 40px 0 0 !important;
    padding: 0 var(--m-pad-x, 20px) !important;
    display: block !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
  }

  html[data-mobile] body.contact-page .team-track {
    width: max-content !important;
    max-width: none !important;
    display: flex !important;
    animation: none !important;
  }

  html[data-mobile] body.contact-page .team-set {
    max-width: none !important;
    padding-right: 12px !important;
    display: flex !important;
    gap: 12px !important;
  }

  html[data-mobile] body.contact-page .team-set[aria-hidden='true'] {
    display: none !important;
  }

  html[data-mobile] body.contact-page .team-card,
  html[data-mobile] body.contact-page .team-card.tm-left,
  html[data-mobile] body.contact-page .team-card.tm-main,
  html[data-mobile] body.contact-page .team-card.tm-right {
    position: relative !important;
    width: min(82vw, 320px) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: 0 0 auto !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 16px 16px 0 0 !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
  }

  html[data-mobile] body.contact-page .team-card .tm-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }

  body.contact-page .mod-cta .ct-foot__cta-title p,
  body.contact-page .mod-cta .ct-foot__cta-sub p {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-page .city-track,
  .contact-page .team-track,
  .contact-page .hero-copy > * {
    animation: none !important;
  }

  .contact-page .hero-copy > * {
    transform: none;
  }

  .contact-page .hero-action,
  .contact-page .hero-action__arrow,
  .contact-page .culture-card .card-img,
  .contact-page .bf-card .bf-img,
  .contact-page .team-card .tm-img {
    transition: none !important;
  }

  .contact-page .marquee-toggle {
    display: none;
  }
}

/* Final contact H5 ownership. The legacy mobile sheet contains older
   alternating-card rules with higher specificity, so keep this small block
   explicit and local to the refreshed page. */
@media (max-width: 67.5rem) {
  html[data-mobile] body.contact-page .ct-canvas img {
    overflow: hidden !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .marquee-toggle {
    display: none !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .style-title .style-eyebrow {
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .culture-card .item-index,
  html[data-mobile] body.contact-page .ct-canvas .bf-card .item-index {
    position: absolute !important;
    top: 18px !important;
    right: 20px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 3 !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .arrow-down,
  html[data-mobile] body.contact-page .ct-canvas .style-arrow,
  html[data-mobile] body.contact-page .ct-canvas .culture-arrow,
  html[data-mobile] body.contact-page .ct-canvas .bf-arrow,
  html[data-mobile] body.contact-page .ct-canvas .rc-arrow-1 {
    display: none !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-hero .hero-count {
    position: absolute !important;
    top: 16px !important;
    right: var(--m-pad-x, 20px) !important;
    bottom: auto !important;
    left: auto !important;
    width: auto !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-title .accent {
    color: var(--ct-blue) !important;
    -webkit-text-fill-color: var(--ct-blue) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf1 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf2 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf3 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf4 .bf-img {
    position: static !important;
    inset: auto !important;
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    filter: none !important;
    -webkit-filter: none !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card .bf-text,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf1 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf2 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf3 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf4 .bf-text {
    position: static !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 26px 22px 28px !important;
    display: block !important;
    align-items: stretch !important;
    text-align: left !important;
    background: var(--ct-ink-soft) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card .bf-body,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card .bf-tag,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card .bf-text:hover .bf-body,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card .bf-text:hover .bf-tag {
    display: block !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-recruit .type-tab {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-recruit .type-tab.active,
  html[data-mobile] body.contact-page .ct-canvas .s-recruit .type-tab:hover {
    border-color: transparent !important;
    border-radius: 4px !important;
    background: #ffe7cc !important;
    color: #7a3d00 !important;
    -webkit-text-fill-color: #7a3d00 !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-recruit .rc-title-1 .accent,
  html[data-mobile] body.contact-page .ct-canvas .s-recruit .rc-title-2 .accent {
    color: #f80 !important;
    -webkit-text-fill-color: #f80 !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-recruit .rc-all-jobs,
  html[data-mobile] body.contact-page .ct-canvas .s-recruit .rc-all-jobs:hover {
    background: #ff8800 !important;
    color: #050c3e !important;
    -webkit-text-fill-color: #050c3e !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-cta {
    background: #fff !important;
    color: var(--ct-ink) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-cta .team-heading h2 {
    color: var(--ct-ink) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-cta .team-heading > p:last-child {
    color: rgba(7, 20, 45, 0.56) !important;
  }
}

@media (min-width: 48.0625rem) and (max-width: 67.5rem) {
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf1 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf2 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf3 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card.bf4 .bf-img {
    aspect-ratio: 16 / 7 !important;
  }
}

/* Figma 3223:5173 — final 1080 H5 calibration. */
@media (max-width: 67.5rem) {
  html[data-mobile] body.contact-page {
    --ct-h5-pad: calc(72 * var(--ct-u));
  }

  html[data-mobile] body.contact-page .ct-canvas .s-hero {
    height: calc(690 * var(--ct-u)) !important;
    min-height: 0 !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-photo {
    object-position: center !important;
    opacity: 1 !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-grad {
    background: linear-gradient(
      90deg,
      rgba(2, 10, 26, 0.82) 0%,
      rgba(2, 10, 26, 0.72) 100%
    ) !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-copy,
  html[data-mobile] body.contact-page .s-hero .hero-count {
    display: none !important;
  }

  html[data-mobile] body.contact-page .ct-h5-hero-copy {
    position: absolute;
    left: var(--ct-h5-pad);
    bottom: calc(82 * var(--ct-u));
    z-index: 3;
    display: grid !important;
    color: #fff;
  }

  html[data-mobile] body.contact-page .ct-h5-hero-copy strong {
    font-size: var(--fs-48);
    line-height: calc(64 * var(--ct-u));
    font-weight: 400;
  }

  html[data-mobile] body.contact-page .ct-h5-hero-copy span {
    font-size: var(--fs-24);
    line-height: calc(36 * var(--ct-u));
  }

  html[data-mobile] body.contact-page .ct-canvas :is(.s-style, .s-culture, .s-benefit, .s-recruit) {
    padding: calc(120 * var(--ct-u)) var(--ct-h5-pad) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-style {
    gap: calc(72 * var(--ct-u)) !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page :is(.style-title, .culture-title, .bf-title, .rc-title-1, .rc-title-2, .team-heading h2) {
    max-width: none !important;
    font-size: var(--fs-48) !important;
    line-height: calc(68 * var(--ct-u)) !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
  }

  html[data-mobile] body.contact-page .style-title {
    padding-top: calc(42 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .style-title .style-eyebrow {
    font-size: var(--fs-20) !important;
    line-height: calc(30 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .style-img {
    width: calc(936 * var(--ct-u)) !important;
    height: calc(378 * var(--ct-u)) !important;
    border-radius: 0 !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-culture {
    background: #fff !important;
    color: #050c3e !important;
  }

  html[data-mobile] body.contact-page .culture-title {
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .culture-sub {
    max-width: none !important;
    margin: calc(18 * var(--ct-u)) 0 calc(72 * var(--ct-u)) !important;
    color: rgba(5, 12, 62, 0.62) !important;
    font-size: var(--fs-24) !important;
    line-height: calc(36 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .culture-card,
  html[data-mobile] body.contact-page .ct-canvas .culture-card + .culture-card {
    margin: 0 0 calc(36 * var(--ct-u)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f2f5f8 !important;
  }

  html[data-mobile] body.contact-page .culture-card .item-index {
    display: none !important;
  }

  html[data-mobile] body.contact-page .culture-card .card-img,
  html[data-mobile] body.contact-page .culture-card.cc2 .card-img {
    width: calc(936 * var(--ct-u)) !important;
    height: calc(500 * var(--ct-u)) !important;
    aspect-ratio: auto !important;
  }

  html[data-mobile] body.contact-page .culture-card .card-content,
  html[data-mobile] body.contact-page .culture-card.cc2 .card-content {
    padding: calc(48 * var(--ct-u)) calc(54 * var(--ct-u)) calc(54 * var(--ct-u)) !important;
    background: #f2f5f8 !important;
    color: #050c3e !important;
  }

  html[data-mobile] body.contact-page .card-label {
    margin-bottom: calc(20 * var(--ct-u)) !important;
    color: #050c3e !important;
    font-size: var(--fs-42) !important;
  }

  html[data-mobile] body.contact-page .card-headline {
    margin-bottom: calc(28 * var(--ct-u)) !important;
    color: #050c3e !important;
    font-size: var(--fs-30) !important;
    line-height: calc(44 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .card-desc,
  html[data-mobile] body.contact-page .card-desc p {
    color: rgba(5, 12, 62, 0.62) !important;
    font-size: var(--fs-24) !important;
    line-height: calc(38 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit {
    gap: calc(36 * var(--ct-u)) !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .bf-sub {
    max-width: none !important;
    margin: calc(18 * var(--ct-u)) 0 calc(72 * var(--ct-u)) !important;
    font-size: var(--fs-24) !important;
    line-height: calc(38 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-benefit .bf-card {
    border-radius: 0 !important;
    background: #f2f5f8 !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-card .item-index {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-card .bf-img {
    width: calc(936 * var(--ct-u)) !important;
    height: calc(500 * var(--ct-u)) !important;
    aspect-ratio: auto !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-card .bf-text,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf1 .bf-text,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf2 .bf-text,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf3 .bf-text,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf4 .bf-text {
    padding: calc(48 * var(--ct-u)) calc(54 * var(--ct-u)) calc(54 * var(--ct-u)) !important;
    background: #f2f5f8 !important;
    color: #050c3e !important;
  }

  html[data-mobile] body.contact-page .bf-title-l,
  html[data-mobile] body.contact-page .bf-text:hover .bf-title-l {
    margin-bottom: calc(24 * var(--ct-u)) !important;
    color: #050c3e !important;
    font-size: var(--fs-42) !important;
  }

  html[data-mobile] body.contact-page .bf-body,
  html[data-mobile] body.contact-page .bf-tag,
  html[data-mobile] body.contact-page .bf-text:hover .bf-body,
  html[data-mobile] body.contact-page .bf-text:hover .bf-tag {
    color: rgba(5, 12, 62, 0.66) !important;
    font-size: var(--fs-24) !important;
    line-height: calc(38 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .bf-tag,
  html[data-mobile] body.contact-page .bf-text:hover .bf-tag {
    margin-top: calc(24 * var(--ct-u)) !important;
    font-size: var(--fs-20) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-recruit {
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .city-marquee {
    width: calc(1080 * var(--ct-u)) !important;
    margin: calc(48 * var(--ct-u)) calc(-72 * var(--ct-u)) calc(120 * var(--ct-u)) !important;
    padding: 0 calc(72 * var(--ct-u)) calc(12 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .city-set,
  html[data-mobile] body.contact-page .team-set {
    gap: calc(24 * var(--ct-u)) !important;
    padding-right: calc(24 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .city {
    width: calc(240 * var(--ct-u)) !important;
    height: calc(300 * var(--ct-u)) !important;
    border-radius: calc(12 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .rc-title-2 {
    font-size: var(--fs-36) !important;
    line-height: calc(54 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .rc-types {
    margin-top: calc(44 * var(--ct-u)) !important;
    gap: calc(48 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .type-tab {
    min-height: calc(88 * var(--ct-u)) !important;
    padding: calc(16 * var(--ct-u)) calc(30 * var(--ct-u)) !important;
    font-size: var(--fs-27) !important;
  }

  html[data-mobile] body.contact-page .rc-search {
    margin-top: calc(34 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .rc-search-grid .rc-search-item {
    min-height: calc(96 * var(--ct-u)) !important;
    padding: 0 calc(20 * var(--ct-u)) !important;
    font-size: var(--fs-27) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .rc-all-jobs {
    min-height: calc(84 * var(--ct-u)) !important;
    margin-top: calc(48 * var(--ct-u)) !important;
    border-radius: calc(42 * var(--ct-u)) !important;
    font-size: var(--fs-27) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-cta {
    padding: calc(120 * var(--ct-u)) 0 0 !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .team-heading {
    margin: 0 var(--ct-h5-pad) !important;
  }

  html[data-mobile] body.contact-page .team-heading__eyebrow,
  html[data-mobile] body.contact-page .team-heading > p:last-child {
    margin-bottom: calc(18 * var(--ct-u)) !important;
    font-size: var(--fs-24) !important;
    line-height: calc(38 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .team-album {
    margin-top: calc(64 * var(--ct-u)) !important;
    padding: 0 var(--ct-h5-pad) !important;
  }

  html[data-mobile] body.contact-page .team-card,
  html[data-mobile] body.contact-page .team-card.tm-left,
  html[data-mobile] body.contact-page .team-card.tm-main,
  html[data-mobile] body.contact-page .team-card.tm-right {
    width: calc(288 * var(--ct-u)) !important;
    height: calc(216 * var(--ct-u)) !important;
    border-radius: calc(8 * var(--ct-u)) !important;
  }
}

/* Contact H5 final owner — Figma 3223:5173, 1080 × 9219. */
@media (max-width: 67.5em) {
  html[data-mobile] body.contact-page {
    --ct-u: calc(100vw / 1080);
    --ct-header-h: calc(120 * var(--ct-u));
    margin: 0 !important;
    padding: 0 !important;
    min-height: calc(9219 * var(--ct-u)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page #header,
  html[data-mobile] body.contact-page .header {
    width: 100% !important;
    height: var(--ct-header-h) !important;
    min-height: var(--ct-header-h) !important;
    max-height: var(--ct-header-h) !important;
    padding: 0 !important;
    background: #010a16 !important;
  }

  html[data-mobile] body.contact-page .header-inner {
    width: 100% !important;
    height: var(--ct-header-h) !important;
    min-height: var(--ct-header-h) !important;
    padding: 0 calc(72 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .header .logo,
  html[data-mobile] body.contact-page .header .logo img {
    width: calc(191 * var(--ct-u)) !important;
    max-width: none !important;
    height: calc(54 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .header-actions {
    gap: calc(36 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page :is(.search-btn, .m-hamburger),
  html[data-mobile] body.contact-page :is(.search-btn img, .search-icon) {
    width: calc(36 * var(--ct-u)) !important;
    height: calc(36 * var(--ct-u)) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  html[data-mobile] body.contact-page .ct-canvas {
    position: relative !important;
    width: 100% !important;
    height: calc(8859 * var(--ct-u)) !important;
    min-height: calc(8859 * var(--ct-u)) !important;
    max-height: calc(8859 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: var(--ct-header-h) 0 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-hero {
    height: calc(500 * var(--ct-u)) !important;
    min-height: calc(500 * var(--ct-u)) !important;
    max-height: calc(500 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html[data-mobile] body.contact-page .s-hero :is(.hero-photo, .hero-grad, .hero-tint) {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-photo {
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  html[data-mobile] body.contact-page .s-hero .hero-copy,
  html[data-mobile] body.contact-page .s-hero .hero-count {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-hero .ct-h5-hero-copy {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(180 * var(--ct-u)) !important;
    bottom: auto !important;
    z-index: 4 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    color: #fff !important;
  }

  html[data-mobile] body.contact-page .s-hero .ct-h5-hero-copy strong {
    font-size: var(--fs-72) !important;
    line-height: calc(101 * var(--ct-u)) !important;
    font-weight: 400 !important;
  }

  html[data-mobile] body.contact-page .s-hero .ct-h5-hero-copy span {
    font-size: var(--fs-36) !important;
    line-height: calc(32 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-style {
    height: calc(700 * var(--ct-u)) !important;
    min-height: calc(700 * var(--ct-u)) !important;
    max-height: calc(700 * var(--ct-u)) !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .s-style .style-title {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(74 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    height: calc(72 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #050c3e !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-48) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .s-style .style-title .style-eyebrow,
  html[data-mobile] body.contact-page .s-style .style-arrow {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-style .style-img {
    position: absolute !important;
    left: calc(60 * var(--ct-u)) !important;
    top: calc(211 * var(--ct-u)) !important;
    width: calc(960 * var(--ct-u)) !important;
    max-width: none !important;
    height: calc(387 * var(--ct-u)) !important;
    border: 0 !important;
    object-fit: contain !important;
    box-shadow: none !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-culture {
    height: calc(1003 * var(--ct-u)) !important;
    min-height: calc(1003 * var(--ct-u)) !important;
    max-height: calc(1003 * var(--ct-u)) !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-title {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(78 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    margin: 0 !important;
    color: #050c3e !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-48) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: calc(48 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-sub {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(147 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    margin: 0 !important;
    color: #050c3e !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-30) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: calc(48 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-arrow {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    height: calc(192 * var(--ct-u)) !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #f3f6fa !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card.cc1,
  html[data-mobile] body.contact-page .s-culture .culture-card.cc2,
  html[data-mobile] body.contact-page .s-culture .culture-card.cc3 {
    border-radius: calc(12 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card.cc1 .card-img,
  html[data-mobile] body.contact-page .s-culture .culture-card.cc2 .card-img,
  html[data-mobile] body.contact-page .s-culture .culture-card.cc3 .card-img {
    border-radius: calc(8 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card.cc1 { top: calc(253 * var(--ct-u)) !important; }
  html[data-mobile] body.contact-page .s-culture .culture-card.cc2 { top: calc(481 * var(--ct-u)) !important; }
  html[data-mobile] body.contact-page .s-culture .culture-card.cc3 { top: calc(709 * var(--ct-u)) !important; }

  html[data-mobile] body.contact-page .s-culture .culture-card .item-index {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card .card-img,
  html[data-mobile] body.contact-page .s-culture .culture-card.cc2 .card-img {
    position: absolute !important;
    top: calc(24 * var(--ct-u)) !important;
    left: calc(24 * var(--ct-u)) !important;
    right: auto !important;
    width: calc(240 * var(--ct-u)) !important;
    max-width: none !important;
    height: calc(144 * var(--ct-u)) !important;
    object-fit: cover !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card.cc2 .card-img {
    left: auto !important;
    right: calc(24 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card .card-content,
  html[data-mobile] body.contact-page .s-culture .culture-card.cc2 .card-content {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: calc(648 * var(--ct-u)) !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 calc(36 * var(--ct-u)) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    background: transparent !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card.cc2 .card-content {
    left: 0 !important;
    right: auto !important;
  }

  html[data-mobile] body.contact-page .s-culture .card-label {
    margin: 0 0 calc(8 * var(--ct-u)) !important;
    font-size: var(--fs-30) !important;
    line-height: calc(42 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-culture .card-label--content {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-culture .card-label--image {
    position: absolute !important;
    z-index: 3 !important;
    top: calc(24 * var(--ct-u)) !important;
    left: calc(24 * var(--ct-u)) !important;
    display: flex !important;
    width: calc(240 * var(--ct-u)) !important;
    height: calc(144 * var(--ct-u)) !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: var(--fs-30) !important;
    line-height: calc(42 * var(--ct-u)) !important;
    text-align: center !important;
    text-shadow: 0 calc(2 * var(--ct-u)) calc(10 * var(--ct-u)) rgba(0, 0, 0, 0.48) !important;
    pointer-events: none !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-card.cc2 .card-label--image {
    right: calc(24 * var(--ct-u)) !important;
    left: auto !important;
  }

  html[data-mobile] body.contact-page .s-culture .card-headline {
    margin: 0 !important;
    color: #050c3e !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-36) !important;
    font-style: normal !important;
    font-weight: 300 !important;
    line-height: normal !important;
  }

  html[data-mobile] body.contact-page .s-culture .card-desc,
  html[data-mobile] body.contact-page .s-culture .card-desc p {
    display: none !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit {
    position: relative !important;
    height: calc(4185 * var(--ct-u)) !important;
    min-height: calc(4185 * var(--ct-u)) !important;
    max-height: calc(4185 * var(--ct-u)) !important;
    display: block !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-title {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(78 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    margin: 0 !important;
    color: #050c3e !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-48) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: calc(48 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-sub {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(147 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    margin: 0 !important;
    font-size: var(--fs-24) !important;
    line-height: calc(38 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-arrow {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-card,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf1,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf2,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf3,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf4 {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    height: calc(870 * var(--ct-u)) !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #f3f6fa !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-card.bf1 { top: calc(262 * var(--ct-u)) !important; }
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf2 { top: calc(1228 * var(--ct-u)) !important; }
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf3 { top: calc(2194 * var(--ct-u)) !important; }
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf4 { top: calc(3160 * var(--ct-u)) !important; }

  html[data-mobile] body.contact-page .s-benefit .bf-card .item-index,
  html[data-mobile] body.contact-page .s-benefit .bf-card .bf-grad {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-card .bf-img,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf1 .bf-img,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf2 .bf-img,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf3 .bf-img,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf4 .bf-img {
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: calc(510 * var(--ct-u)) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    filter: none !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-card .bf-text,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf1 .bf-text,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf2 .bf-text,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf3 .bf-text,
  html[data-mobile] body.contact-page .s-benefit .bf-card.bf4 .bf-text {
    position: absolute !important;
    left: 0 !important;
    top: calc(390 * var(--ct-u)) !important;
    width: 100% !important;
    height: calc(480 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: calc(20 * var(--ct-u)) calc(54 * var(--ct-u)) calc(21 * var(--ct-u)) !important;
    display: block !important;
    background: linear-gradient(180deg, rgba(243,246,250,0) 0, #f3f6fa calc(120 * var(--ct-u))) !important;
    color: #07142d !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-title-l,
  html[data-mobile] body.contact-page .s-benefit .bf-text:hover .bf-title-l {
    margin: 0 0 calc(31 * var(--ct-u)) !important;
    display: block !important;
    color: #fff !important;
    font-size: var(--fs-42) !important;
    line-height: calc(58 * var(--ct-u)) !important;
    text-shadow: 0 calc(2 * var(--ct-u)) calc(8 * var(--ct-u)) rgba(0,0,0,.45) !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-hover-copy,
  html[data-mobile] body.contact-page .s-benefit .bf-body,
  html[data-mobile] body.contact-page .s-benefit .bf-tag,
  html[data-mobile] body.contact-page .s-benefit .bf-text:hover .bf-body,
  html[data-mobile] body.contact-page .s-benefit .bf-text:hover .bf-tag {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-body,
  html[data-mobile] body.contact-page .s-benefit .bf-body p {
    margin: 0 0 calc(16 * var(--ct-u)) !important;
    color: #24324d !important;
    font-size: var(--fs-22) !important;
    line-height: calc(34 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-tag,
  html[data-mobile] body.contact-page .s-benefit .bf-text:hover .bf-tag {
    position: absolute !important;
    left: calc(54 * var(--ct-u)) !important;
    bottom: calc(21 * var(--ct-u)) !important;
    margin: 0 !important;
    color: #9aa4b6 !important;
    font-size: var(--fs-18) !important;
    line-height: calc(28 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-recruit {
    height: calc(1882 * var(--ct-u)) !important;
    min-height: calc(1882 * var(--ct-u)) !important;
    max-height: calc(1882 * var(--ct-u)) !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-title-1 {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(78 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: var(--fs-42) !important;
    line-height: calc(60 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-arrow-1,
  html[data-mobile] body.contact-page .s-recruit .marquee-toggle {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city-marquee {
    position: absolute !important;
    left: 0 !important;
    top: calc(180 * var(--ct-u)) !important;
    width: 100% !important;
    height: calc(360 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city-track {
    height: 100% !important;
    display: flex !important;
    animation: none !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city-set {
    height: 100% !important;
    gap: calc(18 * var(--ct-u)) !important;
    padding: 0 !important;
    display: flex !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city-set[aria-hidden='true'] {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city {
    width: calc(210 * var(--ct-u)) !important;
    max-width: none !important;
    height: calc(300 * var(--ct-u)) !important;
    flex: 0 0 calc(210 * var(--ct-u)) !important;
    border-radius: calc(10 * var(--ct-u)) !important;
    object-fit: cover !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-title-2 {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(682 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    max-width: none !important;
    height: calc(54 * var(--ct-u)) !important;
    margin: 0 !important;
    font-size: var(--fs-36) !important;
    line-height: calc(54 * var(--ct-u)) !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-types {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(790 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    height: calc(88 * var(--ct-u)) !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: calc(24 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .type-tab {
    width: 100% !important;
    min-height: 0 !important;
    height: calc(88 * var(--ct-u)) !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: calc(4 * var(--ct-u)) !important;
    font-size: var(--fs-27) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-search {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(910 * var(--ct-u)) !important;
    width: calc(936 * var(--ct-u)) !important;
    height: calc(590 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-search-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: calc(12 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-search-grid .rc-search-item {
    width: 100% !important;
    min-height: 0 !important;
    height: calc(106 * var(--ct-u)) !important;
    padding: 0 calc(24 * var(--ct-u)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 0 !important;
    border-radius: calc(4 * var(--ct-u)) !important;
    background: #f5f7fa !important;
    font-size: var(--fs-27) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-all-jobs {
    position: absolute !important;
    left: calc(144 * var(--ct-u)) !important;
    top: calc(1560 * var(--ct-u)) !important;
    width: calc(792 * var(--ct-u)) !important;
    min-height: 0 !important;
    height: calc(84 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: calc(42 * var(--ct-u)) !important;
    background: #ff8800 !important;
    color: #050c3e !important;
    font-size: var(--fs-27) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-cta {
    height: calc(469 * var(--ct-u)) !important;
    min-height: calc(469 * var(--ct-u)) !important;
    max-height: calc(469 * var(--ct-u)) !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-heading,
  html[data-mobile] body.contact-page .s-cta .marquee-toggle {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-album {
    position: absolute !important;
    left: 0 !important;
    top: calc(40 * var(--ct-u)) !important;
    width: 100% !important;
    height: calc(300 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-track,
  html[data-mobile] body.contact-page .s-cta .team-set {
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: calc(12 * var(--ct-u)) !important;
    animation: none !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-set[aria-hidden='true'] {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-card,
  html[data-mobile] body.contact-page .s-cta .team-card.tm-left,
  html[data-mobile] body.contact-page .s-cta .team-card.tm-main,
  html[data-mobile] body.contact-page .s-cta .team-card.tm-right {
    position: relative !important;
    width: calc(352 * var(--ct-u)) !important;
    max-width: none !important;
    height: calc(300 * var(--ct-u)) !important;
    flex: 0 0 calc(352 * var(--ct-u)) !important;
    margin: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-card .tm-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell {
    position: relative !important;
    width: 100% !important;
    height: calc(360 * var(--ct-u)) !important;
    min-height: calc(360 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .mod-cta {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: calc(360 * var(--ct-u)) !important;
    min-height: calc(360 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot {
    display: none !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf1 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf2 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf3 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf4 .bf-img {
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    height: calc(510 * var(--ct-u)) !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf1 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf2 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf3 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf4 .bf-text {
    position: absolute !important;
    left: 0 !important;
    top: calc(390 * var(--ct-u)) !important;
    width: 100% !important;
    height: calc(480 * var(--ct-u)) !important;
    padding: calc(20 * var(--ct-u)) calc(54 * var(--ct-u)) calc(21 * var(--ct-u)) !important;
    color: #07142d !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-title-l span {
    display: block !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-body {
    position: absolute !important;
    left: calc(54 * var(--ct-u)) !important;
    top: calc(167 * var(--ct-u)) !important;
    width: calc(828 * var(--ct-u)) !important;
    max-width: none !important;
    margin: 0 !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-tag {
    left: calc(54 * var(--ct-u)) !important;
    width: calc(828 * var(--ct-u)) !important;
    max-width: none !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .mod-cta-wrap,
  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-card {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .mod-cta-text {
    position: absolute !important;
    left: calc(72 * var(--ct-u)) !important;
    top: calc(60 * var(--ct-u)) !important;
    width: calc(600 * var(--ct-u)) !important;
    height: calc(240 * var(--ct-u)) !important;
    margin: 0 !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-title {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: calc(96 * var(--ct-u)) !important;
    margin: 0 !important;
    font-size: var(--fs-36) !important;
    line-height: calc(48 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-title p,
  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-sub p {
    margin: 0 !important;
    white-space: nowrap !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-sub {
    position: absolute !important;
    left: 0 !important;
    top: calc(100 * var(--ct-u)) !important;
    width: 100% !important;
    height: calc(60 * var(--ct-u)) !important;
    margin: 0 !important;
    font-size: var(--fs-18) !important;
    line-height: calc(30 * var(--ct-u)) !important;
  }
}

/* Final Contact H5 corrections — keep after shared and legacy overrides. */
@media (max-width: 67.5em) {
  html[data-mobile] body.contact-page .s-culture::before {
    display: none !important;
  }

  html[data-mobile] body.contact-page .s-culture .culture-title .accent {
    color: #1365cf !important;
    -webkit-text-fill-color: #1365cf !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-48) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: calc(48 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-title .accent {
    color: #f80 !important;
    -webkit-text-fill-color: #f80 !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-48) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: calc(48 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-sub {
    color: #050c3e !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-30) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: calc(48 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf1,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf2,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf3,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf4 {
    height: calc(918 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf1 { top: calc(267 * var(--ct-u)) !important; }
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf2 { top: calc(1233 * var(--ct-u)) !important; }
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf3 { top: calc(2199 * var(--ct-u)) !important; }
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf4 { top: calc(3165 * var(--ct-u)) !important; }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf1 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf2 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf3 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf4 .bf-img {
    height: calc(504 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-text {
    top: calc(372 * var(--ct-u)) !important;
    height: calc(546 * var(--ct-u)) !important;
    padding: 0 calc(54 * var(--ct-u)) calc(48 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-title-l {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: calc(936 * var(--ct-u)) !important;
    max-width: none !important;
    height: calc(132 * var(--ct-u)) !important;
    margin: 0 !important;
    padding: 0 calc(54 * var(--ct-u)) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: calc(12 * var(--ct-u)) !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    background: rgba(1, 1, 8, 0.4) !important;
    color: #fff !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-48) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-shadow: 0 calc(4 * var(--ct-u)) calc(4 * var(--ct-u)) rgba(0, 0, 0, 0.25) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-title-l span {
    display: inline !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-hover-copy {
    position: absolute !important;
    left: calc(54 * var(--ct-u)) !important;
    top: calc(180 * var(--ct-u)) !important;
    width: calc(828 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-body {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    color: #050c3e !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-36) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: calc(60 * var(--ct-u)) !important;
    text-shadow: 0 calc(4 * var(--ct-u)) calc(4 * var(--ct-u)) rgba(0, 0, 0, 0.25) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-body p {
    margin: 0 !important;
    color: inherit !important;
    font: inherit !important;
    text-shadow: inherit !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-body p + p {
    margin-top: calc(16 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-tag,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-text:hover .bf-tag {
    position: static !important;
    width: 100% !important;
    margin: calc(84 * var(--ct-u)) 0 0 !important;
    color: #050c3e !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-30) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    text-shadow: none !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: calc(78 * var(--ct-u)) calc(72 * var(--ct-u)) calc(102 * var(--ct-u)) !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-title,
  html[data-mobile] body.contact-page .s-benefit .bf-sub {
    position: static !important;
    width: 100% !important;
  }

  html[data-mobile] body.contact-page .s-benefit .bf-sub {
    margin: calc(9 * var(--ct-u)) 0 calc(72 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf1,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf2,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf3,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf4 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card + .bf-card {
    margin-top: calc(48 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf1 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf2 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf3 .bf-img,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf4 .bf-img {
    position: static !important;
    inset: auto !important;
    order: 1 !important;
    width: 100% !important;
    height: calc(504 * var(--ct-u)) !important;
    flex: 0 0 calc(504 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-text,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf1 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf2 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf3 .bf-text,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card.bf4 .bf-text {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    order: 2 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: calc(48 * var(--ct-u)) calc(54 * var(--ct-u)) calc(54 * var(--ct-u)) !important;
    box-sizing: border-box !important;
    background: #f3f6fa !important;
    color: #050c3e !important;
    text-align: left !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-title-l {
    top: 0 !important;
    transform: translateY(-100%) !important;
    text-align: left !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-hover-copy {
    position: static !important;
    width: 100% !important;
    text-align: left !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-body,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-body p,
  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-tag {
    text-align: left !important;
    text-shadow: none !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-benefit .bf-card .bf-body p + p {
    margin-top: 0 !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-recruit {
    height: calc(1878 * var(--ct-u)) !important;
    min-height: calc(1878 * var(--ct-u)) !important;
    max-height: calc(1878 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city-marquee {
    top: calc(202 * var(--ct-u)) !important;
    height: calc(300 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city-track {
    animation: contactCityMarqueeH5 36s linear infinite !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city-set {
    gap: calc(24 * var(--ct-u)) !important;
    padding-right: calc(24 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city-set[aria-hidden='true'] {
    display: flex !important;
  }

  html[data-mobile] body.contact-page .s-recruit .city {
    width: calc(240 * var(--ct-u)) !important;
    height: calc(300 * var(--ct-u)) !important;
    flex-basis: calc(240 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-subtitle {
    position: absolute !important;
    left: calc(60 * var(--ct-u)) !important;
    top: calc(751 * var(--ct-u)) !important;
    width: calc(960 * var(--ct-u)) !important;
    margin: 0 !important;
    color: rgba(5, 12, 62, 0.56) !important;
    font-size: var(--fs-20) !important;
    line-height: calc(32 * var(--ct-u)) !important;
    text-align: center !important;
  }

  html[data-mobile] body.contact-page.contact-page.contact-page .ct-canvas > .sec.s-recruit .rc-types {
    left: calc(62 * var(--ct-u)) !important;
    top: calc(895 * var(--ct-u)) !important;
    width: calc(956 * var(--ct-u)) !important;
    height: calc(96 * var(--ct-u)) !important;
    min-height: calc(96 * var(--ct-u)) !important;
    max-height: calc(96 * var(--ct-u)) !important;
    grid-template-columns: repeat(3, calc(288 * var(--ct-u))) !important;
    gap: calc(46 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page.contact-page.contact-page .ct-canvas > .sec.s-recruit .rc-types .type-tab {
    position: relative !important;
    width: calc(288 * var(--ct-u)) !important;
    height: calc(96 * var(--ct-u)) !important;
    min-height: calc(96 * var(--ct-u)) !important;
    max-height: calc(96 * var(--ct-u)) !important;
    padding: calc(8 * var(--ct-u)) calc(24 * var(--ct-u)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border-radius: calc(8 * var(--ct-u)) !important;
    line-height: 1 !important;
  }

  html[data-mobile] body.contact-page.contact-page.contact-page .ct-canvas > .sec.s-recruit .rc-types .type-tab.active,
  html[data-mobile] body.contact-page.contact-page.contact-page .ct-canvas > .sec.s-recruit .rc-types .type-tab:hover {
    background: rgba(255, 136, 0, 0.2) !important;
    color: #ff8800 !important;
    -webkit-text-fill-color: #ff8800 !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-search {
    left: calc(62 * var(--ct-u)) !important;
    top: calc(1015 * var(--ct-u)) !important;
    width: calc(956 * var(--ct-u)) !important;
    height: calc(516 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-search-grid {
    gap: calc(24 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-recruit .rc-search-grid .rc-search-item {
    height: calc(96 * var(--ct-u)) !important;
    border: calc(1 * var(--ct-u)) solid #dee1e5 !important;
    border-radius: calc(18 * var(--ct-u)) !important;
    background: #fff !important;
  }

  html[data-mobile] body.contact-page .ct-canvas .s-recruit .rc-all-jobs,
  html[data-mobile] body.contact-page .ct-canvas .s-recruit .rc-all-jobs:hover {
    left: calc(150 * var(--ct-u)) !important;
    top: calc(1663 * var(--ct-u)) !important;
    width: calc(780 * var(--ct-u)) !important;
    height: calc(96 * var(--ct-u)) !important;
    border-radius: calc(48 * var(--ct-u)) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  html[data-mobile] body.contact-page .ct-canvas > .sec.s-cta {
    height: calc(473 * var(--ct-u)) !important;
    min-height: calc(473 * var(--ct-u)) !important;
    max-height: calc(473 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-album {
    top: 0 !important;
    height: calc(292 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-track {
    transform: translateX(calc(-246 * var(--ct-u))) !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-set {
    height: calc(292 * var(--ct-u)) !important;
    gap: calc(12 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page .s-cta .team-card,
  html[data-mobile] body.contact-page .s-cta .team-card.tm-left,
  html[data-mobile] body.contact-page .s-cta .team-card.tm-main,
  html[data-mobile] body.contact-page .s-cta .team-card.tm-right {
    width: calc(516 * var(--ct-u)) !important;
    height: calc(292 * var(--ct-u)) !important;
    flex-basis: calc(516 * var(--ct-u)) !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell,
  html[data-mobile] body.contact-page > .site-footer-shell .mod-cta,
  html[data-mobile] body.contact-page > .site-footer-shell .mod-cta-wrap,
  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-card {
    width: calc(1079 * var(--ct-u)) !important;
    max-width: calc(1079 * var(--ct-u)) !important;
    height: calc(360 * var(--ct-u)) !important;
    min-height: calc(360 * var(--ct-u)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-title,
  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-title p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-36) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-sub,
  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-sub p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-family: "PingFang SC", sans-serif !important;
    font-size: var(--fs-27) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
  }

  html[data-mobile] body.contact-page > .site-footer-shell .ct-foot__cta-sub {
    opacity: 0.8 !important;
  }
}
