/* 3840px 设计稿等比还原：现有尺寸为设计标注的 1/2，基准视口 1920px。
   1 个首页尺寸单位 = 100vw / 1920，等价于「设计稿 px / 3840 × 100vw」。
   字体、宽高、间距、圆角与装饰共用此单位，不在桌面断点单独改变比例。
   平板 / 手机保留原独立布局，将基准单位还原为 1px，避免过度缩小。 */
:root {
    --home-unit: calc(100vw / 1920);
    --home-card-width: calc(1390 * var(--home-unit));
}
body {
    background: #060b1e;
    color: #f8f9ff;
}

html {
    scroll-padding-top: calc(160 * var(--home-unit));
}

/* 导航本身依赖 translateX 居中，加载动画不再覆盖它的 transform。 */
body.loaded .navbar {
    animation: none;
}

/* 首页标题始终可读，避免滚动 / 锚点跳转时停在半透明的淡入状态。 */
.home-section-heading h2.animate-on-scroll,
.home-cta h2.animate-on-scroll,
.industry-news .section-title.animate-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
}

.navbar {
    top: calc(60 * var(--home-unit));
    width: min(calc(100% - calc(80 * var(--home-unit))), calc(1475 * var(--home-unit)));
    max-width: none;
    padding: calc(22 * var(--home-unit)) calc(82 * var(--home-unit));
    border-radius: calc(16 * var(--home-unit));
    background: rgba(30, 30, 30, 0.61);
    box-shadow: none;
}

.navbar .container {
    gap: calc(28 * var(--home-unit));
}

.logo-img {
    height: calc(30 * var(--home-unit));
    transform: none;
}

.nav-menu {
    flex: 0 1 calc(825 * var(--home-unit));
    justify-content: space-between;
    align-items: center;
    gap: calc(32 * var(--home-unit));
}

.nav-menu > li > a {
    white-space: nowrap;
    font-size: calc(22 * var(--home-unit));
}

.nav-menu .contact-link {
    font-weight: 700;
}

.hero-stats {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    /* 首屏高度跟随可视区域，避免 vw 在宽屏窗口中把文案和按钮挤出首屏。 */
    grid-template-rows: 100vh auto;
    grid-template-rows: 100dvh auto;
    background: #060b1e;
}

.hero-stats > .hero {
    grid-area: 1 / 1;
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-overlay {
    background: linear-gradient(180deg, rgba(3, 8, 22, 0.23), rgba(3, 8, 22, 0.16) 46%, rgba(3, 8, 22, 0.74));
}

.hero-info {
    display: contents;
}

.hero-info > .hero-content {
    grid-area: 1 / 1;
    z-index: 2;
    align-self: end;
    width: min(100%, calc(1520 * var(--home-unit)));
    margin: 0 auto;
    padding: 0 calc(32 * var(--home-unit)) calc(76 * var(--home-unit));
    text-align: center;
    max-width: none;
}

.hero-title {
    margin-bottom: calc(24 * var(--home-unit));
    color: #fff;
    font-family: 'Source Han Sans CN', 'Microsoft YaHei', sans-serif;
    font-size: calc(74 * var(--home-unit));
    font-weight: 700;
    line-height: 1.2;
}

.hero-desc {
    max-width: calc(1320 * var(--home-unit));
    margin: 0 auto calc(98 * var(--home-unit));
    color: rgba(255, 255, 255, 0.88);
    font-family: 'Source Han Sans CN', 'Microsoft YaHei', sans-serif;
    font-size: calc(24 * var(--home-unit));
    line-height: 1.4;
}

.hero-desc .hero-phrase {
    display: inline-block;
    white-space: nowrap;
}

.btn-hero,
.btn-hero-mobile {
    display: inline-flex;
    min-width: calc(234 * var(--home-unit));
    min-height: calc(56 * var(--home-unit));
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: calc(28 * var(--home-unit));
    background: #2156fe;
    color: #fff;
    font-family: 'Source Han Sans CN', 'Microsoft YaHei', sans-serif;
    font-size: calc(27.5 * var(--home-unit));
    text-decoration: none;
    padding: 0 calc(42 * var(--home-unit));
    line-height: 1.3;
    box-shadow: none;
    transition: transform 0.3s, box-shadow 0.3s, filter 0.3s;
}

.stats {
    grid-area: 2 / 1;
    padding: calc(105 * var(--home-unit)) 0 calc(70 * var(--home-unit));
    background: #060b1e;
}

.stats > .container {
    width: min(calc(100% - calc(64 * var(--home-unit))), calc(1730 * var(--home-unit)));
    max-width: none;
    padding: 0;
}

.stats-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(48 * var(--home-unit)) calc(24 * var(--home-unit));
    padding: calc(74 * var(--home-unit)) calc(26 * var(--home-unit));
    border: 0;
    border-radius: calc(52 * var(--home-unit));
    background: #0b1121;
    max-width: none;
}

.stat-item {
    min-width: 0;
    padding: 0 calc(6 * var(--home-unit));
    text-align: center;
}

.stat-value {
    display: flex;
    min-height: calc(60 * var(--home-unit));
    align-items: baseline;
    justify-content: center;
    gap: calc(6 * var(--home-unit));
    white-space: nowrap;
}

.stat-number {
    min-width: 0;
    font-variant-numeric: tabular-nums;
    color: #f7f8ff;
    font-family: 'Kingsoft Cloud', 'Source Han Sans CN', sans-serif;
    font-size: calc(49.5 * var(--home-unit));
    line-height: 1;
}

