/*
 * Xinda homepage visual review V2 — Klein blue direction.
 * Loaded after xinda-bright-theme-v1.css only when ?theme=klein is present.
 */

html.xinda-klein-theme {
  --klein: #002fa7;
  --klein-bright: #064bc7;
  --klein-soft: #e9efff;
  --neutral-paper: #f5f7fa;
}

/* A more deliberate blue system: white surfaces, Klein-blue decisions. */
html.xinda-klein-theme .homepage-official {
  --f-blue: var(--klein);
  --f-cyan: #1a73e8;
  background: #fff;
}

html.xinda-klein-theme .homepage-official .concept-label,
html.xinda-klein-theme .homepage-official .fusion-insight-feed__label strong,
html.xinda-klein-theme .homepage-official .c-need > span,
html.xinda-klein-theme .homepage-official .b-cap-row > span,
html.xinda-klein-theme .homepage-official .b-cap-row b,
html.xinda-klein-theme .homepage-official .fusion-industry-more__head small,
html.xinda-klein-theme .homepage-official .fusion-industry-more__track small,
html.xinda-klein-theme .homepage-official .fusion-industry-more__track span,
html.xinda-klein-theme .homepage-official .fusion-industry-more__all,
html.xinda-klein-theme .homepage-official .fusion-strength__content .concept-link,
html.xinda-klein-theme .homepage-official .fusion-case-actions .concept-btn {
  color: var(--klein);
}

html.xinda-klein-theme .homepage-official .concept-btn--blue,
html.xinda-klein-theme .homepage-official .tech-header .concept-cta,
html.xinda-klein-theme .homepage-official .concept-header .concept-cta,
html.xinda-klein-theme .homepage-official .b-data a {
  color: #fff;
  background: var(--klein);
}

html.xinda-klein-theme .homepage-official .concept-btn--blue:hover,
html.xinda-klein-theme .homepage-official .tech-header .concept-cta:hover,
html.xinda-klein-theme .homepage-official .concept-header .concept-cta:hover {
  background: var(--klein-bright);
}

html.xinda-klein-theme .homepage-official .fusion-scroll-progress {
  background: var(--klein);
}

/* Hero: solid information plane beside an untreated industrial image. */
html.xinda-klein-theme .homepage-official .b-hero {
  min-height: calc(100vh - 82px);
  padding: 0;
  align-items: center;
  color: #fff;
  background: var(--klein);
}

html.xinda-klein-theme .homepage-official .b-hero__image {
  left: 46%;
  filter: brightness(1.03) saturate(1.06);
  background-position: 58% center;
}

html.xinda-klein-theme .homepage-official .b-hero__shade {
  right: 54%;
  background: var(--klein);
}

html.xinda-klein-theme .homepage-official .b-hero__grid {
  right: 54%;
  opacity: .12;
  background-image:
    linear-gradient(rgba(255, 255, 255, .42) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .42) 1px, transparent 1px);
  background-size: 76px 76px;
}

html.xinda-klein-theme .homepage-official .b-hero__copy {
  width: 46%;
  max-width: none;
  padding: 76px 3vw 76px 5vw;
}

html.xinda-klein-theme .homepage-official .b-hero h1 {
  font-size: clamp(50px, 4vw, 64px);
  letter-spacing: -.055em;
  white-space: nowrap;
}

html.xinda-klein-theme .homepage-official .b-hero h1 span,
html.xinda-klein-theme .homepage-official .b-hero__copy .concept-label {
  color: #8ddcff;
}

html.xinda-klein-theme .homepage-official .b-hero__lead {
  color: rgba(255, 255, 255, .84);
}

html.xinda-klein-theme .homepage-official .b-hero .concept-btn--blue {
  color: var(--klein);
  background: #fff;
}

html.xinda-klein-theme .homepage-official .b-hero .concept-btn--line {
  color: #fff;
  border-color: rgba(255, 255, 255, .62);
}

