/*
 * Shared visual layer for the mirrored Feichuang site.
 * It deliberately keeps the existing blue/white brand language while making
 * the legacy fixed-canvas header feel consistent across pages.
 */

:root {
  --fc-brand: #3370ff;
  --fc-brand-strong: #1456f0;
  --fc-ink: #1f2329;
  --fc-muted: #646a73;
  --fc-line: #e8eaed;
  --fc-surface: #fff;
  --fc-soft: #f5f7ff;
  --fc-header-height: 60px;
  --fc-header-shell-width: 1330px;
  --fc-header-shell-gutter: 16px;
  --fc-site-viewport-inline-size: calc(100 * var(--fc-layout-vw, 1vw));
  --fc-site-shell-inline-size: min(
    var(--fc-header-shell-width),
    calc(calc(100 * var(--fc-layout-vw, 1vw)) - (var(--fc-header-shell-gutter) * 2))
  );
  --fc-site-shell-inline-start: max(
    var(--fc-header-shell-gutter),
    calc((calc(100 * var(--fc-layout-vw, 1vw)) - var(--fc-header-shell-width)) / 2)
  );
  --fc-display-size: 56px;
  --fc-page-title-size: 52px;
  --fc-section-title-size: 40px;
  --fc-subsection-title-size: 28px;
  --fc-card-title-size: 20px;
  --fc-lead-size: 18px;
  --fc-body-size: 16px;
  --fc-meta-size: 13px;
  --fc-home-display-size: 52px;
  --fc-home-section-size: 40px;
  --fc-home-subtitle-size: 28px;
  --fc-home-card-title-size: 22px;
  --fc-home-body-size: 16px;
  --fc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

html {
  color: var(--fc-ink);
  background: #fff;
  scroll-behavior: smooth;
}

body.g_body {
  color: var(--fc-ink);
  font-family: var(--fc-font) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  color: #fff;
  background: rgba(51, 112, 255, 0.86);
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid rgba(51, 112, 255, 0.32) !important;
  outline-offset: 3px;
}

/* Unified desktop header. */
#web {
  padding-top: var(--fc-header-height) !important;
}

html body #webHeaderTable.webHeaderTable,
.webHeaderTable,
.webNavTable {
  height: var(--fc-header-height) !important;
}

/*
 * The legacy navigation table sits above the header across the full viewport.
 * Let clicks pass through outside the actual navigation so the CTA modules
 * underneath remain interactive, while keeping the navigation itself active.
 */
.webNavTable {
  pointer-events: none !important;
}

/*
 * Keep both legacy desktop header layers attached to the viewport itself.
 * When the browser window moves between displays, their old page container
 * must not become the fixed-position containing block and lift the header.
 */
body.fc-header-viewport-root > #webHeaderTable.webHeaderTable,
body.fc-header-viewport-root > .webNavTable {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

#navV2 {
  pointer-events: auto !important;
}

html body #webHeaderTable.webHeaderTable,
.webHeaderTable {
  border-bottom: 1px solid rgba(31, 35, 41, 0.06) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 8px 28px rgba(31, 35, 41, 0.055) !important;
  backdrop-filter: saturate(150%) blur(14px);
}

#webHeaderContent,
#webHeaderContentBg,
#fk-webHeaderZone,
#navV2,
#navV2 .navMainContent,
#navV2 .navContent,
#navV2 #navCenterContent,
#navV2 #navCenter,
#navV2 .itemContainer,
#navV2 .item,
#navV2 .itemCenter,
#navV2 .J_nav_item_link {
  height: var(--fc-header-height) !important;
}

/*
 * The mirrored template positions the logo, navigation and actions against
 * different fixed-width canvases. Keep all three on one centered shell so
 * the outer spacing stays symmetrical as the viewport changes.
 */
#webNav,
#fk-webHeaderZone {
  left: var(--fc-site-shell-inline-start) !important;
  margin-left: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  transform: none !important;
  width: var(--fc-site-shell-inline-size) !important;
}

.fc-site-header-shell {
  position: relative !important;
}

#navV2 {
  top: 0 !important;
  left: 148px !important;
  width: calc(100% - 290px) !important;
  max-width: none !important;
}

#navV2 .navMainContent,
#navV2 .navContent,
#navV2 #navCenterContent,
#navV2 #navCenter,
#navV2 .itemContainer {
  width: 100% !important;
}

#navV2 .itemContainer {
  display: flex !important;
  align-items: stretch;
  justify-content: center;
  gap: 28px;
}

/*
 * A few mirrored pages let the legacy site runtime append its original menu
 * after the canonical header has already mounted. Hide those late, unmarked
 * nodes immediately; runtime-shim also removes them from the DOM.
 */
body.fc-global-header-ready #navV2 .itemContainer > :not([data-fc-global-nav-item="true"]) {
  display: none !important;
}

#navV2 .itemPrev,
#navV2 .itemNext,
#navV2 .itemSep {
  display: none !important;
}

#navV2 .item,
#navV2 .itemCenter,
#navV2 .J_nav_item_link {
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: auto !important;
}

#navV2 .item {
  flex: 0 1 auto !important;
}

#navV2 .J_nav_item_link {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 !important;
  padding: 0 10px !important;
  color: #30343b !important;
  line-height: var(--fc-header-height) !important;
  text-decoration: none !important;
  transition: color 160ms ease, background-color 160ms ease;
}

#navV2 .J_nav_item_name {
  color: inherit !important;
  font-family: var(--fc-font) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  white-space: nowrap;
}

#navV2 .J_nav_item_link:hover,
#navV2 .fc-nav-menu-open > .itemCenter .J_nav_item_link {
  color: var(--fc-brand-strong) !important;
  background: linear-gradient(180deg, rgba(51, 112, 255, 0) 0%, rgba(51, 112, 255, 0.055) 100%);
}

#navV2 .itemSelected .J_nav_item_link,
#navV2 .itemSelected .J_nav_item_name {
  color: var(--fc-brand-strong) !important;
  font-weight: 600 !important;
}

#navV2 .itemSelected {
  border-bottom: 0 !important;
}

#module5846 {
  align-items: center;
  border: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  height: var(--fc-header-height) !important;
  left: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  top: 0 !important;
  width: 100px !important;
  z-index: 1005 !important;
}

#module5846 .lightModuleOuterContent,
#module5846 .floatImg,
#module5846 .floatImgALink,
#module5846 .floatImgWrap,
#module5846 .forMargin {
  align-items: center !important;
  box-sizing: border-box !important;
  display: flex !important;
  height: var(--fc-header-height) !important;
  justify-content: center !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 100px !important;
}

#module5846 img {
  flex: 0 0 auto !important;
  height: auto !important;
  image-rendering: auto;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  width: 100px !important;
}

#module1308,
#module6583 {
  border: 0 !important;
  box-sizing: border-box !important;
  height: 36px !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  top: 12px !important;
  width: 104px !important;
  z-index: 1005 !important;
}

#module1308 .floatBtnBox,
#module6583 .floatBtnBox {
  align-items: center !important;
  box-sizing: border-box !important;
  display: flex !important;
  height: 36px !important;
  justify-content: center !important;
  line-height: normal !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 104px !important;
}

#module1308 {
  left: auto !important;
  right: 116px !important;
}

#module6583 {
  left: auto !important;
  right: 0 !important;
}

#module1308 .lightModuleOuterContent,
#module6583 .lightModuleOuterContent {
  box-sizing: border-box !important;
  height: 36px !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 104px !important;
}

#module1308FlBtn,
#module6583FlBtn {
  align-items: center !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  height: 36px !important;
  justify-content: center !important;
  margin: 0 !important;
  max-width: 104px !important;
  min-width: 104px !important;
  overflow: hidden !important;
  padding: 0 17px !important;
  width: 104px !important;
  border-radius: 100px !important;
  font-size: 14px !important;
  font-family: var(--fc-font) !important;
  line-height: 36px !important;
  text-decoration: none !important;
  transition: border-color 160ms ease, border-width 160ms ease, color 160ms ease, background 160ms ease;
}

#module1308FlBtn {
  border: 1px solid #4e83fd !important;
  background: transparent !important;
  color: var(--fc-brand) !important;
  box-shadow: none !important;
}

#module1308FlBtn:hover,
#module1308FlBtn:focus-visible {
  border: 2px solid #3f76f8 !important;
  background: transparent !important;
  color: var(--fc-brand-strong) !important;
  box-shadow: none !important;
}

#module6583FlBtn {
  border: 0 !important;
  background: linear-gradient(90deg, #4e83fd 0%, #3370ff 100%) !important;
  color: #fff !important;
  box-shadow: none !important;
}

#module6583FlBtn:hover,
#module6583FlBtn:focus-visible {
  border: 0 !important;
  background: linear-gradient(90deg, #3f76f8 0%, #1456f0 100%) !important;
  color: #fff !important;
  box-shadow: none !important;
}

#module1308FlBtn .m_float_btn__text,
#module6583FlBtn .m_float_btn__text {
  color: inherit !important;
  display: block !important;
  font-family: var(--fc-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  height: 18px !important;
  line-height: 18px !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  position: static !important;
  text-align: center !important;
  text-decoration: none !important;
  transform: none !important;
  white-space: nowrap !important;
}

.fc-global-header-cta {
  position: absolute !important;
  top: 11px !important;
  right: 0 !important;
  z-index: 1010;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 124px;
  height: 38px;
  padding: 0 20px;
  border: 0;
  border-radius: 100px;
  color: #fff !important;
  background: linear-gradient(90deg, #4e83fd 0%, #3370ff 100%);
  box-shadow: 0 6px 16px rgba(51, 112, 255, 0.2);
  font-family: var(--fc-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
  pointer-events: auto;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fc-global-header-cta:hover,
.fc-global-header-cta:focus-visible {
  color: #fff !important;
  background: linear-gradient(90deg, #3f76f8 0%, #1456f0 100%);
  box-shadow: 0 8px 20px rgba(51, 112, 255, 0.26);
  transform: translateY(-1px);
}

/* Keep the homepage product-tab copy on the same left edge as the header
 * logo. Text following a bullet remains indented by 20px. */
@media (min-width: 769px) {
  .fc-page-home #module1420,
  .fc-page-home #module1451,
  .fc-page-home #module1454,
  .fc-page-home #module4726,
  .fc-page-home #module4727,
  .fc-page-home #module4747,
  .fc-page-home #module4748,
  .fc-page-home #module4750,
  .fc-page-home #module4751 {
    left: 0 !important;
  }

  .fc-page-home #module4316,
  .fc-page-home #module4725,
  .fc-page-home #module4317,
  .fc-page-home #module4746,
  .fc-page-home #module4318,
  .fc-page-home #module4749 {
    left: 20px !important;
  }
}

/* Stable homepage hero. It replaces the legacy carousel only after the new
 * semantic section is mounted, so the original banner remains a fallback. */
body.fc-home-hero-ready .webBannerTable {
  display: none !important;
}

.fc-home-hero,
.fc-home-hero * {
  box-sizing: border-box;
}

.fc-home-hero {
  position: relative;
  isolation: isolate;
  display: block;
  width: calc(100 * var(--fc-layout-vw, 1vw));
  min-width: 0;
  max-width: calc(100 * var(--fc-layout-vw, 1vw));
  height: calc(100svh - 160px);
  min-height: 560px;
  max-height: 720px;
  overflow: hidden;
  background-color: #f5f8ff;
  color: var(--fc-ink);
}

/* Scale the artwork into an extra 32px below the clipped hero and anchor it to
 * the top. This moves the composition down without exposing a background strip
 * beneath the navigation. */
.fc-home-hero::before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  bottom: -32px;
  background-image: url("../_rebuild/home-hero-seamless-v5.webp?v=2");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  pointer-events: none;
}

/* The artwork and its extended environment are flattened into one canvas.
 * Keeping a single layer avoids visible crop, alpha and color seams. */
.fc-home-hero::after {
  display: none;
  content: none;
}

.fc-home-hero__shell {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(
    var(--fc-header-shell-width),
    calc(100% - (var(--fc-header-shell-gutter) * 2))
  );
  height: 100%;
  margin: 0 auto;
  align-items: center;
}

.fc-home-hero__content {
  width: min(620px, 50%);
}

.fc-home-hero__eyebrow {
  display: flex;
  margin: 0 0 20px;
  align-items: center;
  gap: 10px;
  color: #374151;
  font-family: var(--fc-font);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}

.fc-home-hero__eyebrow > span {
  display: block;
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 2px;
  background: #2fbd7a;
}

.fc-home-hero h1 {
  margin: 0;
  color: var(--fc-ink);
  font-family: var(--fc-font);
  font-size: var(--fc-display-size);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0;
}

.fc-home-hero h1 strong {
  color: var(--fc-brand-strong);
  font: inherit;
}

.fc-home-hero__lead {
  max-width: 600px;
  margin: 24px 0 0;
  color: #4e5969;
  font-family: var(--fc-font);
  font-size: var(--fc-lead-size);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0;
}

.fc-home-hero__actions {
  display: flex;
  margin-top: 30px;
  align-items: center;
  gap: 14px;
}

.fc-home-hero__button {
  display: inline-flex;
  min-width: 156px;
  height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-family: var(--fc-font);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform 160ms ease, background-color 160ms ease,
    border-color 160ms ease, box-shadow 160ms ease;
}

.fc-home-hero__button:hover {
  transform: translateY(-2px);
}

.fc-home-hero__button--primary {
  background: var(--fc-brand-strong);
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(20, 86, 240, 0.2);
}

.fc-home-hero__button--primary:hover {
  background: #0f4fdc;
  box-shadow: 0 15px 28px rgba(20, 86, 240, 0.25);
}

.fc-home-hero__button--secondary {
  border-color: rgba(31, 35, 41, 0.2);
  background: rgba(255, 255, 255, 0.72);
  color: var(--fc-ink) !important;
}

.fc-home-hero__button--secondary:hover {
  border-color: rgba(20, 86, 240, 0.48);
  background: #fff;
  color: var(--fc-brand-strong) !important;
}

.fc-home-hero__proof {
  display: flex;
  width: max-content;
  max-width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 96px);
  margin: 44px 0 0;
  padding: 22px 0 0;
  border-top: 1px solid rgba(31, 35, 41, 0.13);
  list-style: none;
}

.fc-home-hero__proof li {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: row;
  gap: 9px;
  flex: 0 0 auto;
  padding: 0 24px;
}

.fc-home-hero__proof li:first-child {
  padding-left: 0;
}

.fc-home-hero__proof li:last-child {
  padding-right: 0;
}

.fc-home-hero__proof li + li {
  border-left: 1px solid rgba(31, 35, 41, 0.12);
}

.fc-home-hero__proof-icon {
  display: block;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  object-fit: contain;
  filter: drop-shadow(0 5px 9px rgba(35, 86, 210, 0.2));
}

.fc-home-hero__proof-icon--ai {
  transform: scale(1.08);
  transform-origin: center;
}

.fc-home-hero__proof-icon--fde {
  transform: scale(0.98);
  transform-origin: center;
}

.fc-home-hero__proof-copy {
  display: flex;
.fc-home-hero__proof-icon--volcano {
  transform: scale(0.94);
  transform-origin: center;
}

  min-width: 0;
  flex-direction: column;
  gap: 3px;
  white-space: nowrap;
}

.fc-home-hero__proof strong,
.fc-home-hero__proof span {
  font-family: var(--fc-font);
  line-height: 1.45;
  letter-spacing: 0;
}

.fc-home-hero__proof strong {
  color: var(--fc-ink);
  font-size: 16px;
  font-weight: 700;
}

.fc-home-hero__proof span {
  color: #646a73;
  font-size: 13px;
  font-weight: 400;
}

@media (max-width: 1360px) {
  .fc-home-hero::after {
    right: 28px;
  }

  .fc-home-hero__shell {
    width: calc(100% - (var(--fc-header-shell-gutter) * 2));
  }

  .fc-home-hero__content {
    width: min(570px, 52%);
  }

  .fc-home-hero h1 {
    font-size: 52px;
  }

  .fc-home-hero__lead {
    font-size: 18px;
  }
}

@media (max-width: 900px) {
  .fc-home-hero {
    height: calc(100svh - 112px);
    min-height: 540px;
    max-height: 620px;
  }

  .fc-home-hero::after {
    right: -190px;
    width: 700px;
    background-position: center;
    opacity: 0.72;
  }

  .fc-home-hero::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    height: auto;
    background-image: linear-gradient(
        rgba(238, 243, 255, 0.52),
        rgba(238, 243, 255, 0.52)
      ),
      url("../_rebuild/home-hero-seamless-v5.webp?v=2");
    background-position: center, 66% center;
    background-repeat: no-repeat;
    background-size: auto, cover;
    content: "";
    pointer-events: none;
  }

  .fc-home-hero__shell {
    width: calc(100% - 40px);
  }

  .fc-home-hero__content {
    width: min(560px, 74%);
  }

  .fc-home-hero h1 {
    font-size: 42px;
  }

  .fc-home-hero__lead {
    font-size: 17px;
  }

  .fc-home-hero__proof {
    width: max-content;
    max-width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px);
  }

  .fc-home-hero__proof li {
    gap: 8px;
    padding: 0 18px;
  }

  .fc-home-hero__proof-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .fc-home-hero__proof strong {
    font-size: 14px;
  }

  .fc-home-hero__proof span {
    font-size: 12px;
  }
}

@media (max-width: 620px) {
  .fc-home-hero::after {
    right: -250px;
    width: 650px;
    opacity: 0.66;
  }

  .fc-home-hero__shell {
    width: calc(100% - 40px);
  }

  .fc-home-hero__content {
    width: 100%;
  }

  .fc-home-hero__eyebrow {
    margin-bottom: 16px;
    font-size: 14px;
  }

  .fc-home-hero h1 {
    font-size: 36px;
    line-height: 1.18;
  }

  .fc-home-hero__lead {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.7;
  }

  .fc-home-hero__actions {
    margin-top: 24px;
    gap: 10px;
  }

  .fc-home-hero__button {
    min-width: 0;
    height: 46px;
    flex: 1 1 0;
    padding: 0 14px;
    font-size: 15px;
  }

  .fc-home-hero__proof {
    margin-top: 32px;
    padding-top: 18px;
  }

  .fc-home-hero__proof li {
    gap: 8px;
    padding: 0 10px;
  }

  .fc-home-hero__proof-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .fc-home-hero__proof-copy {
    gap: 2px;
  }

  .fc-home-hero__proof strong {
    font-size: 14px;
  }

  .fc-home-hero__proof span {
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  .fc-home-hero__shell {
    width: calc(100% - 32px);
  }

  .fc-home-hero h1 {
    font-size: 34px;
  }

  .fc-home-hero__proof li {
    padding: 0 8px;
  }

  .fc-home-hero__proof-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fc-home-hero__button {
    transition: none;
  }

  .fc-home-hero__button:hover {
    transform: none;
  }
}

/* Homepage typography system. The mirrored page contains many independent
 * inline font declarations, so keep the normalization scoped to known home
 * modules instead of changing the legacy site globally. */
.fc-page-home .fk-editor,
.fc-page-home .fk-editor * {
  font-family: var(--fc-font) !important;
  text-rendering: optimizeLegibility;
}

.fc-page-home #module12800 .fk-editor,
.fc-page-home #module12800 .fk-editor * {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.045em !important;
}