.stat-unit,
.stat-label {
    color: #f7f8ff;
    font-family: 'Source Han Sans CN', 'Microsoft YaHei', sans-serif;
    font-size: calc(19 * var(--home-unit));
}

.stat-label {
    margin-top: calc(12 * var(--home-unit));
    line-height: 1.4;
}

.stat-unit {
    flex-shrink: 0;
}

.stats .btn-hero-mobile {
    display: none;
}

.home-refresh {
    font-family: 'Source Han Sans CN', 'Microsoft YaHei', sans-serif;
    overflow: hidden;
    background: #060b1e;
}

.home-container {
    width: min(calc(100% - calc(64 * var(--home-unit))), calc(1730 * var(--home-unit)));
    margin: 0 auto;
}

/* 七个卡片区域共用宽度，首尾卡片的外边缘始终对齐。 */
.stats-wrapper,
.pain-grid,
.why-list,
.chain-grid,
.compare-grid,
.payment-grid,
.faq-list {
    width: min(100%, var(--home-card-width));
    margin-right: auto;
    margin-left: auto;
}

.home-section {
    padding: calc(100 * var(--home-unit)) 0;
    background: #060b1e;
    scroll-margin-top: 0;
}

.home-section-heading {
    margin: 0 auto calc(58 * var(--home-unit));
    text-align: center;
}

.home-section-heading h2,
.home-cta h2 {
    color: #fff;
    font-family: 'Source Han Sans CN', 'Microsoft YaHei', sans-serif;
    font-size: calc(60 * var(--home-unit));
    font-weight: 700;
    line-height: 1.2;
}

.home-section-heading p {
    margin-top: calc(20 * var(--home-unit));
    color: #c5c5c5;
    font-family: 'Source Han Sans CN', 'Microsoft YaHei', sans-serif;
    font-size: calc(27 * var(--home-unit));
    line-height: 1.55;
}

.pain-section {
    padding-top: calc(18 * var(--home-unit));
}

.pain-section .home-section-heading {
    margin-bottom: calc(88 * var(--home-unit));
}

.pain-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: calc(14 * var(--home-unit));
}

.pain-card {
    min-height: calc(402 * var(--home-unit));
    padding: calc(50 * var(--home-unit)) calc(36 * var(--home-unit)) calc(30 * var(--home-unit));
    border-radius: calc(24 * var(--home-unit));
    background: #0d1225;
}

.pain-card > img {
    display: block;
    width: calc(53 * var(--home-unit));
    height: calc(53 * var(--home-unit));
    object-fit: contain;
    margin-bottom: calc(24 * var(--home-unit));
}

.pain-card h3 {
    margin-bottom: calc(22 * var(--home-unit));
    color: #fff;
    font-size: calc(26 * var(--home-unit));
    font-weight: 500;
    line-height: 1.35;
}

.pain-card p,
.why-card p,
.chain-step p,
.scientist-copy > p,
.compare-card p,
.payment-card p,
.faq-item > p {
    color: #bdc3d2;
    font-size: calc(20 * var(--home-unit));
    line-height: 1.75;
}

.why-list {
    display: grid;
    gap: calc(52 * var(--home-unit));
    margin: 0 auto;
}

.why-card {
    position: relative;
    min-height: calc(250 * var(--home-unit));
    padding: calc(48 * var(--home-unit)) calc(64 * var(--home-unit)) calc(48 * var(--home-unit)) calc(96 * var(--home-unit));
    border: calc(1 * var(--home-unit)) solid #202944;
    border-radius: calc(20 * var(--home-unit));
    background: #0d1225;
}

.why-card > img {
    position: absolute;
    top: calc(46 * var(--home-unit));
    left: calc(96 * var(--home-unit));
    width: calc(72 * var(--home-unit));
    height: calc(72 * var(--home-unit));
    object-fit: contain;
}

.why-card h3 {
    margin: calc(104 * var(--home-unit)) 0 calc(18 * var(--home-unit));
    color: #fff;
    font-size: calc(26 * var(--home-unit));
    line-height: 1.35;
}

.why-card h3 span,
.why-metrics strong {
    color: #2156fe;
}

.why-card p {
    font-size: calc(20 * var(--home-unit));
}

.why-card-agent {
    padding-bottom: calc(56 * var(--home-unit));
}

.why-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(16 * var(--home-unit));
    margin: calc(52 * var(--home-unit)) calc(56 * var(--home-unit)) 0 calc(24 * var(--home-unit));
    padding: calc(32 * var(--home-unit)) calc(24 * var(--home-unit));
    border: calc(1 * var(--home-unit)) solid #242b41;
    border-radius: calc(12 * var(--home-unit));
    background: #0d1427;
    text-align: center;
}

.why-metrics span {
    color: #dfe3ed;
    font-size: calc(20 * var(--home-unit));
    font-weight: 700;
}

.why-metrics strong {
    display: inline-block;
    margin-left: calc(6 * var(--home-unit));
    font-size: calc(26 * var(--home-unit));
}

.chain-section {
    padding-top: calc(110 * var(--home-unit));
}

.chain-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: calc(100 * var(--home-unit));
    row-gap: calc(68 * var(--home-unit));
    margin: 0 auto;
}

.chain-step {
    position: relative;
    min-height: calc(220 * var(--home-unit));
    padding: calc(4 * var(--home-unit)) calc(12 * var(--home-unit)) 0;
}

