:root {
  --ac: #0f766e;
  --ac-bg: #edf7f5;
  --ac-glow: rgba(15, 118, 110, 0.16);
  --pu: #b7791f;
  --gn: #0f766e;
  --or: #b7791f;
  --pk: #9f3a4a;
  --cy: #26717a;
  --dark: #17202a;
  --text: #344054;
  --text-light: #667085;
  --white: #ffffff;
  --bg: #f6f8f7;
  --border: #e1e7e5;
  --gradient: #0f766e;
  --ym-ink: #17202a;
  --ym-muted: #667085;
  --ym-line: #e1e7e5;
  --ym-paper: #ffffff;
  --ym-soft: #f6f8f7;
  --ym-brand: #0f766e;
  --ym-brand-deep: #0a5c56;
  --ym-accent: #b7791f;
  --ym-shadow: 0 18px 45px rgba(26, 47, 43, 0.09);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body {
  color: var(--ym-ink);
  background: var(--ym-paper);
  font-family: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.16;
  background-image: linear-gradient(rgba(23, 32, 42, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(23, 32, 42, 0.035) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(to bottom, black, transparent 44rem);
}

::selection {
  color: #ffffff;
  background: var(--ym-brand);
}

a,
button,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(15, 118, 110, 0.28);
  outline-offset: 3px;
}

img {
  max-width: 100%;
}

/* Header */
.nav {
  height: 68px;
  padding: 0 max(24px, calc((100% - 1380px) / 2));
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid rgba(225, 231, 229, 0.92);
  box-shadow: 0 8px 30px rgba(26, 47, 43, 0.05) !important;
  backdrop-filter: blur(16px) saturate(120%);
}

.nav-logo {
  display: inline-flex;
  align-items: center;
  min-width: 132px;
}

.nav-logo img {
  height: 34px;
  width: auto;
}

.nav-menu {
  gap: 2px;
}

.nav-item > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 68px;
  padding: 0 14px;
  color: var(--ym-ink) !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
}

.nav-item > a::after {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 0;
  left: 14px;
  height: 2px;
  background: var(--ym-brand);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 220ms ease;
}

.nav-item:hover > a::after,
.nav-item > a:focus-visible::after {
  transform: scaleX(1);
}

.nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px !important;
  border: 1px solid var(--ym-brand-deep);
  border-radius: 6px !important;
  color: #ffffff !important;
  background: var(--ym-brand) !important;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 600;
  transition: background-color 180ms ease, transform 180ms ease;
}

.nav-cta:hover {
  color: #ffffff !important;
  background: var(--ym-brand-deep) !important;
  transform: translateY(-1px);
}

.nav-cta:active {
  transform: translateY(1px);
}

.dropdown-menu {
  border: 1px solid var(--ym-line) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: var(--ym-shadow) !important;
  backdrop-filter: blur(18px);
}

.nav-item.mega .dropdown-menu {
  width: min(980px, calc(100vw - 48px)) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 4px !important;
  padding: 14px !important;
}

.dropdown-menu li a {
  min-height: 54px;
  padding: 9px !important;
  border-radius: 6px !important;
  color: var(--ym-ink) !important;
  transition: background-color 180ms ease, transform 180ms ease;
}

.dropdown-menu li a:hover {
  background: var(--ym-soft) !important;
  transform: translateX(2px);
}

.menu-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid #d8e8e4;
  border-radius: 6px !important;
  color: var(--ym-brand) !important;
  background: var(--ac-bg) !important;
  font-size: 15px !important;
}

.menu-text strong {
  color: var(--ym-ink) !important;
  font-size: 13px;
  font-weight: 600;
}

.nav-mb {
  width: 40px !important;
  height: 40px !important;
  border: 1px solid var(--ym-line) !important;
  border-radius: 6px !important;
  color: var(--ym-ink) !important;
  background: #ffffff !important;
}

/* Homepage hero */
.hero {
  min-height: 680px;
  max-height: 820px;
  background: #17202a;
}

.hero-slide-overlay {
  background: linear-gradient(90deg, rgba(16, 28, 27, 0.88) 0%, rgba(16, 28, 27, 0.66) 52%, rgba(16, 28, 27, 0.25) 100%) !important;
}

.hero-shape,
.hero-grid-ov {
  display: none !important;
}

.hero-content {
  width: min(1380px, calc(100% - 48px));
  max-width: 1380px !important;
  padding: 132px 0 96px !important;
  text-align: left !important;
}

.hero-badge {
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 4px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  background: rgba(9, 35, 33, 0.36) !important;
  backdrop-filter: blur(10px);
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.hero-badge .dot {
  background: #6ee7b7 !important;
  box-shadow: 0 0 0 4px rgba(110, 231, 183, 0.12) !important;
}

.hero h1 {
  max-width: 860px;
  margin-top: 20px;
  color: #ffffff !important;
  font-size: 56px !important;
  font-weight: 700 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

.hero-desc {
  max-width: 690px !important;
  margin-top: 20px !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
  text-wrap: pretty;
}

.hero-actions {
  gap: 12px !important;
  margin-top: 34px !important;
}

.btn-p,
.btn-o,
.cta-btn-main,
.cta-btn-sub,
.load-btn,
.cta-btn {
  min-height: 46px;
  border-radius: 6px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease !important;
}

.btn-p,
.cta-btn-main {
  border: 1px solid var(--ym-brand-deep) !important;
  color: #ffffff !important;
  background: var(--ym-brand) !important;
}

.btn-o,
.cta-btn-sub {
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(8px);
}

.btn-p:hover,
.cta-btn-main:hover {
  background: var(--ym-brand-deep) !important;
  transform: translateY(-2px) !important;
}

.btn-o:hover,
.cta-btn-sub:hover {
  border-color: #ffffff !important;
  background: rgba(255, 255, 255, 0.16) !important;
  transform: translateY(-2px) !important;
}

.hero-arr {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(255, 255, 255, 0.36) !important;
  border-radius: 6px !important;
  color: #ffffff !important;
  background: rgba(9, 35, 33, 0.3) !important;
  backdrop-filter: blur(8px);
}

.hero-dots .active,
.hero-dots button.active {
  background: #6ee7b7 !important;
}

/* Shared layout and typography */
.ctn,
.container,
.stats-in,
.hl-in {
  width: min(1240px, calc(100% - 48px));
  max-width: 1240px !important;
  margin-right: auto;
  margin-left: auto;
}

.sec {
  padding-top: 96px !important;
  padding-bottom: 108px !important;
  background: var(--ym-paper) !important;
}

.sec-alt {
  background: var(--ym-soft) !important;
}

.sec-hd {
  max-width: 760px;
  margin-bottom: 42px !important;
  text-align: left !important;
}

.sec-tag {
  color: var(--ym-brand) !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.sec-tag i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-right: 7px;
  border: 1px solid #d8e8e4;
  border-radius: 5px;
  background: var(--ac-bg);
}

.sec-title {
  color: var(--ym-ink) !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

.sec-title span,
.banner-title span,
.ym-banner-one__title span,
.result-num {
  color: var(--ym-brand) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.sec-desc {
  max-width: 680px;
  color: var(--ym-muted) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  text-wrap: pretty;
}

.stats {
  border-bottom: 1px solid var(--ym-line);
  background: #ffffff !important;
}

.stat {
  padding: 30px 18px !important;
  border-right: 1px solid var(--ym-line);
}

.stat:last-child {
  border-right: 0;
}

.stat-n {
  color: var(--ym-brand) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  font-variant-numeric: tabular-nums;
}

.stat-l {
  color: var(--ym-muted) !important;
}

/* Cards and icon systems */
.srv-grid,
.cases-grid,
.news-grid,
.adv-grid,
.about-values-grid {
  gap: 18px !important;
}

.srv-card,
.case-card,
.news-card,
.adv-card,
.av-card,
.featured-card,
.related-card,
.sidebar-block,
.nav-case,
.cta-card {
  border: 1px solid var(--ym-line) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease !important;
}

.srv-card:hover,
.case-card:hover,
.news-card:hover,
.adv-card:hover,
.av-card:hover,
.featured-card:hover,
.related-card:hover,
.nav-case:hover {
  border-color: #b8d3cd !important;
  box-shadow: 0 14px 34px rgba(26, 47, 43, 0.08) !important;
  transform: translateY(-3px) !important;
}

.srv-ico,
.srv-acc-ico,
.adv-card > i,
.av-card > i,
.cta-item > i {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8e8e4 !important;
  border-radius: 7px !important;
  color: var(--ym-brand) !important;
  background: var(--ac-bg) !important;
  box-shadow: none !important;
}

.srv-card h3,
.case-title,
.news-title,
.featured-title,
.adv-card h3,
.av-card h4 {
  color: var(--ym-ink) !important;
  letter-spacing: 0 !important;
}

.srv-card p,
.case-desc,
.news-desc,
.featured-desc,
.adv-card p,
.av-card p {
  color: var(--ym-muted) !important;
}

.case-img,
.news-img,
.featured-img {
  background: #eef2f1;
}

.case-img img,
.news-img img,
.featured-img img {
  transition: transform 350ms ease, filter 350ms ease !important;
}

.case-card:hover img,
.news-card:hover img,
.featured-card:hover img {
  transform: scale(1.025) !important;
}

.case-tag,
.news-tag,
.news-cat,
.featured-cat,
.detail-cat {
  border: 1px solid #d8e8e4 !important;
  border-radius: 4px !important;
  color: var(--ym-brand) !important;
  background: var(--ac-bg) !important;
  font-weight: 600 !important;
}

.hl-strip {
  border-top: 1px solid var(--ym-line);
  border-bottom: 1px solid var(--ym-line);
  background: #ffffff !important;
}

.hl-item {
  border-right: 1px solid var(--ym-line);
}

.hl-item i {
  color: var(--ym-brand) !important;
}

.sol-tabs,
.faq-tabs {
  padding: 4px !important;
  border: 1px solid var(--ym-line) !important;
  border-radius: 7px !important;
  background: #ffffff !important;
}

.sol-tab,
.faq-tab {
  border-radius: 5px !important;
}

.sol-tab.active,
.faq-tab.active {
  color: #ffffff !important;
  background: var(--ym-brand) !important;
}

/* News and cases indexes */
.ym-banner-one {
  min-height: 330px !important;
  margin-top: 68px !important;
  border-bottom: 1px solid var(--ym-line);
  background: #f3f7f5 !important;
}

.ym-banner-one__grid {
  opacity: 0.55;
  background-size: 32px 32px !important;
}

.ym-banner-one__glow,
.banner-glow {
  display: none !important;
}

.ym-banner-one__cnt {
  padding: 72px 24px 64px !important;
  text-align: left !important;
  width: min(1240px, calc(100% - 48px));
}

.ym-banner-one__title,
.banner-title {
  color: var(--ym-ink) !important;
  font-size: 44px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.ym-banner-one__desc {
  margin: 14px 0 0 !important;
  color: var(--ym-muted) !important;
  letter-spacing: 0 !important;
}

.ym-banner-one::after {
  display: none !important;
}

.banner {
  min-height: 410px;
  margin-top: 68px;
  padding: 94px max(24px, calc((100% - 1240px) / 2)) 64px !important;
  background-color: #17202a !important;
}

.banner-cnt {
  margin: 0 !important;
}

.banner .banner-title,
.banner .banner-title span {
  color: #ffffff !important;
}

.banner-desc,
.banner-stat-label {
  color: rgba(255, 255, 255, 0.74) !important;
}

.banner-stat-num {
  color: #6ee7b7 !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  font-variant-numeric: tabular-nums;
}

.tabs,
.filter {
  padding: 16px 24px !important;
  border-bottom: 1px solid var(--ym-line) !important;
  background: #ffffff !important;
}

.tabs-cnt,
.filter-cnt {
  max-width: 1240px !important;
  margin: 0 auto !important;
  gap: 8px !important;
}

.tab,
.filter-btn {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 15px !important;
  border: 1px solid var(--ym-line) !important;
  border-radius: 5px !important;
  color: var(--ym-ink) !important;
  background: #ffffff !important;
  font-size: 13px !important;
  text-decoration: none;
}

.tab:hover,
.filter-btn:hover,
.tab.active,
.filter-btn.active {
  border-color: var(--ym-brand) !important;
  color: #ffffff !important;
  background: var(--ym-brand) !important;
}

.section {
  padding-top: 64px !important;
  padding-bottom: 84px !important;
}

#popup {
  display: none !important;
}

/* Article detail pages */
.detail-banner {
  padding-top: 128px !important;
  padding-bottom: 42px !important;
  border-bottom: 1px solid var(--ym-line);
  background: #f3f7f5 !important;
}

.detail-cnt,
.detail-wrap {
  max-width: 1240px !important;
}

.detail-title {
  max-width: 920px;
  color: var(--ym-ink) !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

.detail-meta,
.detail-breadcrumb {
  color: var(--ym-muted) !important;
}

.detail-breadcrumb a,
.case-hero-breadcrumb a {
  color: var(--ym-brand) !important;
}

.detail-wrap {
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 32px !important;
  padding-top: 38px !important;
}

.detail-main > .detail-body,
.detail-sidebar .sidebar-block {
  border: 1px solid var(--ym-line) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.detail-main > .detail-body {
  padding: 48px !important;
}

.detail-body p,
.detail-body li {
  color: #344054 !important;
  line-height: 1.95 !important;
}

.detail-body h1,
.detail-body h2,
.detail-body h3,
.detail-body h4,
.detail-body h5,
.detail-body h6 {
  color: var(--ym-ink) !important;
  letter-spacing: 0 !important;
}

.detail-body h1,
.detail-body h2,
.detail-body h3 {
  padding-left: 14px !important;
  border-left-color: var(--ym-brand) !important;
}

.detail-body a {
  color: var(--ym-brand) !important;
  border-bottom-color: rgba(15, 118, 110, 0.34) !important;
}

.detail-body img {
  border-radius: 6px !important;
  box-shadow: none !important;
}

.detail-body blockquote {
  border-left-color: var(--ym-brand) !important;
  border-radius: 0 6px 6px 0 !important;
  background: var(--ym-soft) !important;
}

.detail-body pre {
  border-radius: 6px !important;
  background: #1e2928 !important;
}

.detail-body code {
  border-radius: 3px !important;
  color: #0a5c56 !important;
  background: #e6f2ef !important;
}

.sidebar-block:hover {
  transform: none !important;
  box-shadow: none !important;
}

.expert-avatar {
  border-color: var(--ym-brand) !important;
}

.scan-line {
  display: none !important;
}

.expert-btns .btn {
  border-radius: 5px !important;
}

.expert-btns .btn-wechat {
  background: #177d73 !important;
}

.expert-btns .btn-taobao {
  background: #9a5f18 !important;
}

.case-hero {
  min-height: 620px !important;
  max-height: 760px;
  margin-top: 0;
}

.case-hero-overlay {
  background: linear-gradient(180deg, rgba(17, 30, 29, 0.3) 0%, rgba(17, 30, 29, 0.9) 88%) !important;
}

.case-hero-particles {
  display: none !important;
}

.case-hero-cnt {
  max-width: 1240px !important;
  padding-bottom: 58px !important;
}

.case-hero-title {
  max-width: 920px !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

.case-hero-tag {
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.case-hero + .detail-body {
  max-width: 1040px !important;
  padding-top: 72px !important;
  box-shadow: none !important;
}

.nav-cases {
  max-width: 1040px !important;
}

/* CTA */
.cta,
.cta-sec {
  border-top: 1px solid #1b5f59;
  background: #0e6760 !important;
}

.cta::before,
.cta-sec::before {
  display: none !important;
}

.cta h2,
.cta-sec h2 {
  color: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.cta p,
.cta-sec p {
  color: rgba(255, 255, 255, 0.78) !important;
}

.cta .cta-btn {
  border: 1px solid #ffffff !important;
  color: var(--ym-brand-deep) !important;
  background: #ffffff !important;
}

/* Motion */
@keyframes ymFadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

.anim.visible,
.rv.on,
.rv-l.on,
.rv-r.on,
.rv-s.on {
  animation: ymFadeUp 520ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

.srv-grid > :nth-child(2),
.cases-grid > :nth-child(2),
.news-grid > :nth-child(2) { animation-delay: 60ms !important; }

.srv-grid > :nth-child(3),
.cases-grid > :nth-child(3),
.news-grid > :nth-child(3) { animation-delay: 120ms !important; }

@media (max-width: 1100px) {
  .nav {
    padding-right: 20px;
    padding-left: 20px;
  }

  .nav-item > a {
    padding-right: 9px;
    padding-left: 9px;
    font-size: 13px;
  }

  .nav-item.mega .dropdown-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  body::before {
    display: none;
  }

  .nav {
    height: 62px;
    padding: 0 16px;
  }

  .nav-logo img {
    height: 30px;
  }

  .nav-cta,
  .nav-links {
    display: none !important;
  }

  .mobile-menu {
    top: 62px !important;
    max-height: calc(100dvh - 62px);
    padding: 10px 16px 22px !important;
    border-bottom: 1px solid var(--ym-line);
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 30px rgba(26, 47, 43, 0.1) !important;
    overflow-y: auto;
  }

  .mobile-nav-link,
  .mobile-sub-menu a {
    border-radius: 5px !important;
  }

  .hero {
    min-height: 650px;
    max-height: none;
  }

  .hero-slide-overlay {
    background: linear-gradient(90deg, rgba(16, 28, 27, 0.9), rgba(16, 28, 27, 0.62)) !important;
  }

  .hero-content {
    width: calc(100% - 36px);
    padding-top: 118px !important;
    padding-bottom: 90px !important;
  }

  .hero h1 {
    font-size: 36px !important;
    line-height: 1.22 !important;
  }

  .hero-desc {
    font-size: 15px !important;
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hero-actions a {
    justify-content: center;
    width: 100%;
  }

  .hero-arr {
    display: none !important;
  }

  .ctn,
  .container,
  .stats-in,
  .hl-in {
    width: calc(100% - 32px);
  }

  .sec {
    padding-top: 68px !important;
    padding-bottom: 76px !important;
  }

  .sec-hd {
    margin-bottom: 30px !important;
  }

  .sec-title {
    font-size: 30px !important;
  }

  .sec-desc {
    font-size: 15px !important;
  }

  .stats-in {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stat {
    border-right: 1px solid var(--ym-line) !important;
    border-bottom: 1px solid var(--ym-line);
  }

  .stat:nth-child(2n) {
    border-right: 0 !important;
  }

  .nav-item.mega .dropdown-menu {
    grid-template-columns: 1fr !important;
  }

  .ym-banner-one {
    min-height: 280px !important;
    margin-top: 62px !important;
  }

  .ym-banner-one__cnt {
    width: calc(100% - 32px);
    padding: 54px 0 48px !important;
  }

  .ym-banner-one__title,
  .banner-title {
    font-size: 34px !important;
  }

  .banner {
    min-height: 370px;
    margin-top: 62px;
    padding: 76px 20px 52px !important;
  }

  .banner-stats {
    gap: 22px !important;
  }

  .filter,
  .tabs {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .section {
    padding-top: 38px !important;
    padding-bottom: 64px !important;
  }

  .detail-banner {
    padding: 104px 0 34px !important;
  }

  .detail-title {
    font-size: 28px !important;
  }

  .detail-wrap {
    padding: 24px 16px 52px !important;
  }

  .detail-main > .detail-body {
    padding: 28px 20px 36px !important;
  }

  .case-hero {
    min-height: 540px !important;
  }

  .case-hero-cnt {
    padding: 0 20px 42px !important;
  }

  .case-hero-title {
    font-size: 34px !important;
  }

  .case-hero + .detail-body {
    padding: 48px 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .anim,
  .rv,
  .rv-l,
  .rv-r,
  .rv-s {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* ============================================================
   Brand blue visual system - 2026-07-24
   Image-led editorial hierarchy with low-cost static contours.
   ============================================================ */
:root {
  --ac: #0b5dbb;
  --ac-d: #073b76;
  --ac-l: #eaf3ff;
  --ac-bg: #eaf3ff;
  --ac-glow: rgba(11, 93, 187, 0.16);
  --pu: #174f8f;
  --pu-l: #edf4fb;
  --gn: #0b5dbb;
  --gn-l: #eaf3ff;
  --or: #0b5dbb;
  --or-l: #eaf3ff;
  --pk: #073b76;
  --pk-l: #edf4fb;
  --cy: #176cae;
  --cy-l: #eaf4fb;
  --gd: #0b5dbb;
  --dark: #0f1f35;
  --text: #405269;
  --text-light: #66758a;
  --white: #ffffff;
  --bg: #f5f8fc;
  --border: #dce5ef;
  --t1: #0f1f35;
  --t2: #405269;
  --t3: #66758a;
  --bg-w: #ffffff;
  --bg-alt: #f5f8fc;
  --bg-card: #ffffff;
  --bd: #dce5ef;
  --ym-ink: #0f1f35;
  --ym-muted: #66758a;
  --ym-line: #dce5ef;
  --ym-paper: #ffffff;
  --ym-soft: #f5f8fc;
  --ym-brand: #0b5dbb;
  --ym-brand-deep: #073b76;
  --ym-accent: #0b5dbb;
  --ym-shadow: 0 18px 44px rgba(15, 45, 80, 0.1);
}

body {
  color: var(--ym-ink);
  background: #ffffff;
  font-family: "OPPOSans", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

body::before {
  display: none !important;
}

::selection {
  color: #ffffff;
  background: var(--ym-brand);
}

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline-color: rgba(11, 93, 187, 0.34);
}

.nav {
  background: #ffffff !important;
  border-bottom-color: var(--ym-line) !important;
  box-shadow: 0 5px 20px rgba(15, 45, 80, 0.06) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.nav-item > a,
.menu-text strong {
  color: var(--ym-ink) !important;
}

.nav-cta {
  border-color: var(--ym-brand-deep) !important;
  background: var(--ym-brand) !important;
}

.nav-cta:hover {
  background: var(--ym-brand-deep) !important;
}

.dropdown-menu {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.menu-icon {
  color: var(--ym-brand) !important;
  background: #eaf3ff !important;
  border-color: #cbdff5 !important;
}

.hero {
  background: #073b76 !important;
}

.hero-slide-overlay {
  background: linear-gradient(90deg, rgba(7, 33, 64, 0.94) 0%, rgba(7, 45, 87, 0.72) 48%, rgba(7, 45, 87, 0.22) 100%) !important;
}

.hero-badge {
  background: rgba(7, 45, 87, 0.56) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.hero-badge .dot {
  background: #62b4ff !important;
  box-shadow: 0 0 0 4px rgba(98, 180, 255, 0.16) !important;
}

.hero-arr {
  background: rgba(7, 45, 87, 0.64) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.hero-dots .active,
.hero-dots button.active {
  background: #ffffff !important;
}

.btn-p,
.cta-btn-main {
  border-color: var(--ym-brand-deep) !important;
  background: var(--ym-brand) !important;
}

.btn-p:hover,
.cta-btn-main:hover {
  background: var(--ym-brand-deep) !important;
}

.home-page .sec {
  position: relative;
  isolation: isolate;
  overflow: clip;
}

.home-page .sec > .ctn {
  position: relative;
  z-index: 1;
}

.home-page #services,
.home-page #cases,
.home-page #about {
  background-color: #f5f8fc !important;
}

.home-page #services::before,
.home-page #cases::before,
.home-page #about::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: 0.72;
  background-image:
    repeating-radial-gradient(
      ellipse 64% 42% at -8% 10%,
      transparent 0 28px,
      rgba(11, 93, 187, 0.055) 29px 30px,
      transparent 31px 45px
    ),
    repeating-radial-gradient(
      ellipse 55% 48% at 108% 92%,
      transparent 0 34px,
      rgba(7, 59, 118, 0.045) 35px 36px,
      transparent 37px 52px
    );
}

.home-page #cases {
  background-color: #eef5fc !important;
}

.home-page .sec-title,
.news-index-page .sec-title,
.cases-index-page .sec-title {
  color: var(--ym-ink) !important;
}

.home-page .sec-title .ac,
.home-page .ac {
  color: var(--ym-brand) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.home-page .sec-desc {
  color: #52647b !important;
}

.sec-tag {
  color: var(--ym-brand) !important;
  background: #eaf3ff !important;
  border-color: #cbdff5 !important;
}

.stats {
  border-color: var(--ym-line);
}

.stat-n {
  color: var(--ym-brand) !important;
}

.home-page .srv-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px !important;
}

.home-page .srv-card {
  grid-column: span 3;
  min-height: 100%;
  padding: 28px !important;
}

.home-page .srv-card:nth-child(-n + 2) {
  grid-column: span 6;
  padding: 34px !important;
}

.home-page .srv-card:nth-child(-n + 2) h3 {
  font-size: 22px !important;
}

.home-page .srv-card:nth-child(-n + 2) p {
  max-width: 52ch;
  font-size: 15px !important;
}

.srv-card,
.srv-acc-item,
.case-card,
.news-card,
.adv-card,
.av-card,
.about-intro-card {
  border-color: var(--ym-line) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.srv-ico,
.srv-acc-ico,
.adv-card > i,
.av-card > i,
.cta-item > i {
  color: var(--ym-brand) !important;
  background: #eaf3ff !important;
  border-color: #cbdff5 !important;
}

.srv-feat i,
.srv-acc-feat i {
  color: var(--ym-brand) !important;
}

@media (hover: hover) {
  .srv-card:hover,
  .case-card:hover,
  .news-card:hover,
  .adv-card:hover,
  .av-card:hover {
    border-color: #a8c8eb !important;
    box-shadow: 0 14px 34px rgba(15, 45, 80, 0.09) !important;
    transform: translateY(-3px) !important;
  }
}

.home-page .cases-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 18px !important;
}

.home-page .case-card {
  grid-column: span 3;
  overflow: hidden;
}

.home-page .case-card:nth-child(1) {
  grid-column: span 8;
}

.home-page .case-card:nth-child(2) {
  grid-column: span 4;
}

.home-page .case-img {
  height: 230px !important;
  background: #dfeaf6 !important;
}

.home-page .case-card:nth-child(-n + 2) .case-img {
  height: 390px !important;
}

.home-page .case-img img,
.home-page .news-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-page .case-body {
  padding: 22px !important;
}

.home-page .case-card:nth-child(1) .case-body {
  padding: 28px !important;
}

.home-page .case-card:nth-child(1) h3 {
  font-size: 24px !important;
}

.home-page .case-tag {
  color: #ffffff !important;
  background: var(--ym-brand) !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
}

.home-page .case-tag2 {
  display: none !important;
}

.home-page .news-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 18px !important;
}

.home-page .news-card {
  grid-column: span 3;
  overflow: hidden;
}

.home-page .news-card:nth-child(1) {
  grid-column: span 7;
}

.home-page .news-card:nth-child(2) {
  grid-column: span 5;
}

.home-page .news-img {
  height: 210px !important;
  background: #dfeaf6 !important;
}

.home-page .news-card:nth-child(-n + 2) .news-img {
  height: 340px !important;
}

.home-page .news-card:nth-child(1) h3 {
  font-size: 24px !important;
}

.home-page .news-body {
  padding: 22px !important;
}

.home-page .news-card:nth-child(-n + 2) .news-body {
  padding: 28px !important;
}

.home-page .news-date {
  color: var(--ym-ink);
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(220, 229, 239, 0.92);
  border-radius: 6px !important;
  box-shadow: none !important;
}

.home-page .news-date .d,
.news-tag,
.news-cat,
.case-tag,
.featured-cat,
.detail-cat {
  color: var(--ym-brand) !important;
}

.home-page .cases-more .btn-o,
.news-index-page .btn-o,
.cases-index-page .btn-o {
  border-color: var(--ym-brand) !important;
  color: var(--ym-brand) !important;
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.home-page .cases-more .btn-o:hover,
.news-index-page .btn-o:hover,
.cases-index-page .btn-o:hover {
  border-color: var(--ym-brand-deep) !important;
  color: #ffffff !important;
  background: var(--ym-brand-deep) !important;
}

.home-page #partners .ptn-section-grid {
  display: block !important;
}

.home-page #partners .ptn-scroll-wrap {
  overflow: visible !important;
  padding: 0 !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

.home-page #partners .ptn-scroll-wrap:nth-child(2) {
  display: none !important;
}

.home-page #partners .ptn-scroll {
  display: block !important;
  width: 100% !important;
}

.home-page #partners .ptn-row-inner {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px !important;
  width: 100%;
}

.home-page #partners .ptn-item {
  min-width: 0 !important;
  min-height: 78px;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid var(--ym-line) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.home-page #partners .ptn-logo-img {
  width: auto !important;
  max-width: 100% !important;
  height: 42px !important;
  filter: grayscale(1) !important;
  opacity: 0.72 !important;
}

@media (hover: hover) {
  .home-page #partners .ptn-item:hover {
    border-color: #a8c8eb !important;
    transform: translateY(-2px) !important;
  }

  .home-page #partners .ptn-item:hover .ptn-logo-img {
    filter: grayscale(0) !important;
    opacity: 1 !important;
  }
}

.home-page #services,
.home-page #solutions,
.home-page #process,
.home-page #advantages,
.home-page #cases,
.home-page #partners,
.home-page #news,
.home-page #about,
.home-page #faq,
.home-page #contact {
  content-visibility: auto;
  contain-intrinsic-size: 1px 840px;
}

.cta,
.cta-sec {
  border-top-color: #15518c !important;
  background: #073b76 !important;
}

.cta-sec::before,
.cta-card::before {
  display: none !important;
  animation: none !important;
}

.cta-card {
  border-color: rgba(255, 255, 255, 0.2) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.cta-tag,
.cta-left h2 .hl,
.cta-phone i,
.cta-item i {
  color: #8bc7ff !important;
  -webkit-text-fill-color: currentColor !important;
  background: none !important;
  animation: none !important;
}

.cta-left h2 .hl::after {
  background: #8bc7ff !important;
}

.cta-phone {
  background: rgba(255, 255, 255, 0.07) !important;
}

.footer {
  background: #081a2e !important;
}

.footer,
.ft-links {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.ft-bl-orbit {
  animation: none !important;
  border-color: rgba(139, 199, 255, 0.28) !important;
}

.ft-bl-dot {
  background: #8bc7ff !important;
  box-shadow: none !important;
}

.rs-special-btn,
.rs-special-btn1,
.rs-special-tip,
.mb-special {
  animation: none !important;
}

.mouse-inner,
.mouse-outer,
.mouse-wave {
  display: none !important;
}

.news-index-page,
.cases-index-page,
.news-detail-page,
.case-detail-page {
  color: var(--ym-ink);
  background: #f5f8fc !important;
}

.news-index-page .banner,
.cases-index-page .banner,
.news-detail-page .detail-banner {
  background-color: #073b76 !important;
}

.news-index-page .filter,
.cases-index-page .filter,
.news-index-page .tabs,
.cases-index-page .tabs {
  background: #ffffff !important;
  border-color: var(--ym-line) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.news-index-page .filter a.active,
.cases-index-page .filter a.active,
.news-index-page .tabs a.active,
.cases-index-page .tabs a.active {
  color: #ffffff !important;
  background: var(--ym-brand) !important;
}

.news-index-page .news-card,
.cases-index-page .case-card,
.news-detail-page .detail-body,
.case-detail-page .detail-body {
  border-color: var(--ym-line) !important;
}

.news-detail-page .detail-body,
.case-detail-page .detail-body {
  color: #405269 !important;
  background: #ffffff !important;
}

.news-detail-page .detail-body h1,
.news-detail-page .detail-body h2,
.news-detail-page .detail-body h3,
.case-detail-page .detail-body h1,
.case-detail-page .detail-body h2,
.case-detail-page .detail-body h3 {
  color: var(--ym-ink) !important;
}

@media (max-width: 1100px) {
  .home-page .srv-card,
  .home-page .srv-card:nth-child(-n + 2) {
    grid-column: span 6;
  }

  .home-page .case-card,
  .home-page .case-card:nth-child(2),
  .home-page .news-card,
  .home-page .news-card:nth-child(2) {
    grid-column: span 6;
  }

  .home-page .case-card:nth-child(1),
  .home-page .news-card:nth-child(1) {
    grid-column: span 12;
  }

  .home-page .case-card:nth-child(-n + 2) .case-img,
  .home-page .news-card:nth-child(-n + 2) .news-img {
    height: 330px !important;
  }

  .home-page #partners .ptn-row-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .hero-slide-overlay {
    background: linear-gradient(90deg, rgba(7, 33, 64, 0.94), rgba(7, 45, 87, 0.64)) !important;
  }

  .home-page #services::before,
  .home-page #cases::before,
  .home-page #about::before {
    opacity: 0.48;
  }

  .home-page .cases-grid,
  .home-page .news-grid {
    grid-template-columns: 1fr !important;
  }

  .home-page .case-card,
  .home-page .case-card:nth-child(1),
  .home-page .case-card:nth-child(2),
  .home-page .news-card,
  .home-page .news-card:nth-child(1),
  .home-page .news-card:nth-child(2) {
    grid-column: auto;
  }

  .home-page .case-img,
  .home-page .case-card:nth-child(-n + 2) .case-img,
  .home-page .news-img,
  .home-page .news-card:nth-child(-n + 2) .news-img {
    height: 230px !important;
  }

  .home-page .case-card:nth-child(1) h3,
  .home-page .news-card:nth-child(1) h3 {
    font-size: 19px !important;
  }

  .home-page #partners .ptn-row-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
  }

  .home-page #partners .ptn-item {
    min-height: 66px;
    padding: 10px !important;
  }

  .home-page #partners .ptn-logo-img {
    height: 34px !important;
  }

  .home-page #services,
  .home-page #solutions,
  .home-page #process,
  .home-page #advantages,
  .home-page #cases,
  .home-page #partners,
  .home-page #news,
  .home-page #about,
  .home-page #faq,
  .home-page #contact {
    contain-intrinsic-size: 1px 680px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-track,
  .hero-slide-bg,
  .ptn-scroll,
  .ft-bl-orbit,
  .rs-special-btn,
  .rs-special-btn1,
  .rs-special-tip {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}
/* Compact brand-consistent contact rail */
.rs-special-btn,
.rs-special-btn1 {
  width: 60px !important;
  height: 98px !important;
  border-radius: 8px 0 0 8px !important;
  box-shadow: -3px 6px 18px rgba(7, 59, 118, 0.18) !important;
}

.rs-special-btn {
  background: #0b5dbb !important;
}

.rs-special-btn1 {
  background: #073b76 !important;
}

.rs-special-btn i,
.rs-special-btn1 i {
  font-size: 22px !important;
}

.rs-special-btn span,
.rs-special-btn1 span {
  font-size: 13px !important;
}

.rs-special:hover .rs-special-btn,
.rs-special:hover .rs-special-btn1 {
  width: 66px !important;
}

.rsidebar {
  gap: 8px !important;
}

.rsidebar .rs-item {
  width: 60px !important;
  height: 62px !important;
  border: 1px solid var(--ym-line) !important;
  border-radius: 8px 0 0 8px !important;
  color: var(--ym-brand) !important;
  box-shadow: -3px 6px 18px rgba(15, 45, 80, 0.08) !important;
}

.rsidebar .rs-item:hover {
  width: 66px !important;
  color: var(--ym-brand-deep) !important;
}

.rsidebar .rs-item i {
  font-size: 22px !important;
}

.rsidebar .rs-label {
  font-size: 11px !important;
}

@media (max-width: 768px) {
  .mb-sidebar {
    border-top: 1px solid var(--ym-line);
    background: #ffffff !important;
    box-shadow: 0 -6px 18px rgba(15, 45, 80, 0.08) !important;
  }

  .mb-special.mb-orange {
    background: #0b5dbb !important;
  }

  .mb-special.mb-purple {
    background: #073b76 !important;
  }

  .mb-item.mb-green,
  .mb-item.mb-purple-icon {
    color: #0b5dbb !important;
    background: #eaf3ff !important;
  }
}
/* Keep anchor positions and print/full-page rendering stable. */
.home-page #services,
.home-page #solutions,
.home-page #process,
.home-page #advantages,
.home-page #cases,
.home-page #partners,
.home-page #news,
.home-page #about,
.home-page #faq,
.home-page #contact {
  content-visibility: visible;
  contain-intrinsic-size: none;
}
/* ============================================================
   Idea Source-inspired editorial layout and motion system.
   Full-bleed imagery, stronger type hierarchy, restrained motion.
   ============================================================ */
.home-page .nav {
  height: 76px;
  transition: background-color 260ms ease, border-color 260ms ease, box-shadow 260ms ease !important;
}

.home-page .nav:not(.scrolled) {
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

.home-page .nav:not(.scrolled) .nav-item > a {
  color: #ffffff !important;
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.22);
}

.home-page .nav:not(.scrolled) .nav-item > a::after {
  background: #ffffff;
}

.home-page .nav:not(.scrolled) .nav-cta {
  border-color: rgba(255, 255, 255, 0.74) !important;
  color: #073b76 !important;
  background: #ffffff !important;
}

.home-page .nav:not(.scrolled) .nav-logo img {
  filter: drop-shadow(0 1px 10px rgba(0, 0, 0, 0.22));
}

.home-page .hero {
  height: calc(100dvh - 72px) !important;
  min-height: 760px;
  max-height: 920px;
}

.home-page .hero-slide {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.home-page .hero-content {
  width: min(1240px, calc(100% - 64px));
  padding-top: 150px !important;
  padding-bottom: 104px !important;
}

.home-page .hero h1 {
  max-width: 940px;
  margin-bottom: 26px !important;
  font-size: 64px !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
}

.home-page .hero-desc {
  max-width: 720px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

.home-page .hero-badge {
  margin-bottom: 24px !important;
}

.home-page .typing-cursor {
  display: none !important;
}

.home-page .hero-badge .dot {
  animation: none !important;
}

.home-page .hero-slide.active .hero-badge,
.home-page .hero-slide.active h1,
.home-page .hero-slide.active .hero-desc,
.home-page .hero-slide.active .hero-actions {
  animation: ymEditorialIn 520ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

.home-page .hero-slide.active h1 {
  animation-delay: 70ms !important;
}

.home-page .hero-slide.active .hero-desc {
  animation-delay: 130ms !important;
}

.home-page .hero-slide.active .hero-actions {
  animation-delay: 190ms !important;
}

@keyframes ymEditorialIn {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.home-page .ctn,
.home-page .stats-in,
.home-page .hl-in {
  width: min(1240px, calc(100% - 64px));
}

.home-page .sec {
  padding-top: 112px !important;
  padding-bottom: 120px !important;
}

.home-page .sec-hd {
  max-width: 820px;
  margin-bottom: 56px !important;
}

.home-page #solutions .sec-hd,
.home-page #about .sec-hd {
  max-width: 640px;
  margin-left: auto;
}

.home-page .sec-title {
  font-size: 46px !important;
  font-weight: 700 !important;
  line-height: 1.16 !important;
}

.home-page .sec-desc {
  max-width: 720px;
  margin-top: 18px !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
}

.home-page #solutions .sec-tag,
.home-page #process .sec-tag,
.home-page #advantages .sec-tag,
.home-page #partners .sec-tag,
.home-page #news .sec-tag,
.home-page #faq .sec-tag {
  display: none !important;
}

.home-page .srv-card {
  min-height: 340px;
  padding: 30px !important;
}

.home-page .srv-card:nth-child(-n + 2) {
  min-height: 390px;
  padding: 42px !important;
}

.home-page .srv-card h3,
.home-page .srv-card:nth-child(-n + 2) h3 {
  font-size: 22px !important;
  line-height: 1.35 !important;
}

.home-page .srv-card:nth-child(-n + 2) h3 {
  font-size: 27px !important;
}

.home-page .srv-ico {
  transition: color 240ms ease, background-color 240ms ease, transform 240ms ease !important;
}

@media (hover: hover) {
  .home-page .srv-card:hover .srv-ico {
    color: #ffffff !important;
    background: var(--ym-brand) !important;
    transform: translateY(-3px);
  }
}

.home-page #solutions .sol-panel {
  gap: 80px !important;
}

.home-page #solutions .sol-vis img {
  width: 100% !important;
  max-width: none !important;
  transform: scale(1.03);
  transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.home-page #solutions .sol-panel.active .sol-vis img {
  animation: ymImageReveal 620ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes ymImageReveal {
  from {
    opacity: 0;
    transform: scale(1.06) translateY(16px);
  }
  to {
    opacity: 1;
    transform: scale(1.03) translateY(0);
  }
}

.home-page .sol-tab {
  position: relative;
  border: 0 !important;
  border-bottom: 1px solid var(--ym-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: color 220ms ease, border-color 220ms ease !important;
}

.home-page .sol-tab.active {
  color: var(--ym-brand) !important;
  border-bottom: 2px solid var(--ym-brand) !important;
  box-shadow: none !important;
}

/* Portfolio wall: two equal, full-bleed columns like the reference. */
.home-page #cases {
  padding-bottom: 0 !important;
  background: #ffffff !important;
}

.home-page #cases::before {
  bottom: auto;
  height: 360px;
}

.home-page #cases .cases-grid {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 2px !important;
  background: #ffffff;
}

.home-page #cases .case-card,
.home-page #cases .case-card:nth-child(1),
.home-page #cases .case-card:nth-child(2) {
  position: relative;
  display: block;
  grid-column: auto;
  aspect-ratio: 4 / 3;
  min-height: 0;
  border: 0 !important;
  border-radius: 0 !important;
  color: #ffffff;
  background: #0f1f35 !important;
  overflow: hidden;
}

.home-page #cases .case-img,
.home-page #cases .case-card:nth-child(-n + 2) .case-img {
  position: absolute;
  inset: 0;
  height: 100% !important;
  background: #193a60 !important;
}

.home-page #cases .case-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 24, 43, 0.02) 35%, rgba(7, 24, 43, 0.88) 100%);
  transition: background-color 320ms ease !important;
}

.home-page #cases .case-img img {
  transform: scale(1.001);
  transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1), filter 320ms ease !important;
}

.home-page #cases .case-body,
.home-page #cases .case-card:nth-child(1) .case-body {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 42px 46px !important;
  color: #ffffff;
  transform: translateY(8px);
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.home-page #cases .case-body h3,
.home-page #cases .case-card:nth-child(1) h3 {
  max-width: 24ch;
  margin-bottom: 10px;
  color: #ffffff !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.home-page #cases .case-body p {
  max-width: 54ch;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.home-page #cases .case-tag {
  top: 30px !important;
  left: 32px !important;
  z-index: 3;
  padding: 7px 12px !important;
  border-radius: 3px !important;
  color: #ffffff !important;
  background: rgba(11, 93, 187, 0.92) !important;
}