.fc-page-home #module12800 .fk-editor {
  color: var(--fc-ink) !important;
}

.fc-page-home #module12801 .fk-editor,
.fc-page-home #module12801 .fk-editor * {
  color: var(--fc-ink) !important;
  font-size: var(--fc-home-display-size) !important;
  font-weight: 700 !important;
  line-height: 1.16 !important;
  letter-spacing: -0.025em !important;
}

.fc-page-home #module1437 .fk-editor,
.fc-page-home #module1437 .fk-editor * {
  color: #4e5969 !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.005em !important;
}

.fc-page-home #module1400 .fk-editor,
.fc-page-home #module1400 .fk-editor *,
.fc-page-home #module1404 .fk-editor,
.fc-page-home #module1404 .fk-editor *,
.fc-page-home #module1408 .fk-editor,
.fc-page-home #module1408 .fk-editor * {
  color: var(--fc-ink) !important;
  font-size: var(--fc-home-card-title-size) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.01em !important;
}

.fc-page-home #module12873 .fk-editor,
.fc-page-home #module12873 .fk-editor *,
.fc-page-home #module12874 .fk-editor,
.fc-page-home #module12874 .fk-editor *,
.fc-page-home #module12875 .fk-editor,
.fc-page-home #module12875 .fk-editor * {
  color: var(--fc-muted) !important;
  font-size: var(--fc-home-body-size) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.fc-page-home #module1432 .fk-editor,
.fc-page-home #module1432 .fk-editor *,
.fc-page-home #module1523 .fk-editor,
.fc-page-home #module1523 .fk-editor * {
  color: var(--fc-ink) !important;
  font-size: var(--fc-home-section-size) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

.fc-page-home #module1420 .fk-editor,
.fc-page-home #module1420 .fk-editor *,
.fc-page-home #module1451 .fk-editor,
.fc-page-home #module1451 .fk-editor *,
.fc-page-home #module1454 .fk-editor,
.fc-page-home #module1454 .fk-editor * {
  color: var(--fc-ink) !important;
  font-size: var(--fc-home-subtitle-size) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: -0.012em !important;
}

.fc-page-home #module4316 .fk-editor,
.fc-page-home #module4316 .fk-editor *,
.fc-page-home #module4725 .fk-editor,
.fc-page-home #module4725 .fk-editor *,
.fc-page-home #module4317 .fk-editor,
.fc-page-home #module4317 .fk-editor *,
.fc-page-home #module4746 .fk-editor,
.fc-page-home #module4746 .fk-editor *,
.fc-page-home #module4318 .fk-editor,
.fc-page-home #module4318 .fk-editor *,
.fc-page-home #module4749 .fk-editor,
.fc-page-home #module4749 .fk-editor * {
  color: var(--fc-muted) !important;
  font-size: var(--fc-home-body-size) !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  letter-spacing: 0.005em !important;
}

.fc-page-home #module4316 .fk-editor b,
.fc-page-home #module4725 .fk-editor b,
.fc-page-home #module4317 .fk-editor b,
.fc-page-home #module4746 .fk-editor b,
.fc-page-home #module4318 .fk-editor b,
.fc-page-home #module4749 .fk-editor b {
  color: #3a3f48 !important;
  font-weight: 600 !important;
}

.fc-page-home #module1469 .fk-editor > span > span > div:nth-of-type(2),
.fc-page-home #module1469 .fk-editor > span > span > div:nth-of-type(2) * {
  color: var(--fc-ink) !important;
  font-size: var(--fc-home-section-size) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

.fc-page-home #module1469 .fk-editor > span > span > div:nth-of-type(3),
.fc-page-home #module1469 .fk-editor > span > span > div:nth-of-type(3) * {
  color: #4e5969 !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: -0.01em !important;
}

.fc-page-home #module1498 .fk-editor,
.fc-page-home #module1498 .fk-editor *,
.fc-page-home #module1504 .fk-editor,
.fc-page-home #module1504 .fk-editor *,
.fc-page-home #module1510 .fk-editor,
.fc-page-home #module1510 .fk-editor * {
  color: var(--fc-ink) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.012em !important;
}

.fc-page-home #module1499 .fk-editor,
.fc-page-home #module1499 .fk-editor *,
.fc-page-home #module1503 .fk-editor,
.fc-page-home #module1503 .fk-editor *,
.fc-page-home #module1509 .fk-editor,
.fc-page-home #module1509 .fk-editor * {
  color: var(--fc-muted) !important;
  font-size: var(--fc-home-body-size) !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  letter-spacing: 0.005em !important;
}

.fc-page-home #module1513 .fk-editor > span > div:nth-of-type(3),
.fc-page-home #module1513 .fk-editor > span > div:nth-of-type(3) * {
  color: var(--fc-ink) !important;
  font-size: var(--fc-home-section-size) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

.fc-page-home #module1513 .fk-editor > span > div:nth-of-type(4),
.fc-page-home #module1513 .fk-editor > span > div:nth-of-type(4) * {
  color: #4e5969 !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: -0.01em !important;
}

.fc-page-home #module6332 .fk-editor,
.fc-page-home #module6332 .fk-editor *,
.fc-page-home #module6341 .fk-editor,
.fc-page-home #module6341 .fk-editor *,
.fc-page-home #module6349 .fk-editor,
.fc-page-home #module6349 .fk-editor *,
.fc-page-home #module6364 .fk-editor,
.fc-page-home #module6364 .fk-editor * {
  color: var(--fc-ink) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: -0.005em !important;
}

.fc-page-home #module6335 .fk-editor,
.fc-page-home #module6335 .fk-editor *,
.fc-page-home #module6342 .fk-editor,
.fc-page-home #module6342 .fk-editor *,
.fc-page-home #module6350 .fk-editor,
.fc-page-home #module6350 .fk-editor *,
.fc-page-home #module6365 .fk-editor,
.fc-page-home #module6365 .fk-editor * {
  color: var(--fc-muted) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.005em !important;
}

.fc-page-home #module6333 .fk-editor,
.fc-page-home #module6333 .fk-editor *,
.fc-page-home #module6343 .fk-editor,
.fc-page-home #module6343 .fk-editor *,
.fc-page-home #module6351 .fk-editor,
.fc-page-home #module6351 .fk-editor *,
.fc-page-home #module6366 .fk-editor,
.fc-page-home #module6366 .fk-editor *,
.fc-page-home #module2776 .fk-editor,
.fc-page-home #module2776 .fk-editor * {
  color: var(--fc-brand-strong) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

/* Keep homepage practice stories visually identical to the customers page cards. */
.fc-page-home #module1775 .fc-home-case-card {
  box-sizing: border-box !important;
  height: 464px !important;
  overflow: hidden !important;
  border: 1px solid #e7ecf3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 5px 18px rgba(25, 52, 96, 0.07) !important;
  transform: none !important;
  transition: border-color 180ms ease, box-shadow 200ms ease;
}

.fc-page-home #module1775 .fc-home-case-card:hover {
  z-index: 5;
  border-color: rgba(51, 112, 255, 0.2) !important;
  box-shadow: 0 13px 32px rgba(25, 52, 96, 0.13) !important;
  transform: none !important;
}

.fc-page-home .fc-home-case-card > .J_packContent {
  height: 100% !important;
  overflow: hidden !important;
}

.fc-page-home .fc-home-case-card > .J_packContent > .fk-elemZoneBg {
  background: #fff !important;
}

.fc-page-home .fc-home-case-card__legacy-frame {
  display: none !important;
}

.fc-page-home .fc-home-case-card__cover {
  top: 0 !important;
  left: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 220px !important;
  overflow: hidden !important;
  border-radius: 7px 7px 0 0;
}

.fc-page-home .fc-home-case-card__cover .lightModuleOuterContent,
.fc-page-home .fc-home-case-card__cover .floatImg,
.fc-page-home .fc-home-case-card__cover .floatImgWrap,
.fc-page-home .fc-home-case-card__cover .forMargin,
.fc-page-home .fc-home-case-card__cover .J_floatImg_jump {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.fc-page-home .fc-home-case-card__cover img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: none !important;
}

.fc-page-home .fc-home-case-card__cover .J_floatImg_jump {
  cursor: pointer !important;
}

.fc-page-home .fc-home-case-card__cover .J_floatImg_jump:focus-visible {
  outline: 3px solid rgba(51, 112, 255, 0.5);
  outline-offset: -3px;
}

.fc-page-home .fc-home-case-card__logo {
  top: 238px !important;
  left: 22px !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  width: 160px !important;
  height: 40px !important;
  overflow: hidden !important;
}

.fc-page-home .fc-home-case-card__logo .lightModuleOuterContent,
.fc-page-home .fc-home-case-card__logo .floatImg,
.fc-page-home .fc-home-case-card__logo .floatImgWrap,
.fc-page-home .fc-home-case-card__logo .forMargin {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.fc-page-home #module1775 .fc-home-case-card__logo .float_in_img {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: 36px !important;
  max-width: 150px !important;
  max-height: 36px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.fc-page-home #module1775 .fc-home-case-card__logo.fc-logo-wide .float_in_img {
  height: 34px !important;
  max-width: 158px !important;
  max-height: 34px !important;
}

.fc-page-home #module1775 .fc-home-case-card__logo.fc-logo-square .float_in_img {
  width: 38px !important;
  height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
}

.fc-page-home .fc-home-case-card__title,
.fc-page-home .fc-home-case-card__summary,
.fc-page-home .fc-home-case-card__cta {
  z-index: 3 !important;
}

.fc-page-home .fc-home-case-card__title {
  top: 290px !important;
  left: 22px !important;
  width: calc(100% - 44px) !important;
}

.fc-page-home .fc-home-case-card__title .fk-editor,
.fc-page-home .fc-home-case-card__title .fk-editor * {
  color: #1d2939 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

.fc-page-home .fc-home-case-card__summary {
  top: 356px !important;
  left: 22px !important;
  width: calc(100% - 44px) !important;
  max-height: calc(100% - 384px) !important;
  overflow: hidden !important;
}

.fc-page-home .fc-home-case-card__summary .fk-editor,
.fc-page-home .fc-home-case-card__summary .fk-editor * {
  color: #667085 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
}

.fc-page-home .fc-home-case-card__cta {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .fc-page-home #module1775 .fc-home-case-card,
  .fc-page-home .fc-home-case-card__cover img {
    transition: none !important;
  }
}

.fc-page-home #module2776 .fk-editor,
.fc-page-home #module2776 .fk-editor * {
  font-size: 16px !important;
}

.fc-page-home #module12872FlBtn,
.fc-page-home #module12714FlBtn,
.fc-page-home #module10054FlBtn,
.fc-page-home #module1421FlBtn,
.fc-page-home #module1452FlBtn,
.fc-page-home #module1455FlBtn,
.fc-page-home #module2774FlBtn,
.fc-page-home #module12872FlBtn .m_float_btn__text,
.fc-page-home #module12714FlBtn .m_float_btn__text,
.fc-page-home #module10054FlBtn .m_float_btn__text,
.fc-page-home #module1421FlBtn .m_float_btn__text,
.fc-page-home #module1452FlBtn .m_float_btn__text,
.fc-page-home #module1455FlBtn .m_float_btn__text,
.fc-page-home #module2774FlBtn .m_float_btn__text {
  font-family: var(--fc-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.fc-page-home #module12872FlBtn,
.fc-page-home #module12714FlBtn,
.fc-page-home #module10054FlBtn,
.fc-page-home #module1421FlBtn,
.fc-page-home #module1452FlBtn,
.fc-page-home #module1455FlBtn,
.fc-page-home #module2774FlBtn {
  box-sizing: border-box !important;
  height: 48px !important;
  line-height: 48px !important;
  padding: 0 24px !important;
}

.fc-page-home #module12872FlBtn .m_float_btn__text,
.fc-page-home #module12714FlBtn .m_float_btn__text,
.fc-page-home #module10054FlBtn .m_float_btn__text,
.fc-page-home #module1421FlBtn .m_float_btn__text,
.fc-page-home #module1452FlBtn .m_float_btn__text,
.fc-page-home #module1455FlBtn .m_float_btn__text,
.fc-page-home #module2774FlBtn .m_float_btn__text {
  line-height: 48px !important;
}

.fc-page-home .fc-story-carousel__title {
  color: var(--fc-ink) !important;
  font-family: var(--fc-font) !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
}

.fc-page-home .fc-story-card__quote {
  display: -webkit-box !important;
  height: auto !important;
  max-height: calc(4 * 1.7em) !important;
  overflow: hidden !important;
  color: var(--fc-muted) !important;
  font-family: var(--fc-font) !important;
  font-size: 16px !important;
  font-style: normal !important;
  line-height: 1.7 !important;
  text-overflow: ellipsis;
  word-break: break-word;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
}

.fc-page-home .fc-story-card__name {
  color: var(--fc-ink) !important;
  font-family: var(--fc-font) !important;
  font-weight: 600 !important;
}

.fc-page-home .fc-story-card__role {
  color: #8f959e !important;
  font-family: var(--fc-font) !important;
}

.fc-page-home #module1962 .fk-editor,
.fc-page-home #module1962 .fk-editor * {
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
  letter-spacing: -0.01em !important;
}

/* Reduce the old template's harsh edges without changing page composition. */
.fullmeasureContent,
.fk-formPack,
.formStyle79 img {
  -webkit-backface-visibility: hidden;
}

.floatBtn,
.formStyle79 a,
.formStyle87 {
  transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

/* Mobile header is created by runtime-shim.js. */
.fc-mobile-header,
.fc-mobile-nav-backdrop {
  display: none;
}

@media (max-width: 1180px) {
  #module1308 {
    display: none !important;
  }

  #navV2 {
    left: 148px !important;
    width: calc(100% - 290px) !important;
  }

  #navV2 .J_nav_item_link {
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  #navV2 .J_nav_item_name {
    font-size: 14px !important;
  }
}

@media (max-width: 900px) {
  #navV2 {
    left: 148px !important;
    width: calc(100% - 290px) !important;
  }

  #navV2 .itemSep,
  #nav338,
  #nav292 {
    display: none !important;
  }
}