.step-number {
    display: grid;
    width: calc(74 * var(--home-unit));
    height: calc(74 * var(--home-unit));
    margin: 0 auto calc(32 * var(--home-unit));
    place-items: center;
    border: calc(1 * var(--home-unit)) solid #182b62;
    border-radius: 50%;
    color: #2156fe;
    font-size: calc(39 * var(--home-unit));
    font-weight: 700;
    background: #0d1427;
    box-shadow: 0 0 calc(10 * var(--home-unit)) rgba(33, 86, 254, 0.08);
}

.chain-step h3 {
    margin-bottom: calc(32 * var(--home-unit));
    color: #fff;
    font-size: calc(26 * var(--home-unit));
    text-align: center;
}

.chain-step p {
    font-size: calc(20 * var(--home-unit));
}

.scientist-section {
    padding-bottom: calc(104 * var(--home-unit));
    background: #060b1e;
    padding-top: calc(60 * var(--home-unit));
}

.scientist-profile {
    display: grid;
    grid-template-columns: minmax(0, 37.1%) minmax(0, 1fr);
    gap: calc(32 * var(--home-unit));
    align-items: end;
    width: 100%;
    margin: 0 auto;
}

.scientist-photo {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    align-self: end;
}

.scientist-copy {
    max-width: calc(880 * var(--home-unit));
}

.scientist-copy h3 {
    color: #fff;
    font-size: calc(30 * var(--home-unit));
}

.scientist-copy .scientist-role {
    margin: calc(8 * var(--home-unit)) 0 calc(68 * var(--home-unit));
    color: #2156fe;
    font-size: calc(22.5 * var(--home-unit));
}

.scientist-copy > p {
    margin: 0 0 calc(24 * var(--home-unit));
    font-size: calc(20 * var(--home-unit));
}

.compare-section {
    background: #0b1121;
}

.compare-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) calc(180 * var(--home-unit)) minmax(0, 1fr);
    gap: calc(36 * var(--home-unit));
    align-items: center;
    margin: 0 auto;
}

.compare-card {
    display: flex;
    min-height: calc(390 * var(--home-unit));
    padding: calc(64 * var(--home-unit)) calc(32 * var(--home-unit));
    align-items: center;
    flex-direction: column;
    justify-content: center;
    border: calc(1 * var(--home-unit)) solid #202944;
    border-radius: calc(20 * var(--home-unit));
    background: #0d1225;
    text-align: center;
}

.compare-card h3 {
    margin-bottom: calc(72 * var(--home-unit));
    padding: calc(10 * var(--home-unit)) calc(20 * var(--home-unit));
    border-radius: calc(40 * var(--home-unit));
    background: #2156fe;
    color: #fff;
    font-size: calc(26 * var(--home-unit));
    width: min(100%, calc(366 * var(--home-unit)));
    line-height: 1.4;
}

.compare-card-subscription h3 {
    background: #565656;
}

.compare-card p {
    margin: calc(6 * var(--home-unit)) 0;
    color: #f0f2f8;
    font-weight: 700;
}

.compare-card a {
    margin-top: calc(24 * var(--home-unit));
    color: #5b82ff;
    font-size: calc(22 * var(--home-unit));
}

.compare-vs {
    display: block;
    width: calc(180 * var(--home-unit));
    height: auto;
}

.payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(80 * var(--home-unit));
    margin: 0 auto;
}

.payment-card {
    min-width: 0;
    padding: calc(44 * var(--home-unit)) calc(48 * var(--home-unit));
    border: calc(1 * var(--home-unit)) solid #484e61;
    border-radius: calc(12 * var(--home-unit));
    background: #0a0f22;
}

.payment-card h3 {
    margin-bottom: calc(30 * var(--home-unit));
    color: #fff;
    font-size: calc(26 * var(--home-unit));
    text-align: center;
}

.payment-card h3 span {
    color: #2156fe;
    font-size: calc(22.5 * var(--home-unit));
    white-space: nowrap;
}

.payment-rules,
.new-user-benefits {
    padding: calc(36 * var(--home-unit)) calc(40 * var(--home-unit));
    border: calc(1 * var(--home-unit)) solid #3c4668;
    border-radius: calc(10 * var(--home-unit));
    background: #0b1636;
}

.payment-rules p,
.new-user-benefits p {
    margin: 0 0 calc(14 * var(--home-unit));
    color: #b5c2e6;
    font-size: calc(20 * var(--home-unit));
}

.payment-rules p:last-child,
.new-user-benefits p:last-child {
    margin-bottom: 0;
}

.payment-tag {
    display: inline-flex;
    margin: calc(40 * var(--home-unit)) 0 calc(24 * var(--home-unit));
    padding: calc(4 * var(--home-unit)) calc(16 * var(--home-unit));
    border-radius: calc(18 * var(--home-unit));
    background: #2156fe;
    color: #fff;
    font-size: calc(20 * var(--home-unit));
    line-height: 1.2;
}

.payment-features {
    display: grid;
    gap: calc(18 * var(--home-unit));
    list-style: none;
}

.payment-features li {
    display: flex;
    align-items: center;
    gap: calc(12 * var(--home-unit));
    color: #d4d9e6;
    font-size: calc(20 * var(--home-unit));
}

.payment-features img {
    width: calc(26 * var(--home-unit));
    height: auto;
}

