/* V2 customer resolution: final visual layer, loaded after legacy fidelity styles. */
:root {
  --v2-night: #10131a;
  --v2-surface: rgba(18, 22, 31, .72);
  --v2-surface-strong: rgba(29, 34, 45, .82);
  --v2-text: #f3f6ff;
  --v2-copy: #b2bac8;
  --v2-cyan: #00d4de;
  --v2-blue: #114fe2;
  --v2-violet: #a79dff;
  --v2-line: rgba(150, 214, 255, .16);
  /* Source artwork display type: electric blue → cyan → cold white.
     Purple is reserved for decorative light, not the text gradient. */
  --v2-display-gradient: linear-gradient(104deg, #114fe2 0%, #087cff 25%, #00bfe9 48%, #16e1db 67%, #9aeff4 82%, #f7f9ff 100%);
}

html, body.customer-fidelity { background: var(--v2-night) !important; }

body.customer-fidelity {
  color: var(--v2-text) !important;
  /* Retain a normal fallback for the English title; Chinese colours are
     still supplied character by character below. */
  background-image: linear-gradient(100deg, #4686dc 0%, #92b2cf 52%, #d5cbc5 100%) !important;
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif !important;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: .018em;
}

/* Typography scale from the supplied 1920px visual specification.  It keeps
   hierarchy stable across every static page instead of letting each legacy
   page carry an unrelated utility-size/line-height combination. */
body.customer-fidelity main :is(h1, h2, h3, h4, p),
body.customer-fidelity > section :is(h1, h2, h3, h4, p) {
  letter-spacing: inherit;
}
body.customer-fidelity main h1,
body.customer-fidelity > section h1 {
  font-size: clamp(2.5rem, 4vw, 4.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.14 !important;
  letter-spacing: -.028em !important;
}
body.customer-fidelity main h2,
body.customer-fidelity > section h2 {
  font-size: clamp(1.8rem, 2.2vw, 2.5rem) !important;
  font-weight: 750 !important;
  line-height: 1.28 !important;
  letter-spacing: -.018em !important;
}
body.customer-fidelity main h3,
body.customer-fidelity > section h3 {
  font-size: clamp(1.12rem, 1.15vw, 1.35rem) !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
  letter-spacing: -.008em !important;
}
body.customer-fidelity main p,
body.customer-fidelity > section p {
  font-size: clamp(.9rem, .2vw + .83rem, 1rem) !important;
  line-height: 1.82 !important;
  letter-spacing: .012em !important;
}
body.customer-fidelity .home-hero-copy h1 {
  font-size: clamp(3rem, 4.7vw, 5rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}
body.customer-fidelity .home-hero-copy p,
body.customer-fidelity .scenarios-hero-content > p {
  font-size: clamp(1rem, .65vw + .8rem, 1.25rem) !important;
  line-height: 1.7 !important;
  letter-spacing: .025em !important;
}
body.customer-fidelity .glass-header .nav-link {
  font-size: .875rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .025em !important;
}
body.customer-fidelity :is(.blue-gradient-bg, .home-hero-button, .filter-tab, .tab-btn) {
  line-height: 1.15 !important;
  letter-spacing: .012em !important;
}

/* A single, continuous drone-site-like cosmic field — sections do not change colour. */
body.customer-fidelity::before {
  background:
    radial-gradient(ellipse 62% 36% at 10% 14%, rgba(15, 113, 157, .12), transparent 72%),
    radial-gradient(ellipse 48% 32% at 90% 55%, rgba(76, 77, 182, .09), transparent 74%),
    linear-gradient(rgba(1, 2, 5, .64), rgba(1, 2, 5, .76)),
    url("assets/cosmic-mist-v2.png") center top / cover fixed !important;
  opacity: .9 !important;
  transform-origin: center center;
  will-change: transform;
  animation: v2-cosmic-drift 14s ease-in-out infinite alternate !important;
}

@keyframes v2-cosmic-drift {
  from {
    background-position: 8% 16%, 88% 70%, center, 48% 42%;
    transform: translate3d(-3%, -1.6%, 0) scale(1.11);
  }
  to {
    background-position: 13% 20%, 83% 66%, center, 54% 47%;
    transform: translate3d(3%, 1.6%, 0) scale(1.15);
  }
}

body.customer-fidelity > main,
body.customer-fidelity > section,
body.customer-fidelity:not(.home-page) main,
body.customer-fidelity:not(.home-page) section,
body.customer-fidelity .home-page .home-section,
body.customer-fidelity .site-footer {
  background: transparent !important;
}

/* Chapters are separated by a glow seam, not a different background block. */
body.customer-fidelity main > section,
body.customer-fidelity .home-section {
  position: relative;
  isolation: isolate;
  border-color: transparent !important;
}

body.customer-fidelity main > section + section::before,
body.customer-fidelity .home-section + .home-section::before {
  position: absolute;
  top: 0;
  right: 6%;
  left: 6%;
  height: 1px;
  content: "";
  /* Keep the existing pseudo-element geometry untouched; only remove its
     former separator paint. */
  background: transparent;
  box-shadow: none;
}

body.customer-fidelity .blue-gradient-text,
body.customer-fidelity .home-section-title,
body.customer-fidelity h1.blue-gradient-text,
body.customer-fidelity h2.blue-gradient-text,
body.customer-fidelity h3.blue-gradient-text {
  /* Design source: display copy transitions through cyan, electric blue,
     indigo and cold white — not a flat pale-blue/purple wash. */
  background: var(--v2-display-gradient) !important;
  background-size: 100% 100% !important;
  background-position: 0 50% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: 0 0 24px rgba(31, 139, 255, .12) !important;
}

body.customer-fidelity .data-card-number {
  display: inline-block;
  background: linear-gradient(104deg, #0753ed 0%, #0784f7 25%, #00cfe5 57%, #5be7ec 76%, #f5f8ff 100%) !important;
  background-size: 100% 100% !important;
  background-position: 0 50% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: 0 0 22px rgba(0, 215, 238, .24) !important;
}
body.customer-fidelity .text-cyan-400,
body.customer-fidelity .text-cyan-300 { color: var(--v2-cyan) !important; }
body.customer-fidelity .text-slate-300,
body.customer-fidelity .text-slate-400,
body.customer-fidelity .text-slate-500 { color: var(--v2-copy) !important; }

/* Header stays legible at desktop and tablet without losing the booking CTA. */
body.customer-fidelity .glass-header {
  top: 18px !important;
  min-height: 4rem !important;
  background: linear-gradient(115deg, rgba(19, 31, 52, .88), rgba(6, 10, 20, .88)) !important;
  border-color: rgba(104, 201, 244, .22) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 18px 48px rgba(0,0,0,.28) !important;
}
body.customer-fidelity .glass-header a[href="booking.html"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
/* Header booking control follows the compact 34px specification used by the
   other pages; only homepage hero CTAs keep the larger action treatment. */
body.customer-fidelity.home-page .tablet-booking > a[href="booking.html"] {
  min-height: 2.125rem !important;
  height: 2.125rem !important;
  padding: .45rem 1.125rem !important;
  font-size: .75rem !important;
  line-height: 1rem !important;
}
/* tech-system adds `site-header-inner`; retain the actual header row on every
   page.  Several legacy pages use a plain max-w container rather than the
   homepage-specific tablet classes. */
body.customer-fidelity nav.glass-header > .max-w-7xl,
body.customer-fidelity nav.glass-header > .site-header-inner,
body.customer-fidelity header.glass-header > .site-header-inner {
  display: flex !important;
}
.tablet-booking, .tablet-navigation { display: none; }
/* Keep the hamburger independent of utility CSS: three vertical strokes when
   closed, and a precise two-stroke close icon when the panel is open. */
.tablet-menu-trigger,
body.customer-fidelity .site-menu-trigger.hamburger {
  display: inline-flex !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  padding: 0 !important;
  margin: 0 0 0 .75rem !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .32rem !important;
  border: 0 !important;
  background: transparent !important;
}
.tablet-menu-trigger.hamburger span,
body.customer-fidelity .site-menu-trigger.hamburger span {
  display: block !important;
  width: 1.35rem !important;
  height: 2px !important;
  margin: 0 !important;
  flex: 0 0 2px !important;
  border-radius: 999px !important;
  background: rgba(247, 250, 255, .96) !important;
  transform-origin: center !important;
}
.tablet-menu-trigger.hamburger.active,
body.customer-fidelity .site-menu-trigger.hamburger.active { gap: 0 !important; }
.tablet-menu-trigger.hamburger.active span:nth-child(1),
body.customer-fidelity .site-menu-trigger.hamburger.active span:nth-child(1) {
  transform: translateY(2px) rotate(45deg) !important;
}
.tablet-menu-trigger.hamburger.active span:nth-child(2),
body.customer-fidelity .site-menu-trigger.hamburger.active span:nth-child(2) {
  opacity: 0 !important;
  transform: scaleX(.2) !important;
}
.tablet-menu-trigger.hamburger.active span:nth-child(3),
body.customer-fidelity .site-menu-trigger.hamburger.active span:nth-child(3) {
  transform: translateY(-2px) rotate(-45deg) !important;
}
.tablet-mobile-menu {
  position: fixed !important;
  top: 5rem !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 90 !important;
  display: none !important;
}
.tablet-mobile-menu.active {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
/* Legacy page menus are translated away while closed. They must nevertheless
   be fixed overlays, otherwise their 100dvh height remains in document flow
   and pushes the following hero/title below the first screen. */
body.customer-fidelity #mobile-menu.site-mobile-menu {
  position: fixed !important;
  top: 4.75rem !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 90 !important;
}
body.customer-fidelity #mobile-menu.site-menu-unified {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: clamp(2.1rem, 8vh, 4.5rem) 1.5rem 2rem !important;
  overflow-y: auto !important;
  border: 0 !important;
  background:
    radial-gradient(circle at 86% 10%, rgba(26, 191, 232, .11), transparent 10rem),
    linear-gradient(160deg, rgba(5, 10, 20, .985), rgba(1, 5, 12, .99)) !important;
}
body.customer-fidelity #mobile-menu.site-menu-unified .site-mobile-nav-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 3.55rem !important;
  padding: .3rem 1rem !important;
  color: #f5f8ff !important;
  font-size: clamp(1.12rem, 5.6vw, 1.45rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .015em !important;
  text-align: center !important;
}
body.customer-fidelity #mobile-menu.site-menu-unified .site-mobile-booking {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 8.6rem !important;
  min-height: 3rem !important;
  margin-top: 1.1rem !important;
  padding: 0 1.3rem !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
}
body.customer-fidelity #mobile-menu.site-menu-unified .site-mobile-language {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.15rem !important;
  margin-top: 1.7rem !important;
}
body.customer-fidelity #mobile-menu.site-menu-unified .site-mobile-language button {
  padding: .25rem !important;
  border: 0 !important;
  background: transparent !important;
  color: #b9c6dd !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
body.customer-fidelity #mobile-menu.site-menu-unified .site-mobile-language button:first-child { color: #13d8f1 !important; }
body.customer-fidelity #mobile-menu.site-menu-unified .site-mobile-language span { color: rgba(126, 151, 185, .48) !important; }
body.customer-fidelity .blue-gradient-bg {
  border-color: rgba(121, 216, 255, .5) !important;
  background: linear-gradient(104deg, rgba(44, 211, 244, .98), rgba(77, 103, 255, .96) 58%, rgba(142, 99, 255, .96)) !important;
  box-shadow: 0 9px 26px rgba(35, 125, 235, .28), inset 0 1px rgba(255,255,255,.28) !important;
}

/* Client drone-site reference: action buttons are translucent glass capsules,
   not solid colour blocks.  Keep the small square product icons unchanged. */
body.customer-fidelity a.blue-gradient-bg,
body.customer-fidelity button.blue-gradient-bg,
body.customer-fidelity .home-hero-button-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  text-align: center !important;
  min-height: 3rem !important;
  padding: 0 1.375rem !important;
  border: 1px solid rgba(125, 220, 255, .24) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(135deg, rgba(125, 220, 255, .18), rgba(165, 155, 255, .12)),
    rgba(5, 8, 16, .56) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .16),
    inset 0 -1px 0 rgba(125, 220, 255, .08),
    0 16px 38px rgba(0, 0, 0, .24) !important;
  color: #f7f9ff !important;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

body.customer-fidelity a.blue-gradient-bg:hover,
body.customer-fidelity button.blue-gradient-bg:hover,
body.customer-fidelity .home-hero-button-secondary:hover {
  border-color: rgba(125, 220, 255, .55) !important;
  box-shadow: 0 14px 34px rgba(28, 38, 96, .26) !important;
  transform: translateY(-2px) !important;
}

body.customer-fidelity .home-hero-actions .home-hero-button {
  min-width: 8.75rem;
  font-weight: 700;
}

/* Hero remains a full visual stage and its copy is vertically centred. */
body.customer-fidelity.home-page .carousel-container {
  position: relative;
  width: 100%;
  height: clamp(36rem, 100svh, 67.5rem) !important;
  min-height: 36rem !important;
  margin-top: 0 !important;
  background: #02040a !important;
  border-bottom: 0 !important;
  box-shadow: inset 0 -100px 100px rgba(1,2,5,.56) !important;
}
body.customer-fidelity.home-page .home-hero-slide > img,
body.customer-fidelity.home-page .home-hero-slide > video { opacity: 1 !important; }
body.customer-fidelity.home-page .home-hero-shade {
  background: linear-gradient(90deg, rgba(1, 3, 10, .72) 0%, rgba(1, 3, 10, .34) 42%, rgba(1, 3, 10, .08) 74%, rgba(1, 3, 10, .26)) !important;
}
body.customer-fidelity.home-page .home-hero-content {
  align-items: center !important;
  padding-block: 4rem;
}
body.customer-fidelity.home-page .home-hero-copy { margin-top: 0 !important; }
body.customer-fidelity.home-page .home-hero-copy h1 {
  color: var(--v2-text) !important;
  text-shadow: 0 8px 30px rgba(0,0,0,.44) !important;
}
body.customer-fidelity.home-page .home-hero-copy p { color: rgba(233, 240, 255, .84) !important; }

@media (min-width: 768px) and (max-width: 1100px) {
  body.customer-fidelity.home-page .carousel-container {
    height: clamp(34rem, 78svh, 50rem) !important;
    min-height: 34rem !important;
  }
}

/* Wide desktop: the original Tailwind 7xl cap leaves oversized side gutters
   on 2K/large monitors. Expand structural content grids while retaining a
   comfortable outer margin; article/text-specific max widths are untouched. */
@media (min-width: 1440px) {
  body.customer-fidelity .max-w-7xl {
    width: calc(100% - clamp(4rem, 8vw, 11rem)) !important;
    max-width: 105rem !important;
  }
  /* The performance-order page is the only business workflow built on 6xl;
     let its form/workspace expand with the rest of the site as well. */
  body.customer-fidelity.performance-order-page .max-w-6xl {
    width: calc(100% - clamp(5rem, 10vw, 13rem)) !important;
    max-width: 96rem !important;
  }
  /* Wide two-column booking choices should not sit in a narrow central strip. */
  body.customer-fidelity.booking-page .grid.max-w-4xl {
    width: min(calc(100% - clamp(5rem, 12vw, 16rem)), 78rem) !important;
    max-width: none !important;
  }
}

/* Uniform card geometry: no deliberately lowered cards or orphaned news tiles. */
body.customer-fidelity .home-equal-card,
body.customer-fidelity .concept-card,
body.customer-fidelity .news-card,
body.customer-fidelity .product-card,
body.customer-fidelity .case-card,
body.customer-fidelity .glass-card {
  border-color: var(--v2-line) !important;
  border-radius: 1.1rem !important;
  background: linear-gradient(145deg, rgba(20, 31, 53, .64), rgba(5, 10, 20, .68)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.055), 0 14px 38px rgba(0,0,0,.18) !important;
}
@media (min-width: 768px) {
  body.customer-fidelity .home-page .home-equal-card:nth-child(even),
  body.customer-fidelity .news-page #news-grid .news-card:nth-child(3n + 2) { transform: none !important; }
}

/* About / safety visual: this full-section skewed overlay was the remaining
   dark image-block behind the safety copy. The page now exposes only the
   shared continuous cosmic canvas. */
body.customer-fidelity.about-page section.py-32 > .absolute.inset-0 {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Partner carousel: auto-loop remains available, while both explicit arrows
   and direct horizontal scrolling give the visitor manual control. */
body.customer-fidelity.home-page .partner-marquee {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  /* Keep an internal hover-safe gutter: partner cards lift by .5rem, while
     the horizontal scroll surface still owns clipping at its outer edge. */
  padding-block: .875rem .625rem;
  margin-block: -.875rem -.625rem;
  /* Safari may queue an animation for every requestAnimationFrame scrollLeft
     write. Automatic movement must be immediate; explicit arrow clicks keep
     their own smooth behavior in JavaScript. */
  scroll-behavior: auto;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5.5rem, #000 calc(100% - 5.5rem), transparent) !important;
  mask-image: linear-gradient(to right, transparent, #000 5.5rem, #000 calc(100% - 5.5rem), transparent) !important;
}
body.customer-fidelity.home-page .partner-marquee::-webkit-scrollbar { display: none; }
body.customer-fidelity.home-page .partner-track { animation: none !important; }
body.customer-fidelity.home-page .partner-carousel-shell {
  position: relative;
}
body.customer-fidelity.home-page .partner-carousel-controls {
  position: absolute;
  z-index: 10;
  inset: 0;
  pointer-events: none;
}
body.customer-fidelity.home-page .partner-carousel-controls .partner-control {
  position: absolute;
  top: calc(50% - 1.4rem);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid rgba(104, 226, 255, .42);
  border-radius: 999px;
  background: rgba(5, 18, 35, .88);
  box-shadow: 0 0 20px rgba(0, 196, 229, .14);
  color: #bff8ff;
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
  pointer-events: auto;
}
body.customer-fidelity.home-page .partner-carousel-controls .partner-control:hover,
body.customer-fidelity.home-page .partner-carousel-controls .partner-control:focus-visible {
  border-color: #46e6ff;
  background: rgba(7, 79, 125, .92);
  outline: none;
  transform: scale(1.06);
}
body.customer-fidelity.home-page .partner-carousel-controls .partner-control iconify-icon { font-size: 1.3rem; }
body.customer-fidelity.home-page .partner-carousel-controls .partner-control-previous { left: 1rem; }
body.customer-fidelity.home-page .partner-carousel-controls .partner-control-next { right: 1rem; }
@media (max-width: 767px) {
  body.customer-fidelity.home-page .partner-marquee {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 2.75rem, #000 calc(100% - 2.75rem), transparent) !important;
    mask-image: linear-gradient(to right, transparent, #000 2.75rem, #000 calc(100% - 2.75rem), transparent) !important;
  }
  body.customer-fidelity.home-page .partner-carousel-controls .partner-control {
    width: 2.35rem;
    height: 2.35rem;
  }
  body.customer-fidelity.home-page .partner-carousel-controls .partner-control-previous { left: .4rem; }
  body.customer-fidelity.home-page .partner-carousel-controls .partner-control-next { right: .4rem; }
}
body.customer-fidelity .news-page #news-grid {
  align-items: stretch !important;
  grid-auto-flow: row !important;
}
body.customer-fidelity .news-page #news-grid .news-card { min-width: 0; transform: none !important; }

/* Image/copy blocks use a stable gap at every desktop size. */
body.customer-fidelity .home-page #about .grid,
body.customer-fidelity .about-page .grid { align-items: center !important; gap: clamp(2rem, 5vw, 5.5rem) !important; }
body.customer-fidelity.home-page #about img { margin-bottom: 0 !important; }
/* Keep the image-side experience card clear of the neighbouring “learn more”
   link.  The original -bottom-8 position left the two at the same baseline. */
@media (min-width: 768px) {
  body.customer-fidelity.home-page #about .blue-gradient-bg.absolute {
    bottom: -3.5rem !important;
  }
}

/* Keep this final so no legacy page-title gradient can restore the white
   terminal wash or pull the product hero under the category strip. */
body.customer-fidelity.products-page > section.products-hero:nth-of-type(1) {
  padding-top: clamp(8.9rem, 10vw, 10.5rem) !important;
  padding-bottom: clamp(4.5rem, 5vw, 5.75rem) !important;
}
body.customer-fidelity.products-page .products-hero .products-hero-title {
  background: linear-gradient(102deg, #1c5fe8 0%, #127ff0 34%, #08b8e6 70%, #05d2dc 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  text-shadow: none !important;
}
/* Hero supporting copy is deliberately stronger than body copy across the
   information pages, so it remains legible over full-screen photography. */
body.customer-fidelity.products-page .products-hero p,
body.customer-fidelity.scenarios-page .scenarios-hero p {
  font-weight: 700 !important;
}
body.customer-fidelity.products-page .products-hero::before { background: none !important; }

/* Keep every route's opening title block on the same visual rule as the
   homepage: a left reading edge and a vertically centred first viewport.
   News and booking used an older, top-aligned centred heading treatment. */
body.customer-fidelity .company-news-hero,
body.customer-fidelity .booking-hero {
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: clamp(7rem, 10vw, 9rem) 0 clamp(4rem, 7vw, 6rem) !important;
}
body.customer-fidelity .company-news-hero-content,
body.customer-fidelity .booking-hero-content {
  width: min(100% - 3rem, 80rem);
  margin-inline: auto;
  text-align: left !important;
}
body.customer-fidelity .company-news-hero h1,
body.customer-fidelity .company-news-hero p,
body.customer-fidelity .booking-hero h1,
body.customer-fidelity .booking-hero p {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
body.customer-fidelity .company-news-hero p,
body.customer-fidelity .booking-hero-intro p {
  max-width: 36rem;
}
body.customer-fidelity .booking-methods { padding-inline: 0; }
@media (max-width: 767px) {
  body.customer-fidelity .company-news-hero,
  body.customer-fidelity .booking-hero {
    min-height: 100svh;
    padding: 7rem 0 3.5rem !important;
  }
  body.customer-fidelity .company-news-hero-content,
  body.customer-fidelity .booking-hero-content {
    width: min(100% - 2rem, 80rem);
  }
}

/* Shared first-screen alignment for every non-home route.  The homepage uses
   a 92% / 1680px reading container on wide screens; legacy route heroes used
   several unrelated 1180px and 1280px containers, which drifted far right on
   large displays.  Keep the same left edge and visual vertical anchor. */
@media (min-width: 1200px) {
  body.customer-fidelity .lm-hero .lm-shell,
  body.customer-fidelity .infra-hero-content,
  body.customer-fidelity .training-hero .training-shell,
  body.customer-fidelity .products-hero > .max-w-7xl,
  body.customer-fidelity .company-news-hero-content,
  body.customer-fidelity .booking-hero-content {
    width: 92% !important;
    max-width: 1680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.customer-fidelity .lm-hero .lm-shell,
  body.customer-fidelity .infra-hero-content,
  body.customer-fidelity .training-hero .training-shell,
  body.customer-fidelity .products-hero > .max-w-7xl,
  body.customer-fidelity .company-news-hero-content,
  body.customer-fidelity .booking-hero-content {
    width: calc(100% - 36px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(3.5rem, 7vw, 6rem) !important;
    padding-right: clamp(3.5rem, 7vw, 6rem) !important;
  }
}
@media (max-width: 767px) {
  body.customer-fidelity .lm-hero .lm-shell,
  body.customer-fidelity .infra-hero-content,
  body.customer-fidelity .training-hero .training-shell,
  body.customer-fidelity .products-hero > .max-w-7xl,
  body.customer-fidelity .company-news-hero-content,
  body.customer-fidelity .booking-hero-content {
    width: calc(100% - 56px) !important;
    max-width: none !important;
    margin-left: 40px !important;
    margin-right: 16px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (min-width: 768px) {
  body.customer-fidelity .lm-hero {
    padding: 0 !important;
  }
  body.customer-fidelity .lm-hero-content {
    padding-top: 0 !important;
    transform: translateY(-22px);
  }
  body.customer-fidelity .infra-hero-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: translateY(-13px);
  }
  body.customer-fidelity .training-hero .training-shell {
    transform: translateY(-12px);
  }
  body.customer-fidelity .products-hero {
    min-height: 100svh !important;
    display: flex !important;
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.customer-fidelity .products-hero > .max-w-7xl {
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: translateY(-38px);
  }
  body.customer-fidelity .company-news-hero,
  body.customer-fidelity .booking-hero {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.customer-fidelity .company-news-hero-content,
  body.customer-fidelity .booking-hero-content {
    transform: translateY(-19px);
  }
  body.customer-fidelity .booking-hero-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: translateY(1px);
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  body.customer-fidelity .products-hero > .max-w-7xl,
  body.customer-fidelity .booking-hero-content {
    padding-left: clamp(3.5rem, 7vw, 6rem) !important;
    padding-right: clamp(3.5rem, 7vw, 6rem) !important;
  }
}
@media (max-width: 767px) {
  body.customer-fidelity.products-page > section.products-hero:nth-of-type(1) {
    padding-top: 9rem !important;
    padding-bottom: 3.5rem !important;
  }
}

/* Final source-colour lock: resolves the page-wide title gradient that would
   otherwise repaint the design's restrained yellow-green ink. */
body.customer-fidelity.home-page #nest .nest-feature :is(iconify-icon, h4, p),
body.customer-fidelity.home-page .partner-card h3 {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #d7ff82 !important;
  -webkit-text-fill-color: #d7ff82 !important;
  text-shadow: none !important;
}

/* English navigation labels are longer than Chinese labels. Keep the desktop
   navigation in place, widen the intermediate header shell, and reserve a
   fixed gap between the brand, booking action and navigation group. */
@media (min-width: 1024px) and (max-width: 1519px) {
  html[lang="en"] body.customer-fidelity .site-header-inner {
    width: calc(100% - 2rem) !important;
    padding-inline: 1.25rem !important;
  }

  html[lang="en"] body.customer-fidelity .site-desktop-nav {
    display: flex !important;
    gap: 1.25rem !important;
    margin-left: auto !important;
  }

  html[lang="en"] body.customer-fidelity .site-header-inner > .site-menu-trigger,
  html[lang="en"] body.customer-fidelity .site-header-inner > #menu-btn {
    display: none !important;
  }

  html[lang="en"] body.customer-fidelity .site-header-inner > .hidden.lg\:block {
    margin-right: 1.25rem !important;
    flex: 0 0 auto;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  html[lang="en"] body.customer-fidelity .site-header-inner > .hidden.lg\:block {
    display: none !important;
  }

  html[lang="en"] body.customer-fidelity .site-desktop-nav {
    /* Keep a visible brand-to-menu gutter at the narrowest desktop width.
       The slightly tighter inter-item rhythm creates that gutter without
       changing type size or the navigation's click targets. */
    margin-left: 1.5rem !important;
    gap: .875rem !important;
  }
}

@media (min-width: 1280px) and (max-width: 1519px) {
  html[lang="en"] body.customer-fidelity .site-desktop-nav {
    margin-left: auto !important;
  }
}

@media (min-width: 1520px) {
  html[lang="en"] body.customer-fidelity .site-header-inner > .hidden.lg\:block {
    margin-right: clamp(1rem, 1.5vw, 1.5rem) !important;
  }

  html[lang="en"] body.customer-fidelity .site-desktop-nav {
    gap: clamp(.9rem, 1.25vw, 1.5rem) !important;
  }
}

@media (min-width: 1024px) {
  html[lang="en"] body.customer-fidelity .site-header-inner {
    justify-content: flex-start !important;
  }

  html[lang="en"] body.customer-fidelity .site-desktop-nav {
    margin-left: auto !important;
  }

  html[lang="en"] body.customer-fidelity .site-desktop-nav .nav-link {
    display: inline-flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 2.75rem;
    height: auto;
    line-height: 1.04 !important;
    white-space: nowrap;
  }

  html[lang="en"] body.customer-fidelity .site-desktop-nav .site-nav-line {
    display: block;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  html[lang="en"] body.customer-fidelity .site-desktop-nav {
    margin-left: auto !important;
  }
}

/* Card names in the Illustrator artwork use a restrained semibold, not the
   global display-heading bold weight. Supporting copy intentionally remains
   at its existing regular weight. */
body.customer-fidelity.home-page .partner-card h3 {
  font-weight: 600 !important;
}

/* In the source artwork, the second-line nest specifications use the same
   yellow-green ink at roughly half opacity; headings and icons stay solid. */
body.customer-fidelity.home-page #nest .nest-feature p {
  color: rgba(215, 255, 130, .5) !important;
  -webkit-text-fill-color: rgba(215, 255, 130, .5) !important;
}

/* Final source-colour lock: keep these yellow labels outside the global
   display-title gradient cascade. */
body.customer-fidelity.home-page #nest .nest-feature :is(iconify-icon, h4, p),
body.customer-fidelity.home-page .partner-card h3 {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #d7ff82 !important;
  -webkit-text-fill-color: #d7ff82 !important;
  text-shadow: none !important;
}

/* Homepage source-art warm signal: this pair and the partner names use the
   artwork's lime-yellow ink.  Clear the global display-title gradient first;
   otherwise the later title system repaints these words cyan. */
body.customer-fidelity.home-page #nest .nest-feature :is(iconify-icon, h4, p),
body.customer-fidelity.home-page .partner-card h3 {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  /* Source artwork: subdued yellow-green, deliberately not neon yellow. */
  color: #d7ff82 !important;
  -webkit-text-fill-color: #d7ff82 !important;
  text-shadow: none !important;
}

/* Final restore for the four homepage metrics: paint inside glyphs only. */
body.customer-fidelity.home-page .home-stats .data-card-number {
  display: inline-block !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Homepage metrics — restored to the approved continuous-number treatment.
   Do not split these values into per-character highlight patches. */
body.customer-fidelity.home-page .home-stats .data-card-number {
  display: block !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: initial !important;
  color: transparent !important;
  font-weight: 700 !important;
  letter-spacing: .018em !important;
  text-shadow: none !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .data-card-number {
  background: linear-gradient(100deg, #1d63ee 0%, #00d9e6 54%, #a9ead2 100%) !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] .data-card-number {
  background: linear-gradient(100deg, #14e8ea 0%, #02c5e8 44%, #2b7ee2 64%, #b9ead1 100%) !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="cities"] .data-card-number {
  background: linear-gradient(100deg, #08e2eb 0%, #0879e6 58%, #a6d8de 100%) !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .data-card-number {
  background: linear-gradient(100deg, #1b61ec 0%, #0e9ce9 56%, #e6d4c9 78%, #abe9d2 100%) !important;
}
body.customer-fidelity.home-page .home-stats .data-card-number {
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
body.customer-fidelity.home-page .home-stats p[data-i18n] {
  display: block !important;
  color: #aebbc9 !important;
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: .055em !important;
}

/* Keep the product category controls, but remove only the strip's divider
   paint (top/bottom borders and shadow). */
body.customer-fidelity.products-page .product-category-tabs {
  display: block !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.customer-fidelity.products-page .products-hero {
  border-bottom: 0 !important;
}
body.customer-fidelity.products-page .product-category-tabs::before,
body.customer-fidelity.products-page .product-category-tabs::after {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* Design-title calibration: each title has independent sampled stops.
 * 20260824200928_156_4.jpg / “关于我们” tight crop. */
body.customer-fidelity.home-page #about .home-section-title {
  /* Artwork type scale: the original uses a restrained, semi-bold display
     face with visible breathing room between the four glyphs.  Colour stays
     on the existing per-glyph meshes below. */
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif !important;
  font-size: clamp(1.5rem, 2.05vw, 2.5rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  background-image: none !important;
  text-shadow: none !important;
}
body.customer-fidelity.home-page #about .home-section-title :is(.title-glyph-guan, .title-glyph-yu, .title-glyph-wo, .title-glyph-men) {
  margin-right: .052em;
  font: inherit !important;
  letter-spacing: 0 !important;
}
body.customer-fidelity.home-page #about .home-section-title .title-glyph-men {
  margin-right: 0;
}

/* “关于我们”首字逐字校准：设计稿中的“关”是字内纵向渐变，
 * 不是与后续文字共用的横向色带。 */
body.customer-fidelity.home-page #about .home-section-title .title-glyph-guan {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #1938e4 0%,
    #2c53e3 14%,
    #316ee5 28%,
    #418be5 42%,
    #56b0e5 57%,
    #67d0e6 70%,
    #74e8e6 85%,
    #78fce7 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “于”字逐字校准，来自同一设计稿的第二字紧凑像素裁图。 */
body.customer-fidelity.home-page #about .home-section-title .title-glyph-yu {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #6c8cdb 0%,
    #678cdc 14%,
    #6794dc 28%,
    #71a3db 42%,
    #82b4da 57%,
    #7fc0dc 70%,
    #8bc7da 85%,
    #85cfdd 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “我”字逐字校准：设计稿中为冷灰白的细微纵向层次。 */
body.customer-fidelity.home-page #about .home-section-title .title-glyph-wo {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #b4bace 0%,
    #b6bbce 14%,
    #c0c1cc 28%,
    #aebcd0 42%,
    #bbc3ce 57%,
    #b8c4ce 70%,
    #c0c7cd 85%,
    #b8c6cf 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “们”字逐字校准：设计稿右侧为暖灰白收束。 */
body.customer-fidelity.home-page #about .home-section-title .title-glyph-men {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #ead1c3 0%,
    #e9d1c3 14%,
    #e7d0c4 28%,
    #e6d0c4 42%,
    #e6d0c4 57%,
    #e5d0c5 70%,
    #e5d0c5 85%,
    #e7d1c5 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “核心业务矩阵”：keep its six approved colour meshes, but use the
 * lighter display face, compact line-height and positive character rhythm
 * from the original artwork.  The fallback gradient remains for English. */
body.customer-fidelity.home-page [data-i18n="biz_title"] {
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif !important;
  font-size: clamp(1.5rem, 2.05vw, 2.5rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}
body.customer-fidelity.home-page [data-i18n="biz_title"] [class^="title-glyph-business-"] {
  margin-right: .052em;
  font: inherit !important;
  letter-spacing: 0 !important;
}
body.customer-fidelity.home-page [data-i18n="biz_title"] .title-glyph-business-zhen {
  margin-right: 0;
}

/* “核心业务矩阵”首字“核”：native AI /Sh9 mesh, not JPEG sampling. */
body.customer-fidelity.home-page [data-i18n="biz_title"] .title-glyph-business-he {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #193de5 0%,
    #244fe4 14%,
    #306be5 28%,
    #4188e6 42%,
    #50abe6 57%,
    #61d3e6 70%,
    #74ebe7 85%,
    #72f6e7 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “核心业务矩阵”第二字“心”：native AI /Sh9 mesh. */
body.customer-fidelity.home-page [data-i18n="biz_title"] .title-glyph-business-xin {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #4a74e0 0%,
    #5381df 14%,
    #5288e1 28%,
    #549ce2 42%,
    #65aee0 57%,
    #6dbfe1 70%,
    #73c9e1 85%,
    #76cee1 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “核心业务矩阵”第三字“业”：native AI /Sh9 mesh. */
body.customer-fidelity.home-page [data-i18n="biz_title"] .title-glyph-business-ye {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #7da2d9 0%,
    #7fa4d9 14%,
    #7aa5da 28%,
    #8bafd7 42%,
    #87b1d9 57%,
    #89b5d9 70%,
    #89b9d9 85%,
    #88bad9 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “核心业务矩阵”第四字“务”：native AI /Sh9 mesh. */
body.customer-fidelity.home-page [data-i18n="biz_title"] .title-glyph-business-wu {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #a6b7d1 0%,
    #afbbcf 14%,
    #b0bccf 28%,
    #a3b8d2 42%,
    #aabbd1 57%,
    #a2bbd3 70%,
    #bbc2cd 85%,
    #a9bdd1 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “核心业务矩阵”第五字“矩”：native AI /Sh9 mesh. */
body.customer-fidelity.home-page [data-i18n="biz_title"] .title-glyph-business-ju {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #d8cbc8 0%,
    #ccc6c9 14%,
    #d4cac8 28%,
    #dccdc6 42%,
    #d2c9c8 57%,
    #d3cac8 70%,
    #cdc8ca 85%,
    #d1c9c9 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “核心业务矩阵”第六字“阵”：native AI /Sh9 mesh. */
body.customer-fidelity.home-page [data-i18n="biz_title"] .title-glyph-business-zhen {
  display: inline-block;
  background-image: linear-gradient(180deg,
    #efd3c2 0%,
    #ebd2c3 14%,
    #e8d1c3 28%,
    #e9d1c3 42%,
    #e7d1c4 57%,
    #e7d1c4 70%,
    #e8d1c4 85%,
    #ead2c4 100%) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* “全国落地经典案例”：the title is centred as one display unit.  Retain
 * the eight approved `/Sh11` meshes while matching the lighter display type,
 * compact line-height and measured tracking in the artwork. */
body.customer-fidelity.home-page [data-i18n="case_title"] {
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif !important;
  font-size: clamp(1.5rem, 2.05vw, 2.5rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

/* “全球落地经典案例”：eight original glyph meshes from AI /Sh11. */
body.customer-fidelity.home-page [data-i18n="case_title"] [class^="title-glyph-case-"] {
  display: inline-block;
  margin-right: .052em;
  font: inherit !important;
  letter-spacing: 0 !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] .title-glyph-case-quan {
  background-image: linear-gradient(180deg, #204be5 0%, #2453e5 14%, #3471e5 28%, #4492e6 42%, #55b7e6 57%, #5dcae6 70%, #69dde6 85%, #6ce9e7 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] .title-glyph-case-guo {
  background-image: linear-gradient(180deg, #3a66e2 0%, #3d6ce2 14%, #4984e4 28%, #5597e4 42%, #58a6e4 57%, #64c6e4 70%, #6dd4e4 85%, #74e6e4 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] .title-glyph-case-luo {
  background-image: linear-gradient(180deg, #6597de 0%, #5e92df 14%, #75a6e0 28%, #6ba2df 42%, #6eade0 57%, #76b2de 70%, #6eb8e0 85%, #71badf 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] .title-glyph-case-di {
  background-image: linear-gradient(180deg, #90b1d6 0%, #7aa6da 14%, #89afd8 28%, #8fb2d7 42%, #85afd9 57%, #86b2d9 70%, #8cb4d8 85%, #8bb4d9 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] .title-glyph-case-jing {
  background-image: linear-gradient(180deg, #a8bad1 0%, #a6bad2 14%, #b5bfd3 28%, #a3b9d2 42%, #acbdd0 57%, #9eb8d4 70%, #a6bbd2 85%, #a9bcd1 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] .title-glyph-case-dian {
  background-image: linear-gradient(180deg, #c5c5cb 0%, #cec8ce 14%, #c7c5cb 28%, #c5c5cb 42%, #cdc7ca 57%, #c8c6cb 70%, #cbc7cc 85%, #cbc7ca 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] .title-glyph-case-an {
  background-image: linear-gradient(180deg, #e2cfc5 0%, #e4cfc6 14%, #daccc7 28%, #e2cfc5 42%, #e1cfc7 57%, #dccdc7 70%, #dccdc7 85%, #dbcdc7 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] .title-glyph-case-li {
  margin-right: 0;
  background-image: linear-gradient(180deg, #eed3c2 0%, #ecd2c2 14%, #ead1c3 28%, #ebd2c3 42%, #ebd2c3 57%, #e9d1c4 70%, #e9d1c4 85%, #ead2c4 100%) !important;
}

/* “御文翼智能云机巢”：retain the approved 8-position `/Sh11` colour
 * mapping while giving the real page title the same lighter display face and
 * measured character rhythm as its source artwork. */
body.customer-fidelity.home-page [data-i18n="nest_title"] {
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif !important;
  font-size: clamp(1.5rem, 2.05vw, 2.5rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}
body.customer-fidelity.home-page [data-i18n="nest_title"] [class^="title-glyph-nest-"] {
  margin-right: .052em;
  font: inherit !important;
  letter-spacing: 0 !important;
}
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-chao {
  margin-right: 0;
}

/* “御文翼智能云机巢”：use the approved 8-position /Sh11 artwork mesh. */
body.customer-fidelity.home-page [data-i18n="nest_title"] [class^="title-glyph-nest-"] {
  display: inline-block;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-yu { background-image: linear-gradient(180deg, #204be5 0%, #2453e5 14%, #3471e5 28%, #4492e6 42%, #55b7e6 57%, #5dcae6 70%, #69dde6 85%, #6ce9e7 100%) !important; }
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-wen { background-image: linear-gradient(180deg, #3a66e2 0%, #3d6ce2 14%, #4984e4 28%, #5597e4 42%, #58a6e4 57%, #64c6e4 70%, #6dd4e4 85%, #74e6e4 100%) !important; }
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-yi { background-image: linear-gradient(180deg, #6597de 0%, #5e92df 14%, #75a6e0 28%, #6ba2df 42%, #6eade0 57%, #76b2de 70%, #6eb8e0 85%, #71badf 100%) !important; }
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-zhi { background-image: linear-gradient(180deg, #90b1d6 0%, #7aa6da 14%, #89afd8 28%, #8fb2d7 42%, #85afd9 57%, #86b2d9 70%, #8cb4d8 85%, #8bb4d9 100%) !important; }
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-neng { background-image: linear-gradient(180deg, #a8bad1 0%, #a6bad2 14%, #b5bfd3 28%, #a3b9d2 42%, #acbdd0 57%, #9eb8d4 70%, #a6bbd2 85%, #a9bcd1 100%) !important; }
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-yun { background-image: linear-gradient(180deg, #c5c5cb 0%, #cec8ce 14%, #c7c5cb 28%, #c5c5cb 42%, #cdc7ca 57%, #c8c6cb 70%, #cbc7cc 85%, #cbc7ca 100%) !important; }
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-ji { background-image: linear-gradient(180deg, #e2cfc5 0%, #e4cfc6 14%, #daccc7 28%, #e2cfc5 42%, #e1cfc7 57%, #dccdc7 70%, #dccdc7 85%, #dbcdc7 100%) !important; }
body.customer-fidelity.home-page [data-i18n="nest_title"] .title-glyph-nest-chao { background-image: linear-gradient(180deg, #eed3c2 0%, #ecd2c2 14%, #ead1c3 28%, #ebd2c3 42%, #ebd2c3 57%, #e9d1c4 70%, #e9d1c4 85%, #ead2c4 100%) !important; }

/* “服务品牌与政府机构”：retain the nine original `/Sh14` meshes while
 * matching the quieter semi-bold display type and the measured space between
 * glyphs in the source design. */
body.customer-fidelity.home-page [data-i18n="brand_partner"] {
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif !important;
  font-size: clamp(1.5rem, 2.05vw, 2.5rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}
body.customer-fidelity.home-page [data-i18n="brand_partner"] [class^="title-glyph-partner-"] {
  margin-right: .052em;
  font: inherit !important;
  letter-spacing: 0 !important;
}
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-gou {
  margin-right: 0;
}

/* “服务品牌与政府机构”：nine original glyph meshes from AI /Sh14. */
body.customer-fidelity.home-page [data-i18n="brand_partner"] [class^="title-glyph-partner-"] {
  display: inline-block;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-fu { background-image: linear-gradient(180deg, #2453e5 0%, #234de4 14%, #3068e5 28%, #408ae6 42%, #4fa7e6 57%, #5dc4e6 70%, #67dce7 85%, #66dde7 100%) !important; }
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-wu { background-image: linear-gradient(180deg, #2f57e3 0%, #3463e3 14%, #366de4 28%, #478ce4 42%, #5dabe5 57%, #65c2e4 70%, #71e5e5 85%, #78f4e5 100%) !important; }
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-pin { background-image: linear-gradient(180deg, #5f96df 0%, #4d85e1 14%, #6ca2dd 28%, #64a1e1 42%, #6faade 57%, #69acdf 70%, #6eb4e0 85%, #6bb9e1 100%) !important; }
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-pai { background-image: linear-gradient(180deg, #81acd9 0%, #8ab1db 14%, #83aed9 28%, #81aeda 42%, #7daedb 57%, #85b1dc 70%, #87b2d8 85%, #7db0db 100%) !important; }
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-yu { background-image: linear-gradient(180deg, #99b6d5 0%, #a5bad5 14%, #9db8d4 28%, #9bb7d4 42%, #a2b9d3 57%, #94b5d6 70%, #9eb8d4 85%, #9ab7d4 100%) !important; }
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-zheng { background-image: linear-gradient(180deg, #b7c1ce 0%, #b4bfd0 14%, #aebed0 28%, #b7c0ce 42%, #b1bfcf 57%, #a8bcd1 70%, #b7c1ce 85%, #b1bfd0 100%) !important; }
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-fu2 { background-image: linear-gradient(180deg, #d2cac8 0%, #d1c9ca 14%, #ccc8ca 28%, #c4c5cb 42%, #d5cbca 57%, #c3c5cc 70%, #d7cbc8 85%, #ccc8ca 100%) !important; }
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-ji { background-image: linear-gradient(180deg, #e7d0c6 0%, #e5d0c4 14%, #dfcec6 28%, #d9ccc7 42%, #dccdc6 57%, #e4d0c5 70%, #e1cfc6 85%, #dfcec6 100%) !important; }
body.customer-fidelity.home-page [data-i18n="brand_partner"] .title-glyph-partner-gou { background-image: linear-gradient(180deg, #eed3c2 0%, #ebd2c3 14%, #ecd2c3 28%, #ead2c3 42%, #ead2c4 57%, #ebd2c3 70%, #e9d1c4 85%, #ead2c4 100%) !important; }

/* Contact title: the artwork uses one base scale for both lines. “闪耀” is
 * the only enlarged pair; all other glyphs use a lighter, spaced treatment. */
body.customer-fidelity.home-page #contact-title {
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
}
body.customer-fidelity.home-page #contact-title .contact-title-line-1 {
  display: inline-block;
  font-size: clamp(1.3rem, 1.82vw, 2.2rem) !important;
  line-height: 1.06 !important;
}
body.customer-fidelity.home-page #contact-title .contact-title-line-2 {
  display: inline-block;
  font-size: clamp(1.3rem, 1.82vw, 2.2rem) !important;
  line-height: 1.06 !important;
}
body.customer-fidelity.home-page #contact-title [class^="title-glyph-contact-"] {
  display: inline-block;
  margin-right: .065em;
  font-weight: inherit !important;
  letter-spacing: 0 !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
body.customer-fidelity.home-page #contact-title :is(.title-glyph-contact-shan, .title-glyph-contact-yao) {
  font-size: clamp(1.456rem, 2.0384vw, 2.464rem) !important;
  font-weight: 650 !important;
  margin-left: -.01em;
  margin-right: .04em;
  vertical-align: -.035em;
}
body.customer-fidelity.home-page #contact-title .title-glyph-contact-zhun { background-image: linear-gradient(180deg, #1a3de5 0%, #2042e4 14%, #2249e4 28%, #214be5 42%, #2c5de4 57%, #2c5de4 70%, #326de5 85%, #3676e5 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-bei { background-image: linear-gradient(180deg, #3257e2 0%, #2a4ee3 14%, #3963e2 28%, #4674e1 42%, #4674e1 57%, #3e70e2 70%, #4b7fe1 85%, #437fe3 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-hao { background-image: linear-gradient(180deg, #4c75e0 0%, #5d87dd 14%, #5a86e0 28%, #5a86de 42%, #6b95dc 57%, #5387e0 70%, #6e9adc 85%, #6c9edd 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-rang { background-image: linear-gradient(180deg, #7a9cd9 0%, #8ca7d6 14%, #83a3d8 28%, #83a3d8 42%, #8aa9d7 57%, #7aa0da 70%, #7aa0da 85%, #82a7d9 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-nin { background-image: linear-gradient(180deg, #95acd4 0%, #a3b4d1 14%, #95add4 28%, #95add4 42%, #a0b4d2 57%, #abb9d0 70%, #a8b8d1 85%, #a0b5d4 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-de { background-image: linear-gradient(180deg, #c4c2ce 0%, #c4c2cb 14%, #b8becd 28%, #bfc1cc 42%, #c4c3cb 57%, #c4c3cb 70%, #bdc1cd 85%, #b4bece 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-pin { background-image: linear-gradient(180deg, #d8cac7 0%, #cfc7c9 14%, #ddcdc6 28%, #ccc6c9 42%, #d4c9c8 57%, #d4c9c8 70%, #dacbc7 85%, #cdc7c9 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-pai { background-image: linear-gradient(180deg, #e9d1c4 0%, #e6d0c4 14%, #e6d0c4 28%, #ead1c3 42%, #e0cec5 57%, #e0cec5 70%, #e9d1c3 85%, #e3cfc5 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-zai { background-image: linear-gradient(180deg, #52a7e5 0%, #57bbe6 14%, #60c7e5 28%, #60c7e5 42%, #6be1e6 57%, #6ce6e7 70%, #75f3e6 85%, #74f4e7 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-xing { background-image: linear-gradient(180deg, #5ca9e3 0%, #62bae3 14%, #64c9e5 28%, #6bc8e3 42%, #6bd0e4 57%, #73d0e2 70%, #73d0e2 85%, #76eae5 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-kong { background-image: linear-gradient(180deg, #72ace0 0%, #6db2df 14%, #75b4dd 28%, #74bcdf 42%, #74bcdf 57%, #7ac6e0 70%, #78c4df 85%, #7ccee0 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-shan { background-image: linear-gradient(180deg, #8fb4d7 0%, #80b4db 14%, #8bb7d8 28%, #7eb9dc 42%, #86bbda 57%, #86bbda 70%, #80bfdc 85%, #8ebed9 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-yao { background-image: linear-gradient(180deg, #a2b9d5 0%, #aabdd1 14%, #a1bbd3 28%, #acbfd5 42%, #9abbd5 57%, #a0bdd4 70%, #9fbed4 85%, #9fbed4 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-ma { background-image: linear-gradient(180deg, #b3bfcf 0%, #c1c4cc 14%, #c6c6cb 28%, #bec4cf 42%, #bec4cd 57%, #b2c1d0 70%, #bfc5cd 85%, #b7c3cf 100%) !important; }
body.customer-fidelity.home-page #contact-title .title-glyph-contact-question { background-image: linear-gradient(180deg, #cbc7ca 0%, #cbc7ca 14%, #d1c9c9 28%, #c7c7cb 42%, #c7c7cb 57%, #d5cbc8 70%, #c7c7cb 85%, #cfc9ca 100%) !important; }

/* The original artwork centres this case-study heading as an independent
 * display block, not merely the text inside a left-aligned module. */
body.customer-fidelity.home-page [data-i18n="case_title"] {
  display: block !important;
  width: fit-content;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Sequential title calibration — each stop is sampled from the matching
 * title crop in 20260824200928_156_4.jpg. Do not consolidate these rules. */
body.customer-fidelity.home-page .carousel-slide h1 {
  background-image: linear-gradient(100deg, #f2f2f2 0%, #f0f0f0 52%, #f2f2f2 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
body.customer-fidelity.home-page [data-i18n="biz_title"] {
  background-image: linear-gradient(100deg, #4785dc 0%, #8eb1cf 52%, #d5cac5 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="case_title"] {
  background-image: linear-gradient(100deg, #5899dd 0%, #92b1ce 52%, #d4c9c5 100%) !important;
}
body.customer-fidelity.home-page [data-i18n="brand_partner"] {
  background-image: linear-gradient(100deg, #569ede 0%, #8fb2cf 52%, #d6cbc6 100%) !important;
}
body.customer-fidelity.home-page h2.home-section-title:has([data-i18n="form_title_1"]),
body.customer-fidelity.home-page h2.home-section-title:has([data-i18n="form_title_1"]) :is(span, strong, em) {
  background-image: linear-gradient(100deg, #3562dc 0%, #87a5cf 52%, #d2c8c6 100%) !important;
}
body.customer-fidelity.home-page .home-section h2[data-i18n="nav_news"] {
  background-image: linear-gradient(100deg, #325dda 0%, #809bcf 52%, #d1c7c6 100%) !important;
}

/* Homepage section heading “新闻报道”: `/Sh24` from the supplied Illustrator
 * original contains four independent meshes.  Keep the treatment isolated
 * to the page module so the top navigation label is never converted. */
body.customer-fidelity.home-page #news h2[data-i18n="nav_news"] {
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: clamp(1.3rem, 1.82vw, 2.2rem) !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
  background-image: none !important;
}
body.customer-fidelity.home-page #news h2[data-i18n="nav_news"] [class^="title-glyph-news-"] {
  display: inline-block;
  margin-right: .065em;
  font: inherit !important;
  letter-spacing: 0 !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
body.customer-fidelity.home-page #news h2[data-i18n="nav_news"] .title-glyph-news-xin { background-image: linear-gradient(180deg, #1938e4 0%, #2c53e4 14%, #316ee5 28%, #4184e5 42%, #56b4e5 57%, #66d0e5 70%, #71ede6 85%, #78fce7 100%) !important; }
body.customer-fidelity.home-page #news h2[data-i18n="nav_news"] .title-glyph-news-wen { background-image: linear-gradient(180deg, #6c8cda 0%, #698fdb 14%, #6b99dc 28%, #7aa5db 42%, #78b4dc 57%, #87bddc 70%, #88c6db 85%, #85cedd 100%) !important; }
body.customer-fidelity.home-page #news h2[data-i18n="nav_news"] .title-glyph-news-bao { background-image: linear-gradient(180deg, #b4bace 0%, #b6bbce 14%, #c0c1cc 28%, #afbcd0 42%, #bbc3ce 57%, #b8c4ce 70%, #c0c7cd 85%, #b9c7cf 100%) !important; }
body.customer-fidelity.home-page #news h2[data-i18n="nav_news"] .title-glyph-news-dao { background-image: linear-gradient(180deg, #ead1c3 0%, #e9d1c3 14%, #e7d0c4 28%, #e6d0c4 42%, #e6d0c4 57%, #e5d0c5 70%, #e5d0c5 85%, #e7d1c5 100%) !important; }

/* Hero statistics: each value and supporting label is rendered glyph by
 * glyph.  The four columns use the original artwork's own cold-blue/cyan
 * families (/Sh20, /Sh17, /Sh22 and /Sh19) rather than one shared gradient. */
body.customer-fidelity.home-page .home-stats .data-card-number {
  display: inline-flex !important;
  align-items: baseline;
  justify-content: center;
  gap: .018em;
  font-family: "PingFang SC", "Microsoft YaHei", "DIN Alternate", sans-serif !important;
  font-size: clamp(2rem, 3vw, 3.5rem) !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  letter-spacing: .012em !important;
  background-image: none !important;
  -webkit-text-fill-color: initial !important;
  text-shadow: none !important;
}
body.customer-fidelity.home-page .home-stats .stat-number-glyph {
  display: inline-block;
  background-image: linear-gradient(180deg, var(--stat-top), var(--stat-mid) 52%, var(--stat-bottom)) !important;
  background-size: 100% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] { --stat-top: #3870f8; --stat-mid: #3595e2; --stat-bottom: #05a5e2; }
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] { --stat-top: #3770f8; --stat-mid: #3699e2; --stat-bottom: #05a4e2; }
body.customer-fidelity.home-page .home-stats [data-stat-id="cities"] { --stat-top: #236df5; --stat-mid: #2aa5e4; --stat-bottom: #12c9df; }
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] { --stat-top: #3a75f9; --stat-mid: #3d9ae2; --stat-bottom: #05a2e2; }
/* Subtle per-character modulation keeps the left-to-right mesh rhythm in
 * the original outlined numerals instead of colouring every glyph alike. */
body.customer-fidelity.home-page .home-stats .stat-number-glyph-0 { filter: saturate(1.12) brightness(.96); }
body.customer-fidelity.home-page .home-stats .stat-number-glyph-1 { filter: saturate(1.07) brightness(.985); }
body.customer-fidelity.home-page .home-stats .stat-number-glyph-2 { filter: saturate(1.03) brightness(1.01); }
body.customer-fidelity.home-page .home-stats .stat-number-glyph-3 { filter: saturate(1) brightness(1.025); }
body.customer-fidelity.home-page .home-stats .stat-number-glyph-4 { filter: saturate(.98) brightness(1.04); }
body.customer-fidelity.home-page .home-stats .stat-number-glyph-5 { filter: saturate(.96) brightness(1.055); }
body.customer-fidelity.home-page .home-stats .stat-number-glyph-6,
body.customer-fidelity.home-page .home-stats .stat-number-glyph-7 { filter: saturate(.94) brightness(1.07); }
body.customer-fidelity.home-page .home-stats p[data-i18n] {
  display: flex;
  justify-content: center;
  font-family: "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: clamp(.75rem, .76vw, .9rem) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: .055em !important;
}
body.customer-fidelity.home-page .home-stats .stat-label-glyph { color: #aebbc9 !important; }
body.customer-fidelity.home-page .home-stats .stat-label-glyph:nth-child(3n + 1) { color: #99b6c9 !important; }
body.customer-fidelity.home-page .home-stats .stat-label-glyph:nth-child(3n + 2) { color: #b8c4d0 !important; }
body.customer-fidelity.home-page .home-stats .stat-label-glyph:nth-child(3n) { color: #a7bdca !important; }
@media (max-width: 767px) {
  body.customer-fidelity.home-page .home-stats .data-card-number { gap: .012em; font-weight: 650 !important; }
  body.customer-fidelity.home-page .home-stats p[data-i18n] { letter-spacing: .035em !important; }
}

/* Native statistic mesh correction: the reference is not a dark vertical
 * wash. It progresses visibly from electric blue at the left of each value
 * to cyan at the right. Each outlined glyph receives its own three-stop
 * vertical micro-gradient, sampled as a horizontal sequence from the source. */
body.customer-fidelity.home-page .home-stats .stat-number-glyph {
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--glyph-base) 86%, white), var(--glyph-base) 52%, color-mix(in srgb, var(--glyph-base) 88%, #07101c)) !important;
  filter: none !important;
}
/* /Sh20 — 30,000+ */
/* 30,000+ starts electric blue in the artwork, then moves into cyan. */
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-0 { --glyph-base: #1d63ee; }
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-0 {
  /* The 3 remains blue overall; only its far-right edge catches the cyan
     highlight visible in the approved crop. */
  background-image:
    linear-gradient(90deg, transparent 0 54%, rgba(22, 229, 235, .88) 100%),
    linear-gradient(180deg, color-mix(in srgb, #1d63ee 86%, white), #1d63ee 52%, color-mix(in srgb, #1d63ee 88%, #07101c)) !important;
  background-blend-mode: screen, normal !important;
}
/* 30,000+ focal sequence: bright → warmest highlight → bright, exactly
 * mirroring the close-up's horizontal light hand-off. */
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-1 {
  background-image: linear-gradient(90deg, #16e5eb 0%, #72f2ec 48%, #e7d1c5 100%) !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-2 {
  background-image: linear-gradient(180deg, #f0dbce 0%, #ead1c3 52%, #e3cfc5 100%) !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-3 {
  background-image: linear-gradient(90deg, #e7d1c5 0%, #80f1ec 50%, #16dfe9 100%) !important;
}
/* 30,000+ only: the two leading zeroes in the approved crop carry the
 * brighter cyan highlights; do not alter any other statistic. */
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-1 { --glyph-base: #16e5eb; }
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-2 { --glyph-base: #16e5eb; }
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-3 { --glyph-base: #10cce9; }
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-4 { --glyph-base: #1d66de; }
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-5 { --glyph-base: #5f9dd9; }
body.customer-fidelity.home-page .home-stats [data-stat-id="performances"] .stat-number-glyph-6 { --glyph-base: #a6e7d5; }
/* /Sh17 — 6,600万+ */
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] .stat-number-glyph-0 { --glyph-base: #15f8eb; }
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] .stat-number-glyph-1 { --glyph-base: #0be7e9; }
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] .stat-number-glyph-2 { --glyph-base: #03aee5; }
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] .stat-number-glyph-3 { --glyph-base: #0376e0; }
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] .stat-number-glyph-4 { --glyph-base: #1965dd; }
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] .stat-number-glyph-5 { --glyph-base: #5a99d9; }
body.customer-fidelity.home-page .home-stats [data-stat-id="flights"] .stat-number-glyph-6 { --glyph-base: #a7e6d4; }
/* /Sh22 — 500+ */
body.customer-fidelity.home-page .home-stats [data-stat-id="cities"] .stat-number-glyph-0 { --glyph-base: #00e0ef; }
body.customer-fidelity.home-page .home-stats [data-stat-id="cities"] .stat-number-glyph-1 { --glyph-base: #008be9; }
body.customer-fidelity.home-page .home-stats [data-stat-id="cities"] .stat-number-glyph-2 { --glyph-base: #244fe4; }
body.customer-fidelity.home-page .home-stats [data-stat-id="cities"] .stat-number-glyph-3 { --glyph-base: #a0afe4; }
/* /Sh19 — 1,000+ */
/* 1,000+ also starts from blue, unlike the two cyan-led middle groups. */
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .stat-number-glyph-0 { --glyph-base: #2264ef; }
/* 1,000+ focal sequence: leave the comma blue; the first zero is the warm
 * cold-white peak and the second zero releases back into cyan. */
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .stat-number-glyph-1 { --glyph-base: #2478ec; }
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .stat-number-glyph-2 {
  background-image: linear-gradient(180deg, #f0dbce 0%, #ead1c3 52%, #e3cfc5 100%) !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .stat-number-glyph-3 {
  background-image: linear-gradient(90deg, #e7d1c5 0%, #80f1ec 50%, #16dfe9 100%) !important;
}

/* About module reference link: a compact filled right triangle, not a
 * chevron icon.  Keep it outside the translatable text span so it survives
 * every Chinese/English refresh. */
body.customer-fidelity.home-page .about-more-link {
  gap: .42rem !important;
  line-height: 1.2 !important;
}
body.customer-fidelity.home-page .about-more-link .about-more-triangle {
  display: inline-block;
  width: 0;
  height: 0;
  border-top: .27rem solid transparent;
  border-bottom: .27rem solid transparent;
  border-left: .4rem solid currentColor;
  filter: drop-shadow(0 0 .3rem rgba(22, 229, 235, .42));
  transition: transform .2s ease, filter .2s ease;
}
body.customer-fidelity.home-page .about-more-link:hover .about-more-triangle,
body.customer-fidelity.home-page .about-more-link:focus-visible .about-more-triangle {
  transform: translateX(.2rem);
  filter: drop-shadow(0 0 .46rem rgba(22, 229, 235, .7));
}

/* Core-business matrix: on wide layouts the second and fourth cards form the
 * lower beat of the staggered composition.  One third of their own height is
 * used so the drop remains proportional as content/card height changes. */
@media (min-width: 1024px) {
  body.customer-fidelity.home-page .home-equal-grid {
    padding-bottom: clamp(6rem, 8vw, 7.5rem);
  }
  body.customer-fidelity.home-page .home-equal-card:nth-child(2),
  body.customer-fidelity.home-page .home-equal-card:nth-child(4) {
    transform: translateY(33.333%) !important;
  }
  body.customer-fidelity.home-page .home-equal-card:nth-child(2):hover,
  body.customer-fidelity.home-page .home-equal-card:nth-child(4):hover {
    transform: translateY(calc(33.333% - .5rem)) !important;
  }
}

/* Global implementation case cards: the location tag carries a restrained
 * bright-black → black → bright-black metallic sweep from the reference.
 * Reading copy remains clean white; only the final specification line uses
 * the source's yellow signal colour. */
body.customer-fidelity.home-page #scenes .home-case-card .case-location-tag {
  background: linear-gradient(105deg, rgba(100, 112, 126, .78) 0%, rgba(15, 19, 27, .96) 47%, rgba(88, 98, 111, .78) 100%) !important;
  border: 1px solid rgba(211, 224, 235, .26);
  box-shadow: inset 0 1px rgba(255, 255, 255, .18), 0 .25rem .8rem rgba(0, 0, 0, .34);
  backdrop-filter: blur(.35rem);
  letter-spacing: .025em;
}
body.customer-fidelity.home-page #scenes .home-case-card .case-card-title,
body.customer-fidelity.home-page #scenes .home-case-card .case-card-subtitle {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 1px .75rem rgba(0, 0, 0, .5);
}
body.customer-fidelity.home-page #scenes .home-case-card .case-card-specs,
body.customer-fidelity.home-page #scenes .home-case-card .case-card-specs span {
  color: #f4e85b !important;
  -webkit-text-fill-color: #f4e85b !important;
  text-shadow: 0 0 .55rem rgba(244, 232, 91, .28);
}

/* Smart cloud-nest feature pair: the reference calls for one coherent yellow
 * signal treatment across icon, heading and supporting specification. */
body.customer-fidelity.home-page #nest .nest-feature iconify-icon,
body.customer-fidelity.home-page #nest .nest-feature h4,
body.customer-fidelity.home-page #nest .nest-feature p {
  color: #f4e85b !important;
  -webkit-text-fill-color: #f4e85b !important;
  text-shadow: 0 0 .5rem rgba(244, 232, 91, .22);
}

/* Partner carousel: company / institution names only.  Keep subtitles,
 * category labels and every card visual unchanged. */
body.customer-fidelity.home-page .partner-card h3 {
  color: #f4e85b !important;
  -webkit-text-fill-color: #f4e85b !important;
}

/* Consultation / quote pair: the reference intentionally uses two distinct
 * signal colours.  Only the headings differ; both supporting lines retain
 * the same clean light-neutral reading colour. */
body.customer-fidelity.home-page .contact-feature-plan h4 {
  /* Reference: this is not cyan; it transitions through a restrained,
     deep indigo-violet signal. */
  color: #4055d5 !important;
  background: linear-gradient(102deg, #2448bd 0%, #3b56d1 52%, #6a58d9 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: 0 0 .55rem rgba(65, 79, 207, .24);
}
body.customer-fidelity.home-page .contact-feature-quote h4 {
  color: #bb6ff3 !important;
  -webkit-text-fill-color: #bb6ff3 !important;
  text-shadow: 0 0 .55rem rgba(187, 111, 243, .26);
}
body.customer-fidelity.home-page .contact-feature p {
  color: #d5dbe5 !important;
  -webkit-text-fill-color: #d5dbe5 !important;
}
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .stat-number-glyph-2 { --glyph-base: #0291e3; }
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .stat-number-glyph-3 { --glyph-base: #0c6cdf; }
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .stat-number-glyph-4 { --glyph-base: #4a8bda; }
body.customer-fidelity.home-page .home-stats [data-stat-id="partners"] .stat-number-glyph-5 { --glyph-base: #a0e6d5; }

/* One shared footer structure, correct logo treatment and unbroken newsletter control. */
body.customer-fidelity footer,
body.customer-fidelity .site-footer {
  /* Footer is part of the same continuous canvas as all modules: no dark
     gradient panel, border or seam may remain at its start. */
  background: transparent !important;
  border-top-color: transparent !important;
}
body.customer-fidelity footer .max-w-7xl > .grid {
  grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)) !important;
  align-items: start;
  gap: clamp(2rem, 4vw, 4.5rem) !important;
}
body.customer-fidelity footer img[src="logo.svg"] {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
body.customer-fidelity .site-newsletter { min-height: 3rem; }
body.customer-fidelity .site-newsletter input { min-height: 3rem !important; padding-right: 7rem !important; }
body.customer-fidelity .site-newsletter .site-subscribe-button {
  right: .25rem !important;
  top: .25rem !important;
  bottom: .25rem !important;
  height: auto !important;
  min-height: 0 !important;
  transform: none !important;
  border-radius: .7rem !important;
}
body.customer-fidelity .site-newsletter .site-subscribe-button:hover,
body.customer-fidelity .site-newsletter .site-subscribe-button:focus-visible { transform: none !important; }

@media (min-width: 600px) {
  body.customer-fidelity .glass-header { width: calc(100% - 28px) !important; }
  body.customer-fidelity.home-page .glass-header > .max-w-7xl {
    display: flex !important;
    height: 4rem !important;
    padding-inline: 1.1rem !important;
  }
  /* Do not rely on remote Tailwind's md/lg utilities: file:// and tablet views
     otherwise leave the header frame visible while hiding its functional content. */
  body.customer-fidelity.home-page .tablet-booking,
  body.customer-fidelity.home-page .tablet-navigation { display: flex !important; }
  body.customer-fidelity.home-page .tablet-menu-trigger,
  body.customer-fidelity.home-page .tablet-mobile-menu { display: none !important; }
  /* iPad/tablet already uses the horizontal header; never leave a redundant
     hamburger alongside visible navigation links on the legacy pages. */
  body.customer-fidelity .site-menu-trigger,
  body.customer-fidelity .site-header-inner > #menu-btn { display: none !important; }
  body.customer-fidelity #mobile-menu.site-menu-unified { display: none !important; }
  body.customer-fidelity.home-page .tablet-navigation { gap: .85rem !important; }
  body.customer-fidelity .glass-header .nav-link { font-size: .72rem !important; }
  body.customer-fidelity .glass-header a[href="booking.html"] { padding-inline: .7rem !important; font-size: .72rem !important; }
  body.customer-fidelity.home-page .glass-header a.flex.items-center.gap-3 > div + div > span:first-child { font-size: .95rem !important; }
}

@media (max-width: 767px) {
  body.customer-fidelity::before { background-attachment: scroll !important; }
  body.customer-fidelity .glass-header a[href="booking.html"] { display: none !important; }
  /* Header overlays the visual; it must not reserve a blank strip above the banner. */
  body.customer-fidelity nav.glass-header,
  body.customer-fidelity header.glass-header {
    position: fixed !important;
    top: .625rem !important;
    right: .75rem !important;
    left: .75rem !important;
    width: auto !important;
    height: 3.75rem !important;
    min-height: 3.75rem !important;
    margin: 0 !important;
  }
  body.customer-fidelity nav.glass-header > .site-header-inner,
  body.customer-fidelity header.glass-header > .site-header-inner {
    display: flex !important;
    width: 100% !important;
    height: 3.75rem !important;
    min-height: 3.75rem !important;
    padding-inline: 1.125rem !important;
  }
  body.customer-fidelity .site-header-inner > .site-desktop-nav,
  body.customer-fidelity .site-header-inner > .hidden.md\\:flex,
  body.customer-fidelity .site-header-inner > .hidden.lg\\:block { display: none !important; }
  body.customer-fidelity .site-header-inner > #menu-btn,
  body.customer-fidelity .site-header-inner > .site-menu-trigger {
    display: inline-flex !important;
    margin-left: auto !important;
  }
  /* Products has a fixed header plus a hero and a sticky category strip.
     Reserve a real safe area for the hero, then keep the category strip below
     the header rather than allowing its labels/cards to overlap the title. */
  body.customer-fidelity.products-page > section.products-hero {
    min-height: 14.5rem !important;
    padding-top: 7.55rem !important;
    padding-bottom: 2.5rem !important;
  }
  body.customer-fidelity.products-page > section.products-hero h1 {
    margin-bottom: .75rem !important;
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
    line-height: 1.08 !important;
  }
  body.customer-fidelity.products-page > section.products-hero p {
    padding-inline: 1.25rem !important;
    font-size: .88rem !important;
    line-height: 1.65 !important;
  }
  body.customer-fidelity.products-page > section.product-category-tabs {
    position: sticky !important;
    top: 4.75rem !important;
    z-index: 45 !important;
    min-height: 4.9rem !important;
    background: rgba(4, 10, 21, .94) !important;
    border-top: 1px solid rgba(101, 206, 246, .13) !important;
  }
  body.customer-fidelity.products-page > section.product-category-tabs > div { padding-inline: 1rem !important; }
  body.customer-fidelity.products-page > section.product-category-tabs > div > div {
    justify-content: flex-start !important;
    gap: .65rem !important;
    padding-block: .85rem !important;
  }
  body.customer-fidelity.products-page > section.product-category-tabs .tab-btn {
    min-height: 2.45rem !important;
    padding-inline: .8rem !important;
    font-size: .78rem !important;
    white-space: nowrap !important;
  }
  body.customer-fidelity.products-page > section.product-category-tabs + section { padding-top: 2rem !important; }
  /* Filter pills must retain readable type and capsule proportions. On narrow
     screens they scroll as a row instead of squeezing six labels into tabs. */
  body.customer-fidelity.news-page .news-filter-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: .55rem !important;
    min-height: 3.85rem !important;
    padding: .55rem 1rem !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
    scroll-padding-inline: 1rem;
  }
  body.customer-fidelity.news-page .filter-tab {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.45rem !important;
    padding: 0 .9rem !important;
    border-radius: 999px !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
  body.customer-fidelity.home-page .carousel-container {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin-top: 0 !important;
  }
  body.customer-fidelity.home-page .carousel-slide > img,
  body.customer-fidelity.home-page .carousel-slide > video {
    object-fit: cover !important;
    object-position: center center !important;
  }
  body.customer-fidelity.home-page .home-hero-content {
    align-items: flex-end !important;
    padding: 1.25rem 1.5rem !important;
  }
  body.customer-fidelity.home-page .home-hero-copy {
    width: min(76%, 21rem) !important;
    margin-left: 0 !important;
  }
  body.customer-fidelity.home-page .home-hero-copy h1 {
    font-size: clamp(1.25rem, 5.8vw, 1.65rem) !important;
  }
  body.customer-fidelity.home-page .home-hero-actions .home-hero-button {
    min-height: 2rem !important;
    min-width: 0 !important;
    padding: .35rem .75rem !important;
    font-size: .7rem !important;
  }
  body.customer-fidelity footer .max-w-7xl > .grid { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.customer-fidelity::before { animation: none !important; }
}

/* Final cross-page type enforcement. These sit after the legacy tablet rules
   so individual pages cannot quietly shrink their navigation or fall back to
   flat-white feature headings. */
@media (min-width: 768px) {
  body.customer-fidelity .glass-header .nav-link {
    font-size: .875rem !important;
    line-height: 1 !important;
    letter-spacing: .025em !important;
  }
}
body.customer-fidelity:not(.home-page) main :is(h1, h2).blue-gradient-text,
body.customer-fidelity:not(.home-page) main > section :is(h1, h2),
body.customer-fidelity:not(.home-page) > section :is(h1, h2).blue-gradient-text {
  background: var(--v2-display-gradient) !important;
  background-size: 100% 100% !important;
  background-position: 0 50% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: 0 0 24px rgba(31, 139, 255, .12) !important;
}

/* Footer brand lockup mirrors the header on every page. */
body.customer-fidelity footer .site-footer-brand-lockup {
  display: inline-flex !important;
  align-items: center !important;
  gap: .75rem !important;
  min-height: 2.5rem !important;
}
body.customer-fidelity footer .site-footer-logo-mark {
  display: block !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  flex: 0 0 2.5rem !important;
  overflow: visible !important;
}
body.customer-fidelity footer .site-footer-logo-mark img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
body.customer-fidelity footer .site-footer-brand-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: .14rem !important;
  line-height: 1 !important;
}
body.customer-fidelity footer .site-footer-brand-name {
  color: #f5f8ff !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: .06em !important;
}
body.customer-fidelity footer .site-footer-brand-en {
  color: var(--v2-cyan) !important;
  font-size: .58rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .22em !important;
}

/* Restore the header's English brand subline. A legacy fidelity rule hid the
   second span even though every page already provides YUWENYI TECH markup. */
body.customer-fidelity nav.glass-header a.flex.items-center.gap-3.group > .flex.flex-col > span:last-child,
body.customer-fidelity .site-brand-en {
  display: block !important;
  color: var(--v2-cyan) !important;
  font-size: .58rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: .22em !important;
}

/* Match drone-site's continuous canvas: content chapters do not switch to
   alternating blue panel backgrounds. Hero media, sticky controls and actual
   information cards retain their own treatment. */
body.customer-fidelity > section:not(.scenarios-hero):not(.glass-header):not(.sticky),
body.customer-fidelity main > section:not(.scenarios-hero):not(.glass-header):not(.sticky),
body.customer-fidelity .home-section {
  background-color: transparent !important;
  background-image: none !important;
}

/* 2026-08-25 customer correction ------------------------------------------------
   Scope is deliberately limited to display headings and page-section surfaces.
   Body copy, controls, cards and layout geometry are not changed here. */

/* Design artwork title ramp: electric blue -> clear cyan -> cold white.
   Apply it to semantic display copy only, never to paragraphs, labels or UI
   controls.  This final selector also replaces legacy per-page flat-white
   headings without needing to alter their markup. */
:root {
  --v2-title-gradient: linear-gradient(102deg,
    #1765ff 0%,
    #158dfc 27%,
    #08cce7 53%,
    #8deef4 77%,
    #f5fbff 100%);
}

body.customer-fidelity :is(main, section, footer) :is(h1, h2, h3, h4):not(.site-footer-brand-name) {
  background-image: linear-gradient(102deg, #1765ff 0%, #158dfc 27%, #08cce7 53%, #8deef4 77%, #f5fbff 100%) !important;
  background-color: transparent !important;
  background-size: 100% 100% !important;
  background-position: 0 50% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  text-shadow: 0 0 22px rgba(19, 152, 245, .14) !important;
}

/* Match the specificity of the legacy non-home heading override above. */
body.customer-fidelity:not(.home-page) :is(main, section, footer) :is(h1, h2, h3, h4):not(.site-footer-brand-name) {
  background-image: linear-gradient(102deg, #1765ff 0%, #158dfc 27%, #08cce7 53%, #8deef4 77%, #f5fbff 100%) !important;
  background-color: transparent !important;
}

/* One immutable display treatment for every page title and every highlighted
   fragment inside it. This neutralises the legacy per-page white/cyan/purple
   spans, so the left-to-right colour transition is identical everywhere. */
body.customer-fidelity :is(main, section, footer) :is(h1, h2, h3, h4):not(.site-footer-brand-name),
body.customer-fidelity :is(main, section, footer) :is(h1, h2, h3, h4):not(.site-footer-brand-name) :is(span, strong, em).blue-gradient-text,
body.customer-fidelity :is(main, section, footer) :is(h1, h2, h3, h4):not(.site-footer-brand-name) :is(span, strong, em).text-white {
  background-image: linear-gradient(102deg, #1765ff 0%, #158dfc 27%, #08cce7 53%, #8deef4 77%, #f5fbff 100%) !important;
  background-size: 100% 100% !important;
  background-position: 0 50% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* The page canvas must remain continuous.  Remove section-surface paint,
   masks and inset shadows only; hero media, content cards and controls retain
   their own assets and interaction styling. */
body.customer-fidelity > main,
body.customer-fidelity > section:not(.glass-header):not(.sticky),
body.customer-fidelity main > section:not(.sticky),
body.customer-fidelity .home-section {
  background-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.customer-fidelity > section:not(.glass-header):not(.sticky)::before,
body.customer-fidelity > section:not(.glass-header):not(.sticky)::after,
body.customer-fidelity main > section:not(.sticky)::before,
body.customer-fidelity main > section:not(.sticky)::after,
body.customer-fidelity .home-section::before,
body.customer-fidelity .home-section::after {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* drone-site reference background, rebuilt as three independently animated
   public layers: 1) visible teal nebula, 2) drifting/twinkling star dust,
   3) the existing Canvas star field. */
body.customer-fidelity::before {
  background:
    linear-gradient(rgba(0, 5, 12, .28), rgba(0, 5, 12, .48)),
    radial-gradient(ellipse 62% 44% at 12% 18%, rgba(0, 189, 208, .26), transparent 72%),
    radial-gradient(ellipse 54% 40% at 86% 66%, rgba(16, 98, 232, .20), transparent 76%),
    url("assets/cosmic-mist-v2.png") center top / 100% auto repeat-y !important;
  filter: brightness(1.2) contrast(1.14) saturate(1.28) !important;
  opacity: .98 !important;
  animation: v2-nebula-float 8s ease-in-out infinite alternate !important;
}

body.customer-fidelity::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  min-height: 100vh !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 8% 24%, rgba(91, 229, 255, .58) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 33% 18%, rgba(152, 239, 255, .46) 0 .7px, transparent 1.4px),
    radial-gradient(circle at 58% 42%, rgba(91, 229, 255, .52) 0 .8px, transparent 1.5px),
    radial-gradient(circle at 82% 64%, rgba(188, 245, 255, .42) 0 .7px, transparent 1.4px) !important;
  background-size: 310px 270px, 420px 360px, 530px 430px, 620px 520px !important;
  mask-image: none !important;
  opacity: .42 !important;
  animation: v2-stardust-drift 5.5s ease-in-out infinite alternate, v2-star-twinkle 1.6s ease-in-out infinite !important;
}

body.customer-fidelity #starfield-canvas {
  opacity: .42 !important;
}
body.customer-fidelity.drone-swarm-suspended #drone-swarm-canvas {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .16s ease !important;
}

/* Homepage news: the card itself confirms hover/focus with the same cyan
   light-ring language as the core-business matrix, instead of only tinting
   the headline. */
body.customer-fidelity.home-page .home-news-card {
  position: relative;
  isolation: isolate;
  transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease !important;
}

/* News cards: titles remain clean white, while publication dates use the
   warm-yellow accent required by the visual specification. */
body.customer-fidelity.home-page #news .home-news-date {
  color: #f4e85b !important;
}
body.customer-fidelity.home-page #news .home-news-title,
body.customer-fidelity.home-page #news .home-news-card:hover .home-news-title,
body.customer-fidelity.home-page #news .home-news-card:focus-within .home-news-title,
body.customer-fidelity.home-page #news .home-news-card.is-interactive-active .home-news-title {
  color: #ffffff !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}

/* Product center: the fixed header and category strip must never encroach on
   the hero copy.  Keep a deliberate clear band above and below the title.
   The hero title itself ends in cyan, not the legacy cold-white wash. */
body.products-page .products-hero {
  padding-top: clamp(8.9rem, 10vw, 10.5rem) !important;
  padding-bottom: clamp(4.5rem, 5vw, 5.75rem) !important;
}
body.products-page .products-hero-title {
  background: linear-gradient(102deg, #1c5fe8 0%, #127ff0 34%, #08b8e6 70%, #05d2dc 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  text-shadow: none !important;
}
body.products-page .products-hero::before {
  /* Remove the inherited section wash that read as a pale mask below copy. */
  background: none !important;
}
@media (max-width: 767px) {
  body.products-page .products-hero {
    padding-top: 9rem !important;
    padding-bottom: 3.5rem !important;
  }
}
body.customer-fidelity.home-page .home-news-card::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: -2px;
  border: 1px solid transparent;
  border-radius: inherit;
  box-shadow: 0 0 0 rgba(0, 212, 239, 0), 0 0 0 rgba(36, 107, 255, 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity .26s ease, box-shadow .26s ease, border-color .26s ease;
}
body.customer-fidelity.home-page .home-news-card:hover,
body.customer-fidelity.home-page .home-news-card:focus-within,
body.customer-fidelity.home-page .home-news-card.is-interactive-active {
  transform: translateY(-.45rem) !important;
  border-color: rgba(54, 235, 255, .95) !important;
  outline: 2px solid rgba(21, 218, 248, .8) !important;
  outline-offset: 2px;
  background: linear-gradient(145deg, rgba(16, 61, 91, .96), rgba(6, 20, 42, .96)) !important;
  box-shadow: 0 0 0 1px rgba(68, 230, 255, .42), 0 0 38px rgba(0, 205, 240, .52), 0 22px 52px rgba(0, 0, 0, .34) !important;
}
body.customer-fidelity.home-page .home-news-card:hover::after,
body.customer-fidelity.home-page .home-news-card:focus-within::after,
body.customer-fidelity.home-page .home-news-card.is-interactive-active::after {
  border-color: rgba(63, 232, 255, .62);
  box-shadow: 0 0 22px rgba(0, 212, 239, .42), 0 0 52px rgba(35, 104, 255, .18);
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  body.customer-fidelity.home-page .home-news-card,
  body.customer-fidelity.home-page .home-news-card::after { transition: none !important; }
}

@keyframes v2-nebula-float {
  0% { background-position: center, 9% 15%, 90% 72%, 47% 39%; transform: translate3d(-1.2vw, .55vh, 0) scale(1.025); }
  50% { background-position: center, 14% 21%, 84% 65%, 52% 46%; transform: translate3d(.8vw, -.75vh, 0) scale(1.045); }
  100% { background-position: center, 17% 24%, 80% 61%, 56% 51%; transform: translate3d(1.45vw, .6vh, 0) scale(1.035); }
}

@keyframes v2-stardust-drift {
  from { transform: translate3d(-.45vw, .4vh, 0); }
  to { transform: translate3d(1.2vw, -.95vh, 0); }
}

@keyframes v2-star-twinkle {
  0%, 100% { opacity: .25; }
  42% { opacity: .62; }
  68% { opacity: .38; }
}

@media (prefers-reduced-motion: reduce) {
  body.customer-fidelity::before,
  body.customer-fidelity::after { animation: none !important; }
}

/* Homepage about: keep the experience callout inside the visual column and
   give its two text tiers enough contrast against the image beneath it. */
@media (min-width: 768px) {
  body.customer-fidelity.home-page #about .blue-gradient-bg.absolute {
    right: 0 !important;
    left: 0 !important;
    width: auto !important;
    bottom: -2.75rem !important;
    min-width: 15.5rem !important;
    padding: 1.5rem 1.75rem !important;
    background: linear-gradient(118deg, rgba(12, 192, 225, .95), rgba(56, 99, 247, .96)) !important;
    box-shadow: 0 14px 36px rgba(0, 147, 226, .24) !important;
  }
  body.customer-fidelity.home-page #about .blue-gradient-bg.absolute > p:first-child {
    color: #ffffff !important;
    font-size: 2.15rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }
  body.customer-fidelity.home-page #about .blue-gradient-bg.absolute > p:last-child {
    color: rgba(242, 252, 255, .92) !important;
    font-weight: 650 !important;
  }
}

/* Final category-strip cleanup.  Its controls remain visible; only the
   inherited separator paint is neutralised at every viewport. */
body.customer-fidelity.products-page > section.product-category-tabs.sticky {
  display: block !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Final products-hero override: retained outside older title rules so the
   category strip has guaranteed clearance and no cold-white title mask. */
body.customer-fidelity.products-page > section.products-hero:nth-of-type(1) {
  padding-top: clamp(8.9rem, 10vw, 10.5rem) !important;
  padding-bottom: clamp(4.5rem, 5vw, 5.75rem) !important;
}
body.customer-fidelity.products-page .products-hero .products-hero-title {
  background: linear-gradient(102deg, #1c5fe8 0%, #127ff0 34%, #08b8e6 70%, #05d2dc 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  text-shadow: none !important;
}
body.customer-fidelity.products-page .products-hero::before { background: none !important; }
@media (max-width: 767px) {
  body.customer-fidelity.products-page > section.products-hero:nth-of-type(1) {
    padding-top: 9rem !important;
    padding-bottom: 3.5rem !important;
  }
}

/* Final source-colour lock: resolves the page-wide title gradient that would
   otherwise repaint the design's restrained yellow-green ink. */
body.customer-fidelity.home-page #nest .nest-feature :is(iconify-icon, h4, p),
body.customer-fidelity.home-page .partner-card h3 {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #d7ff82 !important;
  -webkit-text-fill-color: #d7ff82 !important;
  text-shadow: none !important;
}