@media (max-width: 1080px) {
  :root {
    --fc-header-height: 60px;
    --fc-site-shell-inline-size: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px);
    --fc-site-shell-inline-start: 20px;
  }

  html,
  body.g_body {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.g_body {
    overflow-x: hidden !important;
  }

  body.fc-page-about #web {
    box-sizing: border-box !important;
    width: var(--fc-site-viewport-inline-size) !important;
    min-width: 0 !important;
    max-width: var(--fc-site-viewport-inline-size) !important;
    overflow-x: hidden !important;
  }

  .fc-global-header-cta {
    display: none !important;
  }

  #web {
    padding-top: 60px !important;
  }

  html.fc-mobile-nav-ready .webNavTable,
  html.fc-mobile-nav-ready #webHeaderTable,
  html.fc-mobile-nav-ready #webHeaderContentBg,
  html.fc-mobile-nav-ready .fc-mega-menu-layer {
    display: none !important;
  }

  .fc-mobile-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: var(--fc-site-viewport-inline-size);
    z-index: 10020;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    height: 60px;
    padding: 0 20px;
    border-bottom: 1px solid rgba(31, 35, 41, 0.07);
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 7px 24px rgba(31, 35, 41, 0.07);
    backdrop-filter: blur(14px);
  }

  .fc-mobile-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--fc-ink) !important;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -0.03em;
    text-decoration: none !important;
  }

  .fc-mobile-brand img {
    display: block;
    width: 106px;
    height: 42px;
    object-fit: cover;
  }

  .fc-mobile-brand span {
    display: none;
  }

  .fc-mobile-menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #f5f7fa;
    color: var(--fc-ink);
    cursor: pointer;
  }

  .fc-mobile-menu-icon,
  .fc-mobile-menu-icon::before,
  .fc-mobile-menu-icon::after {
    display: block;
    width: 19px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: "";
    transition: transform 180ms ease, opacity 160ms ease;
  }

  .fc-mobile-menu-icon {
    position: relative;
  }

  .fc-mobile-menu-icon::before {
    position: absolute;
    top: -6px;
  }

  .fc-mobile-menu-icon::after {
    position: absolute;
    top: 6px;
  }

  .fc-mobile-header.is-open .fc-mobile-menu-icon {
    background: transparent;
  }

  .fc-mobile-header.is-open .fc-mobile-menu-icon::before {
    top: 0;
    transform: rotate(45deg);
  }

  .fc-mobile-header.is-open .fc-mobile-menu-icon::after {
    top: 0;
    transform: rotate(-45deg);
  }

  .fc-mobile-nav {
    position: fixed;
    top: 60px;
    right: 0;
    z-index: 10022;
    display: grid;
    box-sizing: border-box;
    width: min(calc(86 * var(--fc-layout-vw, 1vw)), 340px);
    max-height: calc(100vh - 60px);
    padding: 14px 14px 22px;
    overflow-y: auto;
    border-left: 1px solid var(--fc-line);
    background: #fff;
    box-shadow: -18px 24px 48px rgba(31, 35, 41, 0.16);
    opacity: 0;
    pointer-events: none;
    transform: translateX(24px);
    transition: opacity 180ms ease, transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .fc-mobile-header.is-open .fc-mobile-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  .fc-mobile-nav a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 9px;
    color: #30343b !important;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none !important;
  }

  .fc-mobile-nav a:hover,
  .fc-mobile-nav a.is-active {
    color: var(--fc-brand-strong) !important;
    background: var(--fc-soft);
  }

  .fc-mobile-nav-group {
    margin: 0;
  }

  .fc-mobile-nav-group summary {
    position: relative;
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 0 42px 0 14px;
    border-radius: 9px;
    color: #30343b;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    list-style: none;
  }

  .fc-mobile-nav-group summary::-webkit-details-marker {
    display: none;
  }

  .fc-mobile-nav-group summary:focus {
    outline: none;
  }

  .fc-mobile-nav-group summary:focus-visible {
    outline: 2px solid rgba(51, 112, 255, 0.45);
    outline-offset: 1px;
  }

  .fc-mobile-nav-group summary::after {
    content: "";
    position: absolute;
    right: 17px;
    top: 18px;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 160ms ease;
  }

  .fc-mobile-nav-group[open] summary::after {
    top: 22px;
    transform: rotate(225deg);
  }

  .fc-mobile-nav-group.is-active summary,
  .fc-mobile-nav-group summary:hover {
    color: var(--fc-brand-strong);
    background: var(--fc-soft);
  }

  .fc-mobile-subnav {
    display: grid;
    gap: 2px;
    margin: 3px 0 7px 14px;
    padding-left: 10px;
    border-left: 1px solid rgba(51, 112, 255, 0.17);
  }

  .fc-mobile-nav .fc-mobile-subnav a {
    min-height: 40px;
    padding: 0 12px;
    color: #646a73 !important;
    font-size: 14px;
  }

  .fc-mobile-nav-cta {
    justify-content: center;
    margin-top: 10px;
    color: #fff !important;
    background: linear-gradient(135deg, #3d7cff, #2864e8) !important;
    box-shadow: 0 9px 22px rgba(51, 112, 255, 0.22);
  }

  .fc-mobile-nav-backdrop {
    position: fixed;
    inset: 60px 0 0;
    z-index: 10019;
    display: block;
    background: rgba(23, 32, 51, 0.26);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }

  .fc-mobile-nav-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  /* Homepage hero: keep the original artwork, but reflow its legacy modules. */
  .fc-page-home .webBannerTable,
  .fc-page-home #webBanner,
  .fc-page-home #webBanner .bannerTable,
  .fc-page-home #webBanner .bannerCenter,
  .fc-page-home #bannerV2,
  .fc-page-home #bannerV2 .switchGroup,
  .fc-page-home #bannerV2 .J_billboardItem,
  .fc-page-home #bannerV2 .J_bannerItem {
    min-width: 0 !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    height: 640px !important;
  }

  .fc-page-home #bannerV2 .J_bannerItem {
    background-position: 62% 50% !important;
    background-size: cover !important;
  }

  .fc-page-home #bannerV2 .fk-inBannerListZone {
    left: 0 !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    margin-left: 0 !important;
  }

  .fc-page-home #module12800,
  .fc-page-home #module12801,
  .fc-page-home #module1437,
  .fc-page-home #module12711,
  .fc-page-home #module12712,
  .fc-page-home #module10046,
  .fc-page-home #module10051 {
    left: 24px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 48px) !important;
  }

  .fc-page-home #module12800 {
    top: 112px !important;
  }

  .fc-page-home #module12800 .fk-editor,
  .fc-page-home #module12800 .fk-editor * {
    font-size: 15px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.035em !important;
  }

  .fc-page-home #module12801 {
    top: 162px !important;
  }

  .fc-page-home #module12801 .fk-editor,
  .fc-page-home #module12801 .fk-editor * {
    font-size: 31px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  .fc-page-home #module1437 {
    top: 254px !important;
  }

  .fc-page-home #module1437 .fk-editor,
  .fc-page-home #module1437 .fk-editor * {
    font-size: 17px !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  .fc-page-home #module12872,
  .fc-page-home #module12714,
  .fc-page-home #module10054 {
    left: 34px !important;
  }

  .fc-page-home #module12872 {
    top: 330px !important;
  }

  .fc-page-home #module12713 {
    top: 92px !important;
    left: 20px !important;
    width: 220px !important;
  }

  .fc-page-home #module12711 {
    top: 236px !important;
  }

  .fc-page-home #module12711 .fk-editor,
  .fc-page-home #module12711 .fk-editor * {
    font-size: 42px !important;
    line-height: 1.2 !important;
  }

  .fc-page-home #module12712 {
    top: 298px !important;
  }

  .fc-page-home #module12712 .fk-editor,
  .fc-page-home #module12712 .fk-editor * {
    font-size: 31px !important;
    line-height: 1.35 !important;
  }

  .fc-page-home #module12714 {
    top: 386px !important;
  }

  .fc-page-home #module10051 {
    top: 150px !important;
  }

  .fc-page-home #module10051 .fk-editor,
  .fc-page-home #module10051 .fk-editor * {
    font-size: 38px !important;
    line-height: 1.25 !important;
  }

  .fc-page-home #module10046 {
    top: 224px !important;
  }

  .fc-page-home #module10046 .fk-editor,
  .fc-page-home #module10046 .fk-editor * {
    font-size: 30px !important;
    line-height: 1.4 !important;
  }

  .fc-page-home #module10054 {
    top: 356px !important;
  }

  .fc-page-home .fc-story-carousel__title {
    font-size: 30px !important;
    line-height: 1.35 !important;
    letter-spacing: -0.015em !important;
  }

  .fc-page-home .fc-story-card__quote {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .fc-page-solutions .webBannerTable,
  .fc-page-solutions #webBanner,
  .fc-page-solutions #webBanner .bannerTable,
  .fc-page-solutions #webBanner .bannerCenter,
  .fc-page-solutions #bannerV2 {
    min-width: 0 !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  }

  .fc-page-solutions .fc-solutions-hero-copy {
    right: auto !important;
    left: 18px !important;
    box-sizing: border-box;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 36px) !important;
  }

  .fc-page-feishu .webBannerTable,
  .fc-page-feishu #webBanner,
  .fc-page-feishu #webBanner .bannerTable,
  .fc-page-feishu #webBanner .bannerCenter,
  .fc-page-feishu #bannerV2,
  .fc-page-feishu #bannerV2 .switchGroup,
  .fc-page-feishu #bannerV2 .J_billboardItem,
  .fc-page-feishu #bannerV2 .J_bannerItem {
    min-width: 0 !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  }

  .fc-page-feishu #bannerV2 .J_bannerItem {
    background-position: 58% 50% !important;
  }

  .fc-page-feishu #bannerV2 .fk-inBannerListZone {
    left: 0 !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    margin-left: 0 !important;
  }

  .fc-page-feishu #module2973 {
    top: 142px !important;
    left: 20px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px) !important;
  }

  .fc-page-feishu #module2973 .fk-editor,
  .fc-page-feishu #module2973 .fk-editor * {
    font-size: 32px !important;
    line-height: 1.35 !important;
  }

  .fc-page-about .webBannerTable,
  .fc-page-about #webBanner,
  .fc-page-about #webBanner .bannerTable,
  .fc-page-about #webBanner .bannerCenter,
  .fc-page-about #bannerV2,
  .fc-page-about #bannerV2 .switchGroup,
  .fc-page-about #bannerV2 .J_billboardItem,
  .fc-page-about #bannerV2 .J_bannerItem,
  .fc-page-event .webBannerTable,
  .fc-page-event #webBanner,
  .fc-page-event #webBanner .bannerTable,
  .fc-page-event #webBanner .bannerCenter,
  .fc-page-event #bannerV2,
  .fc-page-event #bannerV2 .switchGroup,
  .fc-page-event #bannerV2 .J_billboardItem,
  .fc-page-event #bannerV2 .J_bannerItem {
    min-width: 0 !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  }

  .fc-page-about #bannerV2 .fk-inBannerListZone,
  .fc-page-event #bannerV2 .fk-inBannerListZone {
    left: 0 !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    margin-left: 0 !important;
  }

  .fc-page-about #module5039 {
    top: 142px !important;
    left: 20px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px) !important;
  }

  .fc-page-about #module5039 .fk-editor,
  .fc-page-about #module5039 .fk-editor * {
    font-size: 32px !important;
    line-height: 1.38 !important;
  }

  .fc-page-event #module12815 {
    top: 112px !important;
    left: 18px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 36px) !important;
  }

  .fc-page-event #module12815 .fk-editor,
  .fc-page-event #module12815 .fk-editor * {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  .fc-page-event #module12815 .fk-editor > div:nth-child(2),
  .fc-page-event #module12815 .fk-editor > div:nth-child(2) * {
    font-size: 32px !important;
    line-height: 1.35 !important;
  }
}

/* Feishu-inspired global footer. The semantic footer is injected by
 * runtime-shim.js so the legacy absolutely positioned builder modules can
 * stay available without controlling the public layout. */
#webFooterTable.webFooterTable,
#webFooterTable {
  left: 0 !important;
  box-sizing: border-box !important;
  width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  max-width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  background: #1f2329 !important;
}

#webFooterTable > .fk-moduleZoneWrap,
#webFooterTable > #webFooter {
  display: none !important;
}

.fc-site-footer {
  display: block;
  box-sizing: border-box;
  width: calc(100 * var(--fc-layout-vw, 1vw));
  max-width: calc(100 * var(--fc-layout-vw, 1vw));
  color: #bbbfc7;
  background: #1f2329;
  font-family: var(--fc-font);
  -webkit-font-smoothing: antialiased;
}

.fc-site-footer *,
.fc-site-footer *::before,
.fc-site-footer *::after {
  box-sizing: border-box;
}

.fc-site-footer__inner {
  width: min(
    var(--fc-header-shell-width),
    calc(100% - (var(--fc-header-shell-gutter) * 2))
  );
  margin: 0 auto;
}

.fc-site-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.05fr) minmax(0, 0.92fr) minmax(320px, 1.45fr);
  gap: 64px;
  padding: 32px 0 52px;
}

.fc-site-footer__group h2 {
  margin: 0 0 24px;
  color: #f5f6f7;
  font-family: var(--fc-font);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0;
}

.fc-site-footer__group ul {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fc-site-footer__group li {
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #b7bbc3;
  font-size: 14px;
  line-height: 22px;
}

.fc-site-footer__group a,
.fc-site-footer__legal a {
  color: inherit !important;
  font-family: var(--fc-font) !important;
  font-size: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
  transition: color 160ms ease;
}

.fc-site-footer__group a:hover,
.fc-site-footer__legal a:hover {
  color: #fff !important;
}

.fc-site-footer__contact li,
.fc-site-footer__contact a {
  overflow-wrap: anywhere;
}

.fc-site-footer__divider {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.18);
}

.fc-site-footer__bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px;
  min-height: 96px;
  padding: 20px 0 24px;
}

.fc-site-footer__brand-social,
.fc-site-footer__brand,
.fc-site-footer__socials,
.fc-site-footer__legal {
  display: flex;
  align-items: center;
}

.fc-site-footer__brand-social {
  align-items: center;
  min-width: 0;
  gap: 34px;
}

.fc-site-footer__brand {
  flex: 0 0 auto;
  height: 38px;
  color: #fff !important;
  font-family: var(--fc-font) !important;
  font-size: 20px !important;
  font-weight: 600;
  line-height: 1 !important;
  text-decoration: none !important;
}

.fc-site-footer__brand-logo {
  display: block;
  width: 96px;
  height: 38px;
  object-fit: contain;
}

.fc-site-footer__socials {
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  height: 38px;
}

.fc-site-footer__socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  opacity: 0.9;
  transition: opacity 160ms ease, transform 160ms ease;
}

.fc-site-footer__socials a:hover {
  opacity: 1;
  transform: translateY(-1px);
}

.fc-site-footer__socials img {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  object-fit: contain;
}

.fc-site-footer__legal {
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px 18px;
  color: #8f959e;
  font-size: 12px;
  line-height: 20px;
  text-align: right;
}

@media (max-width: 1080px) {
  .fc-site-footer__main {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px 40px;
  }

  .fc-site-footer__contact {
    grid-column: 1 / -1;
  }

  .fc-site-footer__contact ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 40px;
  }

  .fc-site-footer__bottom {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .fc-site-footer__legal {
    justify-content: flex-start;
    text-align: left;
  }
}

@media (max-width: 768px) {
  html body #webHeaderTable.webHeaderTable,
  html body .webHeaderTable,
  html body .webNavTable {
    display: none !important;
  }

  html body .fc-mobile-nav a.fc-mobile-nav-cta {
    color: #fff !important;
  }

  #webFooterTable.webFooterTable,
  #webFooterTable {
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    max-width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  }

  .fc-site-footer__inner {
    width: 100%;
    padding: 0 16px;
  }

  .fc-site-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 24px;
    align-items: start;
    padding: 32px 0 38px;
  }

  .fc-site-footer__group h2 {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 22px;
  }

  .fc-site-footer__group ul {
    gap: 12px;
  }

  .fc-site-footer__group li {
    font-size: 14px;
    line-height: 22px;
  }

  .fc-site-footer__contact {
    grid-column: auto;
    min-width: 0;
  }

  .fc-site-footer__contact ul {
    display: flex;
    gap: 12px;
  }

  .fc-site-footer__contact a,
  .fc-site-footer__contact-label,
  .fc-site-footer__contact-value {
    display: block;
    min-width: 0;
  }

  .fc-site-footer__contact-value {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .fc-site-footer__bottom {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 0 28px;
  }

  .fc-site-footer__brand-social {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

  .fc-site-footer__brand {
    font-size: 18px !important;
  }

  .fc-site-footer__legal {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px;
    font-size: 12px;
    line-height: 19px;
    text-align: left;
  }
}

/* Homepage customer proof: replace the old faded composite with real logo cards. */
body.fc-page-home #module1416 {
  position: relative !important;
  height: 840px !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.fc-page-home #module1416 .fullmeasureOuterContentBg1416,
body.fc-page-home #module1416 .fullmeasureContentBg1416,
body.fc-page-home #module1416 .fk-elemZoneBg {
  background: #fff !important;
}

body.fc-page-home #module2436 {
  display: none !important;
}

body.fc-page-home #module1523 {
  top: 70px !important;
  left: calc(50 * var(--fc-layout-vw, 1vw)) !important;
  right: auto !important;
  box-sizing: border-box !important;
  width: min(900px, calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px)) !important;
  height: auto !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: translateX(-50%) !important;
}

body.fc-page-home #module1523 .fk-editor,
body.fc-page-home #module1523 .fk-editor * {
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #1f2329 !important;
  text-align: center !important;
}

.fc-home-logo-layout {
  position: absolute;
  z-index: 3;
  top: 180px;
  left: calc(50 * var(--fc-layout-vw, 1vw));
  width: min(1240px, calc(calc(100 * var(--fc-layout-vw, 1vw)) - 64px));
  transform: translateX(-50%);
}

.fc-home-logo-wall {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.fc-home-logo-row {
  display: flex;
  justify-content: center;
  gap: 16px;
  width: 100%;
}

.fc-home-logo-card {
  --fc-home-logo-scale: 0.84;
  flex: 0 0 calc((100% - 96px) / 7);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 0;
  height: 76px;
  padding: 12px 10px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(31, 35, 41, 0.08);
}

.fc-home-logo-card img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
  transform: scale(var(--fc-home-logo-scale, 1));
  transform-origin: center;
}

/* LONGKING publishes a white header mark; invert the official pixels for white cards. */
.fc-home-logo-card[data-brand="longking"] img {
  filter: invert(1);
}

.fc-home-logo-card[data-brand="root"],
.fc-home-logo-card[data-brand="shinry"],
.fc-home-logo-card[data-brand="uniubi"],
.fc-home-logo-card[data-brand="quantalus"],
.fc-home-logo-card[data-brand="kuaikuai"] {
  --fc-home-logo-scale: 0.91;
}

.fc-home-logo-card[data-brand="jingongne"] {
  --fc-home-logo-scale: 1;
}

.fc-home-logo-note {
  margin: 24px 0 0;
  color: #a5acb8;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-align: center;
}

@media (max-width: 1180px) and (min-width: 981px) {
  body.fc-page-home #module1416 {
    height: 850px !important;
  }

  .fc-home-logo-layout {
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 48px);
  }
}

@media (max-width: 980px) {
  body.fc-page-home #module1416 {
    height: 1000px !important;
  }

  .fc-home-logo-layout {
    top: 170px;
    width: min(920px, calc(calc(100 * var(--fc-layout-vw, 1vw)) - 48px));
  }

  .fc-home-logo-wall {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
  }

  .fc-home-logo-row {
    display: contents;
  }

  .fc-home-logo-card {
    flex: none;
    height: 74px;
  }

  .fc-home-logo-note {
    margin-top: 20px;
  }
}

@media (max-width: 768px) {
  body.fc-page-home #module1416 {
    height: 1320px !important;
  }

  body.fc-page-home #module1523 {
    top: 46px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 32px) !important;
  }

  body.fc-page-home #module1523 .fk-editor,
  body.fc-page-home #module1523 .fk-editor * {
    font-size: 30px !important;
    line-height: 1.3 !important;
  }

  .fc-home-logo-layout {
    top: 144px;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 24px);
  }

  .fc-home-logo-wall {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .fc-home-logo-card {
    height: 66px;
    padding: 10px 8px;
    border-radius: 7px;
    box-shadow: 0 5px 16px rgba(31, 35, 41, 0.08);
  }

  .fc-home-logo-note {
    margin-top: 18px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Homepage mixed overview and proof modules. */
.fc-page-home.fc-home-overview-ready #module1434,
.fc-page-home.fc-home-overview-ready #module1410,
.fc-page-home.fc-home-overview-ready #module6149,
.fc-page-home.fc-home-overview-ready #module1775,
.fc-page-home.fc-home-overview-ready #module6294 {
  visibility: hidden !important;
  pointer-events: none !important;
}

.fc-page-home.fc-home-overview-ready #fullmeasureTopForms {
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

.fc-page-home.fc-home-overview-ready #module6470,
.fc-page-home.fc-home-overview-ready #module1324 {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .fc-page-home.fc-home-overview-ready #module6470,
  .fc-page-home.fc-home-overview-ready #module1416 {
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    max-width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  }
}

#fc-home-overview-frame {
  display: block;
  width: calc(100 * var(--fc-layout-vw, 1vw));
  height: 4300px;
  margin: 0;
  overflow: hidden;
  border: 0;
  background: #fff;
}

.fc-home-mix,
.fc-home-mix *,
.fc-home-mix *::before,
.fc-home-mix *::after {
  box-sizing: border-box;
}

.fc-home-mix {
  overflow: hidden;
  color: #1f2329;
  background: #fff;
  font-family: var(--fc-font, "PingFang SC", "Microsoft YaHei", Arial, sans-serif);
}

.fc-mix-section {
  padding: 80px 0 86px;
  border-top: 1px solid #edf0f5;
  background: #fff;
}

.fc-mix-section--soft {
  background: #f6f8fb;
}

.fc-mix-shell {
  width: min(
    var(--fc-header-shell-width),
    calc(100% - (var(--fc-header-shell-gutter) * 2))
  );
  margin: 0 auto;
}

.fc-mix-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
  gap: 48px;
  align-items: end;
  margin-bottom: 34px;
}

.fc-mix-head--center {
  display: block;
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.fc-mix-head--center .fc-mix-eyebrow {
  justify-content: center;
}

.fc-mix-head--center .fc-mix-head__side {
  max-width: 680px;
  margin: 16px auto 0;
}

.fc-mix-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
  color: #4e5969;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .06em;
}

.fc-mix-eyebrow::before {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 2px;
  background: #36c99f;
  content: "";
}

.fc-mix-title {
  max-width: 780px;
  margin: 0;
  color: #1f2329;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.026em;
}

.fc-mix-head__side {
  align-self: end;
}

.fc-mix-lead {
  margin: 0;
  color: #646a73;
  font-size: 16px;
  line-height: 1.75;
}

.fc-mix-head__action,
.fc-mix-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #245bdb !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none !important;
}

.fc-mix-head__action {
  margin-top: 14px;
}

.fc-mix-inline-link {
  margin-top: 25px;
}

.fc-mix-head__action span,
.fc-mix-inline-link span {
  transition: transform 160ms ease;
}

.fc-mix-head__action:hover span,
.fc-mix-inline-link:hover span {
  transform: translateX(4px);
}

.fc-business-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  padding: 6px;
  border: 1px solid #e5eaf2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(31,35,41,.035);
}