.payment-card-new {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.payment-card-new h3 {
    width: 100%;
}

.new-user-benefits {
    width: 100%;
}

.payment-qr {
    display: block;
    width: calc(205 * var(--home-unit));
    height: calc(205 * var(--home-unit));
    margin: calc(68 * var(--home-unit)) auto calc(24 * var(--home-unit));
}

.payment-card p.qr-caption {
    font-size: calc(20 * var(--home-unit));
    font-weight: 400;
}

.qr-caption-wecom {
    display: inline-block;
    width: 1.454545em;
    height: auto;
    margin: 0 0.2em;
    vertical-align: middle;
}

.home-primary-button {
    display: inline-flex;
    min-width: calc(220 * var(--home-unit));
    min-height: calc(56 * var(--home-unit));
    margin-top: calc(24 * var(--home-unit));
    padding: calc(12 * var(--home-unit)) calc(28 * var(--home-unit));
    align-items: center;
    justify-content: center;
    border-radius: calc(28 * var(--home-unit));
    background: #2156fe;
    color: #fff;
    font-size: calc(22 * var(--home-unit));
    font-weight: 700;
    text-decoration: none;
}

.industry-solutions {
    padding-top: calc(90 * var(--home-unit));
    padding-bottom: 0;
}

.solution-layout {
    display: grid;
    grid-template-columns: 38.6% minmax(0, 1fr);
    min-height: calc(780 * var(--home-unit));
    background: #12192b;
}

.solution-tabs {
    display: flex;
    padding: calc(72 * var(--home-unit)) calc(20 * var(--home-unit)) calc(72 * var(--home-unit)) calc(320 * var(--home-unit));
    flex-direction: column;
    justify-content: space-between;
    background: #0d1225;
}

.solution-tabs button {
    min-height: calc(74 * var(--home-unit));
    padding: calc(12 * var(--home-unit)) calc(20 * var(--home-unit));
    border: 1px solid transparent;
    border-radius: calc(14 * var(--home-unit));
    background: transparent;
    color: #9299ac;
    cursor: pointer;
    font: inherit;
    font-size: calc(26 * var(--home-unit));
    text-decoration: none;
    text-align: center;
    transition: color 0.22s, background 0.22s, border-color 0.22s, box-shadow 0.22s;
}

.solution-tabs button[aria-selected="true"] {
    border-color: #597de4;
    background: rgba(57, 99, 219, 0.13);
    box-shadow: inset 0 0 0 1px rgba(149, 176, 255, 0.08);
    color: #fff;
}

.solution-tabs button:hover,
.solution-tabs button:focus-visible {
    color: #fff;
    border-color: #597de4;
    outline: none;
}

.solution-content {
    display: flow-root;
}

.solution-panel {
    padding: calc(80 * var(--home-unit)) calc(88 * var(--home-unit)) calc(68 * var(--home-unit));
    background: #12192b;
}

.solution-panel h3 {
    margin-bottom: calc(60 * var(--home-unit));
    color: #fff;
    font-size: calc(30 * var(--home-unit));
    font-weight: 400;
}

.solution-panel h4 {
    margin: calc(42 * var(--home-unit)) 0 calc(28 * var(--home-unit));
    color: #d7dbe5;
    font-size: calc(20 * var(--home-unit));
    font-weight: 400;
}

.solution-kicker {
    display: flex;
    align-items: center;
    gap: calc(8 * var(--home-unit));
}

.solution-kicker::before {
    content: '';
    display: inline-block;
    flex: 0 0 auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.solution-kicker-pain::before {
    width: 0.90625em;
    height: 0.90625em;
    background-image: url('../img/home-refresh/solution-target.png');
}

.solution-kicker-highlights::before {
    width: 1.015625em;
    height: 1.0625em;
    background-image: url('../img/home-refresh/solution-award.png');
}

.solution-chips {
    display: flex;
    flex-wrap: wrap;
    gap: calc(24 * var(--home-unit));
}

.solution-chips span {
    padding: calc(10 * var(--home-unit)) calc(20 * var(--home-unit));
    border-radius: calc(12 * var(--home-unit));
    color: #eef1fa;
    font-size: calc(23 * var(--home-unit));
    line-height: 1.6;
}

.solution-pain-points span {
    background: #565656;
}

.solution-pain-points span::before {
    content: '\00d7';
    margin-right: calc(9 * var(--home-unit));
    color: #fff;
}

.solution-highlights span {
    background: #2156fe;
}

.solution-highlights span::before {
    content: '\2713';
    margin-right: calc(9 * var(--home-unit));
}

.solution-description {
    margin-top: calc(28 * var(--home-unit));
    color: #bbc2d3;
    font-size: calc(20 * var(--home-unit));
    line-height: 1.7;
}

.faq-section {
    padding-top: calc(116 * var(--home-unit));
    padding-bottom: calc(110 * var(--home-unit));
}

.faq-list {
    display: grid;
    gap: calc(18 * var(--home-unit));
    margin: 0 auto;
}

.faq-item {
    --faq-inline-padding: calc(144 * var(--home-unit));
    overflow: hidden;
    border: calc(1 * var(--home-unit)) solid #39446f;
    border-radius: calc(24 * var(--home-unit));
    background: #0d1225;
    transition: border-color 0.24s, background 0.24s, box-shadow 0.24s;
}

.faq-item:hover,
.faq-item:focus-within,
.faq-item.is-expanded {
    border-color: #597de4;
    background: #10192f;
    box-shadow: inset 0 0 0 1px rgba(149, 176, 255, 0.06);
}

.faq-item summary {
    display: flex;
    min-height: calc(110 * var(--home-unit));
    padding: calc(32 * var(--home-unit)) var(--faq-inline-padding);
    align-items: center;
    justify-content: space-between;
    gap: calc(24 * var(--home-unit));
    color: #f5f6fb;
    cursor: pointer;
    font-size: calc(26 * var(--home-unit));
    font-weight: 700;
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-icon {
    display: block;
    width: calc(46 * var(--home-unit));
    height: calc(46 * var(--home-unit));
    flex: 0 0 calc(46 * var(--home-unit));
    background: url('../img/home-refresh/faq-closed.png') center / contain no-repeat;
    transition: transform 0.2s ease;
}

.faq-item[open]:not(.is-animating) .faq-icon,
.faq-item.is-expanded .faq-icon {
    background-image: url('../img/home-refresh/faq-open.png');
    transform: none;
}

.faq-item > p {
    margin: 0;
    padding: 0 var(--faq-inline-padding) calc(60 * var(--home-unit));
    font-size: calc(20 * var(--home-unit));
    color: #fff;
    line-height: 1.5;
}

.faq-item > p a {
    color: #6c8dff;
}

.home-cta {
    padding: calc(110 * var(--home-unit)) 0 calc(100 * var(--home-unit));
    background: #0b1121 url('../img/home-refresh/cta-bg.webp') center / cover no-repeat;
    text-align: center;
}

.home-cta h2 {
    margin-bottom: calc(90 * var(--home-unit));
    font-size: calc(60 * var(--home-unit));
}

.cta-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(60 * var(--home-unit));
    width: min(100%, calc(1420 * var(--home-unit)));
    margin: 0 auto;
}

.cta-features article {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.cta-icon {
    display: grid;
    place-items: center;
    width: calc(100 * var(--home-unit));
    height: calc(100 * var(--home-unit));
    margin-bottom: calc(20 * var(--home-unit));
    border: calc(1 * var(--home-unit)) solid #1c2c56;
    border-radius: 50%;
    background: #0d1427;
    box-shadow: 0 0 calc(10 * var(--home-unit)) rgba(33, 86, 254, 0.08);
}

.cta-features img {
    width: calc(64 * var(--home-unit));
    height: calc(66 * var(--home-unit));
    margin-bottom: 0;
    object-fit: contain;
}

.cta-features h3 {
    margin-bottom: calc(14 * var(--home-unit));
    color: #f8f9ff;
    font-size: calc(26 * var(--home-unit));
    font-weight: 400;
}

.cta-features p {
    max-width: calc(380 * var(--home-unit));
    color: #c6cad5;
    font-size: calc(23 * var(--home-unit));
    line-height: 2;
    font-weight: 700;
}

.home-cta .home-primary-button {
    font-size: calc(26 * var(--home-unit));
    font-weight: 400;
    min-width: calc(324 * var(--home-unit));
    min-height: calc(76 * var(--home-unit));
    margin-top: calc(76 * var(--home-unit));
    border-radius: calc(40 * var(--home-unit));
}

.main-content-background,
.process {
    display: none !important;
}

.industry-news {
    padding-top: calc(92 * var(--home-unit));
    background: #060b1e;
}

.industry-news .section-title {
    font-size: calc(60 * var(--home-unit));
    margin-bottom: 0;
}

.industry-news .industry-news-title {
    font-size: calc(26 * var(--home-unit));
}

.industry-news .industry-news-summary {
    font-size: calc(20 * var(--home-unit));
}

.industry-news .industry-news-card {
    background: #0d1225;
    border: calc(1 * var(--home-unit)) solid #39446f;
    border-radius: calc(24 * var(--home-unit));
    min-height: calc(214 * var(--home-unit));
}

.industry-news .industry-news-card:hover,
.industry-news .industry-news-card:focus-visible {
    background: #0d1225;
    border-color: #506dc8;
}

.industry-news .industry-news-title,
.industry-news .industry-news-date,
.industry-news .industry-news-card:hover .industry-news-title,
.industry-news .industry-news-card:focus-visible .industry-news-title,
.industry-news .industry-news-card:hover .industry-news-date,
.industry-news .industry-news-card:focus-visible .industry-news-date {
    color: #2156fe;
}

.industry-news .industry-news-date {
    font-size: calc(20 * var(--home-unit));
}

.industry-news .industry-news-summary,
.industry-news .industry-news-card:hover .industry-news-summary,
.industry-news .industry-news-card:focus-visible .industry-news-summary {
    color: #fff;
}

.industry-news .industry-news-arrow,
.industry-news .industry-news-card:hover .industry-news-arrow,
.industry-news .industry-news-card:focus-visible .industry-news-arrow {
    background-image: url('../img/home-refresh/news-arrow.png');
}

.industry-news .section-divider {
    display: none;
}

.footer {
    margin-top: 0;
    background: #060b1e;
}

.footer .footer-col h4 a[href="/"],
.footer .footer-col h4 a[href="/industry-consulting-1.html"] {
    color: #fff;
}

.footer .footer-col h4 a[href="/"]:hover,
.footer .footer-col h4 a[href="/"]:focus-visible,
.footer .footer-col h4 a[href="/industry-consulting-1.html"]:hover,
.footer .footer-col h4 a[href="/industry-consulting-1.html"]:focus-visible {
    color: rgba(255, 107, 53, 0.8);
}

/* 与设计稿一致的颜色和正文行高。 */
.pain-card p {
    color: #c5c5c5;
    line-height: 1.5;
}

.why-section {
    background: #0b1121;
}

.why-card p,
.chain-step p,
.scientist-copy > p:not(.scientist-role) {
    color: #fff;
    line-height: 1.5;
}

@media (min-width: 969px) {
    .scientist-section > .home-container,
    .industry-solutions > .home-container {
        width: 100%;
    }

    .scientist-section .home-section-heading,
    .industry-solutions .home-section-heading {
        width: min(calc(100% - calc(64 * var(--home-unit))), calc(1730 * var(--home-unit)));
    }
}

.industry-news .container {
    width: min(calc(100% - calc(64 * var(--home-unit))), calc(1475 * var(--home-unit)));
    max-width: none;
    padding: 0;
}

.industry-news-grid {
    gap: calc(50 * var(--home-unit));
    margin-top: calc(76 * var(--home-unit));
}

.industry-news .industry-news-foot {
    justify-content: space-between;
    padding-top: calc(6 * var(--home-unit));
    padding-bottom: calc(18 * var(--home-unit));
}

.industry-news .industry-news-arrow {
    width: calc(42.5 * var(--home-unit));
    height: calc(12 * var(--home-unit));
}

.footer-legal img {
    margin-right: 4px;
}

.footer-inner {
    width: min(calc(100% - calc(64 * var(--home-unit))), calc(1445 * var(--home-unit)));
    max-width: none;
    padding: 0;
}

/* 共享样式中的尺寸也参与首页桌面缩放，其他页面继续使用原样式。 */
@media (min-width: 969px) and (hover: hover),
       (min-width: 969px) and (pointer: fine),
       (min-width: 969px) and (pointer: none) {
    body {
        font-size: 0.833333vw;
    }

    .navbar {
        backdrop-filter: blur(1.041667vw);
    }

    .stat-item + .stat-item {
        border-left-width: 0.052083vw;
    }

    .stat-unit {
        margin-left: 0.416667vw;
    }

    .btn-hero:hover {
        transform: translateY(-0.15625vw);
        box-shadow: 0 0.78125vw 2.604167vw rgba(139, 92, 246, 0.6);
    }

    .industry-news {
        padding-bottom: 5.208333vw;
    }

    .industry-news .industry-news-card {
        gap: 1.5625vw;
        padding: 2.083333vw;
    }

    .industry-news .industry-news-card:hover,
    .industry-news .industry-news-card:focus-visible {
        transform: translateY(-0.208333vw);
    }

    .industry-news .industry-news-title {
        margin-bottom: 0.9375vw;
    }

    .industry-news .industry-news-foot {
        gap: 0.625vw;
        padding-left: 1.5625vw;
    }

    .industry-news .industry-news-date {
        letter-spacing: 0.052083vw;
    }

    .industry-news-state {
        font-size: 0.9375vw;
        padding: 3.125vw 0;
    }

    .footer {
        padding: 2.604167vw 0 1.5625vw;
    }

    .footer-inner {
        gap: 2.604167vw;
        margin-bottom: 1.770833vw;
    }

    .footer-logo {
        flex-basis: 13.541667vw;
        margin-right: 3.645833vw;
    }

    .footer-logo img {
        width: 9.635417vw;
    }

    .footer-company {
        margin-top: 2.604167vw;
        font-size: 0.677083vw;
        line-height: 1.25vw;
    }

    /* Footer headings and links use the same vw-based size as the main navigation. */
    .footer-col h4,
    .footer-col h4 a {
        font-size: calc(22 * var(--home-unit));
    }

    .footer-contact p {
        font-size: 0.885417vw;
    }

    .footer-col h4 {
        margin-bottom: 0.9375vw;
    }

    .footer-col a {
        font-size: calc(22 * var(--home-unit));
        margin-bottom: 0.625vw;
    }

    .footer-contact {
        gap: 0.416667vw;
        margin-top: 0.208333vw;
    }

    .footer-contact img {
        width: 6.25vw;
    }

    .footer-legal {
        gap: 0.625vw;
        margin-top: 0.416667vw;
        font-size: 0.677083vw;
        line-height: 1.25vw;
    }

    .footer-legal img {
        width: 0.729167vw;
        height: 0.729167vw;
        margin-right: 0.208333vw;
    }

    .animate-slide-left:not(.is-visible) {
        transform: translateX(-2.604167vw);
    }

    .animate-slide-right:not(.is-visible) {
        transform: translateX(2.604167vw);
    }
}

@media (max-width: 968px), (hover: none) and (pointer: coarse) {
    :root {
        --home-unit: 1px;
    }
}

@media (max-width: 968px) {
    .scientist-profile {
        grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
        width: 100%;
        margin: 0 auto;
        align-items: center;
    }

    .solution-layout {
        min-height: 480px;
    }

    .solution-tabs {
        padding: 32px 20px;
        justify-content: center;
    }
}

@media (max-width: 968px) {
    .navbar {
        width: calc(100% - 48px);
        padding-right: 30px;
        padding-left: 30px;
    }

    .nav-menu {
        gap: 18px;
    }

    .nav-menu > li > a {
        font-size: 15px;
    }

    .pain-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pain-card {
        min-height: 320px;
    }

    .payment-grid {
        gap: 28px;
    }
}

@media (max-width: 968px) {
    .navbar {
        top: 14px;
        width: calc(100% - 32px);
        padding: 6px 16px;
        background: rgba(20, 24, 37, 0.82) !important;
        border-radius: 8px;
        backdrop-filter: blur(14px);
    }

    .logo-img {
        filter: brightness(0) invert(1);
    }

    .hamburger span {
        background: #fff;
    }

    .nav-menu {
        flex: none;
        justify-content: flex-start;
        top: 56px;
        left: 0;
        gap: 0;
        background: rgba(10, 15, 31, 0.98);
        border-radius: 8px;
    }

    .nav-menu > li > a {
        color: #fff;
    }

    .hero-stats {
        grid-template-rows: minmax(650px, 82vh) auto;
    }

    .hero-info > .hero-content {
        padding: 0 24px 76px;
    }

    .hero-title {
        font-size: 64px;
    }

    .hero-desc {
        margin-bottom: 44px;
        line-height: 1.65;
        font-size: 24px;
    }

    .stats-wrapper {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 34px;
    }

    /* Leave room for thousands separators and the unit in three columns. */
    .stat-number {
        font-size: clamp(30px, calc(7vw - 22px), 46px);
    }

    .home-section {
        padding: 82px 0;
    }

    .home-section-heading h2,
    .industry-news .section-title {
        font-size: 54px;
    }

    .home-section-heading p {
        font-size: 23px;
    }

    .why-card {
        padding-right: 48px;
        padding-left: 48px;
    }

    .why-card > img {
        left: 48px;
    }

    .chain-grid {
        column-gap: 32px;
    }

    .scientist-profile {
        gap: 28px;
    }

    .solution-layout {
        grid-template-columns: minmax(210px, 0.7fr) minmax(0, 1.3fr);
    }

    .solution-panel {
        padding: 38px 32px;
    }

    .faq-item {
        --faq-inline-padding: 48px;
    }

    .faq-item summary {
        font-size: 26px;
    }
}

@media (max-width: 768px), (hover: none) and (pointer: coarse) {
    html {
        scroll-padding-top: 76px;
    }

    body {
        min-width: 320px;
        background: #060b1e;
    }

    .container,
    .home-container {
        width: 100%;
        max-width: none;
        padding-right: 18px;
        padding-left: 18px;
    }

    .navbar {
        position: absolute;
        top: 12px;
        left: 12px;
        width: calc(100% - 24px);
        height: 54px;
        padding: 0 12px;
        transform: none;
        background: rgba(20, 24, 37, 0.84) !important;
    }

    .navbar .container {
        height: 100%;
        padding: 0;
    }

    .logo-img {
        width: auto;
        height: 28px;
    }

    .hamburger {
        width: 42px;
        height: 42px;
    }

    .nav-menu {
        position: absolute;
        top: 58px;
        right: 0;
        left: 0;
        display: flex;
        padding: 8px 12px 14px;
        flex-direction: column;
        align-items: stretch;
        max-height: calc(100vh - 76px);
        overflow-y: auto;
        background: rgba(8, 13, 29, 0.98);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    }

    .nav-menu.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .nav-menu > li > a {
        justify-content: center;
        padding: 12px 8px;
        color: #fff;
        font-size: 16px;
    }

    .hero-stats {
        display: grid;
        grid-template-rows: 680px auto;
        background: #060b1e;
    }

    .hero-stats > .hero {
        grid-area: 1 / 1;
        min-height: 0;
    }

    .hero-info {
        display: contents;
        background: transparent;
    }

    .hero-info > .hero-content {
        grid-area: 1 / 1;
        align-self: end;
        margin: 0;
        padding: 0 20px 64px;
    }

    .hero-info > .hero-content .hero-title,
    .hero-info > .hero-content .hero-desc {
        color: #fff;
    }

    .hero-overlay {
        display: block;
    }

    .hero-info > .hero-content .btn-hero {
        display: inline-flex;
        min-width: 148px;
        min-height: 46px;
        font-size: 17px;
    }

    .hero-title {
        max-width: 250px;
        margin-bottom: 18px;
        margin-right: auto;
        margin-left: auto;
        font-size: 40px;
        line-height: 1.3;
    }

    .hero-desc {
        margin-bottom: 22px;
        font-size: 16px;
        line-height: 1.8;
    }

    .btn-hero {
        min-width: 148px;
        min-height: 46px;
        font-size: 17px;
    }

    .stats {
        grid-area: 2 / 1;
        padding: 24px 18px 32px;
    }

    .stats > .container {
        width: 100%;
        padding: 0;
    }

    .stats-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        padding: 20px 10px;
    }

    .stat-item {
        min-height: 100px;
        padding: 14px 4px;
    }

    .stat-value {
        min-height: 34px;
        gap: 4px;
    }

    .stat-number {
        font-size: clamp(20px, calc(10vw - 12px), 32px);
    }

    .stat-unit,
    .stat-label {
        font-size: 14px;
    }

    .stat-label {
        margin-top: 8px;
    }

    .home-section {
        padding: 64px 0;
    }

    .pain-section {
        padding-top: 30px;
    }

    .home-section-heading {
        margin-bottom: 34px;
    }

    .home-section-heading h2,
    .industry-news .section-title {
        font-size: 32px;
        line-height: 1.35;
    }

    .home-section-heading p {
        margin-top: 12px;
        font-size: 16px;
    }

    .pain-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .pain-card {
        min-height: 260px;
        padding: 20px 16px;
    }

    .pain-card:last-child {
        grid-column: 1 / -1;
    }

    .pain-card > img {
        width: 40px;
        height: 40px;
        margin-bottom: 14px;
    }

    .pain-card h3 {
        margin-bottom: 10px;
        font-size: 18px;
    }

    .pain-card p,
    .why-card p,
    .chain-step p,
    .scientist-copy > p,
    .compare-card p,
    .payment-card p,
    .faq-item > p {
        font-size: 14px;
        line-height: 1.75;
    }

    .why-list {
        gap: 16px;
    }

    .why-card {
        min-height: 0;
        padding: 24px 20px;
    }

    .why-card > img {
        position: static;
        width: 48px;
        height: 48px;
        margin-bottom: 12px;
    }

    .why-card h3 {
        margin: 0 0 10px;
        font-size: 20px;
    }

    .why-metrics {
        grid-template-columns: 1fr;
        gap: 8px;
        margin: 18px 0 0;
        padding: 14px;
    }

    .why-metrics span {
        font-size: 14px;
    }

    .why-metrics strong {
        font-size: 22px;
    }

    .chain-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 14px;
    }

    .chain-step {
        min-height: 0;
        padding: 0;
    }

    .step-number {
        width: 42px;
        height: 42px;
        margin-bottom: 12px;
        font-size: 22px;
    }

    .chain-step h3 {
        min-height: 44px;
        margin-bottom: 8px;
        font-size: 16px;
    }

    .scientist-profile {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .scientist-photo {
        width: min(100%, 340px);
        justify-self: center;
    }

    .scientist-copy h3 {
        font-size: 26px;
    }

    .scientist-copy .scientist-role {
        margin: 4px 0 16px;
        font-size: 15px;
    }

    .scientist-copy > p {
        margin-bottom: 12px;
    }

    .compare-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .compare-card {
        min-height: 240px;
        padding: 24px 18px;
    }

    .compare-card h3 {
        margin-bottom: 20px;
        padding: 9px 20px;
        font-size: 20px;
    }

    .compare-vs {
        width: 90px;
        justify-self: center;
    }

    .payment-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .payment-card {
        min-height: 0;
        padding: 24px 18px;
    }

    .payment-card h3 {
        margin-bottom: 20px;
        font-size: 28px;
    }

    .payment-card h3 span {
        font-size: 14px;
    }

    .payment-rules,
    .new-user-benefits {
        padding: 16px;
    }

    .payment-rules p,
    .new-user-benefits p {
        font-size: 14px;
    }

    .payment-features li {
        font-size: 14px;
    }

    .payment-qr {
        width: 164px;
        height: 164px;
        margin-top: 24px;
    }

    .home-primary-button {
        min-width: 168px;
        min-height: 46px;
        font-size: 16px;
    }

    .payment-card p.qr-caption {
        font-size: 14px;
    }

    .solution-layout {
        grid-template-columns: 1fr;
    }

    .solution-tabs {
        padding: 12px;
        flex-direction: row;
        justify-content: flex-start;
        overflow-x: auto;
    }

    .solution-tabs button {
        min-width: 150px;
        min-height: 56px;
        padding: 8px 12px;
        font-size: 14px;
    }

    .solution-panel {
        min-height: 350px;
        padding: 24px 18px;
    }

    .solution-panel h3 {
        margin-bottom: 18px;
        font-size: 23px;
    }

    .solution-panel h4 {
        margin: 16px 0 10px;
        font-size: 16px;
    }

    .solution-chips {
        gap: 8px;
    }

    .solution-chips span {
        padding: 8px 10px;
        font-size: 12px;
    }

    .solution-description {
        font-size: 13px;
    }

    .faq-list {
        gap: 10px;
    }

    .faq-item {
        --faq-inline-padding: 16px;
    }

    .faq-item summary {
        min-height: 72px;
        padding: 16px;
        gap: 14px;
        font-size: 16px;
    }

    .faq-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .faq-item > p {
        padding: 0 16px 18px;
    }

    .home-cta {
        padding: 68px 0;
    }

    .home-cta h2 {
        margin-bottom: 36px;
        font-size: 34px;
    }

    .home-cta .home-primary-button {
        min-width: 168px;
        min-height: 46px;
        margin-top: 24px;
        font-size: 16px;
    }

    .cta-features {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .cta-icon {
        width: 84px;
        height: 84px;
    }

    .cta-features img {
        width: 54px;
        height: 54px;
    }

    .cta-features h3 {
        font-size: 17px;
    }

    .cta-features p {
        max-width: 320px;
        font-size: 14px;
    }

    .industry-news .container {
        width: 100%;
        padding-inline: 18px;
    }

    .industry-news-grid {
        gap: 16px;
        margin-top: 34px;
    }

    .industry-news .industry-news-card {
        min-height: 0;
        border-radius: 14px;
    }

    .industry-news {
        display: block;
        padding-top: 58px;
    }

    .industry-news .industry-news-title {
        font-size: 18px;
    }

    .industry-news .industry-news-date,
    .industry-news .industry-news-summary {
        font-size: 14px;
    }

    .footer-inner {
        width: 100%;
        padding-right: 18px;
        padding-left: 18px;
    }

    .footer-inner > .footer-col--outsourcing {
        display: block;
        order: 2;
    }

    .footer-col--outsourcing h4,
    .footer-col--outsourcing .footer-contact p {
        display: block;
        color: #fff;
        text-align: center;
    }

    .footer-col--outsourcing .footer-contact img {
        width: 120px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .faq-item,
    .solution-tabs button,
    .faq-icon {
        transition: none;
    }
}
