/* 首页标准化模型对比，与相邻模块保持一致的紧凑布局。 */
#homeStandardization {
  --std-blue: #087ddd;
  --std-ink: #173d59;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 52px 0 44px;
  background: #f3f9fd;
  border-bottom: 1px solid #e2edf5;
  scroll-margin-top: 98px;
}
#homeStandardization .std-content {
  position: relative;
  z-index: 2;
  width: calc(100% - var(--home-gutter) - var(--home-gutter));
  max-width: none;
}
.std-scene,
.std-atmosphere,
.std-wave {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}
.std-scene {
  background: none center
    bottom / cover no-repeat;
  opacity: 0.25;
}
.std-atmosphere {
  background: linear-gradient(180deg, #f7fbfef5, #f3f9fdd6 48%, #f3f9fded);
}
.std-wave {
  top: auto;
  height: 100px;
  opacity: 0.18;
}
.std-wave svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #66bde3;
  stroke-width: 1;
}
.std-icon-defs {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}

.std-heading {
  text-align: center;
  margin: 0 auto 26px;
}
.std-heading .eyebrow {
  font-size: 10px;
  letter-spacing: 0.17em;
  color: #6695b7;
  margin-bottom: 12px;
}
.std-heading h2 {
  font-size: clamp(30px, 2.3vw, 36px);
  font-weight: 750;
  letter-spacing: -0.035em;
  line-height: 1.35;
  color: #103b5e;
  margin: 0 0 8px;
}
.std-title-accent {
  color: var(--std-blue);
}
.std-question {
  color: #103b5e;
}
.std-subtitle {
  font-size: 17px;
  line-height: 1.6;
  color: #39739f;
  letter-spacing: 0.035em;
  margin: 0;
}

