* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: system-ui, sans-serif; }

.history {
    display: grid;
    grid-template-columns: 50% 50%;
    background: #fff;
	position: relative;
}
/* ⭐ 背景：脱离流，永远钉在当前视口左侧一半 */
.history__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;              /* 和左侧分栏严格对齐 */
    height: 100vh;
    z-index: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
}
.history__left {
    height: 100vh;
}
.history__viewer {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

/* 初始全透明，完全由 JS 接管 */
.viewer {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 8vw;
    opacity: 0;          /* JS 接管，不写 .active */
    pointer-events: none;
}
.viewer img {
    width: 100%;
    height: 55vh;
    object-fit: cover;
}
.viewer h2 { margin-top: 24px; font-size: 48px; }
.viewer p  { margin-top: 12px; max-width: 480px; color: #555; }

/* 右侧 step 强制撑满，消除触发区打架 */
.history__right {
    padding: 10vh 8vw;
	position: relative;
	z-index: 1;
}
.step {
    min-height: 100vh;
	margin-bottom: 20rem;
}
.step-inner { margin-bottom: 3rem; }
.step-inner h3 { font-size: 42px; margin-bottom: 16px; }
.step-inner p  { font-size: 17px; line-height: 1.7; }
/*.step-inner p  { font-size: 17px; line-height: 1.7; color: #666; }*/