@media (hover: hover) {
  .home-page #cases .case-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  .home-page #cases .case-card:hover .case-img img {
    transform: scale(1.055) !important;
  }

  .home-page #cases .case-card:hover .case-body {
    transform: translateY(0);
  }
}

.home-page #cases .cases-more {
  position: relative;
  left: 50%;
  width: 100vw;
  margin: 0 0 0 -50vw !important;
  padding: 42px 0 52px;
  text-align: center;
  background: #0f1f35;
}

.home-page #cases .cases-more .btn-o {
  border-color: rgba(255, 255, 255, 0.64) !important;
  color: #ffffff !important;
  background: transparent !important;
}

/* Three-story editorial news layout instead of six equal cards. */
.home-page #news .news-grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important;
  grid-template-rows: repeat(2, minmax(278px, auto));
  gap: 18px !important;
}

.home-page #news .news-card,
.home-page #news .news-card:nth-child(1),
.home-page #news .news-card:nth-child(2) {
  grid-column: auto;
}

.home-page #news .news-card:nth-child(1) {
  grid-row: 1 / span 2;
}

.home-page #news .news-card:nth-child(2),
.home-page #news .news-card:nth-child(3) {
  display: grid;
  grid-template-columns: minmax(170px, 42%) 1fr;
}

.home-page #news .news-card:nth-child(1) .news-img {
  height: 430px !important;
}

.home-page #news .news-card:nth-child(2) .news-img,
.home-page #news .news-card:nth-child(3) .news-img {
  height: 100% !important;
  min-height: 278px;
}

.home-page #news .news-card:nth-child(1) h3 {
  font-size: 28px !important;
  line-height: 1.38 !important;
}

.home-page #news .news-card:nth-child(2) .news-body,
.home-page #news .news-card:nth-child(3) .news-body {
  padding: 26px 24px !important;
}

.home-page #news .news-card:nth-child(2) p,
.home-page #news .news-card:nth-child(3) p {
  -webkit-line-clamp: 3;
}

.home-page .about-timeline {
  height: auto !important;
  max-height: 560px;
  overflow-y: auto !important;
  scrollbar-width: thin;
  scrollbar-color: #b9cde3 transparent;
}

.home-page .tl-track,
.home-page .flow-art-text,
.yimia-float-btn {
  animation: none !important;
}

/* Reference-like reveal: one clear entrance, no decorative looping. */
.home-page .rv,
.home-page .rv-l,
.home-page .rv-r,
.home-page .rv-s {
  transition-duration: 520ms !important;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.home-page .rv {
  transform: translateY(24px);
}

.home-page .rv-l {
  transform: translateX(-24px);
}

.home-page .rv-r {
  transform: translateX(24px);
}

.home-page .rv-s {
  transform: scale(0.96);
}

.home-page .rv.vis,
.home-page .rv-l.vis,
.home-page .rv-r.vis,
.home-page .rv-s.vis {
  opacity: 1;
  transform: none;
}

.home-page .srv-card.rv,
.home-page .case-card.rv,
.home-page .news-card.rv,
.home-page .adv-card.rv {
  transition: opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
              transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
              border-color 220ms ease,
              box-shadow 220ms ease !important;
}

@media (max-width: 1100px) {
  .home-page .hero h1 {
    font-size: 54px !important;
  }

  .home-page .sec-title {
    font-size: 42px !important;
  }

  .home-page #cases .case-body,
  .home-page #cases .case-card:nth-child(1) .case-body {
    padding: 32px !important;
  }

  .home-page #cases .case-body h3,
  .home-page #cases .case-card:nth-child(1) h3 {
    font-size: 25px !important;
  }

  .home-page #news .news-card:nth-child(2),
  .home-page #news .news-card:nth-child(3) {
    display: block;
  }

  .home-page #news .news-card:nth-child(2) .news-img,
  .home-page #news .news-card:nth-child(3) .news-img {
    height: 230px !important;
    min-height: 0;
  }
}

@media (max-width: 768px) {
  .home-page .nav {
    height: 62px;
  }

  .home-page .nav:not(.scrolled) {
    background: #ffffff !important;
    border-bottom-color: var(--ym-line) !important;
  }

  .home-page .nav:not(.scrolled) .nav-logo img {
    filter: none;
  }

  .home-page .hero {
    height: calc(100dvh - 24px) !important;
    min-height: 640px;
    max-height: 760px;
  }

  .home-page .hero-content {
    width: calc(100% - 40px);
    padding-top: 118px !important;
    padding-bottom: 86px !important;
  }

  .home-page .hero h1 {
    font-size: 40px !important;
    line-height: 1.16 !important;
  }

  .home-page .hero-desc {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }

  .home-page .sec {
    padding-top: 78px !important;
    padding-bottom: 84px !important;
  }

  .home-page .sec-hd,
  .home-page #solutions .sec-hd,
  .home-page #about .sec-hd {
    max-width: none;
    margin-bottom: 38px !important;
    margin-left: 0;
  }

  .home-page .sec-title {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }

  .home-page .sec-desc {
    margin-top: 13px !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  .home-page #cases {
    padding-bottom: 0 !important;
  }

  .home-page #cases .cases-grid {
    grid-template-columns: 1fr !important;
  }

  .home-page #cases .case-card,
  .home-page #cases .case-card:nth-child(1),
  .home-page #cases .case-card:nth-child(2) {
    aspect-ratio: 4 / 3;
  }

  .home-page #cases .case-body,
  .home-page #cases .case-card:nth-child(1) .case-body {
    padding: 24px 22px !important;
  }

  .home-page #cases .case-body h3,
  .home-page #cases .case-card:nth-child(1) h3 {
    margin-bottom: 5px;
    font-size: 21px !important;
    line-height: 1.35 !important;
  }

  .home-page #cases .case-body p {
    display: -webkit-box;
    font-size: 13px !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .home-page #cases .case-tag {
    top: 18px !important;
    left: 18px !important;
  }

  .home-page #news .news-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: none;
  }

  .home-page #news .news-card,
  .home-page #news .news-card:nth-child(1),
  .home-page #news .news-card:nth-child(2),
  .home-page #news .news-card:nth-child(3) {
    display: block;
    grid-row: auto;
  }

  .home-page #news .news-card:nth-child(1) .news-img,
  .home-page #news .news-card:nth-child(2) .news-img,
  .home-page #news .news-card:nth-child(3) .news-img {
    height: 230px !important;
  }

  .home-page #news .news-card:nth-child(1) h3 {
    font-size: 21px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .hero-slide.active .hero-badge,
  .home-page .hero-slide.active h1,
  .home-page .hero-slide.active .hero-desc,
  .home-page .hero-slide.active .hero-actions,
  .home-page #solutions .sol-panel.active .sol-vis img {
    animation: none !important;
  }
}

/* =====================================================================
   Responsive editorial redesign - 2026-07-24
   Shared by homepage, news, cases, detail pages and the global footer.
   ===================================================================== */
:root {
  --ym-brand: #1261a6;
  --ym-brand-deep: #0b365f;
  --ym-blue-soft: #eaf3fb;
  --ym-teal: #168476;
  --ym-teal-soft: #e9f7f4;
  --ym-gold: #b87918;
  --ym-gold-soft: #fff6df;
  --ym-coral: #c5554d;
  --ym-coral-soft: #fff0ee;
  --ym-violet: #6659a8;
  --ym-violet-soft: #f0eefb;
  --ym-ink: #142235;
  --ym-muted: #5c6d80;
  --ym-line: #dce5ed;
  --ym-soft: #f4f7fa;
  --ym-shadow: 0 18px 44px rgba(25, 50, 76, 0.10);
}

body {
  overflow-x: clip;
  color: var(--ym-ink);
  background: #ffffff;
}

.home-page .ctn,
.home-page .stats-in,
.home-page .hl-in,
.footer .ctn {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
}

/* Hero: copy and actions form one stable left-aligned composition. */
.home-page .hero {
  height: 760px !important;
  min-height: 680px !important;
  max-height: 760px !important;
}

.home-page .hero-slide {
  align-items: center !important;
  padding: 0 24px !important;
}

.home-page .hero-content {
  width: min(1180px, 100%) !important;
  max-width: 1180px !important;
  margin: 44px auto 0 !important;
  padding: 0 !important;
}

.home-page .hero-badge {
  width: fit-content;
  max-width: 100%;
  margin: 0 0 22px !important;
  padding: 8px 12px !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  border-radius: 4px !important;
  background: rgba(8, 31, 53, 0.42) !important;
  backdrop-filter: blur(8px);
}

.home-page .hero h1 {
  max-width: 900px !important;
  margin: 0 0 22px !important;
  font-size: 60px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
}