.std-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(176px, 11.5vw, 224px) minmax(0, 1fr);
  gap: clamp(24px, 2vw, 36px);
  align-items: stretch;
}
.std-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid #dce8f1;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffffed;
  box-shadow: 0 8px 24px #1b58850a;
}
.std-standard {
  border-color: #add8ed;
  box-shadow: 0 8px 24px #0b78b710;
}
.std-card-heading {
  display: flex;
  flex: none;
  align-items: center;
  gap: 14px;
  min-height: 86px;
  padding: 14px 22px;
  background: #edf3f7;
  border-bottom: 1px solid #e2ebf2;
}
.std-card-heading h3 {
  font-size: 24px;
  line-height: 1.4;
  font-weight: 700;
  color: #425f75;
  margin: 0 0 3px;
}
.std-card-heading p {
  font-size: 14px;
  line-height: 1.6;
  color: #718b9e;
  margin: 0;
}
.std-card-mark {
  width: 38px;
  height: 38px;
  flex: none;
  display: grid;
  place-items: center;
  color: #7b94a6;
}
.std-card-mark svg {
  width: 35px;
  height: 35px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.std-traditional .std-card-heading {
  background: #103b5e;
  border-bottom-color: transparent;
}
.std-traditional .std-card-heading h3 {
  color: #fff;
}
.std-traditional .std-card-heading p,
.std-traditional .std-card-mark {
  color: #dce7ee;
}
.std-standard .std-card-heading {
  background: linear-gradient(112deg, #0878c5, #048bae 76%, #0fa995);
  border-bottom-color: transparent;
}
.std-standard .std-card-heading h3 {
  color: #fff;
}
.std-standard .std-card-heading p {
  color: #e9f8ff;
}
.std-standard .std-card-mark svg {
  fill: #fff;
  stroke: #fff;
}
.std-standard .std-card-mark svg path {
  stroke: #0588c9;
  stroke-width: 3;
}

.std-items {
  display: grid;
  flex: 1;
  grid-template-rows: repeat(4, 1fr);
  list-style: none;
  padding: 6px 18px;
  margin: 0;
}
.std-items li {
  min-width: 0;
  min-height: 80px;
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  padding: 8px 2px;
  border-bottom: 1px solid #e7eef4;
  transition: background 0.2s;
}
.std-items li:last-child {
  border-bottom: 0;
}
.std-items li > div {
  min-width: 0;
  flex: 1;
}
.std-items h4 {
  font-size: 19px;
  line-height: 1.5;
  font-weight: 650;
  color: #365267;
  margin: 0 0 4px;
}
.std-items p {
  font-size: 15px;
  line-height: 1.65;
  color: #6c8597;
  margin: 0;
}
@media (hover: hover) and (pointer: fine) {
  .std-items li p {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition:
      max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1),
      opacity 0.28s ease,
      transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .std-items li:hover p {
    max-height: 48px;
    opacity: 1;
    transform: translateY(0);
  }
}
.std-item-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #eef3f7;
  color: #8b9fae;
  flex: none;
}
.std-item-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.std-standard .std-items {
  background: #fafdff;
}
.std-standard .std-items h4 {
  color: #0876b7;
}
.std-standard .std-item-icon {
  background: #eaf6fd;
  color: #098de2;
}
.std-standard .std-items li:nth-child(even) .std-item-icon {
  color: #13a88f;
}
.std-traditional .std-items li.is-active {
  background: #f3f7fa;
}
.std-standard .std-items li.is-active {
  background: #edf8ff;
}

.std-bridge {
  position: relative;
  display: grid;
  place-items: center;
  color: #248ac1;
}
.std-bridge::before {
  content: '';
  position: absolute;
  width: 1px;
  top: 30px;
  bottom: 30px;
  left: 50%;
  background: linear-gradient(180deg, transparent, #bdddeb 30%, #bdddeb 70%, transparent);
}
.std-vs {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(104px, 7vw, 120px);
  height: clamp(104px, 7vw, 120px);
  border: 2px solid #b7d8ec;
  border-radius: 50%;
  background: #fff;
  font-size: clamp(34px, 2vw, 38px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #1a60ad;
  box-shadow:
    0 8px 24px #1a60ad14,
    0 0 0 8px #ffffffb3;
}

@media (max-width: 1180px) {
  .std-comparison {
    grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr);
    gap: 20px;
  }
  .std-card-heading {
    padding: 12px 18px;
    gap: 12px;
  }
  .std-card-heading h3 {
    font-size: 22px;
  }
  .std-card-heading p {
    font-size: 13px;
  }
  .std-items {
    padding: 6px 16px;
  }
  .std-items h4 {
    font-size: 16px;
  }
  .std-items p {
    font-size: 14px;
  }
  .std-item-icon {
    width: 36px;
    height: 36px;
  }
  .std-item-icon svg {
    width: 22px;
    height: 22px;
  }
  .std-vs {
    width: 80px;
    height: 80px;
    font-size: 27px;
  }
}
@media (max-width: 980px) {
  #homeStandardization {
    padding: 46px 0 40px;
  }
  .std-heading h2 {
    font-size: 30px;
  }
  .std-comparison {
    grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr);
    gap: 16px;
  }
  .std-card-heading {
    padding: 12px 15px;
    gap: 10px;
    min-height: 76px;
  }
  .std-card-heading h3 {
    font-size: 20px;
  }
  .std-card-heading p {
    font-size: 12px;
  }
  .std-card-mark,
  .std-card-mark svg {
    width: 28px;
    height: 28px;
  }
  .std-items {
    padding: 6px 13px;
  }
  .std-items li {
    min-height: 92px;
    gap: 10px;
  }
  .std-item-icon {
    width: 32px;
    height: 32px;
  }
  .std-item-icon svg {
    width: 20px;
    height: 20px;
  }
  .std-items h4 {
    font-size: 15px;
  }
  .std-items p {
    font-size: 13px;
  }
  .std-vs {
    width: 68px;
    height: 68px;
    font-size: 24px;
  }
}
@media (max-width: 700px) {
  #homeStandardization {
    padding: 38px 0 34px;
    scroll-margin-top: 88px;
  }
  .std-heading {
    margin-bottom: 22px;
  }
  .std-heading .eyebrow {
    font-size: 8px;
    letter-spacing: 0.14em;
    margin-bottom: 11px;
  }
  .std-heading h2 {
    font-size: clamp(24px, 6.6vw, 30px);
    line-height: 1.4;
    margin-bottom: 9px;
  }
  .std-title-accent {
    display: block;
  }
  .std-subtitle {
    font-size: 14px;
    letter-spacing: 0.02em;
  }
  .std-comparison {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    width: 100%;
    max-width: none;
  }
  .std-card-heading {
    padding: 12px 16px;
    min-height: 72px;
    gap: 12px;
  }
  .std-card-heading h3 {
    font-size: 22px;
  }
  .std-card-heading p {
    font-size: 13px;
  }
  .std-card-mark,
  .std-card-mark svg {
    width: 30px;
    height: 30px;
  }
  .std-items {
    padding: 4px 14px;
  }
  .std-items li {
    min-height: 80px;
    padding: 8px 1px;
    gap: 11px;
  }
  .std-item-icon {
    width: 34px;
    height: 34px;
  }
  .std-items h4 {
    font-size: 16px;
    line-height: 1.55;
  }
  .std-items p {
    font-size: 13px;
  }
  .std-bridge {
    min-height: 64px;
  }
  .std-bridge::before {
    width: 100%;
    height: 1px;
    inset: 50% 0 auto;
    background: linear-gradient(90deg, transparent, #bdddeb 30%, #bdddeb 70%, transparent);
  }
  .std-vs {
    width: 64px;
    height: 64px;
    font-size: 22px;
  }
  .std-scene {
    opacity: 0.15;
    background-size: auto 100%;
  }
  .std-wave {
    height: 80px;
  }
}
@media (max-width: 360px) {
  .std-card-heading {
    padding-inline: 14px;
    gap: 10px;
  }
  .std-card-heading h3 {
    font-size: 20px;
  }
  .std-items {
    padding-inline: 12px;
  }
  .std-items li {
    gap: 9px;
  }
  .std-item-icon {
    width: 28px;
    height: 28px;
  }
  .std-item-icon svg {
    width: 18px;
    height: 18px;
  }
  .std-items h4 {
    font-size: 14px;
  }
  .std-items p {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  #homeStandardization.is-visible .std-card {
    animation: std-card-arrive 0.4s ease-out both;
  }
  #homeStandardization.is-visible .std-standard {
    animation-delay: 0.06s;
  }
  @keyframes std-card-arrive {
    from {
      transform: translateY(8px);
      opacity: 0.7;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  #homeStandardization *,
  #homeStandardization *::before,
  #homeStandardization *::after {
    transition: none;
    animation: none;
  }
}