.fc-business-tab {
  min-height: 46px;
  padding: 10px 14px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #30333a;
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}

.fc-business-tab:hover {
  background: #f4f7fc;
  color: #245bdb;
}

.fc-business-tab.is-active {
  background: #e4edff;
  color: #2468e5;
  font-weight: 600;
}

.fc-business-panel {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(430px, 1.12fr);
  gap: 56px;
  align-items: center;
  min-height: 418px;
  margin-top: 24px;
  padding: 44px 48px;
  border: 1px solid #e5eaf2;
  border-radius: 8px;
  background: #f8faff;
}

.fc-business-panel[hidden],
.fc-delivery-panel[hidden] {
  display: none;
}

.fc-business-panel__kicker,
.fc-delivery-panel__kicker {
  margin: 0 0 12px;
  color: #2468e5;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .05em;
}

.fc-business-panel__copy h3,
.fc-delivery-panel__copy h3 {
  margin: 0;
  color: #1f2329;
  font-size: 31px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.022em;
}

.fc-business-panel__desc,
.fc-delivery-panel__desc {
  margin: 17px 0 0;
  color: #646a73;
  font-size: 16px;
  line-height: 1.76;
}

.fc-mix-points {
  display: grid;
  gap: 9px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.fc-mix-points li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #34383f;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
}

.fc-mix-points i {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #e8f7f2;
  color: #169c78;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.fc-mix-ui {
  display: grid;
  min-height: 316px;
  place-items: center;
  padding: 32px;
  border: 1px solid #dde6f3;
  border-radius: 8px;
  background: #edf3fc;
}

.fc-mix-ui__window {
  width: min(100%, 470px);
  overflow: hidden;
  border: 1px solid #d8e0ec;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(46,78,129,.13);
}

.fc-mix-ui__top {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) auto;
  align-items: center;
  min-height: 50px;
  padding: 0 16px;
  border-bottom: 1px solid #edf0f5;
}

.fc-mix-ui__top strong {
  color: #30343a;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

.fc-mix-ui__top em {
  padding: 4px 7px;
  border-radius: 4px;
  background: #eaf8f4;
  color: #169c78;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.fc-mix-ui__dots {
  display: flex;
  gap: 5px;
}

.fc-mix-ui__dots i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d3d9e3;
}

.fc-mix-ui__dots i:first-child { background: #7ca9ff; }
.fc-mix-ui__dots i:nth-child(2) { background: #7bd7bf; }

.fc-mix-ui__metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 17px 17px 10px;
  padding: 15px 17px;
  border-radius: 6px;
  background: #f4f7fc;
}

.fc-mix-ui__metric span {
  color: #7b818b;
  font-size: 12px;
  font-weight: 500;
}

.fc-mix-ui__metric strong {
  color: #2468e5;
  font-size: 22px;
  font-weight: 700;
}

.fc-mix-ui__rows {
  padding: 0 17px 14px;
}

.fc-mix-ui__row {
  display: flex;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #eef1f5;
}

.fc-mix-ui__row:last-child { border-bottom: 0; }

.fc-mix-ui__row > span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #4e535b;
  font-size: 12px;
  font-weight: 500;
}

.fc-mix-ui__row > b {
  color: #2468e5;
  font-size: 12px;
  font-weight: 600;
}

.fc-mix-ui__mark {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #5b8ff9;
}