.home-page .hero-desc {
  max-width: 650px !important;
  margin: 0 0 34px !important;
  color: rgba(255, 255, 255, 0.90) !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

.home-page .hero-actions {
  justify-content: flex-start !important;
  gap: 12px !important;
}

.home-page .hero-actions .btn-p,
.home-page .hero-actions .btn-o {
  min-width: 148px;
  min-height: 50px;
  justify-content: center;
  padding: 13px 24px !important;
  border-radius: 6px !important;
  font-size: 15px !important;
}

.home-page .hero-actions .btn-p {
  border: 1px solid #ffffff !important;
  background: #ffffff !important;
  color: var(--ym-brand-deep) !important;
}

.home-page .hero-actions .btn-o {
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  background: rgba(9, 30, 50, 0.28) !important;
  color: #ffffff !important;
  backdrop-filter: blur(8px);
}

.home-page .hero-dots {
  bottom: 26px !important;
  gap: 7px !important;
}

.home-page .hero-dot {
  width: 28px !important;
  height: 4px !important;
  border-radius: 1px !important;
  background: rgba(255, 255, 255, 0.42) !important;
}

.home-page .hero-dot.active {
  width: 58px !important;
  background: #ffffff !important;
}

.home-page .hero-arr {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: none !important;
}

/* Trust metrics and the previously blank reassurance strip. */
.home-page .stats { background: #ffffff !important; }
.home-page .stats-in { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.home-page .stat {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 20px !important;
}

.home-page .stat-n { font-size: 38px !important; }
.home-page .stat:nth-child(1) .stat-n { color: var(--ym-brand) !important; }
.home-page .stat:nth-child(2) .stat-n { color: var(--ym-teal) !important; }
.home-page .stat:nth-child(3) .stat-n { color: var(--ym-coral) !important; }
.home-page .stat:nth-child(4) .stat-n { color: var(--ym-gold) !important; }

.home-page .hl-strip {
  padding: 0 !important;
  background: #f8fafc !important;
  color: var(--ym-ink) !important;
}

.home-page .hl-in { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.home-page .hl-item {
  min-height: 148px;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 16px;
  align-content: center;
  padding: 28px 24px !important;
  color: var(--ym-ink) !important;
  text-align: left !important;
  text-decoration: none;
}

.home-page .hl-item:last-child { border-right: 0 !important; }

.home-page .hl-item i {
  grid-row: 1 / span 2;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  border-radius: 7px;
  font-size: 25px !important;
}

.home-page .hl-item h4 {
  align-self: end;
  margin: 0 0 5px !important;
  color: var(--ym-ink) !important;
  font-size: 16px !important;
  line-height: 1.4;
}

.home-page .hl-item p {
  align-self: start;
  margin: 0 !important;
  color: var(--ym-muted) !important;
  font-size: 13px !important;
  line-height: 1.6;
  opacity: 1 !important;
}

.home-page .hl-item:nth-child(1) i { color: var(--ym-teal) !important; background: var(--ym-teal-soft) !important; }
.home-page .hl-item:nth-child(2) i { color: var(--ym-brand) !important; background: var(--ym-blue-soft) !important; }
.home-page .hl-item:nth-child(3) i { color: var(--ym-gold) !important; background: var(--ym-gold-soft) !important; }
.home-page .hl-item:nth-child(4) i { color: var(--ym-coral) !important; background: var(--ym-coral-soft) !important; }

/* Section rhythm and varied but controlled color bands. */
.home-page .sec {
  padding-top: 88px !important;
  padding-bottom: 96px !important;
}

.home-page #services { background: #ffffff !important; }
.home-page #solutions { position: relative; overflow: hidden; background: #f3f7fb !important; }
.home-page #process { background: #fffaf4 !important; }
.home-page #advantages { background: #f5f7fb !important; }
.home-page #cases { background: #ffffff !important; }
.home-page #partners { background: #f1f8f6 !important; }
.home-page #news { background: #fffaf8 !important; }
.home-page #about { background: #f4f7fa !important; }
.home-page #faq { background: #ffffff !important; }

.home-page #solutions::after {
  content: "";
  position: absolute;
  right: -8%;
  bottom: -160px;
  width: 620px;
  height: 420px;
  pointer-events: none;
  opacity: 0.42;
  background:
    radial-gradient(ellipse at center, transparent 52%, rgba(18, 97, 166, 0.11) 53%, transparent 54%),
    radial-gradient(ellipse at center, transparent 62%, rgba(22, 132, 118, 0.10) 63%, transparent 64%),
    radial-gradient(ellipse at center, transparent 72%, rgba(184, 121, 24, 0.09) 73%, transparent 74%);
}

.home-page .sec-hd,
.home-page #solutions .sec-hd,
.home-page #about .sec-hd {
  max-width: 760px !important;
  margin: 0 0 44px !important;
  text-align: left !important;
}

.home-page .sec-title {
  font-size: 42px !important;
  line-height: 1.18 !important;
}

.home-page #solutions .sec-title .ac,
.home-page #partners .sec-title .ac { color: var(--ym-teal) !important; }
.home-page #cases .sec-title .ac,
.home-page #news .sec-title .ac { color: var(--ym-coral) !important; }
.home-page #advantages .sec-title .ac,
.home-page #faq .sec-title .ac { color: var(--ym-violet) !important; }
.home-page #about .sec-title .ac { color: var(--ym-gold) !important; }

/* Multi-color service icons. */
.home-page .srv-card:nth-child(6n + 1) .srv-ico,
.home-page .srv-acc-item:nth-child(6n + 1) .srv-acc-ico { color: var(--ym-brand) !important; background: var(--ym-blue-soft) !important; border-color: #cbdff2 !important; }
.home-page .srv-card:nth-child(6n + 2) .srv-ico,
.home-page .srv-acc-item:nth-child(6n + 2) .srv-acc-ico { color: var(--ym-violet) !important; background: var(--ym-violet-soft) !important; border-color: #dcd6f2 !important; }
.home-page .srv-card:nth-child(6n + 3) .srv-ico,
.home-page .srv-acc-item:nth-child(6n + 3) .srv-acc-ico { color: var(--ym-gold) !important; background: var(--ym-gold-soft) !important; border-color: #eedcae !important; }
.home-page .srv-card:nth-child(6n + 4) .srv-ico,
.home-page .srv-acc-item:nth-child(6n + 4) .srv-acc-ico { color: var(--ym-teal) !important; background: var(--ym-teal-soft) !important; border-color: #c7e8df !important; }
.home-page .srv-card:nth-child(6n + 5) .srv-ico,
.home-page .srv-acc-item:nth-child(6n + 5) .srv-acc-ico { color: var(--ym-coral) !important; background: var(--ym-coral-soft) !important; border-color: #f1cfca !important; }
.home-page .srv-card:nth-child(6n + 6) .srv-ico,
.home-page .srv-acc-item:nth-child(6n + 6) .srv-acc-ico { color: #4f718c !important; background: #edf3f7 !important; border-color: #d1dde6 !important; }

@media (hover: hover) {
  .home-page .srv-card:hover .srv-ico {
    color: inherit !important;
    transform: translateY(-2px) rotate(-2deg);
  }
}
/* Compact solution and FAQ switchers. */
.home-page #solutions .sol-tabs,
.home-page #faq .faq-tabs {
  position: relative;
  z-index: 1;
  display: flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  margin: 0 0 34px !important;
  padding: 6px !important;
  overflow-x: auto;
  border: 1px solid #d7e1e9 !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 10px 30px rgba(27, 56, 83, 0.06);
  scrollbar-width: none;
}

.home-page #solutions .sol-tabs::-webkit-scrollbar,
.home-page #faq .faq-tabs::-webkit-scrollbar {
  display: none;
}

.home-page #solutions .sol-tab,
.home-page #faq .faq-tab {
  --tab-accent: var(--ym-brand);
  min-height: 42px;
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 14px !important;
  border: 0 !important;
  border-radius: 5px !important;
  color: #42556a !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap;
}

.home-page #solutions .sol-tab i,
.home-page #faq .faq-tab i {
  color: var(--tab-accent);
  font-size: 17px;
}

.home-page #solutions .sol-tab:nth-child(1) { --tab-accent: var(--ym-brand); }
.home-page #solutions .sol-tab:nth-child(2) { --tab-accent: var(--ym-teal); }
.home-page #solutions .sol-tab:nth-child(3) { --tab-accent: var(--ym-coral); }
.home-page #solutions .sol-tab:nth-child(4) { --tab-accent: var(--ym-gold); }
.home-page #solutions .sol-tab:nth-child(5) { --tab-accent: var(--ym-violet); }
.home-page #solutions .sol-tab:nth-child(6) { --tab-accent: #4d8557; }
.home-page #solutions .sol-tab:nth-child(7) { --tab-accent: #56708c; }
.home-page #solutions .sol-tab:nth-child(8) { --tab-accent: #9a5a3b; }

.home-page #solutions .sol-tab.active,
.home-page #faq .faq-tab.active {
  color: #ffffff !important;
  background: var(--tab-accent) !important;
  box-shadow: 0 7px 18px rgba(24, 58, 88, 0.14) !important;
}

.home-page #solutions .sol-tab.active i,
.home-page #faq .faq-tab.active i {
  color: #ffffff !important;
}

.home-page #solutions .sol-panel {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  align-items: center !important;
  gap: 54px !important;
}

.home-page #solutions .sol-vis {
  overflow: hidden;
  border: 1px solid #d8e2e9;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(22, 57, 87, 0.09);
}

.home-page #solutions .sol-vis img {
  width: 100% !important;
  aspect-ratio: 3 / 2;
  object-fit: cover !important;
  transform: none !important;
}

.home-page #solutions .sol-panel.active .sol-vis img {
  animation: ymImageReveal 480ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

.home-page #solutions .sol-info h3 {
  margin-bottom: 14px !important;
  font-size: 30px !important;
  line-height: 1.25 !important;
}

.home-page #solutions .sol-poem {
  border-left-color: var(--ym-teal) !important;
  color: var(--ym-teal) !important;
}

/* Constrained three-column case gallery. */
.home-page #cases {
  padding-bottom: 96px !important;
}

.home-page #cases::before {
  display: none !important;
}

.home-page #cases .cases-grid {
  position: static !important;
  left: auto !important;
  width: 100% !important;
  margin: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  background: transparent !important;
}

.home-page #cases .case-card,
.home-page #cases .case-card:nth-child(1),
.home-page #cases .case-card:nth-child(2) {
  position: relative !important;
  display: flex !important;
  flex-direction: column;
  aspect-ratio: auto !important;
  min-height: 0 !important;
  border: 1px solid var(--ym-line) !important;
  border-radius: 8px !important;
  color: var(--ym-ink) !important;
  background: #ffffff !important;
  overflow: hidden;
}

.home-page #cases .case-img,
.home-page #cases .case-card:nth-child(-n + 2) .case-img {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  height: auto !important;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eaf0f4 !important;
}

.home-page #cases .case-img::after {
  display: none !important;
}

.home-page #cases .case-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none !important;
}

.home-page #cases .case-body,
.home-page #cases .case-card:nth-child(1) .case-body {
  position: static !important;
  z-index: auto !important;
  flex: 1;
  padding: 20px 20px 22px !important;
  color: var(--ym-ink) !important;
  transform: none !important;
}

.home-page #cases .case-body h3,
.home-page #cases .case-card:nth-child(1) h3 {
  max-width: none;
  margin: 0 0 8px !important;
  color: var(--ym-ink) !important;
  font-size: 19px !important;
  line-height: 1.45 !important;
}

.home-page #cases .case-body p {
  display: -webkit-box;
  margin: 0 !important;
  overflow: hidden;
  color: var(--ym-muted) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-page #cases .case-tag {
  top: 14px !important;
  left: 14px !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  background: var(--ym-coral) !important;
}

.home-page #cases .cases-more {
  position: static !important;
  left: auto !important;
  width: auto !important;
  margin: 32px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.home-page #cases .cases-more .btn-o {
  border-color: var(--ym-brand) !important;
  color: var(--ym-brand) !important;
  background: #ffffff !important;
}

@media (hover: hover) {
  .home-page #cases .case-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--ym-shadow) !important;
  }

  .home-page #cases .case-card:hover .case-img img {
    transform: scale(1.035) !important;
  }
}

/* Fixed-ratio homepage news cards. */
.home-page #news .news-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  gap: 20px !important;
}

.home-page #news .news-card,
.home-page #news .news-card:nth-child(1),
.home-page #news .news-card:nth-child(2),
.home-page #news .news-card:nth-child(3) {
  display: flex !important;
  grid-column: auto !important;
  grid-row: auto !important;
  flex-direction: column;
  min-width: 0;
}

.home-page #news .news-card .news-img,
.home-page #news .news-card:nth-child(1) .news-img,
.home-page #news .news-card:nth-child(2) .news-img,
.home-page #news .news-card:nth-child(3) .news-img {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.home-page #news .news-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-page #news .news-body,
.home-page #news .news-card:nth-child(2) .news-body,
.home-page #news .news-card:nth-child(3) .news-body {
  flex: 1;
  padding: 20px 20px 22px !important;
}

.home-page #news .news-card h3,
.home-page #news .news-card:nth-child(1) h3 {
  display: -webkit-box;
  overflow: hidden;
  font-size: 19px !important;
  line-height: 1.48 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-page #news .news-card p,
.home-page #news .news-card:nth-child(2) p,
.home-page #news .news-card:nth-child(3) p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-page #news .news-card:nth-child(3n + 1) .news-date { background: var(--ym-brand) !important; }
.home-page #news .news-card:nth-child(3n + 2) .news-date { background: var(--ym-teal) !important; }
.home-page #news .news-card:nth-child(3n + 3) .news-date { background: var(--ym-coral) !important; }

/* FAQ switcher. */
.home-page #faq .faq-tabs {
  margin-bottom: 28px !important;
  background: #f6f8fb !important;
}

.home-page #faq .faq-tab:nth-child(1) { --tab-accent: var(--ym-gold); }
.home-page #faq .faq-tab:nth-child(2) { --tab-accent: var(--ym-teal); }
.home-page #faq .faq-tab:nth-child(3) { --tab-accent: var(--ym-violet); }
.home-page #faq .faq-tab:nth-child(4) { --tab-accent: var(--ym-brand); }

.home-page #faq .faq-container {
  max-width: 980px;
  margin: 0;
}

.home-page #faq .faq-item {
  border-color: var(--ym-line) !important;
  border-radius: 6px !important;
  background: #ffffff !important;
}

.home-page #faq .faq-q {
  min-height: 66px;
  padding: 19px 22px !important;
}

.home-page #faq .faq-item:nth-child(4n + 1) .faq-q i { color: var(--ym-gold) !important; }
.home-page #faq .faq-item:nth-child(4n + 2) .faq-q i { color: var(--ym-teal) !important; }
.home-page #faq .faq-item:nth-child(4n + 3) .faq-q i { color: var(--ym-violet) !important; }
.home-page #faq .faq-item:nth-child(4n + 4) .faq-q i { color: var(--ym-coral) !important; }
/* Shared list and detail pages. */
.news-index-page .container,
.cases-index-page .container,
.news-detail-page .detail-cnt,
.news-detail-page .detail-wrap,
.case-detail-page .case-hero-cnt,
.case-detail-page .detail-body {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.news-index-page .ym-banner-one,
.cases-index-page .banner,
.news-detail-page .detail-banner {
  min-height: 310px !important;
  height: auto !important;
  padding: 126px 24px 58px !important;
}

.news-index-page .ym-banner-one__cnt,
.cases-index-page .banner-cnt,
.news-detail-page .detail-cnt {
  width: min(1180px, 100%) !important;
  margin: 0 auto !important;
  text-align: left !important;
}

.news-index-page .ym-banner-one__title,
.cases-index-page .banner-title {
  font-size: 42px !important;
  line-height: 1.18 !important;
}

.news-index-page .tabs-cnt,
.cases-index-page .filter-cnt {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  display: flex;
  justify-content: flex-start !important;
  gap: 6px !important;
  margin: 0 auto;
  overflow-x: auto;
  scrollbar-width: none;
}

.news-index-page .tabs-cnt::-webkit-scrollbar,
.cases-index-page .filter-cnt::-webkit-scrollbar {
  display: none;
}

.news-index-page .tab,
.cases-index-page .filter-btn {
  flex: 0 0 auto;
  min-height: 42px;
  border-radius: 5px !important;
  white-space: nowrap;
}

.news-index-page .section,
.cases-index-page .section {
  padding: 64px 0 86px !important;
}

.news-index-page .news-grid,
.cases-index-page .cases-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.news-index-page .news-card,
.cases-index-page .case-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 8px !important;
  background: #ffffff !important;
}

.news-index-page .news-img,
.cases-index-page .case-img {
  width: 100%;
  height: auto !important;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.news-index-page .news-img img,
.cases-index-page .case-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-index-page .featured-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
  overflow: hidden;
}

.news-index-page .featured-img {
  height: auto !important;
  min-height: 360px;
}

.news-index-page .featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-detail-page .detail-title,
.case-detail-page .case-hero-title {
  max-width: 900px;
  font-size: 40px !important;
  line-height: 1.28 !important;
}

.news-detail-page .detail-wrap {
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 28px !important;
}

.news-detail-page .detail-body,
.case-detail-page .detail-body {
  overflow-wrap: anywhere;
}

.news-detail-page .detail-body img,
.case-detail-page .detail-body img,
.news-detail-page .detail-body video,
.case-detail-page .detail-body video,
.news-detail-page .detail-body iframe,
.case-detail-page .detail-body iframe {
  max-width: 100% !important;
  height: auto;
}

.news-detail-page .detail-body table,
.case-detail-page .detail-body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  white-space: nowrap;
}

.case-detail-page .case-hero {
  min-height: 560px !important;
}

.case-detail-page .result-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Footer bands, links and authority badge. */
.footer {
  position: relative;
  padding: 0 0 24px !important;
  overflow: hidden;
  color: #dce7f0 !important;
  background: #111c27 !important;
}

.footer::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--ym-brand) 0 28%, var(--ym-teal) 28% 52%, var(--ym-gold) 52% 76%, var(--ym-coral) 76% 100%);
}

.footer > .ctn {
  padding-top: 58px !important;
  padding-bottom: 48px !important;
}

.footer .ft-grid {
  grid-template-columns: 1.45fr repeat(3, minmax(0, 0.72fr)) !important;
  gap: 42px !important;
  color: #dce7f0 !important;
}

.footer .ft-brand p {
  max-width: 34ch;
  color: #aebdcc !important;
  line-height: 1.85 !important;
}

.footer h4 {
  color: #ffffff !important;
  font-size: 14px !important;
}

.footer ul li a,
.footer .ft-grid a {
  color: #b7c5d3 !important;
}

.footer ul li a:hover,
.footer .ft-grid a:hover {
  color: #ffffff !important;
}

.footer .ft-links {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 26px max(24px, calc((100vw - 1240px) / 2)) !important;
  border: 0 !important;
  background: #edf3f7 !important;
}

.footer .ft-links-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--ym-ink) !important;
  font-size: 14px;
  font-weight: 700;
}

.footer .ft-links-title i {
  color: var(--ym-teal);
  font-size: 18px;
}

.footer .ft-links-title small {
  color: #7d8b99;
  font-size: 12px;
  font-weight: 500;
}

.footer .ft-links-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px 18px !important;
  padding: 0 !important;
  background: transparent !important;
}

.footer .ft-links-grid a,
.footer .ft-link-apply {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 0 !important;
  border: 0 !important;
  color: #496176 !important;
  background: transparent !important;
  font: inherit;
  font-size: 13px !important;
  cursor: pointer;
  text-decoration: none;
}

.footer .ft-links-grid a:hover,
.footer .ft-link-apply:hover {
  color: var(--ym-brand) !important;
}

.footer .footer-copyright {
  padding: 34px 24px 26px !important;
  color: #9fb0bf !important;
  background: #0d1721 !important;
}

.footer .footer-copyright a,
.footer .footer-copyright p,
.footer .footer-copyright div {
  color: #9fb0bf !important;
}

.footer .record-link {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px !important;
}

.footer .record-link a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #b8c6d2 !important;
}

.footer .record-link img {
  width: auto !important;
  height: 18px !important;
  object-fit: contain;
}

.footer .visit-stat {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
}

.footer .visit-stat b {
  color: #72c9bc !important;
}

.footer .ft-assurance {
  width: min(760px, calc(100% - 48px));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 34px auto 12px;
  padding: 22px 30px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 8px;
  background: #152536;
}

.footer .ft-assurance-medal {
  position: relative;
  width: 94px;
  height: 94px;
  flex: 0 0 94px;
}

.footer .ft-assurance-ring {
  position: absolute;
  inset: 5px;
  border: 1px dashed rgba(232, 184, 84, 0.72);
  border-radius: 50%;
  animation: ymMedalOrbit 12s linear infinite;
}

.footer .ft-assurance-core {
  position: absolute;
  inset: 17px;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 2px solid #e0ad43;
  border-radius: 50%;
  color: #ffffff;
  background: var(--ym-brand);
  box-shadow: 0 0 0 7px rgba(18, 97, 166, 0.18);
}

.footer .ft-assurance-core i {
  font-size: 31px;
}

.footer .ft-assurance-spark {
  position: absolute;
  z-index: 3;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e5b64f;
  box-shadow: 0 0 14px rgba(229, 182, 79, 0.75);
  animation: ymMedalSpark 3.2s ease-in-out infinite;
}

.footer .ft-assurance-spark-a { top: 3px; right: 18px; }
.footer .ft-assurance-spark-b { right: 1px; bottom: 24px; animation-delay: -1.6s; }

.footer .ft-assurance-ribbon {
  position: absolute;
  bottom: 2px;
  z-index: 1;
  width: 20px;
  height: 31px;
  background: var(--ym-coral);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 76%, 0 100%);
}

.footer .ft-assurance-ribbon-left { left: 24px; transform: rotate(10deg); }
.footer .ft-assurance-ribbon-right { right: 24px; background: var(--ym-teal); transform: rotate(-10deg); }
.footer .ft-assurance-copy { min-width: 0; }

.footer .ft-assurance-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  color: #e7bc62;
  font-size: 12px;
  font-weight: 700;
}

.footer .ft-assurance-copy strong {
  display: block;
  color: #ffffff;
  font-size: 21px;
  line-height: 1.45;
}

.footer .ft-assurance-copy p {
  margin: 5px 0 0;
  color: #aebdcc;
  font-size: 13px;
  line-height: 1.65;
}

@keyframes ymMedalOrbit {
  to { transform: rotate(360deg); }
}

@keyframes ymMedalSpark {
  0%, 100% { opacity: 0.45; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.2); }
}
/* Tablet and compact desktop. */
@media (max-width: 1180px) {
  .home-page .ctn,
  .home-page .stats-in,
  .home-page .hl-in,
  .footer .ctn {
    width: min(100% - 40px, 1120px) !important;
  }

  .home-page .hero-content { width: min(1080px, 100%) !important; }
  .home-page .hero h1 { font-size: 52px !important; }

  .home-page #cases .cases-grid,
  .home-page #news .news-grid,
  .news-index-page .news-grid,
  .cases-index-page .cases-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .footer .ft-grid {
    grid-template-columns: 1.25fr repeat(3, minmax(0, 0.8fr)) !important;
    gap: 28px !important;
  }
}