/* 首页两处主标题统一字号，优势卡片延续上下交错的棋盘布局。 */
#homeStandardization .std-heading h2,
#homeAdvantages .home-section-heading h2 {
  font-size: 42px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -0.03em;
  margin: 0 0 12px;
}
#homeStandardization .std-heading {
  margin-bottom: 32px;
}
#homeAdvantages {
  --advantage-blue: #1a60ad;
}
#homeAdvantages > .container {
  width: calc(100% - var(--home-gutter) - var(--home-gutter));
  max-width: none;
}
#homeAdvantages .home-section-heading {
  margin-bottom: 40px;
}
#homeStandardization .std-subtitle,
#homeAdvantages .section-subtitle {
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: 0.035em;
}
#homeAdvantages .advantage-card,
#homeAdvantages .advantage-card:nth-child(even) {
  background: var(--advantage-blue);
}
#homeAdvantages .advantage-card:hover {
  filter: none;
}
#homeAdvantages .advantage-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr);
  justify-items: center;
  width: 100%;
  aspect-ratio: 0.95;
  min-height: 180px;
  padding: 24px 12px;
  transform: scale(1);
  transform-origin: center;
  will-change: transform;
  transition:
    transform 0.42s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.32s ease,
    filter 0.32s ease;
}
#homeAdvantages .home-advantages:has(.advantage-card:hover) .advantage-card:not(:hover) {
  filter: saturate(0.82) brightness(0.94);
}
#homeAdvantages .advantage-card:hover {
  z-index: 5;
  transform: scale(1.14);
  box-shadow: 0 22px 48px rgba(7, 69, 128, 0.3);
}
#homeAdvantages .advantage-card svg {
  grid-row: 1;
  align-self: end;
  width: 36px;
  height: 36px;
  margin: 0 0 18px;
}
#homeAdvantages .advantage-card h3 {
  grid-row: 2;
  width: 100%;
  font-size: clamp(16px, 1.3vw, 22px);
  line-height: 1.5;
  margin: 0;
}
#homeAdvantages .advantage-card p {
  grid-row: 3;
  align-self: start;
  width: 100%;
  font-size: 14px;
  line-height: 1.7;
  margin: 8px 0 0;
}