.fc-mix-ui__mark--2 { background: #45c7a4; }
.fc-mix-ui__mark--3 { background: #8f7cf6; }

.fc-solution-rail {
  display: grid;
  grid-auto-columns: calc((100% - 32px) / 3);
  grid-auto-flow: column;
  gap: 16px;
  padding: 2px 2px 18px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}

.fc-solution-rail::-webkit-scrollbar,
.fc-result-grid::-webkit-scrollbar {
  display: none;
}

.fc-solution-card {
  position: relative;
  display: flex;
  min-height: 310px;
  flex-direction: column;
  padding: 27px;
  border: 1px solid #e5eaf2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 17px rgba(31,55,92,.05);
  color: #1f2329 !important;
  text-decoration: none !important;
  scroll-snap-align: start;
  transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.fc-solution-card:hover {
  border-color: rgba(51,112,255,.34);
  box-shadow: 0 12px 26px rgba(31,55,92,.10);
  transform: translateY(-3px);
}

.fc-solution-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 35px;
}

.fc-solution-card__index {
  color: #2468e5;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
}

.fc-solution-card__label {
  padding: 5px 9px;
  border-radius: 4px;
  background: #eef3ff;
  color: #2468e5;
  font-size: 12px;
  font-weight: 600;
}

.fc-solution-card h3 {
  margin: 0 0 13px;
  font-size: 22px;
  line-height: 1.4;
}

.fc-solution-card > p {
  margin: 0;
  color: #646a73;
  font-size: 15px;
  line-height: 1.72;
}

.fc-solution-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.fc-solution-card__tags li {
  padding: 5px 8px;
  border-radius: 4px;
  background: #f4f6f9;
  color: #646a73;
  font-size: 12px;
}

.fc-solution-card__arrow {
  margin-top: auto;
  padding-top: 20px;
  color: #2468e5;
  font-size: 20px;
}

.fc-result-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}

.fc-result-card {
  position: relative;
  display: flex;
  min-height: 346px;
  flex-direction: column;
  padding: 28px;
  overflow: hidden;
  border: 1px solid #e5eaf2;
  border-top: 3px solid #5b8ff9;
  border-radius: 8px;
  background: #fff;
  color: #1f2329 !important;
  text-decoration: none !important;
  transition: box-shadow 170ms ease, transform 170ms ease;
}

.fc-result-card--2 { border-top-color: #45c7a4; }
.fc-result-card--3 { border-top-color: #8f7cf6; }

.fc-result-card:hover {
  box-shadow: 0 12px 27px rgba(31,55,92,.10);
  transform: translateY(-3px);
}

.fc-result-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 27px;
}

.fc-result-card__meta span {
  padding: 5px 9px;
  border-radius: 4px;
  background: #f0f4fb;
  color: #4e5969;
  font-size: 12px;
  font-weight: 600;
}

.fc-result-card__meta strong {
  color: #4e5969;
  font-size: 14px;
  font-weight: 600;
}

.fc-result-card__metric {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 20px;
}

.fc-result-card__metric b {
  color: #2468e5;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.03em;
}

.fc-result-card__metric span {
  color: #7b818b;
  font-size: 13px;
  font-weight: 500;
}

.fc-result-card h3 {
  margin: 0 0 12px;
  font-size: 21px;
  line-height: 1.4;
}

.fc-result-card > p {
  margin: 0;
  color: #646a73;
  font-size: 14px;
  line-height: 1.72;
}

.fc-result-card__link {
  margin-top: auto;
  padding-top: 22px;
  color: #2468e5;
  font-size: 14px;
  font-weight: 600;
}

.fc-delivery {
  display: grid;
  grid-template-columns: 260px minmax(0,1fr);
  gap: 18px;
}

.fc-delivery-tabs {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.fc-delivery-tab {
  display: grid;
  grid-template-columns: 45px minmax(0,1fr);
  min-height: 70px;
  align-items: center;
  padding: 12px 16px;
  border: 1px solid #e3e8f0;
  border-radius: 7px;
  background: #fff;
  color: #4e5969;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.fc-delivery-tab span {
  color: #9aa1ab;
  font-size: 13px;
  font-weight: 600;
}

.fc-delivery-tab strong {
  font-size: 15px;
  font-weight: 600;
}

.fc-delivery-tab:hover {
  border-color: rgba(51,112,255,.28);
}

.fc-delivery-tab.is-active {
  border-color: #cbdafa;
  background: #eaf1ff;
  color: #2468e5;
}

.fc-delivery-tab.is-active span { color: #2468e5; }

.fc-delivery-stage {
  min-width: 0;
}

.fc-delivery-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) 270px;
  gap: 42px;
  align-items: center;
  min-height: 307px;
  padding: 38px 40px;
  border: 1px solid #e3e8f0;
  border-radius: 8px;
  background: #fff;
}

.fc-delivery-output {
  padding: 26px;
  border: 1px solid #dce5f1;
  border-radius: 8px;
  background: #f7f9fc;
}

.fc-delivery-output__label {
  color: #7b818b;
  font-size: 12px;
  font-weight: 500;
}

.fc-delivery-output > strong {
  display: block;
  margin-top: 9px;
  color: #245bdb;
  font-size: 22px;
  line-height: 1.35;
}

.fc-delivery-progress {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.fc-delivery-progress span {
  display: grid;
  grid-template-columns: 12px minmax(0,1fr);
  gap: 9px;
  align-items: center;
  color: #9aa1ab;
}

.fc-delivery-progress i {
  width: 9px;
  height: 9px;
  border: 2px solid #c7cdd7;
  border-radius: 50%;
}

.fc-delivery-progress b {
  font-size: 12px;
  font-weight: 500;
}

.fc-delivery-progress span.is-done {
  color: #34383f;
}

.fc-delivery-progress span.is-done i {
  border-color: #36c99f;
  background: #36c99f;
}

.fc-support-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}

.fc-support-card {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  padding: 28px;
  border: 1px solid #e5eaf2;
  border-radius: 8px;
  background: #fff;
  color: #1f2329 !important;
  text-decoration: none !important;
  transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.fc-support-card:hover {
  border-color: rgba(51,112,255,.3);
  box-shadow: 0 11px 25px rgba(31,55,92,.09);
  transform: translateY(-3px);
}

.fc-support-card--primary {
  border-color: #3370ff;
  background: #3370ff;
  color: #fff !important;
}

.fc-support-card__label {
  color: #2468e5;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .05em;
}

.fc-support-card--primary .fc-support-card__label {
  color: rgba(255,255,255,.76);
}

.fc-support-card h3 {
  margin: 30px 0 12px;
  font-size: 23px;
  line-height: 1.4;
}

.fc-support-card p {
  margin: 0;
  color: #646a73;
  font-size: 15px;
  line-height: 1.72;
}

.fc-support-card--primary p {
  color: rgba(255,255,255,.78);
}

.fc-support-card > strong {
  margin-top: auto;
  padding-top: 22px;
  color: #2468e5;
  font-size: 14px;
  font-weight: 600;
}

.fc-support-card--primary > strong { color: #fff; }


.fc-ecosystem-section {
  background:
    radial-gradient(circle at 12% 0%, rgba(51,112,255,.08), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(32,196,144,.08), transparent 32%),
    #f7f9fc;
}

.fc-ecosystem-section .fc-mix-head {
  display: block;
  max-width: 900px;
  margin: 0 auto 48px;
  text-align: center;
}

.fc-ecosystem-section .fc-mix-eyebrow { justify-content: center; }
.fc-ecosystem-section .fc-mix-head__side { display: none; }

.fc-ecosystem-foundations {
  display: grid;
  grid-template-columns: minmax(0,1fr) 72px minmax(0,1fr);
  align-items: stretch;
}

.fc-ecosystem-foundation {
  position: relative;
  display: flex;
  min-height: 360px;
  flex-direction: column;
  overflow: hidden;
  padding: 34px;
  border: 1px solid #e5e9f0;
  border-top: 4px solid #3370ff;
  border-radius: 8px;
  background: #fff;
  color: #1f2329 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 34px rgba(31,55,92,.055);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.fc-ecosystem-foundation--volcano { border-top-color: #18a67e; }

.fc-ecosystem-foundation:hover {
  border-color: rgba(51,112,255,.36);
  box-shadow: 0 18px 46px rgba(31,55,92,.1);
  transform: translateY(-3px);
}

.fc-ecosystem-foundation--volcano:hover { border-color: rgba(24,166,126,.4); }

.fc-ecosystem-foundation__eyebrow,
.fc-ecosystem-landing__eyebrow {
  display: block;
  margin-bottom: 13px;
  color: #3370ff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
}

.fc-ecosystem-foundation--volcano .fc-ecosystem-foundation__eyebrow { color: #0d8f6b; }

.fc-ecosystem-foundation h3 {
  margin: 0;
  font-size: 30px;
  line-height: 1.25;
}

.fc-ecosystem-foundation__head p {
  max-width: 470px;
  margin: 12px 0 0;
  color: #646a73;
  font-size: 15px;
  line-height: 1.75;
}

.fc-ecosystem-capabilities {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 30px 0 0;
  padding: 0;
  border-top: 1px solid #e7ebf2;
  list-style: none;
}

.fc-ecosystem-capabilities li {
  position: relative;
  padding: 16px 6px 15px 14px;
  border-bottom: 1px solid #e7ebf2;
  color: #3a4048;
  font-size: 14px;
}

.fc-ecosystem-capabilities li::before {
  position: absolute;
  top: 23px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #3370ff;
  content: "";
}

.fc-ecosystem-foundation--volcano .fc-ecosystem-capabilities li::before { background: #18a67e; }

.fc-ecosystem-foundation__link {
  margin-top: auto;
  padding-top: 24px;
  color: #2468e5;
  font-size: 14px;
  font-weight: 600;
}

.fc-ecosystem-foundation--volcano .fc-ecosystem-foundation__link { color: #0d8f6b; }

.fc-ecosystem-bridge {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fc-ecosystem-bridge__plus {
  position: relative;
  z-index: 1;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #dbe2ec;
  border-radius: 50%;
  background: #fff;
  color: #3370ff;
  font-size: 24px;
  font-weight: 400;
  box-shadow: 0 8px 24px rgba(31,55,92,.09);
}

.fc-ecosystem-bridge__label {
  position: absolute;
  top: calc(50% + 34px);
  left: 50%;
  width: 90px;
  transform: translateX(-50%);
  color: #8f959e;
  font-size: 12px;
  text-align: center;
}

.fc-ecosystem-landing {
  display: grid;
  grid-template-columns: minmax(280px,.82fr) minmax(0,1.6fr);
  gap: 38px;
  align-items: center;
  margin-top: 18px;
  padding: 32px 34px;
  border-radius: 8px;
  background: linear-gradient(115deg,#245eea 0%,#3370ff 50%,#2c82f6 100%);
  color: #fff;
  box-shadow: 0 16px 42px rgba(36,94,234,.2);
}

.fc-ecosystem-landing__eyebrow {
  margin-bottom: 9px;
  color: rgba(255,255,255,.74);
}

.fc-ecosystem-landing h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.42;
}

.fc-ecosystem-landing p {
  margin: 10px 0 0;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.7;
}

.fc-ecosystem-delivery {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  margin: 0;
  padding: 0;
  border-left: 1px solid rgba(255,255,255,.2);
  list-style: none;
}

.fc-ecosystem-delivery li {
  display: grid;
  min-height: 72px;
  align-content: center;
  gap: 6px;
  padding: 0 14px;
  border-right: 1px solid rgba(255,255,255,.2);
}

.fc-ecosystem-delivery span {
  color: rgba(255,255,255,.55);
  font-size: 12px;
  letter-spacing: .08em;
}

.fc-ecosystem-delivery strong {
  font-size: 14px;
  font-weight: 600;
}

.fc-ecosystem-destinations {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-top: 18px;
  border-top: 1px solid #e3e8f0;
  border-left: 1px solid #e3e8f0;
  background: #fff;
}

.fc-ecosystem-destination {
  display: grid;
  min-height: 108px;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 20px;
  border-right: 1px solid #e3e8f0;
  border-bottom: 1px solid #e3e8f0;
  color: #1f2329 !important;
  text-decoration: none !important;
  transition: background 170ms ease, color 170ms ease;
}

.fc-ecosystem-destination > span:first-child {
  color: #a3a9b2;
  font-size: 12px;
}

.fc-ecosystem-destination__copy {
  display: grid;
  gap: 5px;
}

.fc-ecosystem-destination__copy strong { font-size: 16px; }

.fc-ecosystem-destination__copy small {
  color: #8f959e;
  font-size: 12px;
}

.fc-ecosystem-destination > b {
  color: #3370ff;
  font-size: 17px;
}

.fc-ecosystem-destination:hover { background: #f5f8ff; }

.fc-customer-success-section {
  background: #fff;
}

.fc-customer-success-section .fc-mix-head {
  display: block;
  max-width: 820px;
  margin: 0 auto 48px;
  text-align: center;
}

@media (min-width: 901px) {
  .fc-customer-success-section .fc-mix-head {
    max-width: 1040px;
  }

  .fc-customer-success-section .fc-mix-title {
    max-width: none;
    white-space: nowrap;
  }
}

.fc-customer-success-section .fc-mix-eyebrow {
  justify-content: center;
}

.fc-success-matrix {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);
  gap: 16px;
  align-items: stretch;
}

.fc-success-tall-card,
.fc-success-compact-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #e7ebf2;
  border-radius: 8px;
  color: #1f2329 !important;
  text-decoration: none !important;
  transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.fc-success-tall-card:hover,
.fc-success-compact-card:hover {
  border-color: rgba(51,112,255,.28);
  box-shadow: 0 12px 30px rgba(31,55,92,.09);
  transform: translateY(-3px);
}

.fc-success-tall-card {
  display: block;
  min-height: 520px;
  padding: 28px;
}

.fc-success-tall-card--advisor {
  background: #eef8ff;
}
.fc-success-tall-card--advisor::before {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  height: 154px;
  border-bottom: 0;
  background: #ebf1ff;
  content: "";
  pointer-events: none;
}


.fc-success-tall-card--response {
  background: #f5f3ff;
}

.fc-success-fde-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.fc-success-card-icon {
  position: absolute;
  top: 26px;
  right: 26px;
  z-index: 3;
  display: block;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}

.fc-success-tall-card h3,
.fc-success-compact-card h3 {
  margin: 0;
  padding-right: 56px;
  color: #1f2329;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.36;
}

.fc-success-tall-card--response > h3 {
  white-space: nowrap;
}

.fc-success-tall-card > h3,
.fc-success-tall-card > p {
  position: relative;
  z-index: 2;
}

.fc-success-tall-card > p {
  max-width: 220px;
  margin: 14px 0 0;
  color: #4e5969;
  font-size: 15px;
  line-height: 1.68;
}

.fc-success-advisor-image,
.fc-success-response-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  object-fit: cover;
  object-position: center bottom;
}

.fc-success-card-arrow {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  color: #2468e5;
  font-size: 13px;
  font-weight: 600;
}

.fc-success-tall-card > .fc-success-card-arrow {
  position: absolute;
  bottom: 24px;
  left: 28px;
  padding: 8px 11px;
  border: 1px solid rgba(51,112,255,.12);
  border-radius: 6px;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
}

.fc-success-compact-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}

.fc-success-compact-card {
  display: flex;
  min-height: 252px;
  flex-direction: column;
  padding: 27px;
  background: #f6f8fb;
}

.fc-success-compact-card--cyan {
  background: #effaff;
}

.fc-success-compact-card--blue {
  background: #f3f6ff;
}

.fc-success-compact-card--violet {
  background: #f8f5ff;
}

.fc-success-compact-card--orange {
  background: #fff7ef;
}

.fc-success-compact-card--cyan .fc-success-card-icon {
  color: #00a7c8;
}

.fc-success-compact-card--violet .fc-success-card-icon {
  color: #7357ff;
}

.fc-success-compact-card--orange .fc-success-card-icon {
  color: #f07c3e;
}

.fc-success-compact-card > p {
  margin: auto 0 0;
  color: #4e5969;
  font-size: 15px;
  line-height: 1.66;
  white-space: pre-line;
}

.fc-success-compact-card > .fc-success-card-arrow {
  margin-top: 13px;
}

.fc-success-tall-card:focus-visible,
.fc-success-compact-card:focus-visible {
  outline: 3px solid rgba(51,112,255,.34);
  outline-offset: 3px;
}

@media (max-width: 1040px) {
  .fc-success-matrix {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .fc-success-compact-grid {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .fc-customer-success-section .fc-mix-head {
    margin-bottom: 30px;
  }

  .fc-success-matrix,
  .fc-success-compact-grid {
    grid-template-columns: minmax(0,1fr);
  }

  .fc-success-compact-grid {
    grid-column: auto;
  }

  .fc-success-tall-card {
    min-height: 480px;
    padding: 24px;
  }

  .fc-success-tall-card > .fc-success-card-arrow {
    left: 24px;
  }

  .fc-success-compact-card {
    min-height: 205px;
    padding: 24px;
  }

  .fc-success-card-icon {
    top: 22px;
    right: 22px;
  }

  .fc-success-fde-image { object-position: center; }
}

.fc-proof-section {
  background: #edf3ff;
}

.fc-proof-section .fc-mix-head {
  grid-template-columns: minmax(0,1fr) minmax(250px,360px) auto;
  gap: 32px;
}

.fc-story-controls {
  display: flex;
  align-self: end;
  gap: 9px;
}

.fc-story-button {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  place-items: center;
  border: 1px solid #c8d2e2;
  border-radius: 50%;
  background: #fff;
  color: #1f2329;
  font: inherit;
  font-size: 18px;
  cursor: pointer;
}

.fc-story-button:hover {
  border-color: #3370ff;
  color: #245bdb;
}

.fc-story-rail {
  display: grid;
  grid-auto-columns: calc((100% - 32px) / 3);
  grid-auto-flow: column;
  gap: 16px;
  padding: 2px 0 10px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.fc-story-rail::-webkit-scrollbar { display: none; }

.fc-proof-card {
  display: flex;
  min-height: 292px;
  flex-direction: column;
  padding: 27px;
  border: 1px solid rgba(83,111,157,.12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(37,71,128,.07);
  color: #1f2329 !important;
  text-decoration: none !important;
  scroll-snap-align: start;
}

.fc-proof-card blockquote {
  display: -webkit-box;
  max-height: calc(5 * 1.72em);
  margin: 0;
  overflow: hidden;
  color: #5f6673;
  font-size: 15px;
  line-height: 1.72;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.fc-proof-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 26px;
}

.fc-proof-author {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.fc-proof-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #eaf1ff;
  color: #2468e5;
  font-size: 15px;
  font-weight: 700;
}

.fc-proof-author__copy {
  display: block;
  min-width: 0;
}

.fc-proof-author__copy strong,
.fc-proof-author__copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fc-proof-author__copy strong {
  font-size: 14px;
  line-height: 1.4;
}

.fc-proof-author__copy small {
  max-width: 150px;
  margin-top: 3px;
  color: #8a9099;
  font-size: 12px;
}

.fc-proof-logo {
  display: flex;
  width: 96px;
  height: 38px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
}

.fc-proof-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 34px;
  object-fit: contain;
}

.fc-proof-logo b {
  color: #30343a;
  font-size: 14px;
  font-weight: 700;
}

.fc-brand-section {
  padding-bottom: 78px;
  background: #fff;
}

.fc-brand-grid {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 12px;
}

.fc-brand-card {
  display: flex;
  min-width: 0;
  height: 66px;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  overflow: hidden;
  border: 1px solid #e9edf3;
  border-radius: 7px;
  background: #fff;
}

.fc-brand-card img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 36px;
  object-fit: contain;
}

.fc-brand-card--invert img {
  filter: invert(1);
}

.fc-brand-note {
  margin: 20px 0 0;
  color: #a2a8b1;
  font-size: 12px;
  letter-spacing: .08em;
  text-align: center;
}

.fc-business-tab:focus-visible,
.fc-delivery-tab:focus-visible,
.fc-story-button:focus-visible,
.fc-mix-head__action:focus-visible,
.fc-mix-inline-link:focus-visible,
.fc-solution-card:focus-visible,
.fc-result-card:focus-visible,
.fc-support-card:focus-visible,
.fc-proof-card:focus-visible {
  outline: 3px solid rgba(51,112,255,.35);
  outline-offset: 3px;
}

@media (max-width: 1040px) {
  .fc-mix-head {
    grid-template-columns: minmax(0,1fr);
    gap: 16px;
    align-items: start;
  }

  .fc-mix-head__side {
    max-width: 720px;
  }

  .fc-business-panel {
    grid-template-columns: minmax(0,.9fr) minmax(380px,1.1fr);
    gap: 32px;
    padding: 38px;
  }

  .fc-business-panel__copy h3,
  .fc-delivery-panel__copy h3 {
    font-size: 28px;
  }

  .fc-solution-rail {
    grid-auto-columns: minmax(320px,calc(44 * var(--fc-layout-vw, 1vw)));
  }

  .fc-proof-section .fc-mix-head {
    grid-template-columns: minmax(0,1fr) auto;
  }

  .fc-proof-section .fc-mix-head__side {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .fc-story-controls {
    grid-column: 2;
    grid-row: 1;
  }

  .fc-story-rail {
    grid-auto-columns: calc((100% - 16px) / 2);
  }

  .fc-brand-grid {
    grid-template-columns: repeat(6,minmax(0,1fr));
  }
}

@media (max-width: 780px) {
  .fc-business-tabs {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .fc-business-tabs::-webkit-scrollbar { display: none; }

  .fc-business-tab {
    min-width: 142px;
    flex: 1 0 auto;
  }

  .fc-business-panel {
    grid-template-columns: minmax(0,1fr);
  }

  .fc-result-grid {
    grid-template-columns: none;
    grid-auto-columns: minmax(300px,calc(75 * var(--fc-layout-vw, 1vw)));
    grid-auto-flow: column;
    gap: 14px;
    padding-bottom: 14px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .fc-result-card {
    scroll-snap-align: start;
  }

  .fc-delivery {
    grid-template-columns: minmax(0,1fr);
  }

  .fc-delivery-tabs {
    display: grid;
    grid-template-columns: repeat(4,minmax(150px,1fr));
    overflow-x: auto;
    scrollbar-width: none;
  }

  .fc-delivery-tabs::-webkit-scrollbar { display: none; }

  .fc-delivery-tab {
    grid-template-columns: 36px minmax(0,1fr);
  }

  .fc-support-grid {
    grid-template-columns: minmax(0,1fr);
  }

  .fc-support-card {
    min-height: 220px;
  }

  .fc-story-rail {
    grid-auto-columns: minmax(300px,calc(78 * var(--fc-layout-vw, 1vw)));
  }

  .fc-brand-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }
}

@media (max-width: 620px) {
  #fc-home-overview-frame {
    margin-left: 0;
  }

  .fc-mix-section {
    padding: 60px 0 64px;
  }

  .fc-mix-shell {
    width: calc(100% - 40px);
  }

  .fc-mix-head {
    gap: 13px;
    margin-bottom: 27px;
  }

  .fc-mix-eyebrow {
    margin-bottom: 10px;
    font-size: 13px;
  }

  .fc-mix-title {
    font-size: 30px;
    line-height: 1.33;
  }

  .fc-mix-lead {
    font-size: 15px;
    line-height: 1.7;
  }

  .fc-business-tabs {
    margin-right: -20px;
    padding-right: 20px;
    border-right: 0;
    border-radius: 8px 0 0 8px;
  }

  .fc-business-tab {
    min-width: 132px;
    min-height: 43px;
    padding: 9px 12px;
    font-size: 14px;
  }

  .fc-business-panel {
    gap: 26px;
    margin-top: 19px;
    padding: 28px 21px 21px;
  }

  .fc-business-panel__copy h3,
  .fc-delivery-panel__copy h3 {
    font-size: 25px;
  }

  .fc-business-panel__desc,
  .fc-delivery-panel__desc {
    font-size: 15px;
    line-height: 1.7;
  }

  .fc-mix-ui {
    min-height: 250px;
    padding: 16px 10px;
  }

  .fc-mix-ui__top {
    grid-template-columns: 44px minmax(0,1fr) auto;
    min-height: 44px;
    padding: 0 11px;
  }

  .fc-mix-ui__top strong { font-size: 12px; }

  .fc-mix-ui__metric {
    margin: 11px 11px 6px;
    padding: 11px;
  }

  .fc-mix-ui__metric strong { font-size: 18px; }

  .fc-mix-ui__rows { padding: 0 11px 8px; }
  .fc-mix-ui__row { min-height: 37px; }

  .fc-solution-rail {
    grid-auto-columns: minmax(274px,calc(84 * var(--fc-layout-vw, 1vw)));
    margin-right: -20px;
    padding-right: 20px;
  }

  .fc-solution-card {
    min-height: 300px;
    padding: 24px;
  }

  .fc-result-grid {
    grid-auto-columns: minmax(276px,calc(84 * var(--fc-layout-vw, 1vw)));
    margin-right: -20px;
    padding-right: 20px;
  }

  .fc-result-card {
    min-height: 330px;
    padding: 24px;
  }

  .fc-delivery-tabs {
    margin-right: -20px;
    padding-right: 20px;
  }

  .fc-delivery-panel {
    grid-template-columns: minmax(0,1fr);
    gap: 27px;
    min-height: 0;
    padding: 28px 22px;
  }

  .fc-delivery-output {
    padding: 22px;
  }

  .fc-support-card {
    min-height: 210px;
    padding: 24px;
  }

  .fc-proof-section .fc-mix-head {
    grid-template-columns: minmax(0,1fr) auto;
  }

  .fc-proof-section .fc-mix-head__side {
    grid-column: 1 / -1;
  }

  .fc-story-button {
    width: 38px;
    height: 38px;
  }

  .fc-story-rail {
    grid-auto-columns: minmax(278px,calc(86 * var(--fc-layout-vw, 1vw)));
    margin-right: -20px;
    padding-right: 20px;
  }

  .fc-proof-card {
    min-height: 278px;
    padding: 23px;
  }

  .fc-proof-card__footer {
    gap: 9px;
  }

  .fc-proof-logo {
    width: 74px;
  }

  .fc-proof-author__copy small {
    max-width: 115px;
  }

  .fc-brand-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 9px;
  }

  .fc-brand-card {
    height: 58px;
    padding: 10px 9px;
  }

  .fc-brand-card img {
    max-height: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fc-business-tab,
  .fc-mix-head__action span,
  .fc-mix-inline-link span,
  .fc-solution-card,
  .fc-result-card,
  .fc-support-card {
    transition: none;
  }

  .fc-story-rail {
    scroll-behavior: auto;
  }
}


/* Homepage product capability showcase: a four-card expanding stage using Feichuang-owned content and assets. */
.fc-business-section .fc-mix-head {
  display: block;
  max-width: 780px;
  margin: 0 auto 54px;
  text-align: center;
}

.fc-business-section .fc-mix-head__copy {
  max-width: none;
}

.fc-business-section .fc-mix-eyebrow {
  justify-content: center;
}

.fc-business-section .fc-mix-head__side {
  display: none;
}

.fc-business-showcase {
  display: flex;
  height: 500px;
  gap: 20px;
}

.fc-business-card {
  --fc-business-position: center;
  position: relative;
  isolation: isolate;
  min-width: 0;
  flex: 1 1 0;
  overflow: hidden;
  border-radius: 24px;
  color: #fff;
  background-color: #101828;
  background-image:
    linear-gradient(180deg, rgba(4, 10, 22, .66) 0%, rgba(6, 13, 28, .42) 44%, rgba(4, 9, 20, .94) 100%),
    var(--fc-business-image);
  background-position: center, var(--fc-business-position);
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 18px 44px rgba(16, 24, 40, .09);
  cursor: pointer;
  outline: none;
  transition:
    flex 420ms cubic-bezier(.2, .75, .2, 1),
    transform 240ms ease,
    box-shadow 240ms ease;
}

.fc-business-card::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    radial-gradient(circle at 20% 10%, rgba(60, 126, 255, .28), transparent 38%),
    linear-gradient(90deg, rgba(5, 10, 22, .34), transparent 72%);
  content: "";
  pointer-events: none;
}

.fc-business-card::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.fc-business-card.is-active {
  flex: 2.15 1 0;
  box-shadow: 0 24px 60px rgba(16, 24, 40, .2);
}

.fc-business-card:hover {
  transform: translateY(-3px);
}

.fc-business-card:focus-visible {
  outline: 3px solid rgba(51, 112, 255, .48);
  outline-offset: 4px;
}

.fc-business-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  box-sizing: border-box;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  padding: 28px 25px 24px;
}

.fc-business-card__badge {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  min-height: 30px;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  color: rgba(255, 255, 255, .96);
  background: rgba(255, 255, 255, .18);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  backdrop-filter: blur(12px);
}

.fc-business-card h3 {
  margin: 18px 0 0;
  color: #fff;
  font-size: 29px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.02em;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .28);
  transition: font-size 320ms ease;
}

.fc-business-card.is-active h3 {
  font-size: 37px;
}

.fc-business-card__summary {
  max-width: 480px;
  margin: 9px 0 0;
  color: rgba(255, 255, 255, .9);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  transition: opacity 180ms ease, transform 260ms ease, visibility 0s linear 0s;
}

.fc-business-card__details {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  transition: opacity 180ms ease, transform 280ms ease, visibility 0s linear 0s;
}

.fc-business-card:not(.is-active) .fc-business-card__summary,
.fc-business-card:not(.is-active) .fc-business-card__details {
  visibility: hidden;
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity 120ms ease, transform 180ms ease, visibility 0s linear 180ms;
}

.fc-business-card__details .fc-mix-points {
  gap: 8px;
  margin-top: 20px;
}

.fc-business-card__details .fc-mix-points li {
  color: rgba(255, 255, 255, .96);
  font-size: 14px;
  font-weight: 500;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .24);
}

.fc-business-card__details .fc-mix-points i {
  background: rgba(255, 255, 255, .16);
  color: #fff;
  backdrop-filter: blur(8px);
}

.fc-business-card__proof {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: auto 0 15px;
  color: rgba(255, 255, 255, .94);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.fc-business-card__proof i {
  display: grid;
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(83, 164, 255, .9);
  border-radius: 50%;
  color: #6cb6ff;
  font-size: 12px;
  font-style: normal;
}

.fc-business-card__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.fc-business-card__button {
  display: inline-flex;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 7px;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.fc-business-card__button span {
  transition: transform 160ms ease;
}

.fc-business-card__button:hover span {
  transform: translateX(3px);
}

.fc-business-card__button--primary {
  border-color: transparent;
  background: linear-gradient(100deg, #4384ff 0%, #5965f2 100%);
  box-shadow: 0 12px 24px rgba(32, 91, 225, .28);
}

.fc-business-card__button--secondary {
  background: rgba(10, 15, 25, .18);
  backdrop-filter: blur(12px);
}

.fc-business-card__button:hover {
  border-color: #fff;
  background-color: rgba(255, 255, 255, .12);
  transform: translateY(-1px);
}

@media (max-width: 1180px) {
  .fc-business-showcase {
    height: 470px;
    gap: 14px;
  }

  .fc-business-card.is-active {
    flex-grow: 1.9;
  }

  .fc-business-card__content {
    padding: 25px 21px 21px;
  }

  .fc-business-card h3 {
    font-size: 26px;
  }

  .fc-business-card.is-active h3 {
    font-size: 33px;
  }
}

@media (max-width: 780px) {
  .fc-business-section .fc-mix-head {
    margin-bottom: 32px;
  }

  .fc-business-showcase {
    display: grid;
    width: auto;
    height: auto;
    grid-auto-columns: minmax(310px, calc(82 * var(--fc-layout-vw, 1vw)));
    grid-auto-flow: column;
    gap: 14px;
    margin-right: -20px;
    padding: 4px 20px 14px 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .fc-business-showcase::-webkit-scrollbar {
    display: none;
  }

  .fc-business-card,
  .fc-business-card.is-active {
    width: auto;
    height: 480px;
    flex: none;
    scroll-snap-align: start;
  }

  .fc-business-card:hover {
    transform: none;
  }

  .fc-business-card h3,
  .fc-business-card.is-active h3 {
    font-size: 29px;
  }

  .fc-business-card:not(.is-active) .fc-business-card__summary,
  .fc-business-card:not(.is-active) .fc-business-card__details {
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}

@media (max-width: 620px) {
  .fc-business-section .fc-mix-head {
    margin-bottom: 27px;
  }

  .fc-business-showcase {
    grid-auto-columns: minmax(290px, calc(84 * var(--fc-layout-vw, 1vw)));
  }

  .fc-business-card,
  .fc-business-card.is-active {
    height: 470px;
    border-radius: 19px;
  }

  .fc-business-card__content {
    padding: 23px 19px 19px;
  }

  .fc-business-card__badge {
    min-height: 28px;
    padding: 4px 10px;
    font-size: 12px;
  }

  .fc-business-card h3,
  .fc-business-card.is-active h3 {
    margin-top: 15px;
    font-size: 27px;
  }

  .fc-business-card__summary {
    font-size: 14px;
    line-height: 1.55;
  }

  .fc-business-card__details .fc-mix-points {
    gap: 6px;
    margin-top: 15px;
  }

  .fc-business-card__details .fc-mix-points li,
  .fc-business-card__proof {
    font-size: 13px;
  }

  .fc-business-card__actions {
    gap: 8px;
  }

  .fc-business-card__button {
    min-height: 42px;
    padding: 9px 8px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fc-business-card,
  .fc-business-card h3,
  .fc-business-card__summary,
  .fc-business-card__details,
  .fc-business-card__button,
  .fc-business-card__button span {
    transition: none;
  }
}

@media (max-width: 1040px) {
  .fc-ecosystem-foundations { grid-template-columns: minmax(0,1fr) 56px minmax(0,1fr); }
  .fc-ecosystem-capabilities { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fc-ecosystem-landing { grid-template-columns: minmax(0,1fr); }
  .fc-ecosystem-delivery { border-top: 1px solid rgba(255,255,255,.2); }
}

@media (max-width: 700px) {
  .fc-ecosystem-section .fc-mix-head { margin-bottom: 34px; }
  .fc-ecosystem-foundations { grid-template-columns: minmax(0,1fr); }
  .fc-ecosystem-foundation { min-height: 0; padding: 26px 22px; }
  .fc-ecosystem-foundation h3 { font-size: 26px; }
  .fc-ecosystem-bridge { min-height: 70px; }
  .fc-ecosystem-bridge__label { top: calc(50% + 24px); }
  .fc-ecosystem-landing { gap: 26px; padding: 26px 22px; }
  .fc-ecosystem-delivery {
    grid-template-columns: repeat(2,minmax(0,1fr));
    border-bottom: 1px solid rgba(255,255,255,.2);
  }
  .fc-ecosystem-delivery li {
    min-height: 66px;
    border-top: 1px solid rgba(255,255,255,.2);
  }
  .fc-ecosystem-delivery li:last-child { grid-column: 1 / -1; }
  .fc-ecosystem-destinations { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fc-ecosystem-destination { min-height: 116px; grid-template-columns: auto 1fr; }
  .fc-ecosystem-destination > b { display: none; }
}



/* Homepage harmony layer: ecosystem and customer success share one restrained card system. */
.fc-ecosystem-foundation,
.fc-ecosystem-landing,
.fc-ecosystem-destinations,
.fc-success-tall-card,
.fc-success-compact-card {
  border-color: #dfe6f1;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(34, 64, 112, .065);
}

.fc-ecosystem-foundation,
.fc-success-tall-card,
.fc-success-compact-card {
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.fc-ecosystem-foundation:hover,
.fc-success-tall-card:hover,
.fc-success-compact-card:hover {
  border-color: rgba(51, 112, 255, .25);
  box-shadow: 0 18px 42px rgba(34, 64, 112, .105);
}

.fc-ecosystem-foundation {
  border-top-width: 1px;
  background: #fff;
}

.fc-ecosystem-foundation::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  border-radius: 16px 16px 0 0;
  background: #3370ff;
  content: "";
}

.fc-ecosystem-foundation--volcano::before { background: #18a67e; }
.fc-ecosystem-bridge__plus { box-shadow: 0 8px 22px rgba(34, 64, 112, .08); }

.fc-ecosystem-landing {
  border: 1px solid #dfe6f1;
  background: linear-gradient(115deg, #eef4ff 0%, #f3f6ff 55%, #eef9f7 100%);
  color: #1f2329;
  box-shadow: 0 12px 32px rgba(34, 64, 112, .065);
}

.fc-ecosystem-landing__eyebrow { color: #2468e5; }
.fc-ecosystem-landing p { color: #646a73; }
.fc-ecosystem-delivery { border-left-color: #d7e0ee; }
.fc-ecosystem-delivery li { border-right-color: #d7e0ee; }
.fc-ecosystem-delivery span { color: #8f98a7; }
.fc-ecosystem-delivery strong { color: #27313f; }

.fc-ecosystem-destinations {
  overflow: hidden;
  border: 1px solid #dfe6f1;
  background: #fff;
}

.fc-ecosystem-destination {
  border-top: 0;
  border-bottom: 0;
  border-color: #e4e9f2;
  background: #fff;
}

.fc-ecosystem-destination:last-child { border-right: 0; }

.fc-customer-success-section { background: #fbfcff; }

.fc-success-tall-card,
.fc-success-compact-card { background: #f4f7fc; }

.fc-success-tall-card--advisor,
.fc-success-tall-card--advisor::before { background: #ebf1ff; }
.fc-success-tall-card--response { background: #f1f0fb; }

.fc-success-compact-card--cyan,
.fc-success-compact-card--blue,
.fc-success-compact-card--violet,
.fc-success-compact-card--orange { background: #f4f7fc; }

.fc-success-card-arrow,
.fc-ecosystem-foundation__link {
  color: #2468e5;
  font-weight: 600;
}

.fc-ecosystem-foundation--volcano .fc-ecosystem-foundation__link { color: #0d8f6b; }
.fc-success-tall-card > .fc-success-card-arrow { border-radius: 8px; }

@media (max-width: 700px) {
  .fc-ecosystem-delivery,
  .fc-ecosystem-delivery li { border-color: #d7e0ee; }
}


/* Ecosystem cards pair capability copy with a real product interface. */
.fc-ecosystem-foundation {
  min-height: 600px;
  padding-bottom: 24px;
}

.fc-ecosystem-foundation__link {
  margin-top: 22px;
  padding-top: 0;
}

.fc-ecosystem-foundation__visual {
  position: relative;
  display: block;
  height: 260px;
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid #e1e7f0;
  border-radius: 10px;
  background: #f4f7fc;
}

.fc-ecosystem-foundation__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform 260ms ease;
}

.fc-ecosystem-foundation--feishu .fc-ecosystem-foundation__visual {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fc-ecosystem-foundation--volcano .fc-ecosystem-foundation__visual {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.fc-ecosystem-foundation--volcano .fc-ecosystem-foundation__visual img {
  object-fit: contain;
  object-position: center;
}

.fc-ecosystem-foundation--volcano .fc-ecosystem-foundation__visual-mark {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.fc-ecosystem-foundation:hover .fc-ecosystem-foundation__visual img { transform: scale(1.018); }

@media (max-width: 700px) {
  .fc-ecosystem-foundation { min-height: 0; padding: 26px 22px 22px; }
  .fc-ecosystem-foundation__visual { height: 210px; }
}

@media (prefers-reduced-motion: reduce) {
  .fc-ecosystem-foundation__visual img { transition: none; }
}


/* Legacy page typography and mobile canvas normalization. */
.fc-legacy-typography-page [data-fc-promoted-heading="true"] {
  box-sizing: border-box;
  font-family: var(--fc-font) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}

@media (max-width: 768px) {
  body.fc-legacy-typography-page {
    overflow-x: clip !important;
  }

  body.fc-legacy-typography-page .webBannerTable,
  body.fc-legacy-typography-page #webBanner,
  body.fc-legacy-typography-page #webBanner .bannerTable,
  body.fc-legacy-typography-page #webBanner .bannerCenter,
  body.fc-legacy-typography-page #bannerV2,
  body.fc-legacy-typography-page #bannerV2 .switchGroup,
  body.fc-legacy-typography-page #bannerV2 .J_billboardItem,
  body.fc-legacy-typography-page #bannerV2 .J_bannerItem {
    box-sizing: border-box !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    min-width: 0 !important;
    max-width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    overflow: hidden !important;
  }

  body.fc-legacy-typography-page #bannerV2 .fk-inBannerListZone,
  body.fc-legacy-typography-page #bannerV2 .fk-inBannerListZone-tmp {
    left: 0 !important;
    box-sizing: border-box !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    min-width: 0 !important;
    margin-left: 0 !important;
  }

  body.fc-legacy-typography-page #bannerV2 .J_bannerItem {
    background-position: 62% 50% !important;
  }

  body.fc-page-feichuangcrm .webBannerTable,
  body.fc-page-feichuangcrm #webBanner,
  body.fc-page-feichuangcrm #bannerV2,
  body.fc-page-feichuangcrm #bannerV2 .switchGroup,
  body.fc-page-feichuangcrm #bannerV2 .J_billboardItem,
  body.fc-page-feichuangcrm #bannerV2 .J_bannerItem {
    height: 560px !important;
  }

  body.fc-page-feichuangcrm #module2867 {
    top: 104px !important;
    left: 20px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px) !important;
  }

  body.fc-page-feichuangcrm #module2867 .fk-editor,
  body.fc-page-feichuangcrm #module2867 .fk-editor * {
    font-size: 34px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.fc-page-feichuangcrm #module4926 {
    top: 270px !important;
    left: 20px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px) !important;
  }

  body.fc-page-feichuangcrm #module4926 .fk-editor,
  body.fc-page-feichuangcrm #module4926 .fk-editor * {
    font-size: 16px !important;
    line-height: 1.7 !important;
    white-space: normal !important;
  }

  body.fc-page-feichuangcrm #module2868 {
    top: 392px !important;
    left: 20px !important;
  }

  body.fc-page-fckehu360 .webBannerTable,
  body.fc-page-fckehu360 #webBanner,
  body.fc-page-fckehu360 #bannerV2,
  body.fc-page-fckehu360 #bannerV2 .switchGroup,
  body.fc-page-fckehu360 #bannerV2 .J_billboardItem,
  body.fc-page-fckehu360 #bannerV2 .J_bannerItem,
  body.fc-page-industry-solutions .webBannerTable,
  body.fc-page-industry-solutions #webBanner,
  body.fc-page-industry-solutions #bannerV2,
  body.fc-page-industry-solutions #bannerV2 .switchGroup,
  body.fc-page-industry-solutions #bannerV2 .J_billboardItem,
  body.fc-page-industry-solutions #bannerV2 .J_bannerItem {
    height: 520px !important;
  }

  body.fc-page-fckehu360 #module3132,
  body.fc-page-industry-solutions #module2032 {
    top: 98px !important;
    left: 20px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px) !important;
  }

  body.fc-page-fckehu360 #module3132 .fk-editor,
  body.fc-page-fckehu360 #module3132 .fk-editor *,
  body.fc-page-industry-solutions #module2032 .fk-editor,
  body.fc-page-industry-solutions #module2032 .fk-editor * {
    font-size: 34px !important;
    line-height: 1.28 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.fc-page-fckehu360 #module3400,
  body.fc-page-industry-solutions #module2033 {
    top: 228px !important;
    left: 20px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px) !important;
  }

  body.fc-page-fckehu360 #module3400 .fk-editor,
  body.fc-page-fckehu360 #module3400 .fk-editor *,
  body.fc-page-industry-solutions #module2033 .fk-editor,
  body.fc-page-industry-solutions #module2033 .fk-editor * {
    font-size: 17px !important;
    line-height: 1.68 !important;
    white-space: normal !important;
  }

  body.fc-page-fckehu360 #module3133,
  body.fc-page-industry-solutions #module2034 {
    top: 380px !important;
    left: 20px !important;
  }

  body.fc-page-fckehu360 #module3962 {
    display: none !important;
  }

  body.fc-page-customers.fc-legacy-typography-page #module5519,
  body.fc-page-customers.fc-legacy-typography-page #module6596,
  body.fc-page-customers.fc-legacy-typography-page #module5634 {
    left: 20px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px) !important;
  }

  body.fc-page-customers.fc-legacy-typography-page #module5519 .fk-editor,
  body.fc-page-customers.fc-legacy-typography-page #module5519 .fk-editor *,
  body.fc-page-customers.fc-legacy-typography-page #module6596 .fk-editor,
  body.fc-page-customers.fc-legacy-typography-page #module6596 .fk-editor *,
  body.fc-page-customers.fc-legacy-typography-page #module5634 .fk-editor,
  body.fc-page-customers.fc-legacy-typography-page #module5634 .fk-editor * {
    font-size: 32px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.fc-page-customers.fc-legacy-typography-page #module5524 .fk-editor,
  body.fc-page-customers.fc-legacy-typography-page #module5524 .fk-editor *,
  body.fc-page-customers.fc-legacy-typography-page #module5527 .fk-editor,
  body.fc-page-customers.fc-legacy-typography-page #module5527 .fk-editor *,
  body.fc-page-customers.fc-legacy-typography-page #module5639 .fk-editor,
  body.fc-page-customers.fc-legacy-typography-page #module5639 .fk-editor *,
  body.fc-page-customers.fc-legacy-typography-page #module5642 .fk-editor,
  body.fc-page-customers.fc-legacy-typography-page #module5642 .fk-editor * {
    font-size: 28px !important;
    line-height: 1.35 !important;
  }
}


/* Final mobile overflow containment for legacy builder canvases. */
@media (max-width: 768px) {
  body.fc-page-home #web,
  body.fc-page-solutions #web,
  body.fc-legacy-typography-page #web,
  body.fc-page-xunjian-html #web {
    box-sizing: border-box !important;
    width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    min-width: 0 !important;
    max-width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
    overflow-x: hidden !important;
  }

  body.fc-page-xunjian-html .webBannerTable {
    display: none !important;
  }

  body.fc-page-xunjian-html #webContainerTable,
  body.fc-page-xunjian-html #webContainer,
  body.fc-page-xunjian-html .webContentTable,
  body.fc-page-xunjian-html .webContent,
  body.fc-page-xunjian-html .newsDetail,
  body.fc-page-xunjian-html .richContent {
    position: relative !important;
    left: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.fc-page-xunjian-html .newsDetail {
    padding: 42px 20px 68px !important;
  }

  body.fc-page-xunjian-html .newsDetail h1.title {
    margin: 0 !important;
    color: var(--fc-ink) !important;
    font-family: var(--fc-font) !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    letter-spacing: -0.015em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.fc-page-xunjian-html .newsDetail .newsInfo,
  body.fc-page-xunjian-html .newsDetail .newsInfo * {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  body.fc-page-xunjian-html .newsDetail .richContent,
  body.fc-page-xunjian-html .newsDetail .richContent p,
  body.fc-page-xunjian-html .newsDetail .richContent span,
  body.fc-page-xunjian-html .newsDetail .richContent div {
    box-sizing: border-box !important;
    max-width: 100% !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.fc-page-xunjian-html .newsDetail .richContent img,
  body.fc-page-xunjian-html .newsDetail .richContent video,
  body.fc-page-xunjian-html .newsDetail .richContent iframe,
  body.fc-page-xunjian-html .newsDetail .richContent table {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* Homepage destination icon sizing. */
.fc-ecosystem-destination {
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
}

.fc-ecosystem-destination__icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
}

.fc-ecosystem-destination__icon img {
  display: block;
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  object-fit: contain;
}

@media (max-width: 700px) {
  .fc-ecosystem-destination {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
  }

  .fc-ecosystem-destination__icon {
    width: 32px;
    height: 32px;
  }

  .fc-ecosystem-destination__icon img {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
  }
}

/* Keep homepage full-width sections inside the layout viewport on mobile.
 * 100vw includes the vertical scrollbar, which leaves every carousel slide
 * visually flush against the scrollbar instead of preserving the side gutter. */
@media (max-width: 768px) {
  body.fc-page-home #web {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.fc-page-home #fc-home-overview-frame,
  body.fc-page-home.fc-home-overview-ready #module6470,
  body.fc-page-home.fc-home-overview-ready #module1416 {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Homepage delivery process line. */
.fc-ecosystem-delivery {
  position: relative;
  border: 0;
}

.fc-ecosystem-delivery::before {
  position: absolute;
  z-index: 0;
  top: 21px;
  right: 10%;
  left: 10%;
  height: 1px;
  background: linear-gradient(90deg, rgba(51, 112, 255, .32), rgba(24, 166, 126, .32));
  content: "";
}

.fc-ecosystem-delivery li {
  position: relative;
  z-index: 1;
  min-height: 72px;
  justify-items: center;
  gap: 10px;
  border: 0;
  text-align: center;
}

.fc-ecosystem-delivery__dot {
  display: block;
  width: 10px;
  height: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #3370ff;
  box-shadow: 0 0 0 4px rgba(51, 112, 255, .11);
}

.fc-ecosystem-delivery li:nth-child(2) .fc-ecosystem-delivery__dot { background: #5a78ee; }
.fc-ecosystem-delivery li:nth-child(3) .fc-ecosystem-delivery__dot { background: #3f8fca; }
.fc-ecosystem-delivery li:nth-child(4) .fc-ecosystem-delivery__dot { background: #28a594; }
.fc-ecosystem-delivery li:nth-child(5) .fc-ecosystem-delivery__dot { background: #18a67e; }

@media (max-width: 700px) {
  .fc-ecosystem-delivery {
    gap: 10px;
    border: 0;
  }

  .fc-ecosystem-delivery::before { display: none; }

  .fc-ecosystem-delivery li {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    padding: 11px 12px;
    border: 1px solid #d7e0ee;
    border-radius: 8px;
    background: rgba(255, 255, 255, .62);
    text-align: left;
  }

  .fc-ecosystem-delivery__dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border: 0;
    box-shadow: 0 0 0 3px rgba(51, 112, 255, .1);
  }
}



/* Homepage final consistency and responsive refinements (2026-07-30). */
.fc-ecosystem-delivery {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fc-home-logo-more {
  display: table;
  margin: 14px auto 0;
  color: #2468e5 !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none !important;
}

.fc-home-logo-more:hover {
  color: #1456f0 !important;
}

body.fc-page-home #module6470,
body.fc-page-home #module6470 .fullmeasureOuterContentPage1,
body.fc-page-home #module6470 .fullmeasureOuterContent6470,
body.fc-page-home #module6470 .fullmeasureContent6470,
body.fc-page-home #fk-inFullmeasureListZone6470-1 {
  height: 520px !important;
}

body.fc-page-home #module1416 {
  height: 650px !important;
}

body.fc-page-home #module1324 {
  position: relative !important;
  width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  min-width: 0 !important;
  height: 250px !important;
  overflow: hidden !important;
}

body.fc-page-home #module1324 .fullmeasureOuterContentBg1324 {
  background-color: #f5f8ff !important;
  background-image: url("../_rebuild/official-assets/feishu-apaas-cta-bg.png") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.fc-page-home #module1324 .fullmeasureOuterContentPage1,
body.fc-page-home #module1324 .fullmeasureOuterContent1324,
body.fc-page-home #module1324 .fullmeasureContent1324,
body.fc-page-home #fk-inFullmeasureListZone1324-1 {
  width: calc(100 * var(--fc-layout-vw, 1vw)) !important;
  min-width: 0 !important;
  height: 250px !important;
}

body.fc-page-home #module1962 {
  position: absolute !important;
  top: 62px !important;
  left: calc(50 * var(--fc-layout-vw, 1vw)) !important;
  box-sizing: border-box !important;
  width: min(866px, calc(calc(100 * var(--fc-layout-vw, 1vw)) - 48px)) !important;
  height: auto !important;
  transform: translateX(-50%) !important;
}

body.fc-page-home #module1962 .fk-editor,
body.fc-page-home #module1962 .fk-editor * {
  color: #1f2329 !important;
  font-size: 32px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body.fc-page-home #module2735 {
  position: absolute !important;
  top: 142px !important;
  left: calc(50 * var(--fc-layout-vw, 1vw)) !important;
  box-sizing: border-box !important;
  width: 164px !important;
  height: 48px !important;
  margin: 0 !important;
  border: 0 !important;
  transform: translateX(-50%) !important;
}

body.fc-page-home #module2735 .lightModuleOuterContent,
body.fc-page-home #module2735 .J_floatBtnBox {
  display: flex !important;
  width: 100% !important;
  height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
}

body.fc-page-home #module2735FlBtn {
  display: inline-flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(114deg, #3e8dff -14.99%, #8563ff 60.83%, #9d7bff 102.53%) !important;
  color: #fff !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(87, 91, 255, 0.22) !important;
}

body.fc-page-home #module2735FlBtn .J_floatBtnText {
  display: block !important;
  height: auto !important;
  color: #fff !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transform: none !important;
}

body.fc-header-viewport-root > #webHeaderTable.webHeaderTable {
  z-index: 10000 !important;
}

body.fc-header-viewport-root > .webNavTable {
  z-index: 10010 !important;
}

@media (max-width: 980px) {
  body.fc-page-home #module1416 {
    height: 790px !important;
  }
}

@media (max-width: 768px) {
  .fc-home-hero__proof {
    display: grid;
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 0;
  }

  .fc-home-hero__proof li {
    justify-content: flex-start;
    padding: 0 10px;
  }

  .fc-home-hero__proof li:nth-child(n + 3) {
    padding-top: 14px;
    border-top: 1px solid rgba(31, 35, 41, .12);
  }

  .fc-home-hero__proof li:nth-child(odd) {
    border-left: 0;
  }

  .fc-home-mix .fc-business-section .fc-mix-title,
  .fc-home-mix .fc-customer-success-section .fc-mix-title {
    word-break: keep-all;
    overflow-wrap: normal;
    letter-spacing: 0;
    text-wrap: balance;
  }

  .fc-ecosystem-delivery li:last-child {
    grid-column: auto;
  }

  body.fc-page-home #module6470,
  body.fc-page-home #module6470 .fullmeasureOuterContentPage1,
  body.fc-page-home #module6470 .fullmeasureOuterContent6470,
  body.fc-page-home #module6470 .fullmeasureContent6470,
  body.fc-page-home #fk-inFullmeasureListZone6470-1 {
    height: 520px !important;
  }

  body.fc-page-home #module1416 {
    height: 600px !important;
  }

  .fc-home-logo-row:nth-child(n + 3) {
    display: none;
  }

  .fc-home-logo-row:nth-child(2) .fc-home-logo-card:nth-child(n + 6) {
    display: none;
  }

  body.fc-page-home #module1324,
  body.fc-page-home #module1324 .fullmeasureOuterContentPage1,
  body.fc-page-home #module1324 .fullmeasureOuterContent1324,
  body.fc-page-home #module1324 .fullmeasureContent1324,
  body.fc-page-home #fk-inFullmeasureListZone1324-1 {
    height: 234px !important;
  }

  body.fc-page-home #module1962 {
    top: 42px !important;
    width: calc(calc(100 * var(--fc-layout-vw, 1vw)) - 36px) !important;
  }

  body.fc-page-home #module1962 .fk-editor,
  body.fc-page-home #module1962 .fk-editor * {
    font-size: 23px !important;
    line-height: 1.5 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  body.fc-page-home #module2735 {
    top: 174px !important;
    width: 156px !important;
  }
}

/* Prevent the legacy 1330px desktop canvas from creating a horizontal bar
 * in common 1280px laptop windows while keeping the full desktop header. */
@media (min-width: 1081px) and (max-width: 1330px) {
  html,
  body.g_body {
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: clip !important;
  }

  #web,
  #webContainer,
  .webContainerBox {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Mobile refinement pass: keep proof items and service cards visually
 * balanced inside the viewport instead of introducing an accidental second
 * row or cropping the artwork at the card edge. */
@media (max-width: 768px) {
  .fc-home-hero__proof {
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0;
    row-gap: 0;
  }

  .fc-home-hero__proof li {
    min-width: 0;
    gap: 6px;
    padding: 0 8px;
  }

  .fc-home-hero__proof li:first-child { padding-left: 0; }

  .fc-home-hero__proof li:nth-child(n + 3) {
    grid-column: auto;
    justify-content: flex-start;
    padding-top: 14px;
    border-top: 1px solid rgba(31, 35, 41, .12);
  }

  .fc-home-hero__proof li:nth-child(odd) { border-left: 0; }
  .fc-home-hero__proof li:nth-child(even) { border-left: 1px solid rgba(31, 35, 41, .12); }

  .fc-home-hero__proof-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }

  .fc-home-hero__proof strong { font-size: 13px; }
  .fc-home-hero__proof span { font-size: 11px; }

  body.fc-page-home #module2735 { top: 144px !important; }
}

@media (max-width: 700px) {
  .fc-ecosystem-bridge { min-height: 96px; }
  .fc-ecosystem-bridge__label { top: calc(50% + 28px); }
}

/* Homepage business carousel. The legacy single hero remains the no-script
 * fallback; these rules apply only after runtime-shim mounts the new section. */
.fc-home-hero {
  --fc-home-carousel-delay: 10000ms;
  height: min(720px, calc(100svh - 60px));
  min-height: 650px;
  max-height: 720px;
  background: #f5f8ff;
}

.fc-home-hero::before,
.fc-home-hero::after {
  display: none !important;
  content: none !important;
}

.fc-home-hero__viewport {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: none;
  touch-action: pan-y;
}

.fc-home-hero__track {
  display: flex;
  width: calc(var(--fc-home-track-count, 5) * 100%);
  height: 100%;
  transform: translate3d(0, 0, 0);
  transition: transform 680ms cubic-bezier(.22, .72, .18, 1);
  will-change: transform;
}

.fc-home-hero__track.is-loop-resetting {
  transition: none;
}

.fc-home-hero__slide {
  position: relative;
  isolation: isolate;
  width: calc(100% / var(--fc-home-track-count, 5));
  height: 100%;
  flex: 0 0 calc(100% / var(--fc-home-track-count, 5));
  overflow: hidden;
  background: #f5f8ff;
}

.fc-home-hero__slide::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  pointer-events: none;
}

.fc-home-hero__slide--brand::before {
  background-image: url("../_rebuild/home-hero-seamless-v5.webp?v=2");
  background-position: center top;
}

.fc-home-hero__slide--feishu {
  background: #f4f7ff;
}

.fc-home-hero__slide--feishu::before {
  background-image: url("../_rebuild/official-assets/feishu-apaas-cta-bg.png");
  opacity: .7;
}

.fc-home-hero__slide--volcengine {
  background: #f2f8ff;
}

.fc-home-hero__slide--volcengine::before {
  background-image:
    radial-gradient(circle at 15% 76%, rgba(83, 161, 255, .13), transparent 34%),
    linear-gradient(90deg, #edf7ff 0%, rgba(240, 248, 255, .97) 32%, rgba(225, 240, 255, .74) 52%, rgba(238, 248, 255, .16) 74%, rgba(239, 249, 255, .04) 100%),
    linear-gradient(0deg, rgba(198, 227, 255, .2), rgba(230, 244, 255, .02)),
    url("../_rebuild/official-assets/volcengine-ai-cloud-hero-source.png");
  background-position: center, center, center, 31% 58%;
  background-size: cover, cover, cover, cover;
}

@media (min-width: 1400px) {
  .fc-home-hero__slide--volcengine::before {
    background-position: center, center, center, 26% 58%;
  }
}

@media (min-width: 1600px) {
  .fc-home-hero__slide--volcengine::before {
    background-position: center, center, center, 18% 58%;
  }
}

@media (min-width: 1750px) {
  .fc-home-hero__slide--volcengine::before {
    background-position: center, center, center, 10% 58%;
  }
}

@media (min-width: 1850px) {
  .fc-home-hero__slide--volcengine::before {
    background-position: center, center, center, -7% 58%;
  }
}

.fc-home-hero__slide--volcengine .fc-home-hero__shell {
  grid-template-columns: minmax(0, 620px);
}

.fc-home-hero__slide--imagin {
  background: #f5f6ff;
}

.fc-home-hero__slide--imagin::before {
  background-image:
    linear-gradient(90deg, rgba(248, 250, 255, .72) 0%, rgba(248, 250, 255, .42) 34%, rgba(248, 250, 255, .08) 58%, transparent 76%),
    url("../_rebuild/official-assets/feishu-docs-hero-bg.png?v=1");
  background-position: center, 50% -60px;
  background-size: cover, 1920px auto;
}

.fc-home-hero__slide--event {
  background: #f5f7ff;
}

/* The market-activity slide uses the supplied real event photo as a wide
 * right-side visual. The light overlay fades it into the copy column so the
 * photo feels embedded in the page instead of sitting inside a hard card. */
.fc-home-hero__slide--event::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: min(1120px, 76%);
  background-image: url("../_rebuild/event-activity-real-web.jpg?v=1");
  background-position: right center;
  background-size: cover;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, .03) 10%,
    rgba(0, 0, 0, .14) 22%,
    rgba(0, 0, 0, .38) 36%,
    rgba(0, 0, 0, .7) 50%,
    #000 68%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, .03) 10%,
    rgba(0, 0, 0, .14) 22%,
    rgba(0, 0, 0, .38) 36%,
    rgba(0, 0, 0, .7) 50%,
    #000 68%
  );
}

.fc-home-hero__slide--event .fc-home-hero__event-stage {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.fc-home-hero__slide--event .fc-home-hero__event-stage::before,
.fc-home-hero__slide--event .fc-home-hero__event-stage > * {
  display: none;
}

.fc-home-hero__shell {
  display: grid;
  width: min(var(--fc-header-shell-width), calc(100% - (var(--fc-header-shell-gutter) * 2)));
  height: 100%;
  margin: 0 auto;
  padding: 54px 0 92px;
  align-items: center;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  gap: 54px;
}

.fc-home-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  min-width: 0;
}

.fc-home-hero__slide--brand .fc-home-hero__content {
  width: min(620px, 100%);
}

.fc-home-hero h1,
.fc-home-hero h2 {
  margin: 0;
  color: var(--fc-ink);
  font-family: var(--fc-font);
  font-size: clamp(44px, calc(3.65 * var(--fc-layout-vw, 1vw)), 58px);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0;
}

.fc-home-hero h1 strong,
.fc-home-hero h2 strong {
  color: var(--fc-brand-strong);
  font: inherit;
}

.fc-home-hero__slide--imagin h2 strong {
  display: inline-block;
  background-image: linear-gradient(90deg, #145ff2 0%, #3d5df4 42%, #7a45e6 72%, #d936d4 100%);
  background-clip: text;
  color: #7a45e6;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.fc-home-hero__lead {
  max-width: 620px;
  margin-top: 22px;
  font-size: 18px;
  line-height: 1.75;
}

.fc-home-hero__actions {
  margin-top: 26px;
}

.fc-home-hero__proof {
  margin-top: 44px;
  padding-top: 22px;
}

.fc-home-hero__proof-icon {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
}

.fc-home-hero__proof-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
  white-space: nowrap;
}

.fc-home-hero__visual {
  position: relative;
  justify-self: end;
  width: min(820px, calc(calc(50 * var(--fc-layout-vw, 1vw)) - 28px));
  max-width: none;
  height: 430px;
  min-width: 0;
  margin-right: min(0px, calc((var(--fc-header-shell-width) - calc(100 * var(--fc-layout-vw, 1vw))) / 2 + 40px));
}

.fc-home-hero__feishu-official-scene {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  overflow: visible;
}

.fc-home-hero__feishu-official-scene img {
  display: block;
  width: min(1020px, calc(100% + 170px));
  height: auto;
  max-width: none;
  margin-right: clamp(24px, calc((calc(100 * var(--fc-layout-vw, 1vw)) - 1388px) / 2), 244px);
  filter: drop-shadow(0 24px 34px rgba(52, 97, 175, .14));
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

/* Keep the Feishu mark inside the visual column on compact desktops. The
 * transparent cutout intentionally overhangs on wide screens, but at laptop
 * widths that overhang brings the mark too close to the copy column. */
@media (min-width: 901px) and (max-width: 2200px) {
  .fc-home-hero__slide--feishu .fc-home-hero__lead {
    max-width: 460px;
  }

  .fc-home-hero__feishu-official-scene img {
    width: min(960px, calc(100% + 128px));
  }
}

@media (min-width: 901px) and (max-width: 1500px) {
  .fc-home-hero__feishu-official-scene img {
    margin-right: clamp(12px, calc((calc(100 * var(--fc-layout-vw, 1vw)) - 1388px) / 2), 48px);
  }
}

.fc-home-hero__feishu-workbench,
.fc-home-hero__imagin-board,
.fc-home-hero__event-stage {
  border: 1px solid rgba(60, 91, 142, .16);
  border-radius: 8px;
  box-shadow: 0 24px 54px rgba(49, 80, 132, .16);
}

.fc-home-hero__feishu-workbench {
  padding: 22px;
  background: rgba(255, 255, 255, .88);
}

.fc-home-hero__workbench-head,
.fc-home-hero__imagin-head,
.fc-home-hero__event-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.fc-home-hero__workbench-head strong,
.fc-home-hero__imagin-head strong,
.fc-home-hero__event-meta strong {
  font-size: 17px;
}

.fc-home-hero__workbench-head span {
  color: #00a870;
  font-size: 13px;
  font-weight: 600;
}

.fc-home-hero__workbench-head span::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #00b578;
  content: "";
}

.fc-home-hero__workbench-body {
  display: grid;
  height: 292px;
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid #dfe6f2;
  border-radius: 6px;
  background: #f8faff;
  grid-template-columns: 64px 1fr;
}

.fc-home-hero__workbench-nav {
  display: flex;
  padding-top: 24px;
  align-items: center;
  flex-direction: column;
  gap: 22px;
  border-right: 1px solid #e3e8f2;
  background: rgba(255, 255, 255, .86);
}

.fc-home-hero__workbench-nav img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.fc-home-hero__workbench-main {
  padding: 28px 26px;
}

.fc-home-hero__metric-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.fc-home-hero__metric-row span {
  padding: 14px 12px;
  border: 1px solid #e1e7f2;
  border-radius: 5px;
  background: #fff;
  color: #6b7280;
  font-size: 11px;
}

.fc-home-hero__metric-row b {
  display: block;
  margin-bottom: 3px;
  color: #1f2329;
  font-size: 20px;
}

.fc-home-hero__flow {
  display: grid;
  margin-top: 28px;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.fc-home-hero__flow i {
  position: relative;
  height: 44px;
  border: 1px solid #dce5f4;
  border-radius: 5px;
  background: #fff;
}

.fc-home-hero__flow i:not(:last-child)::after {
  position: absolute;
  top: 21px;
  right: -21px;
  width: 20px;
  border-top: 1px solid #aabfe9;
  content: "";
}

.fc-home-hero__table-lines {
  display: grid;
  margin-top: 28px;
  gap: 10px;
}

.fc-home-hero__table-lines i {
  height: 8px;
  border-radius: 4px;
  background: #e7edf7;
}

.fc-home-hero__table-lines i:nth-child(2) { width: 86%; }
.fc-home-hero__table-lines i:nth-child(3) { width: 68%; }

.fc-home-hero__agent-card {
  position: absolute;
  width: 166px;
  padding: 14px 16px;
  border: 1px solid #d8e2f3;
  border-radius: 7px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 30px rgba(54, 84, 137, .16);
}

.fc-home-hero__agent-card--left { bottom: 28px; left: -38px; }
.fc-home-hero__agent-card--right { top: 28px; right: -20px; }
.fc-home-hero__agent-card small { display: block; color: #6655e8; font-size: 11px; }
.fc-home-hero__agent-card strong { display: block; margin-top: 6px; font-size: 14px; }
.fc-home-hero__agent-card span { display: block; margin-top: 8px; color: #00a870; font-size: 11px; }

.fc-home-hero__imagin-board {
  display: grid;
  padding: 18px;
  overflow: hidden;
  background: #0f1728;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 32px repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.fc-home-hero__imagin-head {
  grid-column: 1 / -1;
  color: #fff;
}

.fc-home-hero__imagin-head span {
  color: #76ddca;
  font-size: 12px;
  font-weight: 600;
}

.fc-home-hero__imagin-board figure {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 5px;
  background: #fff;
}

.fc-home-hero__imagin-board img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fc-home-hero__imagin-board figcaption {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 5px 7px;
  border-radius: 4px;
  background: rgba(15, 23, 40, .84);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
}

.fc-home-hero__imagin-flow {
  display: grid;
  width: min(720px, calc(calc(50 * var(--fc-layout-vw, 1vw)) - 20px));
  height: 100%;
  padding: 0;
  overflow: hidden;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fc-home-hero__imagin-flow::before,
.fc-home-hero__imagin-flow::after {
  position: absolute;
  z-index: 2;
  right: 0;
  left: 0;
  height: 34px;
  content: "";
  pointer-events: none;
}

.fc-home-hero__imagin-flow::before {
  top: 0;
  background: linear-gradient(180deg, rgba(247, 249, 252, .98) 0%, rgba(247, 249, 252, 0));
}

.fc-home-hero__imagin-flow::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(247, 249, 252, .98) 0%, rgba(247, 249, 252, 0));
}

.fc-home-hero__imagin-column {
  min-width: 0;
  overflow: hidden;
  border-radius: 6px;
}

.fc-home-hero__imagin-track {
  display: flex;
  flex-direction: column;
  gap: 12px;
  will-change: transform;
  animation: fc-home-imagin-flow-up 20s linear infinite;
  animation-delay: var(--fc-imagin-delay, 0s);
}

.fc-home-hero__imagin-column--down .fc-home-hero__imagin-track {
  animation-name: fc-home-imagin-flow-down;
}

.fc-home-hero__imagin-sequence {
  display: grid;
  flex: 0 0 auto;
  gap: 12px;
}

.fc-home-hero__imagin-card {
  position: relative;
  aspect-ratio: 3 / 4;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #eceff3;
}

.fc-home-hero__imagin-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fc-home-hero__imagin-like {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 1px 4px rgba(17, 24, 39, .75);
}

.fc-home-hero__imagin-like svg {
  display: block;
  width: 25px;
  height: 25px;
  fill: #ff2d6f;
  filter: drop-shadow(0 2px 5px rgba(129, 5, 49, .32));
}

.fc-home-hero__slide--imagin:not(.is-active) .fc-home-hero__imagin-track,
.fc-home-hero.is-paused .fc-home-hero__imagin-track {
  animation-play-state: paused;
}

@media (min-width: 901px) {
  .fc-home-hero__imagin-flow {
    height: calc(100% + 146px);
    margin-top: -54px;
    margin-bottom: -92px;
  }
}

@keyframes fc-home-imagin-flow-up {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, calc(-50% - 6px), 0); }
}

@keyframes fc-home-imagin-flow-down {
  from { transform: translate3d(0, calc(-50% - 6px), 0); }
  to { transform: translate3d(0, 0, 0); }
}

.fc-home-hero__event-stage {
  padding: 28px;
  overflow: hidden;
  background: #101827 url("../_rebuild/event-hero-feishu.jpg") center / cover no-repeat;
  color: #fff;
}

.fc-home-hero__event-stage::before {
  position: absolute;
  inset: 0;
  background: rgba(10, 21, 43, .62);
  content: "";
}

.fc-home-hero__event-stage > * { position: relative; z-index: 1; }
.fc-home-hero__event-meta { color: #7ce0d0; font-size: 12px; }
.fc-home-hero__event-meta span { color: #ff9d8f; font-weight: 700; }
.fc-home-hero__event-stage > small { display: block; margin-top: 54px; color: #ffb947; font-size: 12px; }
.fc-home-hero__event-stage h3 { margin: 10px 0 18px; color: #fff; font-size: 29px; line-height: 1.3; letter-spacing: 0; }

.fc-home-hero__event-tags,
.fc-home-hero__event-agenda {
  display: flex;
  gap: 8px;
}

.fc-home-hero__event-tags span {
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 4px;
  background: rgba(255,255,255,.08);
  font-size: 11px;
}

.fc-home-hero__event-agenda {
  margin-top: 22px;
}

.fc-home-hero__event-agenda span {
  flex: 1 1 0;
  padding: 13px 12px;
  border-top: 3px solid #4fd0bd;
  background: rgba(255,255,255,.07);
  font-size: 11px;
}

.fc-home-hero__event-agenda span:nth-child(2) { border-color: #ffbb40; }
.fc-home-hero__event-agenda span:nth-child(3) { border-color: #ff7d72; }
.fc-home-hero__event-agenda b { display: block; margin-bottom: 7px; font-size: 16px; }

.fc-home-hero__controls {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 26px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.fc-home-hero__pages {
  display: grid;
  width: 340px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}

.fc-home-hero__page {
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.fc-home-hero__page > span {
  position: relative;
  display: block;
  height: 4px;
  overflow: hidden;
  border-radius: 2px;
  background: #d6deea;
}

.fc-home-hero__page i {
  position: absolute;
  inset: 0;
  width: 0;
  border-radius: inherit;
  background: #3370ff;
}

.fc-home-hero__page.is-active i {
  animation: fc-home-hero-progress var(--fc-home-carousel-delay) linear forwards;
}

.fc-home-hero.is-paused .fc-home-hero__page.is-active i {
  animation-play-state: paused;
}

.fc-home-hero__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@keyframes fc-home-hero-progress {
  from { width: 0; }
  to { width: 100%; }
}

@media (max-width: 1180px) {
  .fc-home-hero__shell {
    width: calc(100% - 64px);
    grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
    gap: 34px;
  }

  .fc-home-hero h1,
  .fc-home-hero h2 { font-size: 46px; }
  .fc-home-hero__visual { height: 390px; }
}

@media (max-width: 900px) {
  .fc-home-hero {
    height: 720px;
    min-height: 720px;
    max-height: 720px;
  }

  .fc-home-hero__slide--brand::before {
    background-position: 68% center;
  }

  .fc-home-hero__slide--brand::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: rgba(242, 246, 255, .5);
    content: "";
  }

  .fc-home-hero__shell {
    width: calc(100% - 40px);
    padding: 32px 0 78px;
    align-content: center;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 18px;
  }

  .fc-home-hero__slide--brand .fc-home-hero__shell {
    align-content: center;
  }

  .fc-home-hero__content,
  .fc-home-hero__slide--brand .fc-home-hero__content {
    width: 100%;
    max-width: 620px;
  }

  .fc-home-hero h1,
  .fc-home-hero h2 { font-size: 38px; }
  .fc-home-hero__eyebrow { margin-bottom: 12px; font-size: 13px; }
  .fc-home-hero__lead { margin-top: 14px; font-size: 15px; line-height: 1.65; }
  .fc-home-hero__actions { margin-top: 18px; }
  .fc-home-hero__visual { justify-self: stretch; width: 100%; max-width: none; height: 245px; margin-right: 0; }
  .fc-home-hero__feishu-official-scene {
    overflow: hidden;
    border: 0;
    background: transparent;
  }
  .fc-home-hero__feishu-official-scene img {
    position: absolute;
    top: 0;
    left: 50%;
    width: auto;
    height: 100%;
    margin: 0;
    filter: none;
    transform: translateX(-50%);
  }
  .fc-home-hero__proof { margin-top: 24px; padding-top: 14px; }
  .fc-home-hero__agent-card--left { bottom: 16px; left: 12px; }
  .fc-home-hero__agent-card--right { top: 14px; right: 12px; }
  .fc-home-hero__workbench-body { height: 185px; }
  .fc-home-hero__workbench-main { padding: 18px; }
  .fc-home-hero__table-lines { display: none; }
  .fc-home-hero__flow { margin-top: 18px; }
  .fc-home-hero__slide--volcengine::before {
    background-image:
      linear-gradient(180deg, rgba(238, 247, 255, .98) 0%, rgba(235, 246, 255, .94) 50%, rgba(225, 241, 255, .46) 76%, rgba(215, 236, 255, .46) 100%),
      url("../_rebuild/official-assets/volcengine-ai-cloud-hero-source.png");
    background-position: center, 66% center;
    background-size: cover, cover;
  }

  .fc-home-hero__slide--volcengine .fc-home-hero__shell {
    align-content: center;
    grid-template-rows: auto;
  }
  .fc-home-hero__slide--event::before {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 52%;
    background-image:
      linear-gradient(180deg, #f5f7ff 0%, rgba(245, 247, 255, .8) 22%, rgba(245, 247, 255, 0) 62%),
      url("../_rebuild/event-activity-real-web.jpg?v=1");
    background-position: center, center 42%;
    background-size: 100% 100%, cover;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .fc-home-hero__event-stage { padding: 20px; }
  .fc-home-hero__event-stage > small { margin-top: 22px; }
  .fc-home-hero__event-stage h3 { font-size: 24px; }
  .fc-home-hero__event-agenda { margin-top: 14px; }
}

@media (max-width: 620px) {
  .fc-home-hero {
    height: 690px;
    min-height: 690px;
    max-height: 690px;
  }

  .fc-home-hero__shell {
    width: calc(100% - 28px);
    padding: 26px 0 70px;
    gap: 14px;
  }

  .fc-home-hero h1,
  .fc-home-hero h2 { font-size: 32px; line-height: 1.16; }
  .fc-home-hero__eyebrow { font-size: 12px; }
  .fc-home-hero__lead { font-size: 14px; line-height: 1.6; }
  .fc-home-hero__button { height: 42px; padding: 0 12px; font-size: 14px; }
  .fc-home-hero__proof { width: 100%; max-width: none; margin-top: 20px; }
  .fc-home-hero__proof li { padding: 0 6px; }
  .fc-home-hero__proof-icon { width: 28px; height: 28px; flex-basis: 28px; }
  .fc-home-hero__proof strong { font-size: 12px; }
  .fc-home-hero__proof span { font-size: 10px; }
  .fc-home-hero__visual { height: 230px; }
  .fc-home-hero__feishu-workbench { padding: 12px; }
  .fc-home-hero__workbench-head strong { font-size: 13px; }
  .fc-home-hero__workbench-head span { font-size: 10px; }
  .fc-home-hero__workbench-body { height: 178px; margin-top: 10px; grid-template-columns: 42px 1fr; }
  .fc-home-hero__workbench-nav { padding-top: 16px; gap: 16px; }
  .fc-home-hero__workbench-nav img { width: 20px; height: 20px; }
  .fc-home-hero__metric-row span { padding: 9px 7px; font-size: 8px; }
  .fc-home-hero__metric-row b { font-size: 14px; }
  .fc-home-hero__flow { gap: 10px; }
  .fc-home-hero__flow i:not(:last-child)::after { right: -11px; width: 10px; }
  .fc-home-hero__agent-card { width: 126px; padding: 9px 10px; }
  .fc-home-hero__agent-card strong { font-size: 11px; }
  .fc-home-hero__agent-card span { margin-top: 5px; font-size: 9px; }
  .fc-home-hero__imagin-board { padding: 10px; grid-template-rows: 25px repeat(2, minmax(0, 1fr)); gap: 5px; }
  .fc-home-hero__imagin-head strong { font-size: 14px; }
  .fc-home-hero__imagin-head span { font-size: 9px; }
  .fc-home-hero__imagin-board figcaption { right: 5px; bottom: 5px; padding: 3px 5px; font-size: 8px; }
  .fc-home-hero__imagin-flow {
    width: 100%;
    height: 230px;
    margin: 0;
    gap: 8px;
  }
  .fc-home-hero__imagin-track,
  .fc-home-hero__imagin-sequence { gap: 8px; }
  .fc-home-hero__imagin-like { top: 7px; right: 7px; gap: 1px; font-size: 9px; }
  .fc-home-hero__imagin-like svg { width: 19px; height: 19px; }
  .fc-home-hero__event-tags span { padding: 5px 6px; font-size: 9px; }
  .fc-home-hero__event-stage { padding: 14px; }
  .fc-home-hero__event-stage > small { margin-top: 12px; font-size: 10px; }
  .fc-home-hero__event-stage h3 { margin: 6px 0 10px; font-size: 20px; line-height: 1.22; }
  .fc-home-hero__event-agenda { margin-top: 10px; }
  .fc-home-hero__event-agenda span { padding: 6px; font-size: 8px; }
  .fc-home-hero__event-agenda b { margin-bottom: 3px; font-size: 12px; }
  .fc-home-hero__controls { bottom: 16px; gap: 0; }
  .fc-home-hero__pages { width: min(250px, calc(calc(100 * var(--fc-layout-vw, 1vw)) - 40px)); padding: 0; gap: 7px; }
  .fc-home-hero__page { height: 24px; }

  .fc-home-hero__slide--event::before {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 46%;
    background-image:
      linear-gradient(180deg, #f5f7ff 0%, rgba(245, 247, 255, .76) 22%, rgba(245, 247, 255, 0) 58%),
      url("../_rebuild/event-activity-real-web.jpg?v=1");
    background-position: center, center bottom;
    background-size: 100% 100%, cover;
  }
}

/* Customer testimonial carousel controls */
.fc-story-carousel__button {
  border-color: rgba(51, 112, 255, .18);
  background: rgba(255, 255, 255, .96);
  color: #245bdb;
  box-shadow: 0 6px 18px rgba(36, 91, 219, .1);
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.fc-story-carousel__button:hover {
  border-color: #3370ff;
  background: #3370ff;
  color: #fff;
  box-shadow: 0 9px 22px rgba(36, 91, 219, .22);
  transform: translateY(-2px);
}

.fc-story-carousel__button:focus-visible {
  border-color: #3370ff;
  background: #fff;
  color: #245bdb;
  outline: 3px solid rgba(51, 112, 255, .2);
  outline-offset: 3px;
  box-shadow: 0 6px 18px rgba(36, 91, 219, .12);
}

.fc-story-carousel__button:active {
  box-shadow: 0 4px 12px rgba(36, 91, 219, .16);
  transform: translateY(0);
}

.fc-story-carousel__button:disabled {
  border-color: rgba(109, 132, 173, .14);
  background: rgba(255, 255, 255, .72);
  color: #aebbd1;
  box-shadow: none;
  cursor: default;
  transform: none;
}

/* Wide screens need a little more separation between copy and artwork. */
@media (min-width: 1600px) {
  .fc-home-hero__feishu-official-scene img {
    width: min(840px, calc(100% + 26px));
  }

  .fc-home-hero__slide--imagin .fc-home-hero__visual {
    margin-right: min(
      0px,
      calc(
        (var(--fc-header-shell-width) - calc(100 * var(--fc-layout-vw, 1vw))) / 2
        + 136px
      )
    );
  }
}

@media (prefers-reduced-motion: reduce) {
  .fc-home-hero__track { transition: none; }
  .fc-home-hero__page.is-active i { width: 100%; animation: none; }
  .fc-home-hero__imagin-track,
  .fc-home-hero__imagin-column--down .fc-home-hero__imagin-track { animation: none; }
}

/* First-slide capability proof: color-only hover feedback, with no movement. */
.fc-home-hero__proof-icon,
.fc-home-hero__proof strong,
.fc-home-hero__proof-copy > span {
  transition: color .2s ease, filter .2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .fc-home-hero__proof li:hover strong {
    color: #2459d3;
  }

  .fc-home-hero__proof li:hover .fc-home-hero__proof-copy > span {
    color: #5e7fbd;
  }

  .fc-home-hero__proof li:hover .fc-home-hero__proof-icon {
    filter: saturate(1.14) brightness(1.03) contrast(1.04) drop-shadow(0 5px 9px rgba(51, 112, 255, .22));
  }
}

@media (max-width: 620px) {
  .fc-success-advisor-image {
    top: -10px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 10px);
    object-fit: contain;
    object-position: center bottom;
  }

  .fc-success-response-image {
    top: 70px;
    right: auto;
    bottom: auto;
    left: 54px;
    width: calc(100% - 108px);
    height: calc(100% - 118px);
    object-fit: cover;
    object-position: center bottom;
  }
}

/* Homepage mobile-only polish (2026-08-04).
 * Keep the desktop composition untouched while making the hero proof grid,
 * Feishu workbench artwork, ecosystem bridge and delivery labels fit cleanly. */
@media (max-width: 768px) {
  .fc-home-hero__slide--brand .fc-home-hero__shell {
    width: auto;
    max-width: none;
    margin-right: 14px;
    margin-left: 14px;
  }

  .fc-home-hero__slide--brand .fc-home-hero__content,
  .fc-home-hero__slide--brand .fc-home-hero__actions,
  .fc-home-hero__slide--brand .fc-home-hero__proof {
    width: 100%;
    max-width: 100%;
  }

  .fc-home-hero__actions {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fc-home-hero__button {
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
  }

  .fc-home-hero__slide--brand .fc-home-hero__proof {
    display: grid;
    width: 100%;
    max-width: none;
    margin-top: 20px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(78, 104, 150, .16);
    border-radius: 8px;
    background: rgba(255, 255, 255, .52);
    box-shadow: 0 8px 22px rgba(53, 86, 142, .055);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    backdrop-filter: blur(4px);
  }

  .fc-home-hero__slide--brand .fc-home-hero__proof li {
    min-width: 0;
    min-height: 56px;
    justify-content: flex-start;
    gap: 8px;
    padding: 8px 11px;
    border: 0;
  }

  .fc-home-hero__slide--brand .fc-home-hero__proof li:nth-child(even) {
    border-left: 1px solid rgba(78, 104, 150, .14);
  }

  .fc-home-hero__slide--brand .fc-home-hero__proof li:nth-child(n + 3) {
    padding-top: 8px;
    border-top: 1px solid rgba(78, 104, 150, .14);
  }

  .fc-home-hero__slide--brand .fc-home-hero__proof-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }

  .fc-home-hero__slide--brand .fc-home-hero__proof-copy {
    gap: 1px;
  }

  .fc-home-hero__slide--brand .fc-home-hero__proof strong {
    font-size: 13px;
  }

  .fc-home-hero__slide--brand .fc-home-hero__proof-copy > span {
    font-size: 11px;
  }

  .fc-home-hero__slide--feishu .fc-home-hero__visual {
    height: 230px;
  }

  .fc-home-hero__feishu-official-scene img {
    position: static;
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0;
    object-fit: contain;
    object-position: center;
    transform: none;
  }
}

@media (max-width: 700px) {
  .fc-ecosystem-bridge {
    display: grid;
    min-height: 96px;
    align-content: center;
    justify-items: center;
    gap: 8px;
  }

  .fc-ecosystem-bridge__label {
    position: static;
    width: auto;
    line-height: 1.3;
    transform: none;
  }

  .fc-ecosystem-delivery strong {
    font-size: 13px;
    line-height: 1.35;
    white-space: nowrap;
  }
}

@media (max-width: 420px) {
  .fc-ecosystem-delivery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile content viewport audit (2026-08-05).
 * Legacy pages used 100vw for full-width modules. On devices with a classic
 * scrollbar that includes the scrollbar track, so the visual edge sits below
 * the scrollbar and the inner 16px/20px gutter disappears on the right. */
@media (max-width: 768px) {
  html,
  body.g_body,
  body.g_body #web,
  body.g_body #webContainer,
  body.g_body .webContainerBox,
  body.g_body .webBannerTable,
  body.g_body #webBanner,
  body.g_body #webBanner .bannerTable,
  body.g_body #webBanner .bannerCenter,
  body.g_body #bannerV2,
  body.g_body #bannerV2 .switchGroup,
  body.g_body #bannerV2 .J_billboardItem,
  body.g_body #bannerV2 .J_bannerItem,
  body.g_body #webFooterTable,
  body.g_body .fc-site-footer,
  body.fc-page-volcengine #webFooterTable,
  body.fc-page-volcengine .fc-site-footer {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.fc-page-home .fc-home-hero,
  body.fc-page-home #fc-home-overview-frame,
  body.fc-page-home #module1324,
  body.fc-page-home #module1324 .fullmeasureOuterContentPage1,
  body.fc-page-home #module1324 .fullmeasureOuterContent1324,
  body.fc-page-home #module1324 .fullmeasureContent1324,
  body.fc-page-home #fk-inFullmeasureListZone1324-1 {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.fc-page-home #module1416 .fullmeasureContent1416,
  body.fc-page-home #fk-inFullmeasureListZone1416-1 {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.fc-page-home #module1523 {
    left: 50% !important;
    width: calc(100% - 32px) !important;
  }

  body.fc-page-home .fc-home-logo-layout {
    left: 50% !important;
    width: calc(100% - 24px) !important;
  }

  body.fc-page-home #module1962 {
    left: 50% !important;
    width: calc(100% - 48px) !important;
  }

  body.fc-page-home #module2735 {
    left: 50% !important;
  }

  /* Customers listing: keep the fullmeasure canvas and its card/filter shell
   * aligned to the actual content width instead of the viewport width. */
  body.fc-page-customers #module6693,
  body.fc-page-customers #fullmeasureContent6693_1,
  body.fc-page-customers #fk-inFullmeasureListZone6693-1,
  body.fc-page-customers .fullmeasureOuterContent6693 {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.fc-page-customers #module2200,
  body.fc-page-customers #module2192 {
    left: 50% !important;
    width: calc(100% - 40px) !important;
  }

  body.fc-page-customers #module7594,
  body.fc-page-customers .fc-customers-section-title {
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }

  body.fc-page-customers #module7594 #formTabButtonList7594,
  body.fc-page-customers #module7594 #formTabContent7594 {
    width: 100% !important;
    max-width: none !important;
  }

  /* About page: the hero is full bleed, while the text and floating cards use
   * a symmetric 16px content shell on both sides. */
  body.fc-page-about #fc-about-lite,
  body.fc-page-about #fc-about-lite .fc-about-lite-hero,
  body.fc-page-about #fc-about-lite .fc-about-lite-metrics,
  body.fc-page-about #fc-about-lite .fc-about-lite-footer {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.fc-page-about #fc-about-lite .fc-about-lite-shell:not(.fc-about-lite-nav) {
    width: var(--fc-site-shell-inline-size) !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: var(--fc-site-shell-inline-start) !important;
  }

  body.fc-page-about #fc-about-lite .fc-about-lite-nav {
    width: auto !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Other rebuilt mobile pages use the same shell contract. */
  body.fc-page-event .fc-event-shell {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-right: 20px !important;
    margin-left: 20px !important;
  }

  body.fc-inventory-v2-ready .fc-inventory-shell {
    width: var(--fc-site-shell-inline-size) !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: var(--fc-site-shell-inline-start) !important;
  }

  body.sp-solution-ready .sp-shell {
    width: var(--fc-site-shell-inline-size) !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: var(--fc-site-shell-inline-start) !important;
  }

  body.fc-page-fc-products .fc-ai-shell {
    position: relative !important;
    left: auto !important;
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-right: 20px !important;
    margin-left: 20px !important;
    transform: none !important;
  }

  body.fc-page-solutions #web,
  body.fc-solution-shell #web,
  body.fc-preparing-shell #web,
  body.fc-page-solutions .fc-solutions-page,
  body.fc-solution-shell .fc-solutions-page,
  body.fc-preparing-shell .fc-preparing-page {
    width: 100% !important;
    max-width: 100% !important;
  }
}