@media (max-width: 980px) {
  .home-page .hero {
    height: 700px !important;
    min-height: 640px !important;
  }

  .home-page .hero h1 { font-size: 46px !important; }

  .home-page .stats-in,
  .home-page .hl-in {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-page .stat:nth-child(2) { border-right: 0; }

  .home-page .stat:nth-child(-n + 2),
  .home-page .hl-item:nth-child(-n + 2) {
    border-bottom: 1px solid var(--ym-line);
  }

  .home-page .hl-item:nth-child(2) { border-right: 0 !important; }

  .home-page #solutions .sol-panel {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .home-page #solutions .sol-vis { max-width: 760px; }

  .news-index-page .featured-card {
    grid-template-columns: 1fr !important;
  }

  .news-index-page .featured-img {
    min-height: 0;
    aspect-ratio: 16 / 8;
  }

  .news-detail-page .detail-wrap {
    grid-template-columns: 1fr !important;
  }

  .news-detail-page .detail-sidebar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .news-detail-page .detail-sidebar .expert-block { grid-row: span 2; }

  .case-detail-page .result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .footer .ft-grid {
    grid-template-columns: 1.2fr repeat(2, minmax(0, 1fr)) !important;
  }

  .footer .ft-grid > :last-child { grid-column: 2 / span 2; }
}

@media (max-width: 768px) {
  .home-page .ctn,
  .home-page .stats-in,
  .home-page .hl-in,
  .footer .ctn {
    width: calc(100% - 32px) !important;
  }

  .home-page .hero {
    height: auto !important;
    min-height: 640px !important;
    max-height: none !important;
  }

  .home-page .hero-slide {
    min-height: 640px;
    padding: 0 16px !important;
  }

  .home-page .hero-content {
    width: 100% !important;
    margin-top: 52px !important;
  }

  .home-page .hero h1 {
    font-size: 39px !important;
    line-height: 1.16 !important;
  }

  .home-page .hero-desc {
    max-width: 34em !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  .home-page .hero-arr { display: none !important; }

  .home-page .hero-actions .btn-p,
  .home-page .hero-actions .btn-o {
    min-height: 48px;
  }

  .home-page .sec {
    padding-top: 68px !important;
    padding-bottom: 74px !important;
  }

  .home-page .sec-hd,
  .home-page #solutions .sec-hd,
  .home-page #about .sec-hd {
    margin-bottom: 32px !important;
  }

  .home-page .sec-title { font-size: 32px !important; }
  .home-page .sec-desc { font-size: 15px !important; }
  .home-page #cases { padding-bottom: 74px !important; }

  .home-page #cases .cases-grid,
  .home-page #news .news-grid,
  .news-index-page .news-grid,
  .cases-index-page .cases-grid {
    grid-template-columns: 1fr !important;
  }

  .home-page #cases .case-img,
  .home-page #news .news-card .news-img,
  .news-index-page .news-img,
  .cases-index-page .case-img {
    height: auto !important;
  }

  .home-page #solutions .sol-tabs,
  .home-page #faq .faq-tabs {
    width: 100% !important;
  }

  .home-page #solutions .sol-info h3 { font-size: 25px !important; }

  .news-index-page .container,
  .cases-index-page .container,
  .news-detail-page .detail-cnt,
  .news-detail-page .detail-wrap,
  .case-detail-page .case-hero-cnt,
  .case-detail-page .detail-body {
    width: calc(100% - 32px) !important;
  }

  .news-index-page .ym-banner-one,
  .cases-index-page .banner,
  .news-detail-page .detail-banner {
    min-height: 260px !important;
    padding: 104px 16px 42px !important;
  }

  .news-index-page .ym-banner-one__title,
  .cases-index-page .banner-title,
  .news-detail-page .detail-title,
  .case-detail-page .case-hero-title {
    font-size: 30px !important;
  }

  .news-index-page .tabs,
  .cases-index-page .filter { padding: 10px 0 !important; }

  .news-index-page .tabs-cnt,
  .cases-index-page .filter-cnt {
    width: calc(100% - 24px) !important;
    padding-bottom: 2px;
  }

  .news-index-page .section,
  .cases-index-page .section { padding: 44px 0 64px !important; }

  .news-index-page .featured-img { aspect-ratio: 16 / 10; }

  .news-detail-page .detail-body,
  .case-detail-page .detail-body {
    padding: 26px 20px !important;
  }

  .news-detail-page .detail-meta,
  .case-detail-page .case-hero-meta {
    gap: 8px 16px !important;
    flex-wrap: wrap;
  }

  .news-detail-page .detail-sidebar { display: block; }
  .news-detail-page .sidebar-block { margin-bottom: 16px; }

  .news-detail-page .nav-news,
  .case-detail-page .nav-cases {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .case-detail-page .case-hero { min-height: 470px !important; }

  .case-detail-page .result-grid,
  .case-detail-page .img-grid,
  .news-detail-page .related-grid {
    grid-template-columns: 1fr !important;
  }

  .footer > .ctn {
    padding-top: 42px !important;
    padding-bottom: 34px !important;
  }

  .footer .ft-grid,
  .footer .ft-grid > :last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-column: auto !important;
    gap: 28px 20px !important;
    text-align: left !important;
  }

  .footer .ft-brand {
    grid-column: 1 / -1;
    padding-bottom: 24px;
    text-align: left !important;
  }

  .footer ul { display: block !important; }
  .footer ul li { margin-bottom: 9px !important; }
  .footer .ft-links { padding: 22px 16px !important; }
  .footer .footer-copyright { padding: 28px 16px 22px !important; }

  .footer .ft-assurance {
    width: calc(100% - 32px);
    justify-content: flex-start;
    gap: 18px;
    padding: 20px;
  }

  .footer .ft-assurance-medal {
    width: 78px;
    height: 78px;
    flex-basis: 78px;
  }

  .footer .ft-assurance-copy strong { font-size: 18px; }

  .rsidebar { display: none !important; }

  .yimia-float-btn {
    right: 14px !important;
    bottom: 18px !important;
    width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width: 520px) {
  .home-page .hero-slide { min-height: 620px; }
  .home-page .hero-content { margin-top: 58px !important; }

  .home-page .hero-badge {
    margin-bottom: 16px !important;
    font-size: 11px !important;
  }

  .home-page .hero h1 { font-size: 33px !important; }

  .home-page .hero-desc {
    margin-bottom: 26px !important;
    font-size: 15px !important;
  }

  .home-page .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .home-page .hero-actions .btn-p,
  .home-page .hero-actions .btn-o {
    width: 100%;
    min-width: 0;
    padding: 12px 14px !important;
  }

  .home-page .hero-dot { width: 20px !important; }
  .home-page .hero-dot.active { width: 42px !important; }
  .home-page .stats-in { width: 100% !important; }

  .home-page .stat {
    min-height: 104px;
    padding: 18px 10px !important;
  }

  .home-page .stat-n { font-size: 29px !important; }
  .home-page .stat-l { font-size: 12px !important; }

  .home-page .hl-in {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .home-page .hl-item {
    min-height: 112px;
    padding: 22px 20px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ym-line);
  }

  .home-page .hl-item:last-child { border-bottom: 0; }
  .home-page .sec-title { font-size: 29px !important; }

  .home-page #cases .case-body,
  .home-page #news .news-body { padding: 18px !important; }

  .home-page #solutions .sol-tab,
  .home-page #faq .faq-tab {
    min-height: 40px;
    padding: 8px 12px !important;
    font-size: 13px !important;
  }

  .home-page #faq .faq-q {
    min-height: 60px;
    padding: 17px 16px !important;
  }

  .news-index-page .ym-banner-one__title,
  .cases-index-page .banner-title,
  .news-detail-page .detail-title,
  .case-detail-page .case-hero-title {
    font-size: 27px !important;
    overflow-wrap: anywhere;
  }

  .news-index-page .featured-body,
  .news-index-page .news-body,
  .cases-index-page .case-body { padding: 18px !important; }

  .footer .ft-grid,
  .footer .ft-grid > :last-child { grid-template-columns: 1fr !important; }

  .footer .ft-brand { grid-column: auto; }
  .footer .ft-assurance { align-items: center; text-align: left; }

  .footer .ft-assurance-medal {
    width: 68px;
    height: 68px;
    flex-basis: 68px;
  }

  .footer .ft-assurance-core { inset: 14px; }
  .footer .ft-assurance-copy p { font-size: 12px; }
}

@media (max-width: 390px) {
  .home-page .hero h1 { font-size: 30px !important; }
  .home-page .hero-actions { grid-template-columns: 1fr; }
  .home-page .hero-slide { min-height: 680px; }
  .home-page .sec-title { font-size: 27px !important; }

  .footer .ft-assurance {
    flex-direction: column;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer .ft-assurance-ring,
  .footer .ft-assurance-spark {
    animation: none !important;
  }
}
/* Final mobile overflow corrections for legacy service templates. */
.service-ai-page .banner > .banner-cnt {
  margin-right: auto !important;
  margin-left: auto !important;
}

.service-ai-page .banner-left,
.service-ai-page .banner-right,
.service-ai-page .ai-demo-wrap,
.about-page .intro-text,
.about-page .intro-visual {
  min-width: 0;
  max-width: 100%;
}

.about-page .team-avatar-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: #ffffff;
  background: linear-gradient(145deg, var(--ym-brand), var(--ym-teal));
  font-size: 58px;
}

.service-app-page .compare-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 8px;
  box-shadow: var(--ym-shadow);
  scrollbar-color: var(--ym-brand) #e8eef2;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.service-app-page .compare-table-scroll::-webkit-scrollbar {
  height: 7px;
}

.service-app-page .compare-table-scroll::-webkit-scrollbar-track {
  background: #e8eef2;
}

.service-app-page .compare-table-scroll::-webkit-scrollbar-thumb {
  border-radius: 0;
  background: linear-gradient(90deg, var(--ym-brand), var(--ym-teal));
}

.service-app-page .compare-table-scroll .compare-table {
  margin: 0;
  box-shadow: none;
}