html.xinda-klein-theme .homepage-official .b-signal {
  right: 4vw;
  bottom: 52px;
  color: #153550;
  background: rgba(255, 255, 255, .94);
  border: 0;
  box-shadow: 0 18px 50px rgba(13, 41, 66, .2);
  backdrop-filter: blur(10px);
}

html.xinda-klein-theme .homepage-official .b-signal small {
  color: var(--klein);
}

html.xinda-klein-theme .homepage-official .b-signal strong {
  color: #153550;
}

/* Reduce the amount of pale cyan: use white and neutral cool gray instead. */
html.xinda-klein-theme .homepage-official .b-data {
  background: #fff;
  border-color: #dce3ec;
}

html.xinda-klein-theme .homepage-official .b-data > div,
html.xinda-klein-theme .homepage-official .b-data > a {
  border-color: #dce3ec;
}

html.xinda-klein-theme .homepage-official .b-data strong {
  color: var(--klein);
}

html.xinda-klein-theme .homepage-official .b-data a strong,
html.xinda-klein-theme .homepage-official .b-data a span {
  color: #fff;
}

html.xinda-klein-theme .homepage-official .fusion-insight-feed {
  background: var(--neutral-paper);
  border-color: #e2e7ed;
}

html.xinda-klein-theme .homepage-official .fusion-insight-feed__label strong,
html.xinda-klein-theme .homepage-official .c-need > span {
  background: var(--klein-soft);
}

html.xinda-klein-theme .homepage-official .fusion-needs,
html.xinda-klein-theme .homepage-official .b-capability,
html.xinda-klein-theme .homepage-official .c-cases,
html.xinda-klein-theme .homepage-official .fusion-contact {
  background: #fff;
}

html.xinda-klein-theme .homepage-official .b-system,
html.xinda-klein-theme .homepage-official .b-industries,
html.xinda-klein-theme .homepage-official .fusion-strength {
  background: var(--neutral-paper);
}

html.xinda-klein-theme .homepage-official .b-system-card__image,
html.xinda-klein-theme .homepage-official .b-industry__image,
html.xinda-klein-theme .homepage-official .c-case__image {
  filter: brightness(1.03) saturate(1.05);
}

html.xinda-klein-theme .homepage-official .b-system-card__shade,
html.xinda-klein-theme .homepage-official .b-industry__shade,
html.xinda-klein-theme .homepage-official .c-case__shade {
  background: linear-gradient(to top, rgba(4, 21, 36, .9), rgba(4, 21, 36, .28) 47%, transparent 78%);
}

html.xinda-klein-theme .homepage-official .fusion-needs .c-need:hover {
  border-color: #9aafe8;
  box-shadow: 0 20px 48px rgba(0, 47, 167, .1);
}

html.xinda-klein-theme .homepage-official .b-cap-row:hover {
  background: #f2f5fc;
}

html.xinda-klein-theme .homepage-official .fusion-industry-more__track a {
  background: #fff;
  border-color: #d8e0e8;
}

html.xinda-klein-theme .homepage-official .fusion-industry-more__track a:hover {
  box-shadow: 0 16px 34px rgba(0, 47, 167, .1);
}

html.xinda-klein-theme .homepage-official .fusion-delivery:before {
  background: linear-gradient(90deg, rgba(4, 24, 43, .88), rgba(4, 24, 43, .45) 55%, transparent 82%);
}

/* Green module: preserve the photograph and give the headline its own light surface. */
html.xinda-klein-theme .homepage-official .fusion-green {
  color: #164438;
  background: #f2f8f5;
}

html.xinda-klein-theme .homepage-official .fusion-green__visual {
  filter: none;
}

html.xinda-klein-theme .homepage-official .fusion-green__visual:after {
  background: linear-gradient(to top, rgba(7, 67, 53, .22), transparent 55%);
}

html.xinda-klein-theme .homepage-official .fusion-green__visual-copy {
  left: 38px;
  right: 9%;
  bottom: 38px;
  padding: 34px 38px;
  color: #123c32;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 20px 52px rgba(7, 56, 45, .16);
  backdrop-filter: blur(10px);
}