@media (max-width: 1180px) {
  #homeAdvantages .home-advantages {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 14px;
    background: none;
  }
  #homeAdvantages .advantage-card:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 1.18;
    min-height: 185px;
    border-radius: 6px;
  }
  #homeAdvantages .advantage-card:last-child {
    grid-column: 3 / 5;
    aspect-ratio: auto;
  }
  #homeAdvantages .advantage-card h3 {
    font-size: 19px;
  }
  #homeAdvantages .advantage-card p {
    font-size: 14px;
  }
}
@media (max-width: 980px) {
  #homeStandardization .std-heading h2,
  #homeAdvantages .home-section-heading h2 {
    font-size: 36px;
  }
  #homeAdvantages .advantage-card h3 {
    font-size: 18px;
  }
  #homeAdvantages .advantage-card p {
    font-size: 14px;
  }
  #homeAdvantages .advantage-card svg {
    width: 34px;
    height: 34px;
    margin-bottom: 16px;
  }
}
@media (max-width: 700px) {
  #homeStandardization .std-heading h2,
  #homeAdvantages .home-section-heading h2 {
    font-size: clamp(28px, 7.2vw, 34px);
  }
  #homeStandardization .std-heading {
    margin-bottom: 26px;
  }
  #homeAdvantages .home-section-heading {
    margin-bottom: 30px;
  }
  #homeStandardization .std-subtitle,
  #homeAdvantages .section-subtitle {
    font-size: 14px;
    letter-spacing: 0.02em;
  }
  #homeAdvantages .home-advantages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  #homeAdvantages .advantage-card:nth-child(n) {
    aspect-ratio: 1.15;
    min-height: 204px;
    padding: 22px 12px;
  }
  #homeAdvantages .advantage-card:last-child {
    grid-column: 1 / -1;
    aspect-ratio: auto;
  }
  #homeAdvantages .advantage-card h3 {
    font-size: 17px;
  }
  #homeAdvantages .advantage-card p {
    font-size: 13px;
  }
  #homeAdvantages .advantage-card svg {
    width: 34px;
    height: 34px;
    margin-bottom: 16px;
  }
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  #homeAdvantages .advantage-card:hover {
    transform: none;
  }
  #homeAdvantages .home-advantages:has(.advantage-card:hover) .advantage-card:not(:hover) {
    filter: none;
  }
}
@media (max-width: 360px) {
  #homeAdvantages .advantage-card h3 {
    font-size: 16px;
  }
  #homeAdvantages .advantage-card p {
    font-size: 12px;
  }
}

/* Load this offscreen illustration when its section approaches the viewport. */
.std-scene.wl-background-ready {
  background-image: url('../images/home/generated/SY-CJ-001-home-standardization-scene-v1.webp');
}
