/* 0-首页-5.psd, 1920 × 5562. Homepage corrections; shared navigation and footer live in design-system.css. */
/* Match PSD font runs and keep decorative layers separate from CMS content. */
.home-cases__card { background: #1f3efe; font-family: 'Source Han Sans SC', sans-serif; }
.home-cases__card::before {
  content: ''; position: absolute; pointer-events: none;
  left: 30%; top: 0; width: 100%; height: 100%;
  background: url('/website/tansun/home-demo/assets/psd-case-decoration.webp') center / auto 100% no-repeat;
}
.home-cases__copy, .home-cases__image { position: relative; z-index: 1; }
.home-cases__card[aria-hidden="true"] > *, .home-cases__card[aria-hidden="true"]::before { visibility: hidden; }
.home-cases__metrics dd, .home-cases__date { font-family: Arial, 'Source Han Sans SC', sans-serif; }
.home-cases__copy p { color: #ffffffcc; }
.home-cases__metrics dt, .home-cases__tag, .home-cases__date { color: #ffffff99; }
.home-cases__quote { color: #ffffff4d; }
.home-cases__copy .home-cases__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.home-cases__copy .home-cases__meta:empty { display: none; }
.home-cases__tag { display: inline-flex; align-items: center; justify-content: center; padding: 3px 10px; border-radius: 999px; background: #ffffff33; }
.home-cases__action {
  position: absolute; z-index: 2; right: 40px; bottom: 40px;
  display: grid; place-items: center; width: 36px; height: 36px;
  margin: 0; padding: 0; border-radius: 50%; background: #fff;
  color: #1f3efe; font: 24px/1 Arial, sans-serif;
}
@media (max-width: 1279px) {
  .home-cases__image { height: auto; aspect-ratio: 654 / 442; }
}

@media (min-width: 1280px) {
  .tansun-static-home .tn-header--delivered .tn-header__logo {
    flex-basis: 216px;
    width: 157px;
    height: 65px;
  }
  .tansun-static-home .tn-header--delivered .tn-header__logo img {
    width: 157px;
    height: 65px;
  }
  .tansun-static-home .tn-header--delivered .tn-header__search {
    margin-left: auto;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
  }
  .tansun-static-home .tn-header--delivered .tn-header__language { flex: 0 0 56px; }

  .home-banner .home-banner__title {
    font-size: calc(72px / var(--banner-canvas-scale, 1));
    line-height: 1.25;
    letter-spacing: 0;
  }
  .home-banner__slide--partner .home-banner__title em { color: #04bae8; }
  .home-banner__slide--partner .home-banner__description {
    font-size: 18px;
    line-height: 36px;
    margin-top: 43px;
  }
  .home-banner__metric p { font-size: 18px; line-height: 36px; }
  .home-banner__metric .home-banner__number {
    font-family: Arial, sans-serif;
    font-size: 90px;
    line-height: 110px;
    letter-spacing: 0;
  }

  .capabilities-heading h2 { letter-spacing: 0; }
  .capability-tabs button { font-weight: 700; line-height: 24px; }
  .capability-copy h3 { font-weight: 700; }
  .stats-value strong { font-family: Arial, sans-serif; font-weight: 700; letter-spacing: 0; }
  .stats-value span { font-weight: 700; }
  .stats-value .stats-prefix { top: 130px; font-size: 30px; line-height: 40px; }

  .home-cases__card {
    padding: 30px 30px 30px 70px;
    gap: 60px;
    border-radius: 50px;
    transform: translateY(calc(var(--slot) * 100px)) scale(calc(1 - var(--slot) * .14));
  }
  .home-cases__card::before {
    left: 452px; top: -122px; width: 738px; height: 729px;
  }
  .home-cases__copy {
    width: 590px; height: 442px;
    display: grid;
    grid-template-rows: 128px auto minmax(64px, auto) minmax(72px, 1fr) 33px;
  }
  .home-cases__quote {
    position: relative; top: -17px;
    font-size: 200px; font-weight: 400; line-height: 1;
    height: 128px; margin: 0; color: #ffffff4d;
  }
  .home-cases__copy h3 { margin: 0; font-size: 30px; line-height: 40px; font-weight: 700; }
  .home-cases__copy p { margin: 0; padding-top: 4px; font-size: 16px; line-height: 24px; }
  .home-cases__metrics { display: flex; gap: 0; margin: 0; align-self: start; }
  .home-cases__metrics > div { width: max-content; min-width: 150px; max-width: 33.333%; padding-right: 16px; box-sizing: border-box; overflow-wrap: anywhere; }
  .home-cases__metrics dd { font-size: 32px; line-height: 40px; font-weight: 400; }
  .home-cases__metrics dt { margin-top: 2px; font-size: 14px; line-height: 24px; }
  .home-cases__copy .home-cases__meta { margin: 0; font-size: 16px; line-height: 24px; gap: 18px; align-self: end; }
  .home-cases__tag { min-width: 72px; height: 33px; padding: 4px 10px; }
  .home-cases__image { width: 654px; height: 442px; border-radius: 50px; }
  .home-cases__action { right: 70px; bottom: 60px; width: 52px; height: 52px; font-size: 30px; }

  .news-heading h2 { line-height: 72px; }
  .news-copy h3 { line-height: 30px; }
  .news-copy time, .news-copy p { line-height: 30px; }
  .news-copy h3 { margin-top: 4px; }
  .news-media { left: 1080px; top: 239px; width: 680px; height: 360px; border-radius: 20px; }
  .cta-copy { left: 657px; width: 600px; }
  .cta-copy h2 { font-size: 40px; line-height: 60px; font-weight: 700; letter-spacing: 0; }
  .cta-actions { margin-top: 54px; }
}

@media (max-width: 1279px) {
  .stats-value .stats-prefix { top: 18%; font-size: clamp(18px, 5vw, 24px); line-height: 1.4; }
}

/* Keep small desktop text legible after the existing 1920px canvas scaling. */
@media (min-width: 1280px) and (max-width: 1919px) {
  .home-banner__slide--partner .home-banner__description,
  .home-banner__metric p { font-size: max(18px, calc(35px - 1.09375vw)); }
}

/* Keep the existing artwork continuous beneath the transparent shared footer. */
.tansun-static-home .tansun-home-surface { position: relative; isolation: isolate; overflow: clip; }
.tansun-static-home .tansun-home-surface :is(.page-stage, .psd-page) { overflow: visible; }

/* Requirement 31: banner supporting copy uses a consistent 16px size. */
.home-banner__description,
.home-banner__slide--partner .home-banner__description,
.home-banner__benefits { font-size: calc(16px / var(--banner-canvas-scale, 1)); }

/* Requirements 33–34: consistent action controls without changing text-button geometry. */
.tansun-static-home .home-cases__action { width: 50px; height: 50px; background: #fff; color: #1f3efe; border: 0; }
.home-cases__action svg { width: 20px; height: 20px; stroke-width: 1; }
@media (min-width: 1280px) {
  .tansun-static-home :is(.round-link, .home-cases__action) { width: calc(50px / var(--banner-canvas-scale, 1)); height: calc(50px / var(--banner-canvas-scale, 1)); min-width: 0; min-height: 0; }
}

/* Requirement 36: actual desktop pixels, including the homepage canvas scale. */
@media (min-width: 1280px) {
  .home-cases__copy { grid-template-rows: 128px max-content max-content max-content minmax(33px, 1fr); }
  .home-cases__metrics { margin-top: calc(65px / var(--case-canvas-scale, 1)); }
  .home-cases__metrics dd { font-size: calc(24px / var(--case-canvas-scale, 1)); line-height: 1.5; }
}

@media (max-width: 767px) {
  .capabilities { min-height: 1220px; }
  .capability-panel { min-height: 710px; overflow: visible; }
  .capability-copy p { min-height: 168px; }
  .capability-tabs { border-bottom: 1px solid #d9d9d9 !important; scrollbar-width: none; -ms-overflow-style: none; }
  .capability-tabs::-webkit-scrollbar { display: none; }
  .capability-tabs button.is-active::after { bottom: 7px !important; height: 3px !important; }
}