html.xinda-klein-theme .homepage-official .fusion-green__visual-copy small {
  color: #07895f;
}

html.xinda-klein-theme .homepage-official .fusion-green__visual-copy h2 {
  color: #123c32;
}

/* Restore the dark footer and isolate its four-column layout from homepage legacy rules. */
html.xinda-klein-theme .homepage-official .xinda-global-footer {
  color: #b8cad4 !important;
  background: #061725 !important;
}

html.xinda-klein-theme .homepage-official .xinda-global-footer .xinda-footer-shell {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.35fr) minmax(250px, 1fr) minmax(180px, .75fr) minmax(210px, .8fr) !important;
  align-items: start !important;
  gap: clamp(30px, 4vw, 64px) !important;
}

html.xinda-klein-theme .homepage-official .xinda-footer-brand small,
html.xinda-klein-theme .homepage-official .xinda-footer-group > small {
  color: #39a9e8;
}

html.xinda-klein-theme .homepage-official .xinda-footer-intro > p,
html.xinda-klein-theme .homepage-official .xinda-footer-network b,
html.xinda-klein-theme .homepage-official .xinda-footer-group nav a,
html.xinda-klein-theme .homepage-official .xinda-footer-contact > a {
  color: #b8cad4;
}

html.xinda-klein-theme .homepage-official .xinda-footer-headquarters,
html.xinda-klein-theme .homepage-official .xinda-footer-branches,
html.xinda-klein-theme .homepage-official .xinda-footer-bottom {
  border-color: rgba(255, 255, 255, .1);
}

html.xinda-klein-theme .homepage-official .xinda-footer-bottom {
  color: #718a99;
}

html.xinda-klein-theme .homepage-official .xinda-footer-bottom a {
  color: #91aebb;
}

html.xinda-klein-theme .homepage-official .xinda-footer-contact .xinda-footer-inquiry {
  color: #fff;
  background: #0a80c5;
}

@media (max-width: 1100px) {
  html.xinda-klein-theme .homepage-official .b-hero__copy {
    width: 48%;
    padding-right: 3vw;
    padding-left: 4vw;
  }

  html.xinda-klein-theme .homepage-official .b-hero h1 {
    font-size: 48px;
  }

  html.xinda-klein-theme .homepage-official .b-hero__image {
    left: 48%;
  }

  html.xinda-klein-theme .homepage-official .b-hero__shade,
  html.xinda-klein-theme .homepage-official .b-hero__grid {
    right: 52%;
  }

  html.xinda-klein-theme .homepage-official .xinda-global-footer .xinda-footer-shell {
    grid-template-columns: 1.15fr 1fr !important;
  }
}

@media (max-width: 680px) {
  html.xinda-klein-theme .homepage-official .b-hero {
    min-height: 0;
    padding: 340px 0 0;
    display: block;
  }

  html.xinda-klein-theme .homepage-official .b-hero__image {
    left: 0;
    bottom: auto;
    height: 340px;
    background-position: 65% center;
  }

  html.xinda-klein-theme .homepage-official .b-hero__shade {
    top: 340px;
    right: 0;
    background: var(--klein);
  }

  html.xinda-klein-theme .homepage-official .b-hero__grid {
    top: 340px;
    right: 0;
  }

  html.xinda-klein-theme .homepage-official .b-hero__copy {
    width: 100%;
    padding: 52px 22px 64px;
  }

  html.xinda-klein-theme .homepage-official .b-hero h1 {
    font-size: 41px;
    white-space: normal;
  }

  html.xinda-klein-theme .homepage-official .fusion-green__visual-copy {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 25px 22px;
  }

  html.xinda-klein-theme .homepage-official .fusion-green__visual-copy h2 {
    font-size: 31px;
  }

  html.xinda-klein-theme .homepage-official .xinda-global-footer .xinda-footer-shell {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}