@media (max-width: 1024px) {
  .service-ai-page .banner > .banner-cnt,
  .about-page .about-intro {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .service-ai-page .banner-left,
  .service-ai-page .banner-right,
  .service-ai-page .ai-demo-wrap,
  .about-page .intro-text,
  .about-page .intro-visual {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .service-ai-page .banner > .banner-cnt {
    width: 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .service-ai-page .banner-btns {
    flex-wrap: wrap;
  }

  .service-ai-page .banner-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }

  .service-ai-page .stat-item {
    min-width: 0;
    text-align: center;
  }

  .service-ai-page .stat-num {
    font-size: 30px;
  }

  .service-ai-page .ai-demo-header {
    flex-wrap: wrap;
  }

  .service-ai-page .ai-demo-title {
    min-width: 0;
  }

  .service-ai-page .ai-demo-status {
    margin-left: auto;
  }

  .about-page .section > .container {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .about-page .about-intro {
    width: 100%;
  }

  .service-app-page .compare-table-scroll {
    width: calc(100% + 16px);
    max-width: calc(100% + 16px);
    margin-right: -16px;
    border-radius: 7px 0 0 7px;
  }

  .service-app-page .compare-table-scroll .compare-table {
    width: 720px;
    min-width: 720px;
  }

  .service-app-page .compare-table th,
  .service-app-page .compare-table td {
    white-space: normal;
  }
}

@media (max-width: 420px) {
  .service-ai-page .banner-stats {
    grid-template-columns: 1fr;
  }

  .service-ai-page .stat-item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
  }
}

/* ============================================================
   Editorial neutral refinement v20260724i
   Idea Source-inspired typography, restrained color and motion.
   ============================================================ */
:root{
 --ym-brand:#1261a6;--ym-brand-deep:#0e4f88;--ym-brand-soft:#edf4fa;
 --ym-ink:#2f3032;--ym-muted:#666a6e;--ym-subtle:#898d92;
 --ym-line:#e3e5e8;--ym-soft:#f7f7f7;
 --ym-teal:#1261a6;--ym-teal-soft:#edf4fa;
 --ym-gold:#2f3032;--ym-gold-soft:#f0f1f2;
 --ym-coral:#1261a6;--ym-coral-soft:#edf4fa;
 --ym-violet:#1261a6;--ym-violet-soft:#edf4fa;
 --ym-shadow:0 14px 34px rgba(31,39,47,.07);
 --ym-ease:cubic-bezier(.22,1,.36,1)
}
@font-face{font-family:"OPPOSans";src:url("/skin/fonts/OPPOSans-Regular.woff2") format("woff2");font-style:normal;font-weight:300 900;font-display:swap}
html{scroll-padding-top:76px}
body{color:var(--ym-ink);background:#fff;font-family:"OPPOSans","PingFang SC","Microsoft YaHei",system-ui,sans-serif!important;font-size:16px;line-height:1.7;letter-spacing:0!important;text-rendering:optimizeLegibility}
body :where(h1,h2,h3,h4,h5,h6,p,li,a,button,input,textarea,select,small,strong,span){letter-spacing:0!important}
body :where(h1,h2,h3,h4,h5,h6){font-family:inherit!important;text-wrap:balance}
body :where(p,li){text-wrap:pretty}
body :where(button,a,input,textarea,select){transition-duration:220ms!important}
body :where(a,button,[role="button"]){-webkit-tap-highlight-color:transparent}
body :where(a,button,[role="button"]):active{transform:translateY(1px)}
body :where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid rgba(18,97,166,.28)!important;outline-offset:3px}

/* Quiet corporate navigation. */
.nav{height:70px!important;padding-right:clamp(20px,4vw,64px)!important;padding-left:clamp(20px,4vw,64px)!important;border-bottom:1px solid rgba(227,229,232,.92)!important;box-shadow:none!important;background:rgba(255,255,255,.97)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.nav-logo img{max-width:166px;height:34px!important;object-fit:contain}
.nav-menu{gap:clamp(22px,2.25vw,38px)!important}
.nav-item>a{min-height:44px;display:inline-flex!important;align-items:center;color:#45484c!important;font-size:14px!important;font-weight:500!important}
.nav-item>a::after{height:1px!important;background:var(--ym-brand)!important}
.nav-cta{min-width:92px;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--ym-brand)!important;border-radius:4px!important;color:#fff!important;background:var(--ym-brand)!important;box-shadow:none!important;font-size:14px!important}
.nav-cta:hover{border-color:var(--ym-brand-deep)!important;background:var(--ym-brand-deep)!important;transform:translateY(-1px)!important}
.dropdown-menu{border:1px solid var(--ym-line)!important;border-radius:6px!important;box-shadow:0 18px 48px rgba(31,39,47,.11)!important}
.menu-icon{border:0!important;border-radius:4px!important;color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important}
.menu-text strong{color:var(--ym-ink)!important;font-size:14px!important}
.menu-text .sub-desc{color:var(--ym-muted)!important;font-size:13px!important}

/* Homepage hierarchy. */
.home-page .nav:not(.scrolled){border-bottom-color:rgba(255,255,255,.18)!important;background:transparent!important}
.home-page .nav:not(.scrolled) .nav-item>a{color:#fff!important}
.home-page .hero{height:auto!important;min-height:680px!important;max-height:820px!important}
.home-page .hero-content{width:min(1180px,calc(100% - 56px))!important;padding-top:142px!important;padding-bottom:100px!important}
.home-page .hero h1{max-width:880px;margin-bottom:22px!important;font-size:56px!important;font-weight:700!important;line-height:1.16!important}
.home-page .hero-desc{max-width:680px!important;color:rgba(255,255,255,.82)!important;font-size:17px!important;line-height:1.75!important}
.home-page .hero-badge{margin-bottom:20px!important;padding:7px 12px!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:4px!important;background:rgba(17,30,43,.28)!important;animation:none!important;font-size:13px!important}
.home-page .hero-actions{margin-top:28px!important;gap:12px!important}
.home-page .hero-actions .btn-p,.home-page .hero-actions .btn-o{min-height:48px;padding:12px 22px!important;border-radius:4px!important;font-size:15px!important;box-shadow:none!important}
.home-page .sec{padding-top:88px!important;padding-bottom:96px!important}
.home-page .ctn,.home-page .stats-in,.home-page .hl-in{width:min(1180px,calc(100% - 56px))!important}
.home-page .sec-hd,.home-page #solutions .sec-hd,.home-page #about .sec-hd{max-width:760px!important;margin-right:0!important;margin-bottom:42px!important;margin-left:0!important;text-align:left!important}
.home-page .sec-title{color:var(--ym-ink)!important;font-size:38px!important;font-weight:650!important;line-height:1.28!important}
.home-page .sec-title .ac,.home-page .sec-title span,.home-page .ac{color:var(--ym-brand)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.home-page .sec-desc{max-width:700px;margin-top:14px!important;color:var(--ym-muted)!important;font-size:16px!important;line-height:1.8!important}
.home-page .sec-tag{min-height:28px;margin-bottom:14px!important;padding:4px 8px!important;border:0!important;border-radius:3px!important;color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important;font-size:13px!important}
.home-page #services,.home-page #about{background-color:var(--ym-soft)!important}
.home-page #cases{background-color:#fff!important}
.home-page #services::before,.home-page #cases::before,.home-page #about::before{opacity:.42!important;background-image:repeating-radial-gradient(ellipse 62% 42% at -8% 8%,transparent 0 30px,rgba(47,48,50,.045) 31px 32px,transparent 33px 48px),repeating-radial-gradient(ellipse 52% 46% at 108% 94%,transparent 0 38px,rgba(18,97,166,.04) 39px 40px,transparent 41px 57px)!important}
.home-page .stat-n{color:var(--ym-ink)!important}
.home-page .stat:first-child .stat-n{color:var(--ym-brand)!important}
.home-page :where(.stat-l,.hl-item p,.srv-card p,.srv-acc-item p,.sol-info p,.faq-a,.about-text p){color:var(--ym-muted)!important}
.home-page :where(.hl-item i,.srv-ico,.srv-acc-ico,.sp-i,.adv-card>i,.av-card>i){border:0!important;border-radius:5px!important;color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important;box-shadow:none!important}
.home-page .hl-item:nth-child(n) i,.home-page .srv-acc-item:nth-child(n) .srv-acc-ico,.home-page .faq-item:nth-child(n) .faq-q i{color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important}
.home-page :where(.srv-card,.srv-acc-item,.case-card,.news-card,.adv-card,.av-card){border:1px solid var(--ym-line)!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important}
@media (hover:hover){.home-page :where(.srv-card,.srv-acc-item,.case-card,.news-card,.adv-card,.av-card):hover{border-color:#b8c9d8!important;box-shadow:var(--ym-shadow)!important;transform:translateY(-2px)!important}}
.home-page #solutions .sol-tabs,.home-page #faq .faq-tabs{justify-content:flex-start!important;gap:24px!important;margin-bottom:36px!important;padding:0!important;border:0!important;border-bottom:1px solid var(--ym-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.home-page #solutions .sol-tab,.home-page #faq .faq-tab{min-height:48px;margin-bottom:-1px;padding:11px 0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;color:var(--ym-muted)!important;background:transparent!important;box-shadow:none!important;font-size:14px!important}
.home-page #solutions .sol-tab.active,.home-page #faq .faq-tab.active{border-bottom-color:var(--ym-brand)!important;color:var(--ym-ink)!important;background:transparent!important}
.home-page #solutions .sol-poem{border-left-color:var(--ym-line)!important;color:var(--ym-muted)!important}
.home-page #cases .case-tag,.home-page #news .news-date,.home-page #news .news-card:nth-child(n) .news-date{color:#fff!important;background:var(--ym-brand)!important;border-color:var(--ym-brand)!important}
.home-page #partners .sec-title .ac,.home-page #news .sec-title .ac,.home-page #faq .sec-title .ac,.home-page #about .sec-title .ac{color:var(--ym-brand)!important}
.home-page #partners .ptn-logo-img{filter:grayscale(1)!important;opacity:.76!important}
/* Shared page typography and neutral components. */
.service-detail-page,.services-page,.about-page,.job-page,.open-page,.price-page,.channel-page,.industry-page,.qiheng-page,.docs-page,.docs-detail-page,.wiki-page,.wiki-detail-page,.ai-campaign-page,.ai-seo-page,.aivideo-page,.quiz-page{font-family:"OPPOSans","PingFang SC","Microsoft YaHei",system-ui,sans-serif!important}
.service-detail-page .banner-title,.about-page .banner-title,.job-page .banner-title,.open-page .banner h1,.price-page .banner h1,.channel-page .banner h1,.industry-page .ind-hero-content h1,.qiheng-page .banner h1{font-size:44px!important;font-weight:650!important;line-height:1.28!important}
.service-detail-page .section-title,.about-page .section-title,.job-page .section-title,.open-page .section-title,.price-page .section-title,.channel-page .section-title,.industry-page .ind-section-title h2,.qiheng-page .section-title{font-size:34px!important;font-weight:650!important;line-height:1.32!important}
.service-detail-page :where(.section-subtitle,.section-desc,.feature-card p,.advantage-card p,.service-card p,.scene-card p),.about-page :where(.section-subtitle,.section-desc,.intro-text p,.culture-card p),.job-page :where(.section-subtitle,.section-desc,.mission-card p),.open-page :where(.section-subtitle,.section-desc,.project-card p),.price-page :where(.section-subtitle,.section-desc,.price-card p),.channel-page :where(.section-subtitle,.section-desc),.industry-page :where(.ind-section-title p,.ind-feature-card p,.ind-hero-desc){color:var(--ym-muted)!important;font-size:15px!important;line-height:1.75!important}
.service-detail-page :where(.section-title span,.banner-title span),.about-page :where(.section-title span,.banner-title span),.job-page :where(.section-title span,.banner-title span),.open-page :where(.section-title span,.banner h1 span),.price-page :where(.section-title span,.banner h1 span),.channel-page :where(.section-title span,.banner h1 span),.industry-page :where(.ind-highlight,.ind-section-title span){color:var(--ym-brand)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.service-detail-page :where(.feature-card,.advantage-card,.service-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card),.about-page :where(.culture-card,.team-card,.honor-card),.job-page :where(.mission-card,.reason-card,.job-card),.open-page :where(.project-card,.feature-card),.price-page :where(.price-card,.addon-card),.industry-page :where(.ind-card,.ind-feature-card){border-color:var(--ym-line)!important;border-radius:6px!important;box-shadow:none!important}
.service-detail-page :where(.feature-icon,.advantage-icon,.service-icon,.capability-icon,.security-icon,.promise-icon,.process-icon,.scene-icon,.adv-icon),.about-page :where(.culture-icon,.honor-icon),.job-page :where(.mission-icon,.reason-icon),.open-page :where(.feature-icon,.project-icon),.price-page :where(.feature-icon,.addon-icon),.industry-page .ind-feature-icon{color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important;box-shadow:none!important}
.service-detail-page :where(.tab,.scene-tab,.version-tab,.model-tab,.agent-tab,.models-tab){min-height:44px;border-radius:4px!important}

/* Replace leftover green, pink and teal theme variables. */
.service-ai-page{--ac:#1261a6;--ac2:#1261a6;--ac3:#0e4f88;--ac-light:#2877b5;--ac-dark:#0e4f88;--ac-soft:#edf4fa;--gn:#1261a6;--or:#666a6e;--rd:#1261a6;--gradient:#1261a6;--gradient2:#0e4f88;--gradient-soft:#edf4fa;--border-glow:rgba(18,97,166,.25)}
.service-ai-page :where(.icon-gradient-1,.icon-gradient-2,.icon-gradient-3,.icon-gradient-4,.icon-gradient-5,.icon-gradient-6){color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important}
.open-page,.price-page{--ac:#1261a6;--ac-light:#2877b5;--ac-dark:#0e4f88;--ac-bg:rgba(18,97,166,.06);--pu:#5c6268;--text:#2f3032;--text-light:#666a6e;--bg:#f7f7f7;--bg-alt:#f2f3f4;--border:#e3e5e8;--gradient:#1261a6}
.channel-page{--ac:#1261a6;--ac2:#0e4f88;--ac-soft:#edf4fa;--ink:#2f3032;--muted:#666a6e}
.wiki-page{--baike-primary:#1261a6;--baike-secondary:#0e4f88;--baike-accent:#5f6469;--baike-bg:#f7f7f7}
.ai-campaign-page{--ink:#202a34;--ink-soft:#29343f;--ash:#6f777f;--ash-light:#b9c1c8;--stripe:#e3e5e8;--cream:#f4f5f6;--paper:#fff;--accent:#3c91c9;--accent-deep:#1261a6;--accent-glow:rgba(60,145,201,.18);--accent-bg:rgba(18,97,166,.06);--accent-bg-strong:rgba(18,97,166,.12);--cyan:#7aa9c7;--cyan-glow:rgba(18,97,166,.12);--green:#3c91c9;--green-glow:rgba(18,97,166,.12)}
.ai-campaign-page .aip-hero{min-height:640px!important;padding-top:124px!important;padding-bottom:82px!important}
.ai-campaign-page .aip-hero-title{font-size:52px!important;font-weight:700!important;line-height:1.18!important}
.ai-campaign-page :where(h2,.aip-cta-section h2){font-size:36px!important;line-height:1.3!important}
.ai-campaign-page :where(.aip-slide-left,.aip-slide-right,.aip-scale-reveal){transition-duration:380ms!important}
.ai-campaign-page :where(.aip-orb,.aip-hero-glow-pulse,#neuralCanvas){animation-duration:16s!important;opacity:.58}
/* AI video: corporate, light and no longer full-screen. */
.aivideo-page{
 --aiv-bg-deep:#fff;--aiv-bg-dark:#f7f7f7;--aiv-bg-card:#fff;--aiv-bg-card-hover:#fff;
 --aiv-text-primary:#2f3032;--aiv-text-secondary:#666a6e;--aiv-text-tertiary:#898d92;--aiv-text-inverse:#2f3032;
 --aiv-accent-red:#1261a6;--aiv-accent-red-dark:#0e4f88;--aiv-accent-gold:#1261a6;--aiv-accent-gold-light:#3c91c9;
 --aiv-border-default:#e3e5e8;--aiv-border-light:#d7dade;--aiv-border-hover:#9cb9cf;--aiv-border-accent:#1261a6;
 --aiv-shadow-sm:0 2px 8px rgba(31,39,47,.04);--aiv-shadow-md:0 10px 28px rgba(31,39,47,.06);--aiv-shadow-lg:0 16px 38px rgba(31,39,47,.08);
 --aiv-shadow-red:0 12px 30px rgba(31,39,47,.08);--aiv-shadow-gold:0 12px 30px rgba(31,39,47,.08);
 --aiv-radius-sm:4px;--aiv-radius:6px;--aiv-radius-lg:8px;--aiv-transition:220ms var(--ym-ease);
 --aiv-font-title:"OPPOSans","PingFang SC",sans-serif;--aiv-font-body:"OPPOSans","PingFang SC",sans-serif;
 background:#fff!important;color:var(--ym-ink)!important
}
.aivideo-page .aiv-hero{min-height:0!important;height:auto!important;padding:144px 0 88px!important;border-bottom:1px solid var(--ym-line);background:var(--ym-soft)!important}
.aivideo-page .aiv-hero::before,.aivideo-page .aiv-hero::after,.aivideo-page .aiv-hero-bg-pattern,.aivideo-page .aiv-light-sweep{display:none!important;animation:none!important}
.aivideo-page .aiv-hero-content{align-items:flex-start!important;text-align:left!important}
.aivideo-page .aiv-hero h1{max-width:760px;color:var(--ym-ink)!important;font-size:52px!important;font-weight:700!important;line-height:1.18!important;text-transform:none!important}
.aivideo-page .aiv-hero-badge,.aivideo-page .aiv-section-tag{border-color:#cbd9e4!important;border-radius:4px!important;color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important;animation:none!important;font-size:13px!important}
.aivideo-page .aiv-hero-badge .aiv-blink{animation:none!important;box-shadow:none!important}
.aivideo-page .aiv-hero-btns{justify-content:flex-start!important}
.aivideo-page .aiv-btn,.aivideo-page .aiv-btn-white{min-height:48px;padding:12px 22px!important;border-radius:4px!important;box-shadow:none!important}
.aivideo-page .aiv-btn-ghost{border:1px solid #b9c3cc!important;color:var(--ym-ink)!important;background:#fff!important}
.aivideo-page .aiv-stats{background:#fff!important}
.aivideo-page .aiv-stat-num{color:var(--ym-ink)!important;font-size:36px!important}
.aivideo-page .aiv-section{padding:80px 0!important;background:#fff!important}
.aivideo-page .aiv-section-bg{background:var(--ym-soft)!important}
.aivideo-page .aiv-section-header{margin-bottom:42px!important;text-align:left!important}
.aivideo-page .aiv-section-title{color:var(--ym-ink)!important;font-size:36px!important;font-weight:650!important;line-height:1.3!important;text-transform:none!important}
.aivideo-page .aiv-section-sub{max-width:720px!important;margin-left:0!important;color:var(--ym-muted)!important;font-size:16px!important}
.aivideo-page :where(.aiv-service-card,.aiv-case-card,.aiv-adv-card,.aiv-pricing-card,.aiv-faq-item){border:1px solid var(--ym-line)!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important}
.aivideo-page :where(.aiv-service-card,.aiv-case-card,.aiv-adv-card)::after{background:var(--ym-brand)!important}
.aivideo-page :where(.aiv-service-icon,.aiv-adv-icon){border-radius:5px!important;color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important}
.aivideo-page :where(.aiv-service-card h3,.aiv-case-card h3,.aiv-adv-card h3,.aiv-showcase-info h3){color:var(--ym-ink)!important}
.aivideo-page :where(.aiv-service-card p,.aiv-case-card p,.aiv-adv-card p,.aiv-showcase-info p,.aiv-timeline-content p){color:var(--ym-muted)!important;font-size:15px!important}
.aivideo-page .aiv-showcase-info .aiv-features li{border-color:var(--ym-line)!important;border-radius:4px!important;color:var(--ym-muted)!important;background:#fff!important}
.aivideo-page .aiv-cta{padding:76px 0!important;background:#27313b!important}
.aivideo-page .aiv-cta .aiv-section-header{text-align:center!important}
.aivideo-page .aiv-cta .aiv-section-title{color:#fff!important}
.aivideo-page .aiv-cta .aiv-section-sub{margin-right:auto!important;margin-left:auto!important;color:rgba(255,255,255,.72)!important}
.aivideo-page .aiv-reveal{transform:translateY(12px)!important;transition-duration:380ms!important}
.aivideo-page .aiv-reveal.aiv-visible{transform:translateY(0)!important}

/* Quiz: remove the pink product-template theme. */
.quiz-page{
 --qz-bg:#fff;--qz-surface:#fff;--qz-text:#2f3032;--qz-text-secondary:#666a6e;--qz-text-tertiary:#898d92;
 --qz-border:#e3e5e8;--qz-accent:#1261a6;--qz-accent-light:#edf4fa;--qz-accent-dark:#0e4f88;
 --qz-shadow-sm:0 1px 3px rgba(31,39,47,.04);--qz-shadow-md:0 10px 28px rgba(31,39,47,.06);--qz-shadow-lg:0 16px 38px rgba(31,39,47,.08);
 --qz-radius-sm:4px;--qz-radius:6px;--qz-radius-lg:8px;--qz-transition:220ms var(--ym-ease);
 --qz-font-mono:"OPPOSans","PingFang SC",sans-serif;background:#fff!important
}
.quiz-page .qz-hero{padding:144px 0 86px!important;background:var(--ym-soft)!important}
.quiz-page .qz-hero-bg{display:none!important}
.quiz-page .qz-hero-content{align-items:flex-start!important;text-align:left!important}
.quiz-page .qz-hero h1{max-width:760px;color:var(--ym-ink)!important;font-size:52px!important;font-weight:700!important;line-height:1.18!important}
.quiz-page .qz-hero-eyebrow,.quiz-page .qz-section-tag{border:1px solid #cbd9e4!important;border-radius:4px!important;color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important;font-size:13px!important}
.quiz-page .qz-pulse-dot{animation:none!important;box-shadow:none!important}
.quiz-page .qz-hero-btns{justify-content:flex-start!important}
.quiz-page .qz-btn{min-height:48px;padding:12px 22px!important;border-radius:4px!important;box-shadow:none!important}
.quiz-page .qz-btn-ghost{border:1px solid #b9c3cc!important;background:#fff!important}
.quiz-page .qz-section{padding:80px 0!important}
.quiz-page .qz-section-bg{background:var(--ym-soft)!important}
.quiz-page .qz-section-header{margin-bottom:42px!important;text-align:left!important}
.quiz-page .qz-section-title{color:var(--ym-ink)!important;font-size:36px!important;font-weight:650!important;line-height:1.3!important}
.quiz-page .qz-section-sub{max-width:720px!important;margin-left:0!important;color:var(--ym-muted)!important;font-size:16px!important}
.quiz-page :where(.qz-feature-card,.qz-scene-card,.qz-compare-col,.qz-case-card,.qz-adv-card,.qz-faq-item){border:1px solid var(--ym-line)!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important}
.quiz-page :where(.qz-fc-icon,.qz-adv-icon){border-radius:5px!important;color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important}
.quiz-page .qz-cta{background:#27313b!important}
.quiz-page .qz-cta .qz-section-header{text-align:center!important}
.quiz-page .qz-reveal{transform:translateY(12px)!important;transition-duration:380ms!important}
.quiz-page .qz-reveal.qz-visible{transform:translateY(0)!important}
/* Editorial list, detail, docs and knowledge pages. */
.news-index-page,.cases-index-page,.news-detail-page,.case-detail-page,.docs-page,.docs-detail-page,.wiki-page,.wiki-detail-page{color:var(--ym-ink);background:#fff!important}
.news-index-page .ym-banner-one{position:relative;min-height:286px!important;padding-top:126px!important;background:var(--ym-soft)!important}
.news-index-page .ym-banner-one::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;background-image:repeating-radial-gradient(ellipse 54% 38% at 108% 12%,transparent 0 28px,rgba(18,97,166,.05) 29px 30px,transparent 31px 46px)}
.news-index-page .ym-banner-one__cnt{position:relative;z-index:1}
.news-index-page .ym-banner-one__title,.cases-index-page .banner-title,.services-page .ym-banner-two__title,.docs-page .docs-banner-title,.wiki-page .baike-hero-title{font-size:42px!important;font-weight:650!important;line-height:1.25!important}
.news-index-page .ym-banner-one__title{color:var(--ym-ink)!important}
.news-index-page .tabs,.cases-index-page .filter,.docs-page .docs-tabs{border-bottom:1px solid var(--ym-line)!important;background:#fff!important;box-shadow:none!important}
.news-index-page .tabs-cnt,.cases-index-page .filter-cnt,.docs-page .docs-tabs-inner{gap:24px!important;padding:0!important}
.news-index-page .tab,.cases-index-page .filter-btn,.docs-page .docs-tab{min-height:48px;margin-bottom:-1px;padding:11px 0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;color:var(--ym-muted)!important;background:transparent!important;box-shadow:none!important;font-size:14px!important}
.news-index-page .tab.active,.cases-index-page .filter-btn.active,.docs-page .docs-tab.active{border-bottom-color:var(--ym-brand)!important;color:var(--ym-ink)!important;background:transparent!important}
.news-index-page :where(.featured-card,.news-card),.cases-index-page .case-card,.docs-page .docs-card,.wiki-page :where(.baike-card,.term-card){border:1px solid var(--ym-line)!important;border-radius:6px!important;box-shadow:none!important}
.news-index-page :where(.featured-title,.news-title,.news-card h3),.cases-index-page :where(.case-title,.case-card h3),.docs-page :where(.docs-card h2,.docs-card h3),.wiki-page :where(.baike-title,.term-card h3){color:var(--ym-ink)!important}
.news-index-page :where(.featured-desc,.news-card p,.news-meta),.cases-index-page :where(.case-desc,.case-card p),.docs-page :where(.docs-card p,.docs-meta),.wiki-page :where(.baike-card p,.term-card p){color:var(--ym-muted)!important;line-height:1.75!important}
.news-detail-page .detail-banner .detail-title,.news-detail-page .detail-banner .detail-meta,.news-detail-page .detail-banner .detail-meta span{color:#fff!important}
.news-detail-page .detail-title,.case-detail-page .case-hero-title,.docs-detail-page .ddoc-title,.wiki-detail-page .article-title{font-size:38px!important;font-weight:650!important;line-height:1.4!important}
.news-detail-page .detail-content,.case-detail-page .detail-body,.docs-detail-page .ddoc-content,.wiki-detail-page .article-content{color:#45484c!important;font-size:16px!important;line-height:1.95!important}
.news-detail-page :where(.detail-content p,.detail-content li),.case-detail-page :where(.detail-body p,.detail-body li),.docs-detail-page :where(.ddoc-content p,.ddoc-content li),.wiki-detail-page :where(.article-content p,.article-content li){color:#54585c!important;font-size:16px!important;line-height:1.95!important}
.news-index-page .pagination a,.news-index-page .pagination span,.cases-index-page .pagination a,.cases-index-page .pagination span,.wiki-detail-page .article-pagination a{min-width:44px;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;border-color:var(--ym-line)!important;border-radius:4px!important}

/* Light authoritative footer and restrained badge. */
.footer{padding-bottom:18px!important;color:var(--ym-muted)!important;background:#f4f5f6!important}
.footer::before{height:1px!important;background:var(--ym-line)!important}
.footer>.ctn{padding-top:52px!important;padding-bottom:42px!important}
.footer .ft-grid{color:var(--ym-muted)!important}
.footer .ft-brand p{color:var(--ym-muted)!important;font-size:14px!important}
.footer h4{color:var(--ym-ink)!important;font-size:14px!important}
.footer ul li a,.footer .ft-grid a{min-height:36px;display:inline-flex;align-items:center;color:var(--ym-muted)!important;font-size:14px!important}
.footer ul li a:hover,.footer .ft-grid a:hover{color:var(--ym-brand)!important}
.footer .ft-links{padding-top:24px!important;padding-bottom:24px!important;border-top:1px solid var(--ym-line)!important;border-bottom:1px solid var(--ym-line)!important;background:#eceeef!important}
.footer .ft-links-title{color:var(--ym-ink)!important}
.footer .ft-links-title i,.footer .ft-links-title small{color:var(--ym-muted)!important}
.footer .ft-links-title i{font-size:17px!important}
.footer .ft-links-title small,.footer .ft-links-grid a,.footer .ft-link-apply{font-size:13px!important}
.footer .ft-links-grid a,.footer .ft-link-apply{min-height:44px;color:#5d6267!important}
.footer .footer-copyright{color:#71767b!important;background:#e6e8ea!important}
.footer .footer-copyright a,.footer .footer-copyright p,.footer .footer-copyright div{color:#71767b!important;font-size:13px!important}
.footer .record-link a{min-height:44px;color:#5f6469!important}
.footer .visit-stat b{color:var(--ym-brand)!important}
.footer .ft-assurance{width:min(760px,calc(100% - 48px));margin-top:28px!important;padding:20px 26px!important;border:1px solid #d6dade!important;border-radius:6px!important;color:var(--ym-ink)!important;background:#fff!important;box-shadow:none!important}
.footer .ft-assurance-medal{width:82px;height:82px;flex-basis:82px}
.footer .ft-assurance-ring{inset:4px;border-color:rgba(18,97,166,.36)!important;animation-duration:18s!important}
.footer .ft-assurance-core{inset:15px;border:1px solid var(--ym-brand)!important;color:#fff!important;background:var(--ym-brand)!important;box-shadow:0 0 0 7px rgba(18,97,166,.08)!important}
.footer .ft-assurance-core i{font-size:27px!important;animation:ymMedalAuthority 2.8s ease-in-out infinite}
.footer .ft-assurance-spark{display:none!important}
.footer .ft-assurance-ribbon{width:17px;height:27px;background:#a8bac8!important}
.footer .ft-assurance-ribbon-right{background:#7e9db5!important}
.footer .ft-assurance-kicker{color:var(--ym-brand)!important;font-size:13px!important}
.footer .ft-assurance-copy strong{color:var(--ym-ink)!important;font-size:20px!important}
.footer .ft-assurance-copy p{color:var(--ym-muted)!important;font-size:13px!important}
@keyframes ymMedalAuthority{0%,100%{opacity:.86;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}

/* Short, useful motion only. */
.home-page .hero-slide.active :where(.hero-badge,h1,.hero-desc,.hero-actions){animation-duration:420ms!important}
.home-page #solutions .sol-panel.active .sol-vis img{animation-duration:380ms!important}
:is(.anim,.fade-up,.rv,.rv-r,.aiv-reveal,.qz-reveal,.aip-slide-left,.aip-slide-right,.aip-scale-reveal){transition-duration:380ms!important}
.aivideo-page :where(.aiv-hero::before,.aiv-hero::after,.aiv-hero-bg-pattern),.quiz-page .qz-hero-eyebrow .qz-pulse-dot{animation:none!important}
@media (max-width:1024px){
 .home-page .hero h1{font-size:46px!important}
 .home-page .sec-title{font-size:34px!important}
 .home-page #solutions .sol-tabs,.home-page #faq .faq-tabs{gap:18px!important;overflow-x:auto;scrollbar-width:none}
 .service-detail-page .banner-title,.about-page .banner-title,.job-page .banner-title,.open-page .banner h1,.price-page .banner h1,.channel-page .banner h1,.industry-page .ind-hero-content h1,.qiheng-page .banner h1,.aivideo-page .aiv-hero h1,.quiz-page .qz-hero h1,.ai-campaign-page .aip-hero-title{font-size:40px!important}
 .aivideo-page .aiv-section-title,.quiz-page .qz-section-title,.ai-campaign-page :where(h2,.aip-cta-section h2){font-size:32px!important}
}

@media (max-width:768px){
 html{scroll-padding-top:66px}
 body{font-size:16px;line-height:1.7}
 .nav{height:64px!important;padding-right:16px!important;padding-left:16px!important}
 .nav-logo img{max-width:142px;height:30px!important}
 .nav-mb{width:44px!important;min-width:44px;height:44px!important;min-height:44px;display:inline-grid!important;place-items:center;border-radius:4px!important}
 .mobile-menu{top:64px!important;max-height:calc(100dvh - 64px);overflow-y:auto;border-top:1px solid var(--ym-line)!important;background:#fff!important}
 .mobile-nav-link,.mobile-sub-menu a{min-height:48px!important;display:flex!important;align-items:center;color:var(--ym-ink)!important;font-size:15px!important}
 .mobile-sub-menu a{color:var(--ym-muted)!important}

 .home-page .hero{min-height:620px!important;max-height:none!important}
 .home-page .hero-content{width:100%!important;margin-top:0!important;padding:122px 20px 92px!important}
 .home-page .hero h1{max-width:14ch;font-size:34px!important;line-height:1.25!important}
 .home-page .hero-desc{max-width:34ch!important;font-size:16px!important;line-height:1.75!important}
 .home-page .hero-actions{width:100%;grid-template-columns:1fr!important}
 .home-page .hero-actions .btn-p,.home-page .hero-actions .btn-o{width:100%;min-height:48px;justify-content:center}
 .home-page .ctn,.home-page .stats-in,.home-page .hl-in{width:calc(100% - 32px)!important}
 .home-page .sec{padding-top:60px!important;padding-bottom:64px!important}
 .home-page .sec-hd,.home-page #solutions .sec-hd,.home-page #about .sec-hd{margin-bottom:30px!important}
 .home-page .sec-title{font-size:29px!important;line-height:1.35!important}
 .home-page .sec-desc{font-size:16px!important}
 .home-page .sec-tag{font-size:13px!important}

 .home-page #solutions .sol-tabs,.home-page #faq .faq-tabs,.news-index-page .tabs-cnt,.cases-index-page .filter-cnt,.docs-page .docs-tabs-inner{width:100%!important;justify-content:flex-start!important;gap:20px!important;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
 .home-page #solutions .sol-tab,.home-page #faq .faq-tab,.news-index-page .tab,.cases-index-page .filter-btn,.docs-page .docs-tab{min-height:48px!important;flex:0 0 auto;padding:11px 0!important;font-size:14px!important}
 .home-page #cases .case-card,.home-page #news .news-card,.news-index-page .news-card,.cases-index-page .case-card{border-radius:6px!important}
 .home-page #cases .case-img,.home-page #news .news-card .news-img,.news-index-page .news-img,.cases-index-page .case-img{aspect-ratio:16/10!important}

 .service-detail-page .banner-title,.about-page .banner-title,.job-page .banner-title,.open-page .banner h1,.price-page .banner h1,.channel-page .banner h1,.industry-page .ind-hero-content h1,.qiheng-page .banner h1{font-size:32px!important;line-height:1.38!important}
 .service-detail-page .section-title,.about-page .section-title,.job-page .section-title,.open-page .section-title,.price-page .section-title,.channel-page .section-title,.industry-page .ind-section-title h2,.qiheng-page .section-title{font-size:27px!important;line-height:1.4!important}
 .service-detail-page :where(.section-subtitle,.section-desc,.feature-card p,.advantage-card p,.service-card p,.scene-card p),.about-page :where(.section-subtitle,.section-desc,.intro-text p,.culture-card p),.job-page :where(.section-subtitle,.section-desc,.mission-card p){font-size:16px!important}
 .service-detail-page :where(.container,.banner-cnt,.section>.container){max-width:100%!important}
 .service-detail-page :where(button,a.btn,a[class*="btn"],.tab,.scene-tab,.version-tab,.model-tab,.agent-tab,.models-tab){min-height:44px}
 .service-detail-page :where(.feature-grid,.advantages-grid,.service-grid,.scene-grid,.capability-grid,.security-grid,.promise-grid){grid-template-columns:minmax(0,1fr)!important}

 .aivideo-page .aiv-container,.quiz-page .qz-container{width:100%;padding-right:18px!important;padding-left:18px!important}
 .aivideo-page .aiv-hero,.quiz-page .qz-hero{min-height:0!important;padding:112px 0 62px!important}
 .aivideo-page .aiv-hero h1,.quiz-page .qz-hero h1,.ai-campaign-page .aip-hero-title{max-width:14ch;font-size:34px!important;line-height:1.3!important}
 .aivideo-page .aiv-hero .aiv-lead,.quiz-page .qz-hero .qz-lead{max-width:35ch;font-size:16px!important}
 .aivideo-page .aiv-hero-btns,.quiz-page .qz-hero-btns{width:100%;display:grid!important;grid-template-columns:1fr}
 .aivideo-page .aiv-btn,.quiz-page .qz-btn{width:100%;min-height:48px;justify-content:center}
 .aivideo-page .aiv-stats-inner,.quiz-page .qz-stats-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px!important}
 .aivideo-page .aiv-stat-num,.quiz-page .qz-stat-num{font-size:30px!important}
 .aivideo-page .aiv-section,.quiz-page .qz-section{padding:58px 0!important}
 .aivideo-page .aiv-section-header,.quiz-page .qz-section-header{margin-bottom:30px!important}
 .aivideo-page .aiv-section-title,.quiz-page .qz-section-title,.ai-campaign-page :where(h2,.aip-cta-section h2){font-size:28px!important;line-height:1.38!important}
 .aivideo-page :where(.aiv-service-grid,.aiv-case-grid,.aiv-adv-grid,.aiv-pricing-grid),.quiz-page :where(.qz-feature-grid,.qz-scene-grid,.qz-case-grid,.qz-adv-grid){grid-template-columns:minmax(0,1fr)!important}
 .aivideo-page :where(.aiv-service-card,.aiv-case-card,.aiv-adv-card,.aiv-pricing-card),.quiz-page :where(.qz-feature-card,.qz-scene-card,.qz-case-card,.qz-adv-card){padding:24px 20px!important}
 .aivideo-page .aiv-showcase,.quiz-page .qz-compare-grid,.ai-campaign-page .aip-hero-inner{grid-template-columns:minmax(0,1fr)!important}
 .ai-campaign-page .aip-hero{min-height:0!important;padding-top:108px!important;padding-bottom:62px!important}

 .news-index-page .ym-banner-one,.cases-index-page .banner,.news-detail-page .detail-banner{min-height:250px!important;padding:106px 18px 44px!important}
 .news-index-page .ym-banner-one__title,.cases-index-page .banner-title,.services-page .ym-banner-two__title,.docs-page .docs-banner-title,.wiki-page .baike-hero-title{font-size:30px!important}
 .news-detail-page .detail-title,.case-detail-page .case-hero-title,.docs-detail-page .ddoc-title,.wiki-detail-page .article-title{font-size:28px!important;line-height:1.48!important;overflow-wrap:anywhere}
 .news-detail-page :where(.detail-content p,.detail-content li),.case-detail-page :where(.detail-body p,.detail-body li),.docs-detail-page :where(.ddoc-content p,.ddoc-content li),.wiki-detail-page :where(.article-content p,.article-content li){font-size:16px!important;line-height:1.9!important}

 .news-index-page .pagination a,.news-index-page .pagination span,.cases-index-page .pagination a,.cases-index-page .pagination span,.wiki-detail-page .article-pagination a,.footer ul li a,.footer .ft-grid a,.footer .ft-links-grid a,.footer .ft-link-apply,.footer .record-link a{min-height:44px!important}
 .footer{padding-bottom:102px!important}
 .footer>.ctn{padding-top:38px!important;padding-bottom:32px!important}
 .footer .ft-grid{gap:26px!important}
 .footer .ft-brand{text-align:left!important}
 .footer h4{margin-bottom:8px!important;font-size:15px!important}
 .footer ul li{margin-bottom:0!important}
 .footer ul li a{font-size:14px!important}
 .footer .ft-links{padding:20px 16px!important}
 .footer .ft-links-title{flex-wrap:wrap}
 .footer .ft-links-grid{gap:2px 16px!important}
 .footer .footer-copyright{padding:24px 16px!important}
 .footer .record-link{justify-content:flex-start!important}
 .footer .ft-assurance{width:calc(100% - 32px)!important;align-items:center!important;gap:16px!important;margin-top:24px!important;padding:18px!important;text-align:left!important}
 .footer .ft-assurance-medal{width:66px;height:66px;flex-basis:66px}
 .footer .ft-assurance-core{inset:13px}
 .footer .ft-assurance-copy strong{font-size:18px!important}
 .footer .ft-assurance-copy p{font-size:13px!important}
 .rsidebar{display:none!important}
 .mb-sidebar :where(a,button,.mb-item,.mb-special){min-height:52px!important}
}

@media (max-width:420px){
 .home-page .hero h1,.aivideo-page .aiv-hero h1,.quiz-page .qz-hero h1,.ai-campaign-page .aip-hero-title{font-size:31px!important}
 .home-page .sec-title,.aivideo-page .aiv-section-title,.quiz-page .qz-section-title,.ai-campaign-page :where(h2,.aip-cta-section h2){font-size:27px!important}
 .aivideo-page .aiv-stats-inner,.quiz-page .qz-stats-inner{grid-template-columns:1fr 1fr!important}
 .footer .ft-assurance{align-items:flex-start!important}
 .footer .ft-assurance-medal{width:58px;height:58px;flex-basis:58px}
 .footer .ft-assurance-copy strong{font-size:17px!important}
}

@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
 :where(.anim,.fade-up,.rv,.rv-r,.aiv-reveal,.qz-reveal,.aip-slide-left,.aip-slide-right,.aip-scale-reveal){opacity:1!important;transform:none!important}
}
/* Cascade corrections for templates that place inline CSS after head.html. */
body{color:var(--ym-ink)!important}
body.home-page .hero h1{font-size:56px!important}
body.home-page .sec-title{font-size:38px!important}
body.home-page .sec-desc{color:var(--ym-muted)!important;font-size:16px!important}
body .footer{padding-bottom:18px!important;color:var(--ym-muted)!important;background:#f4f5f6!important}
body .footer::before{height:1px!important;background:var(--ym-line)!important}
body .footer>.ctn{padding-top:52px!important;padding-bottom:42px!important}
body .footer .ft-grid,body .footer .ft-brand p{color:var(--ym-muted)!important}
body .footer h4{color:var(--ym-ink)!important}
body .footer ul li a,body .footer .ft-grid a{color:var(--ym-muted)!important}
body .footer .ft-links{border-color:var(--ym-line)!important;background:#eceeef!important}
body .footer .ft-links-title{color:var(--ym-ink)!important}
body .footer .ft-links-title i,body .footer .ft-links-title small{color:var(--ym-muted)!important}
body .footer .ft-links-grid a,body .footer .ft-link-apply{color:#5d6267!important}
body .footer .footer-copyright{color:#71767b!important;background:#e6e8ea!important}
body .footer .footer-copyright a,body .footer .footer-copyright p,body .footer .footer-copyright div{color:#71767b!important}
body .footer .record-link a{color:#5f6469!important}
body .footer .visit-stat b{color:var(--ym-brand)!important}
body .footer .ft-assurance{border-color:#d6dade!important;color:var(--ym-ink)!important;background:#fff!important}
body .footer .ft-assurance-ring{border-color:rgba(18,97,166,.36)!important}
body .footer .ft-assurance-core{border-color:var(--ym-brand)!important;color:#fff!important;background:var(--ym-brand)!important;box-shadow:0 0 0 7px rgba(18,97,166,.08)!important}
body .footer .ft-assurance-ribbon{background:#a8bac8!important}
body .footer .ft-assurance-ribbon-right{background:#7e9db5!important}
body .footer .ft-assurance-kicker{color:var(--ym-brand)!important}
body .footer .ft-assurance-copy strong{color:var(--ym-ink)!important}
body .footer .ft-assurance-copy p{color:var(--ym-muted)!important}

/* Remove expensive decorative loops while preserving the certification badge. */
.home-page .num{animation:none!important}
.about-page :where(.banner-dot,.banner-scroll){animation:none!important}
.about-page .banner-dot{display:none!important}
.service-ai-page .particle{display:none!important;animation:none!important}
.service-ai-page :where(.ai-badge,.banner-title span,.section-title span,.stat-num,.model-logo,.product-icon){animation:none!important}
.service-ai-page :where(.banner-title span,.section-title span){background:none!important;color:var(--ym-brand)!important;-webkit-text-fill-color:currentColor!important}
.service-detail-page :where(.banner-shape,.typewriter-text,.pricing-amount,.cta-section){animation:none!important}
.service-detail-page .banner-shape{display:none!important}
.aivideo-page .aiv-play-btn-large{animation:none!important}

/* Keep large enough invisible hit areas without enlarging the visual marks. */
.home-page .hero-dot{position:relative;width:44px!important;height:44px!important;border:0!important;background:transparent!important}
.home-page .hero-dot::after{content:"";position:absolute;top:50%;right:10px;left:10px;height:4px;border-radius:2px;background:rgba(255,255,255,.44);transform:translateY(-50%)}
.home-page .hero-dot.active::after{right:1px;left:1px;background:#fff}
.aivideo-page .aiv-control-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
.aivideo-page .aiv-volume-slider{height:44px!important}
.service-ai-page :where(.scene-cta-mini,.product-link){min-height:44px!important;display:inline-flex!important;align-items:center}
.about-page a:has(>i){min-width:44px!important;min-height:44px!important;display:inline-flex!important;align-items:center;justify-content:center}

@media(max-width:1024px){
 body.home-page .hero h1{font-size:46px!important}
 body.home-page .sec-title{font-size:34px!important}
}
@media(max-width:768px){
 body.home-page .hero h1{font-size:34px!important}
 body.home-page .sec-title{font-size:29px!important}
 body.news-index-page .ym-banner-one__title,body.cases-index-page .banner-title,body.services-page .ym-banner-two__title,body.docs-page .docs-banner-title,body.wiki-page .baike-hero-title{font-size:30px!important}
 body.news-detail-page .detail-title,body.case-detail-page .case-hero-title,body.docs-detail-page .ddoc-title,body.wiki-detail-page .article-title{font-size:28px!important}
 body .footer{padding-bottom:102px!important}
 body .footer a{min-width:44px!important;min-height:44px!important;display:inline-flex!important;align-items:center}
}
@media(max-width:420px){
 body.home-page .hero h1{font-size:31px!important}
 body.home-page .sec-title{font-size:27px!important}
}
/* Final mobile hit-area specificity. */
body.home-page .hero-dot{position:relative;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border:0!important;background:transparent!important}
body.home-page .hero-dot::after{content:"";position:absolute;top:50%;right:10px;left:10px;height:4px;border-radius:2px;background:rgba(255,255,255,.44);transform:translateY(-50%)}
body.home-page .hero-dot.active::after{right:1px;left:1px;background:#fff}
body.news-index-page .tab,body.cases-index-page .filter-btn,body.docs-page .docs-tab{min-width:44px}
/* 20260724i: final typography, palette and mobile interaction lock. */
body.services-page,
body.service-detail-page{
 --primary:#1261a6;--primary-dark:#0e4f88;--primary-light:#edf4fa;
 --purple:#1261a6;--purple-light:#edf4fa;--orange:#1261a6;--orange-light:#edf4fa;
 --green:#1261a6;--green-light:#edf4fa;--cyan:#1261a6;--cyan-light:#edf4fa;
 --pink:#1261a6;--pink-light:#edf4fa;--bg:#f7f7f7;--bg-alt:#f2f3f4;
 --text-primary:#2f3032;--text-secondary:#666a6e;--text-tertiary:#666a6e;
 --border:#e3e5e8;--shadow:0 2px 10px rgba(31,39,47,.05);
 --shadow-lg:0 12px 30px rgba(31,39,47,.08);--radius:6px;--radius-sm:4px
}
body:is(.about-page,.docs-page,.news-index-page,.news-detail-page,.case-detail-page){
 --ac:#1261a6;--ac-light:#2877b5;--ac-dark:#0e4f88;--ac-bg:rgba(18,97,166,.07);
 --pu:#1261a6;--gn:#1261a6;--or:#666a6e;--rd:#1261a6;--pk:#1261a6;--cy:#1261a6;
 --dark:#2f3032;--d2:#45484c;--text:#666a6e;--text-light:#71767b;
 --bg:#f7f7f7;--bg2:#f2f3f4;--bg-alt:#f2f3f4;--border:#e3e5e8;
 --gradient:#1261a6;--r1:6px;--r2:6px;--r3:4px
}
body.wiki-page{
 --baike-primary:#1261a6;--baike-secondary:#0e4f88;--baike-accent:#666a6e;
 --baike-bg:#f7f7f7;--baike-card:#fff;--baike-text:#2f3032;
 --baike-text-light:#666a6e;--baike-border:#e3e5e8;
 --baike-shadow:0 2px 10px rgba(31,39,47,.05);
 --baike-shadow-lg:0 12px 30px rgba(31,39,47,.08);
 --baike-radius:6px;--baike-radius-sm:4px
}

body.services-page .ym-banner-two__title{color:var(--ym-ink)!important}
body.services-page .ym-banner-two__desc,
body.services-page .service-body p,
body.services-page .service-meta{color:var(--ym-muted)!important}
body.services-page .service-body h3,
body.services-page section[class] :where(h2,h3,h4){color:var(--ym-ink)!important}
body.services-page :where(.service-tag,.service-link){color:var(--ym-brand)!important}
body.services-page .filter-btn.active{border-color:var(--ym-brand)!important;color:var(--ym-ink)!important;background:transparent!important}
body.services-page .cta-section :where(h2,h3,h4){color:#fff!important}
body.services-page .cta-section p{color:rgba(255,255,255,.78)!important}

body.service-detail-page .section-title,
body.service-detail-page section[class] :where(h2,h3,h4),
body.service-detail-page :where(.feature-title,.adv-title,.pain-title,.solution-title){color:var(--ym-ink)!important}
body.service-detail-page :where(.section-subtitle,.section-desc,.feature-desc,.adv-desc,.pain-desc,.solution-desc,.case-desc),
body.service-detail-page :where(.feature-card,.advantage-card,.service-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card) p{color:var(--ym-muted)!important}
body.service-detail-page :where(.feature-icon,.advantage-icon,.service-icon,.scene-icon,.capability-icon,.security-icon,.promise-icon,.process-icon,.adv-icon){border-color:transparent!important;color:var(--ym-brand)!important;background:var(--ym-brand-soft)!important;box-shadow:none!important}
body.service-detail-page :where(.cta,.cta-section) :where(h2,h3,h4){color:#fff!important}
body.service-detail-page :where(.cta,.cta-section) :where(p,.cta-desc){color:rgba(255,255,255,.78)!important}
body.about-page :where(.section-title,.intro-text h2,.culture-card h3,.team-card h3,.honor-card h3),
body.docs-page :where(.docs-card h2,.docs-card h3),
body.news-detail-page :where(.detail-content h2,.detail-content h3,.expert-card h3,.related-card h3),
body.home-page #news .news-card h3{color:var(--ym-ink)!important}

body.news-detail-page .detail-content a,
body.case-detail-page .detail-body a,
body.docs-detail-page .ddoc-content a,
body.wiki-detail-page .article-content a{color:var(--ym-brand)!important;text-decoration-color:rgba(18,97,166,.34)!important;text-underline-offset:3px}

/* Important content is visible immediately; motion remains short and optional. */
body.service-ai-page .banner-title{opacity:1!important;visibility:visible!important;transform:none!important;animation-delay:0s!important}
.hero-slide.active :where(.hero-badge,h1,.hero-desc,.hero-actions){opacity:1!important;visibility:visible!important;animation-delay:0s!important}

@media(max-width:768px){
 body .nav-logo{min-width:142px;min-height:44px;display:inline-flex!important;align-items:center}
 body.services-page :where(.ym-banner-two__tag,.filter-btn){min-height:48px!important;display:inline-flex!important;align-items:center;justify-content:center}
 body.news-detail-page .detail-breadcrumb a,
 body.case-detail-page .case-hero-breadcrumb a{min-width:44px;min-height:44px;padding:10px 2px;display:inline-flex!important;align-items:center;justify-content:center}
 body.news-detail-page :where(.btn-wechat,.btn-taobao){min-height:48px!important}
 body.case-detail-page .detail-body a,
 body.news-detail-page .detail-content a,
 body.docs-detail-page .ddoc-content a,
 body.wiki-detail-page .article-content a{max-width:100%;min-height:44px;padding-top:10px;padding-bottom:10px;display:inline-flex!important;align-items:center;overflow-wrap:anywhere;word-break:break-word}
 body.docs-page .docs-search-inner input{min-height:48px!important;font-size:16px!important}
 body.docs-page .docs-stats-filter-btn{min-width:52px;min-height:44px!important;padding:9px 12px!important}
 body.wiki-page .reset-btn{min-height:48px!important;padding:10px 14px!important;font-size:14px!important}
 body.service-detail-page .texts a{max-width:100%;min-height:44px;padding:10px 0;display:inline-flex!important;align-items:center;overflow-wrap:anywhere;word-break:break-word}
}
/* 20260724k: remove non-interactive infinite loops. */
html body.about-page .progress-bar,
html body.services-page .ym-banner-two__glow,
html body.docs-page .docs-banner-glow,
html body.docs-page .docs-cta-btn,
html body.docs-page .docs-cta-btn::before,
html body.service-ai-page .pulse-dot,
html body.service-ai-page .pulse-dot::before,
html body.service-ai-page .pulse-dot::after,
html body.service-ai-page .ai-demo-status,
html body.service-ai-page .ai-demo-status::before,
html body.service-detail-page .num,
html body.service-detail-page .sla-ring,
html body.service-detail-page .sla-ring::before{animation:none!important}

/* ============================================================
   Commercial visual system v20260724n
   SVG icons, product imagery, reliable contrast and responsive grids.
   ============================================================ */
.ym-svg-icon{
  width:1em;
  height:1em;
  display:inline-block;
  flex:0 0 auto;
  overflow:visible;
  vertical-align:-.16em;
  color:inherit;
}
.ym-svg-icons i[class*="ri-"]:not(.ym-svg-icon-host){font-size:0!important}
.ym-svg-icon-host::before{display:none!important;content:none!important}
.ym-svg-icon-host>.ym-svg-icon{width:1em;height:1em;display:block}
.ym-svg-icons :where(button,a,[role="button"])>.ym-svg-icon{pointer-events:none}
.menu-icon.ym-svg-icon{width:24px!important;height:24px!important}
.nav-mb .ym-svg-icon{width:26px;height:26px}

/* Restrained semantic colors: the page remains neutral, icons carry meaning. */
.home-page .srv-card:nth-child(6n+1) .srv-ico,
.home-page .srv-acc-item:nth-child(6n+1) .srv-acc-ico{color:#1261a6!important;background:#eaf3fb!important}
.home-page .srv-card:nth-child(6n+2) .srv-ico,
.home-page .srv-acc-item:nth-child(6n+2) .srv-acc-ico{color:#0f766e!important;background:#e8f5f2!important}
.home-page .srv-card:nth-child(6n+3) .srv-ico,
.home-page .srv-acc-item:nth-child(6n+3) .srv-acc-ico{color:#9a6700!important;background:#fff5d8!important}
.home-page .srv-card:nth-child(6n+4) .srv-ico,
.home-page .srv-acc-item:nth-child(6n+4) .srv-acc-ico{color:#5b4ab1!important;background:#f1effb!important}
.home-page .srv-card:nth-child(6n+5) .srv-ico,
.home-page .srv-acc-item:nth-child(6n+5) .srv-acc-ico{color:#b54736!important;background:#fff0ed!important}
.home-page .srv-card:nth-child(6n+6) .srv-ico,
.home-page .srv-acc-item:nth-child(6n+6) .srv-acc-ico{color:#2f6b3f!important;background:#edf7ef!important}

body.service-detail-page :where(.feature-grid,.features-grid,.advantage-grid,.advantages-grid,.service-grid,.services-grid,.scene-grid,.scenario-grid,.capability-grid,.pain-grid,.solution-grid,.process-grid,.security-grid,.promise-grid,.product-grid,.models-grid,.agent-grid)>*:nth-child(6n+1) :where(.feature-icon,.advantage-icon,.service-icon,.scene-icon,.capability-icon,.security-icon,.promise-icon,.process-icon,.product-icon),
body.services-page .service-card:nth-child(6n+1) .service-icon{color:#1261a6!important;background:#eaf3fb!important}
body.service-detail-page :where(.feature-grid,.features-grid,.advantage-grid,.advantages-grid,.service-grid,.services-grid,.scene-grid,.scenario-grid,.capability-grid,.pain-grid,.solution-grid,.process-grid,.security-grid,.promise-grid,.product-grid,.models-grid,.agent-grid)>*:nth-child(6n+2) :where(.feature-icon,.advantage-icon,.service-icon,.scene-icon,.capability-icon,.security-icon,.promise-icon,.process-icon,.product-icon),
body.services-page .service-card:nth-child(6n+2) .service-icon{color:#0f766e!important;background:#e8f5f2!important}
body.service-detail-page :where(.feature-grid,.features-grid,.advantage-grid,.advantages-grid,.service-grid,.services-grid,.scene-grid,.scenario-grid,.capability-grid,.pain-grid,.solution-grid,.process-grid,.security-grid,.promise-grid,.product-grid,.models-grid,.agent-grid)>*:nth-child(6n+3) :where(.feature-icon,.advantage-icon,.service-icon,.scene-icon,.capability-icon,.security-icon,.promise-icon,.process-icon,.product-icon),
body.services-page .service-card:nth-child(6n+3) .service-icon{color:#9a6700!important;background:#fff5d8!important}
body.service-detail-page :where(.feature-grid,.features-grid,.advantage-grid,.advantages-grid,.service-grid,.services-grid,.scene-grid,.scenario-grid,.capability-grid,.pain-grid,.solution-grid,.process-grid,.security-grid,.promise-grid,.product-grid,.models-grid,.agent-grid)>*:nth-child(6n+4) :where(.feature-icon,.advantage-icon,.service-icon,.scene-icon,.capability-icon,.security-icon,.promise-icon,.process-icon,.product-icon),
body.services-page .service-card:nth-child(6n+4) .service-icon{color:#5b4ab1!important;background:#f1effb!important}
body.service-detail-page :where(.feature-grid,.features-grid,.advantage-grid,.advantages-grid,.service-grid,.services-grid,.scene-grid,.scenario-grid,.capability-grid,.pain-grid,.solution-grid,.process-grid,.security-grid,.promise-grid,.product-grid,.models-grid,.agent-grid)>*:nth-child(6n+5) :where(.feature-icon,.advantage-icon,.service-icon,.scene-icon,.capability-icon,.security-icon,.promise-icon,.process-icon,.product-icon),
body.services-page .service-card:nth-child(6n+5) .service-icon{color:#b54736!important;background:#fff0ed!important}
body.service-detail-page :where(.feature-grid,.features-grid,.advantage-grid,.advantages-grid,.service-grid,.services-grid,.scene-grid,.scenario-grid,.capability-grid,.pain-grid,.solution-grid,.process-grid,.security-grid,.promise-grid,.product-grid,.models-grid,.agent-grid)>*:nth-child(6n+6) :where(.feature-icon,.advantage-icon,.service-icon,.scene-icon,.capability-icon,.security-icon,.promise-icon,.process-icon,.product-icon),
body.services-page .service-card:nth-child(6n+6) .service-icon{color:#2f6b3f!important;background:#edf7ef!important}

/* Homepage hero: finite height, left copy and a real image-based 3D composition. */
body.home-page .hero{
  height:clamp(640px,74vh,760px)!important;
  min-height:640px!important;
  max-height:760px!important;
  background:#102940!important;
}
body.home-page .hero-slide{
  justify-content:flex-start!important;
  padding:0!important;
  isolation:isolate;
}
body.home-page .hero-slide-bg{
  opacity:.36;
  filter:saturate(.82) contrast(1.04);
  transform:scale(1.02);
}
body.home-page .hero-slide-overlay{
  z-index:1!important;
  background:linear-gradient(90deg,rgba(10,30,48,.96) 0%,rgba(15,48,75,.90) 42%,rgba(20,58,86,.56) 67%,rgba(15,44,68,.66) 100%)!important;
}
body.home-page .hero-grid-ov{
  opacity:.55;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px)!important;
  background-size:64px 64px!important;
}
body.home-page .hero-shape{display:none!important}
body.home-page .hero-content{
  width:min(1180px,calc(100% - 112px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:74px 51% 40px 0!important;
  text-align:left!important;
}
body.home-page .hero-content :where(h1,.hero-desc){margin-left:0!important;text-align:left!important}
body.home-page .hero h1{
  max-width:11.5ch!important;
  min-height:0!important;
  margin-bottom:18px!important;
  color:#fff!important;
  font-size:clamp(43px,4.2vw,60px)!important;
  font-weight:680!important;
  line-height:1.18!important;
}
body.home-page .hero-desc{
  min-height:0!important;
  max-width:38em!important;
  margin-bottom:0!important;
  color:rgba(255,255,255,.78)!important;
}
body.home-page .hero-badge{
  max-width:100%;
  color:#eaf5ff!important;
  background:rgba(8,26,42,.42)!important;
  border-color:rgba(202,226,245,.32)!important;
}
body.home-page .hero-badge .dot{animation:none!important;background:#67b8ed!important}
body.home-page .hero-actions{justify-content:flex-start!important}
body.home-page .hero-actions .btn-p{
  border:1px solid #fff!important;
  color:#123f63!important;
  background:#fff!important;
}
body.home-page .hero-actions .btn-o{
  border-color:rgba(255,255,255,.52)!important;
  color:#fff!important;
  background:rgba(10,31,48,.22)!important;
}
body.home-page .hero-actions :where(.btn-p,.btn-o):hover{
  border-color:#fff!important;
  transform:translateY(-2px)!important;
}
.hero-tech-visual{
  position:absolute;
  z-index:3;
  top:50%;
  right:max(56px,calc((100vw - 1180px)/2));
  width:min(43vw,560px);
  aspect-ratio:1.12;
  perspective:1200px;
  transform:translateY(-46%);
  pointer-events:none;
}
.hero-tech-frame{
  position:absolute;
  z-index:2;
  inset:12% 3% 10% 7%;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.34);
  border-radius:8px;
  background:#f7f9fb;
  box-shadow:0 38px 80px rgba(2,14,25,.35),0 0 0 8px rgba(255,255,255,.055);
  transform:rotateY(-9deg) rotateX(4deg);
  transform-origin:center;
  transition:transform 420ms var(--ym-ease),box-shadow 420ms var(--ym-ease);
}
.hero-slide.active .hero-tech-frame{animation:ymHeroFrameIn 620ms var(--ym-ease) both}
.hero-tech-toolbar{
  height:40px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 13px;
  color:#6c7680;
  background:#fff;
  border-bottom:1px solid #e2e7eb;
}
.hero-tech-toolbar span{width:7px;height:7px;border-radius:50%;background:#9fa8b1}
.hero-tech-toolbar span:nth-child(1){background:#d86a5c}
.hero-tech-toolbar span:nth-child(2){background:#d9a52b}
.hero-tech-toolbar span:nth-child(3){background:#37946c}
.hero-tech-toolbar b{margin-left:auto;font-size:9px;font-weight:650;letter-spacing:.08em!important}
.hero-tech-frame img{
  width:100%;
  height:calc(100% - 40px);
  display:block;
  object-fit:cover;
  object-position:center;
  background:#e8edf1;
}
.hero-tech-orbit{
  position:absolute;
  z-index:0;
  border:1px solid rgba(171,217,246,.26);
  border-radius:50%;
  transform:rotate(-18deg);
}
.hero-tech-orbit--one{inset:1% 6% 8% 1%}
.hero-tech-orbit--two{inset:12% -1% 0 15%;border-style:dashed}
.hero-tech-chip{
  position:absolute;
  z-index:4;
  min-height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.64);
  border-radius:6px;
  color:#21303c;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 28px rgba(4,20,34,.18);
  font-size:13px;
  font-weight:650;
}
.hero-tech-chip .ym-svg-icon{width:19px;height:19px}
.hero-tech-chip--secure{top:7%;right:-2%;color:#176a50}
.hero-tech-chip--source{bottom:5%;left:-1%;color:#225e92}
.hero-tech-node{
  position:absolute;
  z-index:1;
  width:9px;
  height:9px;
  border:2px solid #a9daf5;
  border-radius:50%;
  background:#1c6fa9;
  box-shadow:0 0 0 6px rgba(169,218,245,.12);
}
.hero-tech-node--a{top:17%;left:0}
.hero-tech-node--b{right:2%;bottom:23%}
@keyframes ymHeroFrameIn{
  from{opacity:0;transform:translate3d(22px,12px,0) rotateY(-12deg) rotateX(5deg)}
  to{opacity:1;transform:translate3d(0,0,0) rotateY(-9deg) rotateX(4deg)}
}

/* Stable cards: clear hierarchy, no dangling or exaggerated hover effects. */
body :where(.srv-card,.service-card,.feature-card,.advantage-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card,.news-card,.case-card,.docs-card,.project-card,.price-card){
  position:relative;
  overflow:hidden;
  border:1px solid var(--ym-line)!important;
  border-radius:6px!important;
  box-shadow:0 1px 2px rgba(28,39,50,.025)!important;
  transform:none;
  transition:border-color 220ms ease,box-shadow 220ms ease,transform 220ms var(--ym-ease)!important;
}
body :where(.srv-card,.service-card,.feature-card,.advantage-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card,.news-card,.case-card,.docs-card,.project-card,.price-card)::before{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  right:0;
  left:0;
  height:2px;
  background:linear-gradient(90deg,var(--ym-brand) 0 34%,#0f766e 34% 68%,#b17a16 68%);
  opacity:.8;
}
@media (hover:hover){
  body :where(.srv-card,.service-card,.feature-card,.advantage-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card,.news-card,.case-card,.docs-card,.project-card,.price-card):hover{
    border-color:#c7d5df!important;
    box-shadow:0 16px 36px rgba(25,45,61,.09)!important;
    transform:translateY(-4px)!important;
  }
}

/* Fine wave lines add depth without heavy filters or animated backgrounds. */
.home-page :where(.sec-alt,#news),
body.service-detail-page section:nth-of-type(even),
body.services-page main>section:nth-of-type(even){
  position:relative;
  isolation:isolate;
}
.home-page :where(.sec-alt,#news)::after,
body.service-detail-page section:nth-of-type(even)::after,
body.services-page main>section:nth-of-type(even)::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  opacity:.48;
  background:repeating-radial-gradient(ellipse 80px 28px at 0 100%,transparent 0 18px,rgba(18,97,166,.08) 19px 20px,transparent 21px 31px);
  mask-image:linear-gradient(90deg,#000,transparent 48%);
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 48%);
}

/* Guaranteed contrast wherever copy sits on photography. */
.case-detail-page .case-hero-overlay{
  background:linear-gradient(90deg,rgba(7,18,28,.90) 0%,rgba(10,27,42,.72) 58%,rgba(8,20,31,.48) 100%)!important;
}
.case-detail-page .case-hero-cnt{z-index:3!important}
.case-detail-page .case-hero :where(h1,p,span,a),
.home-page .hero :where(h1,.hero-desc,.hero-badge),
.news-detail-page .detail-banner :where(h1,.detail-meta,.detail-breadcrumb,.detail-cat){
  text-shadow:0 1px 2px rgba(0,0,0,.28);
}
body :where(.news-card,.case-card,.related-card,.project-card) img{
  width:100%;
  max-width:100%;
  display:block;
  object-fit:cover;
}
body :where(.news-card,.case-card,.related-card) img{aspect-ratio:16/10}
body :where(.detail-body,.detail-content,.ddoc-content,.article-content) img{
  max-width:100%!important;
  height:auto!important;
  border-radius:5px!important;
}

/* Authoritative corporate footer with factual certification links. */
body .footer{
  color:rgba(255,255,255,.68)!important;
  background:#121a22!important;
  border-top:3px solid #1261a6!important;
}
body .footer>.ctn{background:#121a22!important}
body .footer .ft-grid,
body .footer .ft-brand p{color:rgba(255,255,255,.64)!important}
body .footer h4{color:#fff!important}
body .footer ul li a,
body .footer .ft-grid a{color:rgba(255,255,255,.68)!important}
body .footer ul li a:hover,
body .footer .ft-grid a:hover{color:#fff!important}
body .footer .ft-links{
  border-color:rgba(255,255,255,.09)!important;
  background:#18222c!important;
}
body .footer .ft-links-title{color:#fff!important}
body .footer .ft-links-title i{color:#71afe0!important}
body .footer .ft-links-title small{color:rgba(255,255,255,.48)!important}
body .footer .ft-links-grid a,
body .footer .ft-link-apply{color:rgba(255,255,255,.66)!important}
body .footer .ft-link-item,
body .footer .ft-link-apply{border-bottom:1px solid transparent}
body .footer .ft-link-item:hover,
body .footer .ft-link-apply:hover{border-bottom-color:#71afe0;color:#fff!important}
body .footer .footer-copyright{
  color:rgba(255,255,255,.55)!important;
  background:#0c1218!important;
}
body .footer .footer-copyright :where(a,p,div){color:rgba(255,255,255,.55)!important}
body .footer .record-link{gap:8px!important}
body .footer .record-link a{
  min-height:42px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:4px;
  color:rgba(255,255,255,.70)!important;
  background:rgba(255,255,255,.025);
}
body .footer .record-link a:hover{border-color:rgba(113,175,224,.56);color:#fff!important}
body .footer .ft-assurance{
  width:min(760px,calc(100% - 48px))!important;
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:center!important;
  margin:30px auto 10px!important;
  padding:20px 24px!important;
  border:1px solid #d9e1e7!important;
  border-radius:6px!important;
  color:#27333d!important;
  background:#fff!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important;
}
body .footer .ft-assurance-medal{
  position:relative;
  width:84px!important;
  height:84px!important;
  display:grid;
  place-items:center;
  border:1px solid #b8c6d0;
  border-radius:50%;
  background:#f3f6f8;
  box-shadow:inset 0 0 0 5px #fff,0 0 0 1px #e1e7eb;
}
body .footer .ft-assurance-ring{
  position:absolute!important;
  inset:7px!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding:6px 0;
  border:1px dashed #7994a8!important;
  border-radius:50%;
  color:#536b7c;
  font-size:7px;
  line-height:1;
}
body .footer .ft-assurance-ring b,
body .footer .ft-assurance-ring small{font-size:7px!important;font-weight:750;letter-spacing:.12em!important}
body .footer .ft-assurance-core{
  position:static!important;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:0!important;
  border-radius:50%;
  color:#fff!important;
  background:#1261a6!important;
  box-shadow:none!important;
}
body .footer .ft-assurance-core .ym-svg-icon{width:23px;height:23px}
body .footer .ft-assurance-check{
  position:absolute;
  right:-1px;
  bottom:7px;
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  color:#fff;
  background:#17765a;
}
body .footer .ft-assurance-check .ym-svg-icon{width:14px;height:14px}
body .footer .ft-assurance-copy{min-width:0;text-align:left}
body .footer .ft-assurance-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:5px;
  color:#1261a6!important;
  font-size:13px!important;
  font-weight:700;
}
body .footer .ft-assurance-copy strong{
  display:block;
  color:#1d2933!important;
  font-size:19px!important;
  font-weight:680;
  line-height:1.42;
}
body .footer .ft-assurance-copy p{
  margin:5px 0 2px!important;
  color:#65727d!important;
  font-size:13px!important;
}
body .footer .ft-assurance-copy>small{
  display:block;
  color:#89949d!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
}
body .footer .ft-assurance-spark,
body .footer .ft-assurance-ribbon{display:none!important}
@media (prefers-reduced-motion:no-preference){
  body .footer .ft-assurance-medal::after{
    content:"";
    position:absolute;
    inset:-3px;
    border:1px solid rgba(113,175,224,.55);
    border-radius:50%;
    animation:ymSealSignal 4.8s ease-out infinite;
  }
}
@keyframes ymSealSignal{
  0%,78%{opacity:0;transform:scale(.94)}
  84%{opacity:.65}
  100%{opacity:0;transform:scale(1.12)}
}

/* Expensive decorative layers never block content rendering. */
body :where(main>section,.home-page .sec,.service-detail-page section){
  content-visibility:auto;
  contain-intrinsic-size:auto 720px;
}
body .hero,
body :where(.detail-banner,.case-hero,.banner,.aiv-hero,.qz-hero){content-visibility:visible}

@media (max-width:1024px){
  body.home-page .hero-content{
    width:calc(100% - 64px)!important;
    padding-right:47%!important;
  }
  .hero-tech-visual{
    right:30px;
    width:45vw;
  }
  body.service-detail-page :where(.feature-grid,.features-grid,.advantage-grid,.advantages-grid,.service-grid,.services-grid,.scene-grid,.scenario-grid,.capability-grid,.pain-grid,.solution-grid,.process-grid,.security-grid,.promise-grid,.pricing-grid,.product-grid,.models-grid,.agent-grid),
  body.services-page :where(.service-grid,.services-grid){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:768px){
  .ym-svg-icon{vertical-align:-.18em}
  body.home-page .hero{
    height:780px!important;
    min-height:780px!important;
    max-height:780px!important;
  }
  body.home-page .hero-slide-bg{opacity:.25;filter:saturate(.72)}
  body.home-page .hero-slide-overlay{
    background:linear-gradient(180deg,rgba(9,29,46,.97) 0%,rgba(14,48,74,.94) 61%,rgba(18,57,85,.84) 100%)!important;
  }
  body.home-page .hero-content{
    position:absolute!important;
    top:0;
    right:0;
    left:0;
    width:100%!important;
    margin:0!important;
    padding:104px 20px 254px!important;
  }
  body.home-page .hero h1{
    max-width:12ch!important;
    font-size:34px!important;
    line-height:1.25!important;
  }
  body.home-page .hero-desc{max-width:35ch!important;font-size:15px!important;line-height:1.65!important}
  body.home-page .hero-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:22px!important;
  }
  body.home-page .hero-actions .btn-p,
  body.home-page .hero-actions .btn-o{
    width:100%!important;
    min-width:0;
    padding:10px 12px!important;
  }
  .hero-tech-visual{
    top:auto;
    right:20px;
    bottom:52px;
    left:20px;
    width:auto;
    height:190px;
    aspect-ratio:auto;
    transform:none;
  }
  .hero-tech-frame{
    inset:8px 0 0;
    transform:none!important;
    box-shadow:0 20px 44px rgba(2,14,25,.27);
  }
  .hero-slide.active .hero-tech-frame{animation:ymHeroFrameMobileIn 460ms var(--ym-ease) both}
  .hero-tech-toolbar{height:30px}
  .hero-tech-toolbar b{font-size:8px}
  .hero-tech-frame img{height:calc(100% - 30px);object-position:center 28%}
  .hero-tech-orbit,.hero-tech-node,.hero-tech-chip{display:none!important}
  @keyframes ymHeroFrameMobileIn{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
  }
  body.home-page .hero-arr{display:none!important}
  body.home-page .hero-dots{bottom:6px!important}

  /* Six or more horizontal items become readable vertical lists on phones. */
  body.home-page :where(.hl-in,.sol-tabs,.faq-tabs),
  body.service-detail-page :where(.feature-grid,.features-grid,.advantage-grid,.advantages-grid,.service-grid,.services-grid,.scene-grid,.scenario-grid,.capability-grid,.pain-grid,.solution-grid,.process-grid,.security-grid,.promise-grid,.pricing-grid,.product-grid,.models-grid,.agent-grid),
  body.services-page :where(.service-grid,.services-grid),
  body.open-page :where(.project-grid,.license-grid,.agreement-grid),
  body.price-page :where(.pricing-grid,.range-grid),
  body.wiki-detail-page .article-grid{
    grid-template-columns:1fr!important;
  }
  body.home-page .hl-in{display:grid!important}
  body.home-page .hl-item{
    min-height:76px;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    grid-template-rows:auto auto;
    align-items:center;
    gap:0 14px!important;
    padding:14px 4px!important;
    text-align:left!important;
    border-bottom:1px solid var(--ym-line)!important;
  }
  body.home-page .hl-item>.ym-svg-icon{grid-row:1/3;width:28px;height:28px;margin:0!important}
  body.home-page .hl-item h4{margin:0!important}
  body.home-page .hl-item p{margin:2px 0 0!important}
  body.home-page .sol-tabs,
  body.home-page .faq-tabs{
    display:grid!important;
    width:100%;
    gap:6px!important;
    overflow:visible!important;
  }
  body.home-page :where(.sol-tab,.faq-tab){
    width:100%;
    min-height:48px;
    justify-content:flex-start!important;
    padding:10px 14px!important;
    text-align:left;
  }

  body :where(.srv-card,.service-card,.feature-card,.advantage-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card,.news-card,.case-card,.docs-card,.project-card,.price-card):hover{
    transform:none!important;
    box-shadow:none!important;
  }
  body :where(.case-hero,.detail-banner,.ddoc-header){min-height:0!important;height:auto!important}
  body.case-detail-page .case-hero{padding:122px 20px 62px!important}
  body.news-detail-page .detail-banner{padding:118px 20px 54px!important}
  body :where(.detail-body,.detail-content,.ddoc-content,.article-content){
    font-size:16px!important;
    line-height:1.9!important;
  }
  body .footer .ft-grid{grid-template-columns:1fr!important}
  body .footer .ft-links-grid{grid-template-columns:1fr 1fr!important}
  body .footer .record-link{display:grid!important;grid-template-columns:1fr!important}
  body .footer .record-link a{width:100%;justify-content:flex-start}
  body .footer .ft-assurance{
    width:calc(100% - 32px)!important;
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:14px!important;
    padding:16px!important;
  }
  body .footer .ft-assurance-medal{width:64px!important;height:64px!important}
  body .footer .ft-assurance-ring{inset:5px!important;padding:5px 0}
  body .footer .ft-assurance-ring b,
  body .footer .ft-assurance-ring small{font-size:5px!important}
  body .footer .ft-assurance-core{width:32px;height:32px}
  body .footer .ft-assurance-core .ym-svg-icon{width:19px;height:19px}
  body .footer .ft-assurance-check{width:20px;height:20px;right:-2px;bottom:4px}
  body .footer .ft-assurance-copy strong{font-size:16px!important}
  body .footer .ft-assurance-copy p{font-size:12px!important;line-height:1.6}
}

@media (max-width:420px){
  body.home-page .hero{height:800px!important;min-height:800px!important;max-height:800px!important}
  body.home-page .hero-content{padding-top:96px!important}
  body.home-page .hero h1{font-size:31px!important}
  body.home-page .hero-badge{font-size:12px!important}
  body .footer .ft-assurance{align-items:start!important}
  body .footer .ft-assurance-copy>small{font-size:8px!important}
}

@media (prefers-reduced-motion:reduce){
  .hero-slide.active .hero-tech-frame,
  body .footer .ft-assurance-medal::after{animation:none!important}
}

/* 20260724o: audited responsive and contrast corrections. */
body.service-ai-page .banner{
  color:#fff!important;
  background:#102940!important;
}
body.service-ai-page .banner::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(108deg,rgba(8,27,43,.98) 0%,rgba(13,45,70,.96) 52%,rgba(18,69,101,.90) 100%);
}
body.service-ai-page .banner > :not(.banner-particles):not(.banner-glow):not(.banner-grid){position:relative;z-index:1}
body.service-ai-page .banner :where(.banner-title,.banner-title span){color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
body.service-ai-page .banner :where(.banner-desc,.stat-label){color:rgba(255,255,255,.76)!important}
body.service-ai-page .banner .banner-tag{border-color:rgba(255,255,255,.26)!important;color:#d9edfb!important;background:rgba(5,25,40,.34)!important}
body.service-ai-page .banner .btn-secondary{border-color:rgba(255,255,255,.54)!important;color:#fff!important;background:rgba(6,25,40,.22)!important}
body.service-ai-page .banner .stat-item{border-color:rgba(255,255,255,.16)!important}
body.service-ai-page .banner .stat-num{color:#fff!important}

.ai-campaign-page .aip-trust-icon .ym-svg-icon{width:23px;height:23px}
.ai-campaign-page .aip-hero-tagline .aip-blink{
  width:8px;
  height:8px;
  display:inline-block;
  border-radius:50%;
  background:var(--accent);
  animation:none!important;
}

@media (max-width:1024px){
  body.ai-campaign-page{overflow-x:clip!important}
  .ai-campaign-page .aip-wrap{width:100%;max-width:100%;padding-right:24px!important;padding-left:24px!important}
  .ai-campaign-page .aip-hero-inner{gap:28px!important}
  .ai-campaign-page .aip-hero-visual{width:100%;max-width:640px;margin:0 auto;overflow:hidden}
  .ai-campaign-page :where(.aip-orb,.aip-hero-glow-pulse){max-width:calc(100% - 16px)}
}

@media (max-width:768px){
  body.home-page .hero{
    height:720px!important;
    min-height:720px!important;
    max-height:720px!important;
  }
  body.home-page .hero-content{padding:92px 18px 212px!important}
  body.home-page .hero-badge{margin-bottom:14px!important}
  body.home-page .hero h1{margin-bottom:12px!important}
  body.home-page .hero-actions{margin-top:16px!important}
  body.home-page .hero-actions .btn-p,
  body.home-page .hero-actions .btn-o{min-height:46px!important}
  .hero-tech-visual{right:18px;bottom:40px;left:18px;height:168px}
  body.home-page .hero-dots{bottom:0!important}

  body.docs-page .docs-tabs{position:relative!important;top:auto!important}
  body.docs-page .docs-tabs-inner{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    padding:8px 16px!important;
    overflow:visible!important;
  }
  body.docs-page .docs-tab{
    width:100%!important;
    min-height:48px!important;
    justify-content:flex-start!important;
    padding:11px 8px!important;
    border-bottom:1px solid var(--ym-line)!important;
    white-space:normal!important;
  }
  body.docs-page .docs-tab:last-child{border-bottom-color:transparent!important}
  body.docs-page .docs-tab::after{top:9px!important;bottom:9px!important;left:0!important;width:2px!important;height:auto!important;border-radius:1px!important;opacity:0}
  body.docs-page .docs-tab.active::after{opacity:1}

  body.service-ai-page .scene-section{overflow:visible!important}
  body.service-ai-page .scene-section .section-hd{padding-right:18px!important;padding-left:18px!important}
  body.service-ai-page .scene-scroll-wrapper{margin-top:28px!important;padding:0 18px}
  body.service-ai-page .scene-scroll{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  body.service-ai-page .scene-scroll-item{width:100%!important;max-width:none!important;flex:none!important}
  body.service-ai-page .scene-visual{height:220px!important}
  body.service-ai-page .scene-visual-desc,
  body.service-ai-page .scene-nums{opacity:1!important;transform:none!important;max-height:none!important}
  body.service-ai-page .scene-visual-desc{margin-top:6px!important}

  body.price-page :where(.category-btn,.price-category,.filter-btn),
  body.qiheng-page .logo,
  body.news-detail-page :where(.detail-tags a,.tag-link),
  body.docs-detail-page :where(.ddoc-breadcrumb a,.breadcrumb a){min-height:44px!important;display:inline-flex!important;align-items:center}
  body.qiheng-page .logo{min-width:44px!important}

  .ai-campaign-page .aip-wrap{padding-right:18px!important;padding-left:18px!important}
  .ai-campaign-page .aip-hero-visual{min-height:220px!important}
  .ai-campaign-page :where(.aip-trust-row,.aip-pain-grid,.aip-advantage-row,.aip-services-grid,.aip-ownership-grid,.aip-price-grid,.aip-counter-row,.aip-cases-grid){grid-template-columns:minmax(0,1fr)!important}
}

@media (max-width:420px){
  body.home-page .hero{height:720px!important;min-height:720px!important;max-height:720px!important}
  body.home-page .hero-content{padding-top:88px!important}
  .hero-tech-visual{height:164px}
}

/* 20260724p: closeout fixes for stability, touch targets and recruitment contrast. */
body.ai-campaign-page{
  width:100%;
  max-width:100vw;
  overflow-x:hidden!important;
}
.ai-campaign-page :where(.aip-gradient-text,.aip-topbar .aip-dot,.aip-nav-logo-dot,.aip-hero-tagline .aip-blink,.aip-hero-glow-pulse,.aip-vortex-core,.aip-vortex-ring,.aip-orb){animation:none!important}

body.job-page .banner{
  min-height:720px!important;
  padding:126px 24px 82px!important;
  color:#fff!important;
  background-color:#102940!important;
  background-image:linear-gradient(90deg,rgba(6,25,40,.94) 0%,rgba(10,38,59,.86) 54%,rgba(10,38,59,.58) 100%),url('/static/images/team-collaboration.jpg')!important;
  background-position:center 46%!important;
  background-size:cover!important;
}
body.job-page .banner::after{
  content:"";
  position:absolute;
  z-index:0;
  right:0;
  bottom:0;
  left:0;
  height:90px;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(6,25,40,.34));
}
body.job-page :where(.banner-shapes,.banner-dots,.banner-scroll){display:none!important}
body.job-page .banner-grid{opacity:.12!important}
body.job-page .banner-cnt{position:relative;z-index:1;max-width:920px!important;text-align:left!important;margin-left:max(0px,calc((100vw - 1200px)/2))!important}
body.job-page :where(.banner-title,.banner-title span){color:#fff!important;background:none!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
body.job-page .banner-subtitle{max-width:630px!important;margin-right:0!important;margin-left:0!important;color:rgba(255,255,255,.78)!important}
body.job-page .banner-stats{justify-content:flex-start!important;gap:48px!important}
body.job-page .banner-stat-num{color:#fff!important;background:none!important;-webkit-text-fill-color:#fff!important}
body.job-page .banner-stat-label{color:rgba(255,255,255,.68)!important}
body.job-page .banner-action{justify-content:flex-start!important}
body.job-page .banner-btn-primary{background:#1261a6!important;border:1px solid #2877b5!important;border-radius:6px!important;box-shadow:none!important;animation:none!important}
body.job-page .banner-btn-secondary{color:#fff!important;border:1px solid rgba(255,255,255,.58)!important;border-radius:6px!important;background:rgba(5,24,38,.22)!important}
body.job-page .progress-bar{animation:none!important}

@media (max-width:1024px){
  html{overflow-x:hidden}
  body.job-page .banner-cnt{margin-left:0!important}
}

@media (max-width:768px){
  body.job-page .banner{
    min-height:700px!important;
    padding:108px 20px 76px!important;
    background-image:linear-gradient(180deg,rgba(6,25,40,.84) 0%,rgba(7,28,44,.9) 54%,rgba(7,28,44,.98) 100%),url('/static/images/team-collaboration.jpg')!important;
    background-position:56% center!important;
  }
  body.job-page .banner-cnt{width:100%!important;text-align:left!important}
  body.job-page .banner-badge{margin-right:0!important;margin-left:0!important}
  body.job-page .banner-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px!important;margin-bottom:30px!important}
  body.job-page .banner-stat{text-align:left!important}
  body.job-page .banner-action{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  body.job-page :where(.banner-btn-primary,.banner-btn-secondary){width:100%!important;min-height:48px!important;justify-content:center!important}

  body.price-page .pricing-nav a,
  body.news-detail-page .detail-body :where(.tags,.content-tags) a,
  body.docs-detail-page :where(.ddoc-breadcrumb,.breadcrumb) a{
    min-width:44px!important;
    min-height:44px!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
  }
}

@media (prefers-reduced-motion:reduce){
  body.job-page .banner-cnt,
  .ai-campaign-page :where(.aip-hero-tagline,.aip-hero-title,.aip-hero-desc,.aip-hero-actions,.aip-hero-visual){animation:none!important}
}


/* 20260725q: image-led editorial homepage. */
body.home-page .hero{height:700px!important;min-height:700px!important;max-height:760px!important;background:#0b1e2d!important}
body.home-page .hero-slide{min-height:700px;padding:0 28px!important}
body.home-page .hero-slide-bg{opacity:.64!important;filter:saturate(.78) contrast(1.08)!important;transform:scale(1.01)!important}
body.home-page .hero-slide-overlay{background:linear-gradient(90deg,rgba(5,18,29,.96) 0%,rgba(7,27,43,.9) 42%,rgba(7,28,44,.54) 70%,rgba(6,23,36,.24) 100%)!important}
body.home-page .hero-grid-ov{opacity:.14!important;background-size:88px 88px!important}
body.home-page :where(.hero-tech-visual,.hero-shape){display:none!important;animation:none!important}
body.home-page .hero-content{width:min(1180px,calc(100% - 56px))!important;min-height:700px!important;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;margin:0 auto!important;padding:118px 0 86px!important;text-align:left!important}
body.home-page .hero h1{width:min(720px,100%);max-width:none!important;margin:0 0 20px!important;color:#fff!important;font-size:56px!important;font-weight:680!important;line-height:1.17!important;text-shadow:0 2px 18px rgba(0,0,0,.22)!important}
body.home-page .hero-desc{width:min(650px,100%);max-width:none!important;margin:0!important;color:rgba(255,255,255,.78)!important;font-size:17px!important;line-height:1.76!important}
body.home-page .hero-badge{max-width:min(650px,100%);margin:0 0 22px!important;padding:7px 11px!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:4px!important;color:rgba(255,255,255,.88)!important;background:rgba(5,18,29,.34)!important;box-shadow:none!important}
body.home-page .hero-actions{margin-top:30px!important;gap:12px!important;justify-content:flex-start!important}
body.home-page .hero-actions :where(.btn-p,.btn-o){min-width:148px!important;min-height:48px!important;padding:12px 22px!important;border-radius:4px!important;box-shadow:none!important;transition:background-color 220ms ease,border-color 220ms ease,color 220ms ease,transform 220ms ease!important}
body.home-page .hero-arr{width:40px!important;height:40px!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:50%!important;color:#fff!important;background:rgba(7,24,38,.28)!important;box-shadow:none!important;backdrop-filter:none!important}
body.home-page .hero-arr:hover{border-color:rgba(255,255,255,.72)!important;background:rgba(7,24,38,.56)!important}
body.home-page .hero-dots{right:auto!important;bottom:28px!important;left:max(28px,calc((100vw - 1180px)/2))!important;transform:none!important}
body.home-page .hero-dot{width:24px!important;height:3px!important;border-radius:0!important;background:rgba(255,255,255,.38)!important}
body.home-page .hero-dot.active{width:48px!important;background:#fff!important}

body.home-page .stats{padding:0!important;border-bottom:1px solid var(--ym-line)!important;background:#fff!important}
body.home-page .stats-in{gap:0!important}
body.home-page .stat{min-height:112px!important;padding:24px 18px!important;border-right:1px solid var(--ym-line)!important}
body.home-page .stat:last-child{border-right:0!important}
body.home-page .stat::after{display:none!important}
body.home-page .stat:nth-child(n) .stat-n{color:#24313b!important;font-size:36px!important;font-weight:680!important}
body.home-page .stat:first-child .stat-n{color:var(--ym-brand)!important}
body.home-page .stat-l{margin-top:7px!important;color:#737d86!important}

body.home-page :where(#services,#solutions,#cases) .sec-hd{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);column-gap:72px;align-items:end;margin:0 0 46px!important;padding-top:20px;border-top:1px solid var(--ym-line);text-align:left!important}
body.home-page :where(#services,#solutions,#cases) .sec-tag{grid-column:1/-1;margin-bottom:18px!important}
body.home-page :where(#services,#solutions,#cases) .sec-title{grid-column:1;margin:0!important;font-size:40px!important;line-height:1.22!important}
body.home-page :where(#services,#solutions,#cases) .sec-desc{grid-column:2;align-self:end;max-width:520px!important;margin:0!important;font-size:15px!important;line-height:1.8!important}

body.home-page #services{background:#fff!important}
body.home-page #services .srv-grid{gap:1px!important;overflow:hidden;border:1px solid #dce2e6;border-radius:5px;background:#dce2e6}
body.home-page #services .srv-card{min-height:100%;padding:32px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
body.home-page #services .srv-card::before{display:none!important}
body.home-page #services .srv-card h3{font-size:21px!important;font-weight:650!important}
body.home-page #services .srv-card p{max-width:42em;color:#6d7780!important}
body.home-page #services .srv-ico{width:46px!important;height:46px!important;margin-bottom:22px!important;border-radius:4px!important}
@media (hover:hover){body.home-page #services .srv-card:hover{border:0!important;background:#f7f9fa!important;box-shadow:inset 0 0 0 1px #c9d5dd!important;transform:none!important}body.home-page #services .srv-card:hover .srv-ico{transform:translateY(-2px)!important}}

body.home-page #solutions{background:#f3f5f6!important}
body.home-page #solutions::after{opacity:.18!important}
body.home-page #solutions .sol-tabs{width:100%!important;max-width:100%!important;gap:26px!important;margin:0 0 38px!important;padding:0!important;overflow-x:auto;border:0!important;border-bottom:1px solid #d7dde1!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.home-page #solutions .sol-tab{min-height:48px!important;margin-bottom:-1px!important;padding:11px 0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;color:#67717a!important;background:transparent!important;box-shadow:none!important}
body.home-page #solutions .sol-tab:nth-child(n){--tab-accent:var(--ym-brand)!important}
body.home-page #solutions .sol-tab i{color:currentColor!important}
body.home-page #solutions .sol-tab.active{border-bottom-color:var(--ym-brand)!important;color:#202d37!important;background:transparent!important;box-shadow:none!important}
body.home-page #solutions .sol-panel{gap:64px!important}
body.home-page #solutions .sol-vis{border:1px solid #d7dde1!important;border-radius:4px!important;box-shadow:0 16px 34px rgba(26,42,54,.07)!important}
body.home-page #solutions .sol-info h3{color:#202d37!important;font-size:30px!important;font-weight:650!important}
body.home-page #solutions .sol-poem{border-left-color:#b8c2c9!important;color:#68737c!important}

body.home-page #cases{padding-top:94px!important;padding-bottom:104px!important;color:#fff!important;background:#151b20!important}
body.home-page #cases::before,body.home-page #cases::after{display:none!important}
body.home-page #cases .sec-hd{border-top-color:rgba(255,255,255,.18)!important}
body.home-page #cases .sec-tag{color:#8fc0e3!important;background:rgba(74,143,194,.12)!important}
body.home-page #cases .sec-title,body.home-page #cases .sec-title .ac{color:#fff!important}
body.home-page #cases .sec-desc{color:rgba(255,255,255,.58)!important}
body.home-page #cases .cases-grid{position:static!important;left:auto!important;width:100%!important;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;align-items:start;gap:36px 22px!important;margin:0!important;background:transparent!important}
body.home-page #cases .case-card:nth-child(1){grid-column:span 7}
body.home-page #cases .case-card:nth-child(2){grid-column:span 5}
body.home-page #cases .case-card:nth-child(3){grid-column:span 5}
body.home-page #cases .case-card:nth-child(4){grid-column:span 7}
body.home-page #cases .case-card:nth-child(5),body.home-page #cases .case-card:nth-child(6){grid-column:span 6}
body.home-page #cases .case-card,body.home-page #cases .case-card:nth-child(n){position:relative!important;min-width:0;min-height:0!important;display:flex!important;flex-direction:column;overflow:visible!important;border:0!important;border-radius:0!important;color:#fff!important;background:transparent!important;box-shadow:none!important;text-decoration:none!important;transform:none!important}
body.home-page #cases .case-card::before{display:none!important}
body.home-page #cases .case-card :where(h3,p,span),body.home-page #cases .case-card:hover,body.home-page #cases .case-card:focus,body.home-page #cases .case-card:visited{text-decoration:none!important}
body.home-page #cases .case-img,body.home-page #cases .case-card:nth-child(n) .case-img{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:16/10!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:4px!important;background:#222b32!important}
body.home-page #cases .case-img::after{display:none!important}
body.home-page #cases .case-img img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;transition:transform 420ms var(--ym-ease),filter 420ms ease!important}
body.home-page #cases .case-body,body.home-page #cases .case-card:nth-child(n) .case-body{position:static!important;min-height:0!important;padding:18px 2px 0!important;color:#fff!important;background:transparent!important;transform:none!important}
body.home-page #cases .case-body h3,body.home-page #cases .case-card:nth-child(n) h3{margin:0 0 8px!important;color:#fff!important;font-size:20px!important;font-weight:600!important;line-height:1.45!important}
body.home-page #cases .case-body p{display:-webkit-box!important;margin:0!important;overflow:hidden;color:rgba(255,255,255,.58)!important;font-size:14px!important;line-height:1.72!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}
body.home-page #cases .case-tag{top:12px!important;left:12px!important;padding:5px 9px!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:3px!important;color:#fff!important;background:rgba(13,65,102,.84)!important;backdrop-filter:blur(6px)}
body.home-page #cases .cases-more{position:static!important;width:100%!important;display:flex!important;justify-content:flex-end;margin:38px 0 0!important;padding:0!important;background:transparent!important}
body.home-page #cases .cases-more .btn-o{min-height:46px;padding:11px 20px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:4px!important;color:#fff!important;background:transparent!important;box-shadow:none!important}
@media (hover:hover){body.home-page #cases .case-card:hover{box-shadow:none!important;transform:none!important}body.home-page #cases .case-card:hover .case-img img{filter:brightness(1.04);transform:scale(1.025)!important}body.home-page #cases .cases-more .btn-o:hover{border-color:#fff!important;background:#fff!important;color:#17232d!important;transform:translateY(-1px)!important}}

@media (max-width:1100px){body.home-page .hero h1{font-size:48px!important}body.home-page :where(#services,#solutions,#cases) .sec-hd{column-gap:44px}body.home-page #cases .cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.home-page #cases .case-card:nth-child(n){grid-column:auto!important}}
@media (max-width:800px){
 body.home-page .hero,body.home-page .hero-slide{height:620px!important;min-height:620px!important;max-height:620px!important}
 body.home-page .hero-slide{padding:0 16px!important}
 body.home-page .hero-slide-bg{opacity:.48!important;background-position:center!important}
 body.home-page .hero-slide-overlay{background:linear-gradient(180deg,rgba(5,18,29,.92) 0%,rgba(6,24,38,.87) 58%,rgba(7,28,44,.8) 100%)!important}
 body.home-page .hero-content{position:relative!important;top:auto!important;right:auto!important;left:auto!important;width:100%!important;min-height:620px!important;margin:0!important;padding:116px 4px 76px!important}
 body.home-page .hero h1{width:100%;font-size:36px!important;line-height:1.2!important}
 body.home-page .hero-desc{font-size:15px!important;line-height:1.72!important}
 body.home-page .hero-badge{font-size:12px!important}
 body.home-page .hero-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:26px!important}
 body.home-page .hero-actions :where(.btn-p,.btn-o){width:100%!important;min-width:0!important;padding:11px 10px!important}
 body.home-page .hero-dots{bottom:18px!important;left:20px!important}
 body.home-page .stats-in{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.home-page .stat{min-height:96px!important;border-bottom:1px solid var(--ym-line)!important}
 body.home-page .stat:nth-child(2){border-right:0!important}
 body.home-page .stat:nth-child(n+3){border-bottom:0!important}
 body.home-page .stat:nth-child(n) .stat-n{font-size:30px!important}
 body.home-page :where(#services,#solutions,#cases) .sec-hd{display:block!important;margin-bottom:32px!important;padding-top:16px}
 body.home-page :where(#services,#solutions,#cases) .sec-title{font-size:31px!important}
 body.home-page :where(#services,#solutions,#cases) .sec-desc{margin-top:14px!important}
 body.home-page #services .srv-accordion{overflow:hidden;border-top:1px solid var(--ym-line);border-bottom:1px solid var(--ym-line)}
 body.home-page #services .srv-acc-item{margin:0!important;border:0!important;border-bottom:1px solid var(--ym-line)!important;border-radius:0!important;box-shadow:none!important}
 body.home-page #services .srv-acc-item:last-child{border-bottom:0!important}
 body.home-page #solutions .sol-tabs{gap:20px!important;margin-bottom:28px!important}
 body.home-page #solutions .sol-panel{gap:28px!important}
 body.home-page #cases{padding-top:74px!important;padding-bottom:82px!important}
 body.home-page #cases .cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:34px 18px!important}
 body.home-page #cases .case-card:nth-child(n){grid-column:auto!important}
 body.home-page #cases .case-body h3,body.home-page #cases .case-card:nth-child(n) h3{font-size:18px!important}
 body.home-page #cases .cases-more{justify-content:flex-start;margin-top:32px!important}
}
@media (max-width:640px){body.home-page #cases .cases-grid{grid-template-columns:minmax(0,1fr)!important;gap:34px!important}}
@media (max-width:420px){body.home-page .hero,body.home-page .hero-slide{height:600px!important;min-height:600px!important;max-height:600px!important}body.home-page .hero-content{min-height:600px!important;padding-top:106px!important;padding-bottom:70px!important}body.home-page .hero h1{font-size:32px!important}}
@media (prefers-reduced-motion:reduce){body.home-page .hero-slide-bg,body.home-page #cases .case-img img,body.home-page #solutions .sol-panel.active .sol-vis img{animation:none!important;transition:none!important;transform:none!important}}


/* 20260725r: carousel controls and mobile reveal stability. */
body.home-page .hero-dots{
  align-items:center!important;
  gap:2px!important;
}
body.home-page .hero-dot,
body.home-page .hero-dot.active{
  position:relative!important;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.home-page .hero-dot::after{
  content:"";
  position:absolute;
  top:50%;
  right:10px;
  left:10px;
  height:2px;
  border-radius:1px;
  background:rgba(255,255,255,.42);
  transform:translateY(-50%);
  transition:right 240ms ease,left 240ms ease,background-color 240ms ease;
}
body.home-page .hero-dot.active::after{
  right:2px;
  left:2px;
  background:#fff;
}

@media (max-width:800px){
  body.home-page :where(.rv,.rv-l,.rv-r,.rv-s){
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.home-page :where(.rv,.rv-l,.rv-r,.rv-s){
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* 20260725s: lock the hero to a single border-box canvas. */
body.home-page .hero{
  padding:0!important;
  box-sizing:border-box!important;
}
body.home-page .hero-track,
body.home-page .hero-slide{
  box-sizing:border-box!important;
}


/* 20260726a: editorial motion, geometry and red hover states. */
:root{
  --ym-hover-red:#b3323d;
  --ym-hover-red-deep:#8f2430;
  --ym-geo-ink:rgba(18,70,106,.09);
  --ym-geo-warm:rgba(157,79,45,.075);
}

/* Light editorial geometry keeps long sections from reading as blank slabs. */
body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq){
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background-image:none!important;
}
body.home-page :where(#services,#solutions,#about,#faq){background-color:#f7fafc!important}
body.home-page :where(#solutions,#partners){background-color:#f1f7f8!important}
body.home-page :where(#process,#news){background-color:#fbf8f3!important}
body.home-page #advantages{background-color:#f5f9f8!important}
body.home-page #cases{background-color:#111a22!important}
body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-12%;
  pointer-events:none;
  opacity:.62;
  background-image:
    repeating-linear-gradient(118deg,transparent 0 48px,var(--ym-geo-ink) 49px 50px,transparent 51px 98px),
    repeating-linear-gradient(28deg,transparent 0 72px,var(--ym-geo-warm) 73px 74px,transparent 75px 146px);
  transform:translate3d(-2%,-1%,0) scale(1.03);
  animation:ymGeometryPan 28s linear infinite alternate;
}
body.home-page #cases::before{--ym-geo-ink:rgba(143,194,224,.09);--ym-geo-warm:rgba(255,255,255,.045);opacity:.52!important;display:block!important}
body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)>*{position:relative;z-index:1}
@keyframes ymGeometryPan{from{transform:translate3d(-2%,-1%,0) scale(1.03)}to{transform:translate3d(2%,1%,0) scale(1.03)}}

/* Shared red/white hover language for clickable content surfaces. */
@media (hover:hover){
  body :where(.srv-card,.service-card,.feature-card,.advantage-card,.scene-card,.case-card,.news-card,.docs-card,.price-card,.faq-item,.proc-step,.ptn-item):hover{
    color:#fff!important;
    background:var(--ym-hover-red)!important;
    border-color:var(--ym-hover-red)!important;
    box-shadow:0 18px 34px rgba(92,25,33,.2)!important;
    transform:translateY(-4px)!important;
  }
  body :where(.srv-card,.service-card,.feature-card,.advantage-card,.scene-card,.case-card,.news-card,.docs-card,.price-card,.faq-item,.proc-step,.ptn-item):hover :where(h3,h4,h5,p,li,span,strong,small,a,i,svg,.news-tag,.case-tag){color:#fff!important}
  body.home-page #services .srv-card:hover .srv-ico{background:rgba(255,255,255,.18)!important;color:#fff!important;transform:translateY(-2px)!important}
  body.home-page #solutions .sol-tab:hover{color:var(--ym-hover-red)!important}
}

/* Case studies use an inspection-style image mask inspired by the reference. */
body.home-page #cases .case-img{isolation:isolate!important}
body.home-page #cases .case-img::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  display:block!important;
  opacity:0;
  background:rgba(78,18,27,.76);
  transition:opacity 240ms ease;
}
body.home-page #cases .case-hover{
  position:absolute;
  z-index:3;
  top:50%;
  left:50%;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  color:#fff;
  background:rgba(15,25,34,.22);
  opacity:0;
  transform:translate(-50%,-42%);
  transition:opacity 240ms ease,transform 240ms ease,background-color 240ms ease;
}
body.home-page #cases .case-hover :where(i,svg){width:18px;height:18px;color:#fff;font-size:18px}
body.home-page #cases .case-hover em{font-style:normal;font-size:14px;font-weight:600;white-space:nowrap}
@media (hover:hover){
  body.home-page #cases .case-card:hover .case-img::after{opacity:1}
  body.home-page #cases .case-card:hover .case-hover{opacity:1;transform:translate(-50%,-50%);background:rgba(15,25,34,.38)}
}
body.home-page #cases .case-card:focus-visible .case-img::after,
body.home-page #cases .case-card:focus-visible .case-hover{opacity:1}

/* Latest news becomes a featured story plus a readable editorial list. */
body.home-page #news .news-grid{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)!important;
  gap:0 54px!important;
  margin:0!important;
}
body.home-page #news .news-card,
body.home-page #news .news-card:nth-child(n){
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
body.home-page #news .news-card:nth-child(1){grid-column:2!important;grid-row:1 / span 3!important;display:flex!important;flex-direction:column!important}
body.home-page #news .news-card:nth-child(1) .news-img{height:420px!important;border:1px solid var(--ym-line);border-radius:5px!important}
body.home-page #news .news-card:nth-child(1) .news-body{padding:22px 0 0!important}
body.home-page #news .news-card:nth-child(1) h3{font-size:25px!important;line-height:1.4!important}
body.home-page #news .news-card:nth-child(n+2){grid-column:1!important;display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;gap:0 18px!important;align-items:start!important;padding:18px 0!important;border-bottom:1px solid var(--ym-line)!important}
body.home-page #news .news-card:nth-child(n+2) .news-img{grid-column:1!important;grid-row:1 / span 2!important;width:76px!important;height:76px!important;border-radius:3px!important;background:transparent!important}
body.home-page #news .news-card:nth-child(n+2) .news-img img{display:none!important}
body.home-page #news .news-card:nth-child(n+2) .news-date{position:static!important;display:flex!important;flex-direction:column!important;align-items:center!important;padding:0!important;background:transparent!important;box-shadow:none!important}
body.home-page #news .news-card:nth-child(n+2) .news-date .d{font-size:31px!important;line-height:1!important;color:var(--ym-ink)!important}
body.home-page #news .news-card:nth-child(n+2) .news-date .m{font-size:11px!important}
body.home-page #news .news-card:nth-child(n+2) .news-body{grid-column:2!important;padding:0!important}
body.home-page #news .news-card:nth-child(n+2) .news-tag{margin:0 0 7px!important}
body.home-page #news .news-card:nth-child(n+2) h3{margin:0 0 7px!important;font-size:18px!important}
body.home-page #news .news-card:nth-child(n+2) p{font-size:13px!important;line-height:1.65!important}

/* Continuous partner marquee, including the phone layout. */
body.home-page #partners .ptn-section-grid{display:grid!important;gap:14px!important}
body.home-page #partners .ptn-scroll-wrap{display:block!important;overflow:hidden!important;padding:0!important;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)!important}
body.home-page #partners .ptn-scroll{display:flex!important;width:max-content!important}
body.home-page #partners .ptn-scroll-left{animation:ymPartnerLeft 36s linear infinite!important}
body.home-page #partners .ptn-scroll-right{animation:ymPartnerRight 42s linear infinite!important}
body.home-page #partners .ptn-row-inner{display:flex!important;flex-wrap:nowrap!important;gap:16px!important;width:max-content!important}
body.home-page #partners .ptn-item{flex:0 0 160px!important;min-width:160px!important;min-height:78px!important;padding:12px 18px!important;border:1px solid rgba(54,104,126,.15)!important;border-radius:5px!important;background:rgba(255,255,255,.7)!important;box-shadow:none!important}
body.home-page #partners .ptn-item:hover{background:var(--ym-hover-red)!important}
@keyframes ymPartnerLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ymPartnerRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}

@media (max-width:900px){
  body.home-page #news .news-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  body.home-page #news .news-card:nth-child(1){grid-column:1!important;grid-row:auto!important}
  body.home-page #news .news-card:nth-child(1) .news-img{height:300px!important}
  body.home-page #news .news-card:nth-child(1) h3{font-size:22px!important}
  body.home-page #news .news-card:nth-child(n+2){grid-column:1!important}
}
@media (max-width:640px){
  body.home-page #news .news-card:nth-child(1) .news-img{height:240px!important}
  body.home-page #news .news-card:nth-child(n+2){grid-template-columns:62px minmax(0,1fr)!important;gap:0 14px!important}
  body.home-page #news .news-card:nth-child(n+2) .news-img{width:62px!important;height:62px!important}
  body.home-page #news .news-card:nth-child(n+2) .news-date .d{font-size:26px!important}
  body.home-page #partners .ptn-item{flex-basis:142px!important;min-width:142px!important}
}
@media (prefers-reduced-motion:reduce){
  body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)::before,
  body.home-page #partners .ptn-scroll{animation:none!important}
}


/* 20260726c: sculptural geometry and explicit red card states. */
/* Replace the tiled diagonal wash with localized geometric structures. */
body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)::before{
  inset:auto!important;
  top:-220px!important;
  right:-120px!important;
  width:500px!important;
  height:500px!important;
  border:1px solid rgba(18,86,122,.2);
  background:rgba(255,255,255,.08)!important;
  background-image:none!important;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  opacity:.72!important;
  transform:rotate(18deg);
  animation:ymGeoDiamond 18s ease-in-out infinite alternate!important;
}
body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)::after{
  content:"";
  position:absolute;
  z-index:0;
  top:16%;
  right:8%;
  width:260px;
  height:190px;
  pointer-events:none;
  border:1px solid rgba(18,86,122,.13);
  background-image:linear-gradient(90deg,transparent 49%,rgba(18,86,122,.12) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(18,86,122,.1) 50%,transparent 51%);
  background-size:28px 28px;
  opacity:.5;
  transform:skewX(-18deg) rotate(-12deg);
  animation:ymGeoFrame 22s ease-in-out infinite alternate;
}
body.home-page #solutions::before,
body.home-page #partners::before{top:auto!important;right:auto!important;bottom:-240px!important;left:-150px!important;transform:rotate(-14deg)}
body.home-page #solutions::after,
body.home-page #partners::after{top:24%;right:auto;left:12%;transform:skewX(18deg) rotate(14deg)}
body.home-page #process::before{top:-290px!important;right:14%!important;transform:rotate(34deg)}
body.home-page #process::after{top:18%;right:18%;transform:skewX(-22deg) rotate(-24deg)}
body.home-page #cases::before{top:auto!important;right:-160px!important;bottom:-220px!important;border-color:rgba(157,213,239,.22);background:rgba(143,194,224,.04)!important;transform:rotate(22deg)}
body.home-page #cases::after{top:16%;right:12%;border-color:rgba(157,213,239,.16);background-image:linear-gradient(90deg,transparent 49%,rgba(157,213,239,.13) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(157,213,239,.1) 50%,transparent 51%)}
@keyframes ymGeoDiamond{from{transform:rotate(18deg) translate3d(-8px,-6px,0)}to{transform:rotate(26deg) translate3d(12px,10px,0)}}
@keyframes ymGeoFrame{from{transform:skewX(-18deg) rotate(-12deg) translate3d(0,0,0)}to{transform:skewX(-18deg) rotate(-7deg) translate3d(16px,-10px,0)}}

/* Explicit specificity for business cards: red surface, white content. */
body.home-page #services .srv-card:hover,
body.home-page #services .srv-card:focus-visible{
  color:#fff!important;
  background:var(--ym-hover-red)!important;
  border-color:var(--ym-hover-red)!important;
  box-shadow:0 18px 34px rgba(92,25,33,.22)!important;
  transform:translateY(-4px)!important;
}
body.home-page #services .srv-card:hover :where(h3,p,li,li i,span),
body.home-page #services .srv-card:focus-visible :where(h3,p,li,li i,span){color:#fff!important}
body.home-page #services .srv-card:hover .srv-ico,
body.home-page #services .srv-card:focus-visible .srv-ico{background:rgba(255,255,255,.18)!important;color:#fff!important}
body.home-page #cases .case-card:hover{background:var(--ym-hover-red)!important;color:#fff!important}
body.home-page #news .news-card:hover{background:var(--ym-hover-red)!important;color:#fff!important;border-color:var(--ym-hover-red)!important}
body.home-page #news .news-card:hover :where(h3,p,span,.news-tag,.news-date .d,.news-date .m){color:#fff!important}

@media (max-width:800px){
  body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)::before{width:300px!important;height:300px!important;top:-130px!important;right:-100px!important}
  body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)::after{width:170px;height:130px;right:5%;top:20%;background-size:20px 20px}
  body.home-page :where(#solutions,#partners)::before{top:auto!important;right:auto!important;bottom:-120px!important;left:-100px!important}
}
@media (prefers-reduced-motion:reduce){
  body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)::before,
  body.home-page :where(#services,#solutions,#process,#advantages,#cases,#partners,#news,#about,#faq)::after{animation:none!important}
}


/* 20260726d: localized architectural geometry and reliable business-card states. */
body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq){
  --ym-geo-line:rgba(22,83,116,.18);
  --ym-geo-fill:rgba(44,116,146,.08);
  --ym-geo-dot:rgba(22,83,116,.24);
  background-image:none!important;
}
body.home-page #services{background-color:#edf3f6!important}
body.home-page #solutions{background-color:#f8fafb!important}
body.home-page #process{background-color:#f3f5f4!important}
body.home-page #advantages{background-color:#eef4f2!important}
body.home-page #partners{background-color:#f5f8f9!important}
body.home-page #news{background-color:#f8f7f4!important}
body.home-page #about{background-color:#eef3f5!important}
body.home-page #faq{background-color:#f8fafb!important}

/* One structural frame and one offset plane per section: geometry, not wallpaper. */
body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq)::before{
  top:74px!important;
  right:-108px!important;
  bottom:auto!important;
  left:auto!important;
  width:390px!important;
  height:260px!important;
  border:1px solid var(--ym-geo-line)!important;
  background:
    linear-gradient(90deg,transparent 49.6%,var(--ym-geo-line) 50%,transparent 50.4%),
    linear-gradient(0deg,transparent 49.6%,var(--ym-geo-line) 50%,transparent 50.4%)!important;
  background-size:92px 92px!important;
  clip-path:polygon(18% 0,100% 0,100% 72%,82% 100%,0 100%,0 28%)!important;
  opacity:1!important;
  transform:rotate(-8deg) translate3d(0,0,0)!important;
  animation:ymArchitecturalFrame 18s ease-in-out infinite alternate!important;
}
body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq)::after{
  top:auto!important;
  right:auto!important;
  bottom:58px!important;
  left:-72px!important;
  width:300px!important;
  height:190px!important;
  border:0!important;
  background:var(--ym-geo-fill)!important;
  clip-path:polygon(0 22%,72% 0,100% 36%,82% 100%,18% 82%)!important;
  opacity:1!important;
  transform:rotate(8deg) translate3d(0,0,0)!important;
  animation:ymArchitecturalPlane 21s ease-in-out infinite alternate!important;
}

/* Alternate the composition so consecutive sections do not repeat the same silhouette. */
body.home-page :where(#solutions,#advantages,#news,#faq)::before{
  right:auto!important;
  left:-120px!important;
  transform:rotate(9deg) translate3d(0,0,0)!important;
}
body.home-page :where(#solutions,#advantages,#news,#faq)::after{
  right:-74px!important;
  left:auto!important;
  clip-path:polygon(28% 0,100% 16%,86% 86%,38% 100%,0 58%)!important;
  transform:rotate(-7deg) translate3d(0,0,0)!important;
}
body.home-page #process::before{
  top:86px!important;
  right:3%!important;
  width:330px!important;
  height:220px!important;
  transform:rotate(-6deg) translate3d(0,0,0)!important;
}
body.home-page #process::after{
  bottom:34px!important;
  left:8%!important;
  width:260px!important;
  height:150px!important;
}
body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq)>.ctn{
  position:relative!important;
  z-index:1;
}
body.home-page :where(#services,#process)>.ctn::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:122px;
  right:32px;
  width:132px;
  height:132px;
  pointer-events:none;
  background-image:radial-gradient(circle,var(--ym-geo-dot) 1.4px,transparent 1.6px);
  background-size:14px 14px;
  clip-path:polygon(24% 0,100% 0,100% 76%,76% 100%,0 100%,0 24%);
  opacity:.66;
  animation:ymCoordinateField 16s ease-in-out infinite alternate;
}

@keyframes ymArchitecturalFrame{
  from{transform:rotate(-8deg) translate3d(-8px,-4px,0)}
  to{transform:rotate(-4deg) translate3d(12px,8px,0)}
}
@keyframes ymArchitecturalPlane{
  from{transform:rotate(8deg) translate3d(0,4px,0)}
  to{transform:rotate(12deg) translate3d(18px,-8px,0)}
}
@keyframes ymCoordinateField{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-12px,9px,0)}
}

/* Business cards: the surface and content transition as a single state. */
body.home-page #services .srv-card{
  position:relative!important;
  isolation:isolate;
  transition:background-color 220ms ease,color 220ms ease,box-shadow 220ms ease,transform 220ms ease!important;
}
@media (hover:hover){
  body.home-page #services .srv-card:hover{
    color:#fff!important;
    background-color:var(--ym-hover-red)!important;
    background-image:none!important;
    border-color:var(--ym-hover-red)!important;
    box-shadow:0 16px 30px rgba(110,32,41,.2)!important;
    transform:translateY(-3px)!important;
  }
  body.home-page #services .srv-card:hover::before,
  body.home-page #services .srv-card:hover::after{
    display:none!important;
    opacity:0!important;
    background:transparent!important;
  }
  body.home-page #services .srv-card:hover :where(h3,p,ul,li,li i,span,strong,small){
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  body.home-page #services .srv-card:hover .srv-ico{
    color:#fff!important;
    background:rgba(255,255,255,.16)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.26)!important;
  }
}
body.home-page #services .srv-card:focus-visible{
  color:#fff!important;
  background-color:var(--ym-hover-red)!important;
  background-image:none!important;
  outline:3px solid rgba(179,50,61,.3)!important;
  outline-offset:3px!important;
}
body.home-page #services .srv-card:focus-visible :where(h3,p,ul,li,li i,span,strong,small){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

@media (max-width:800px){
  body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq)::before{
    top:56px!important;
    right:-112px!important;
    left:auto!important;
    width:270px!important;
    height:180px!important;
    background-size:64px 64px!important;
  }
  body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq)::after{
    right:auto!important;
    bottom:24px!important;
    left:-76px!important;
    width:210px!important;
    height:132px!important;
  }
  body.home-page :where(#services,#process)>.ctn::before{
    top:96px;
    right:8px;
    width:92px;
    height:92px;
    background-size:12px 12px;
    opacity:.5;
  }
}
@media (prefers-reduced-motion:reduce){
  body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq)::before,
  body.home-page :where(#services,#solutions,#process,#advantages,#partners,#news,#about,#faq)::after,
  body.home-page :where(#services,#process)>.ctn::before{animation:none!important}
}


/* Keep architectural linework legible over legacy section opacity rules. */
body.home-page #services::before,
body.home-page #solutions::before,
body.home-page #process::before,
body.home-page #advantages::before,
body.home-page #partners::before,
body.home-page #news::before,
body.home-page #about::before,
body.home-page #faq::before{opacity:.78!important}


/* 一秒互联公司 www.yimiaonet.com：20260726e 统一亮蓝交互，并为案例与合作流程保留轻量反馈。 */
:root{
  --ym-hover-red:#00a4ff;
  --ym-hover-red-deep:#006eff;
  --ym-hover-blue-start:#18b8ff;
  --ym-hover-blue-end:#0878f9;
}

@media (hover:hover){
  body :is(.srv-card,.service-card,.feature-card,.advantage-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card,.news-card,.docs-card,.project-card,.price-card,.faq-item,.ptn-item):hover{
    color:#fff!important;
    border-color:#1592f2!important;
    background-color:#078cfb!important;
    background-image:linear-gradient(135deg,var(--ym-hover-blue-start),var(--ym-hover-blue-end))!important;
    box-shadow:0 16px 32px rgba(0,126,229,.2)!important;
  }
  body :is(.srv-card,.service-card,.feature-card,.advantage-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card,.news-card,.docs-card,.project-card,.price-card,.faq-item,.ptn-item):hover :where(h2,h3,h4,h5,p,li,span,strong,small,a,i,svg){
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }

  body.home-page #services .srv-card:hover{
    background-color:#078cfb!important;
    background-image:linear-gradient(135deg,var(--ym-hover-blue-start),var(--ym-hover-blue-end))!important;
    border-color:#1592f2!important;
    box-shadow:0 16px 30px rgba(0,126,229,.2)!important;
  }

  body.home-page #cases .case-card:hover{
    color:#fff!important;
    border-color:transparent!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.home-page #cases .case-card:hover .case-body{
    color:#fff!important;
    background:transparent!important;
  }
  body.home-page #cases .case-card:hover .case-img::after{
    opacity:1!important;
    background:linear-gradient(135deg,rgba(24,184,255,.68),rgba(8,120,249,.78))!important;
  }

  body.home-page #process .proc-step:hover{
    color:inherit!important;
    border-color:transparent!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.home-page #process .proc-step:hover :where(h3,h4,p,span,small){
    color:inherit!important;
    -webkit-text-fill-color:currentColor!important;
  }
  body.home-page #process .proc-step:hover .proc-c{
    color:#fff!important;
    border-color:#18a8ff!important;
    background-color:#078cfb!important;
    background-image:linear-gradient(135deg,var(--ym-hover-blue-start),var(--ym-hover-blue-end))!important;
    box-shadow:0 10px 24px rgba(0,126,229,.24)!important;
    transform:translateY(-3px) scale(1.04)!important;
  }
  body.home-page #process .proc-step:hover .proc-c :where(i,svg){
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
}

body.home-page #services .srv-card:focus-visible,
body :is(.service-card,.feature-card,.advantage-card,.scene-card,.capability-card,.security-card,.promise-card,.process-card,.news-card,.docs-card,.project-card,.price-card,.faq-item,.ptn-item):focus-visible{
  color:#fff!important;
  border-color:#1592f2!important;
  background-color:#078cfb!important;
  background-image:linear-gradient(135deg,var(--ym-hover-blue-start),var(--ym-hover-blue-end))!important;
  outline:3px solid rgba(0,164,255,.28)!important;
  outline-offset:3px!important;
}
body.home-page #cases .case-card:focus-visible{
  color:#fff!important;
  background:transparent!important;
}
body.home-page #cases .case-card:focus-visible .case-img::after{
  opacity:1!important;
  background:linear-gradient(135deg,rgba(24,184,255,.68),rgba(8,120,249,.78))!important;
}
body.home-page #process .proc-step:focus-visible{
  color:inherit!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.home-page #process .proc-step:focus-visible .proc-c{
  color:#fff!important;
  border-color:#18a8ff!important;
  background:linear-gradient(135deg,var(--ym-hover-blue-start),var(--ym-hover-blue-end))!important;
}
