/* 恢复第二帧认可稿的阅读底，覆盖旧集合版特异性更高的规则。 */
.ability-frame #ability-groups::before { inset: 0; width: auto; background: linear-gradient(90deg,#fffdfa 0%,#fffdfa calc(100% - 28px),rgba(255,253,250,0) 100%); }
.ability-reading { overflow-anchor: none; }
/* 透明度由同一滚动进度计算，反向滚动使用相同曲线，不叠加时间延迟。 */
.media-fade { transition: none; }
.experience-frame .section-intro { position: relative; isolation: isolate; }
.experience-frame .section-intro::before { content: ''; position: absolute; inset: -16px -12px 12px -48px; z-index: -1; background: linear-gradient(90deg,transparent 0%,rgba(247,241,237,.97) 48px,#f7f1ed 100%); pointer-events: none; }
.cases-frame .intro-copy { position: relative; isolation: isolate; }
.cases-frame .intro-copy::before { content:''; position:absolute; inset:-20px -40px -20px -12px; z-index:-1; background:linear-gradient(90deg,#f7f1ed 0%,rgba(247,241,237,.98) calc(100% - 40px),transparent 100%); pointer-events:none; }
/* 新证据句允许自然换行，不能再为单行压回名词串。 */
.case-evidence p { white-space: normal; overflow-wrap: anywhere; }
.case-copy h2 { white-space: normal; }
.case-copy { padding-bottom: 30px; }
.case-evidence { gap: 12px; }
.career-closing { position: relative; z-index: 5; padding: 54px var(--page-x) 60px; background: var(--paper); text-align:center; }
.career-closing h2 { margin:0; font-size:clamp(22px,2.1vw,30px); line-height:1.5; font-weight:650; }
.career-closing p { margin:16px auto 22px; max-width:42em; color:var(--body); font-size:16px; line-height:1.8; }
.career-closing a { display:inline-block; padding:10px 0; color:var(--accent); text-decoration:underline; text-underline-offset:5px; }
@media (max-width:767px) { .ability-frame #ability-groups::before { background:linear-gradient(90deg,#fffdfa 0%,#fffdfa calc(100% - 16px),transparent 100%); } .career-closing { text-align:left; padding:40px var(--page-x); } }
@media (prefers-reduced-motion:reduce) { .profile-copy,.ability-stage,.experience-stage,.cases-intro { opacity:1 !important; } }
@media print { .profile-copy,.ability-stage,.experience-stage,.cases-intro { opacity:1 !important; } }

/* v0.4：保留转场节奏，取消标题后的独立色块。 */
.experience-frame .section-intro::before, .cases-frame .intro-copy::before { content: none; }
.career-closing { padding: 22px var(--page-x) 24px; text-align: left; }
.career-closing h2 { font-size: 18px; font-weight: 600; line-height: 1.6; }
.career-closing p { margin: 6px 0 8px; max-width: none; font-size: 14px; line-height: 1.7; }
.career-closing .closing-email { padding: 4px 0; font-size: 15px; user-select: text; overflow-wrap: anywhere; }

/* 内容开合由阅读锚点协调，避免浏览器另行补偿滚动。 */
.story-main { overflow-anchor: none; }
@media (max-width: 760px), (prefers-reduced-motion: reduce) {
  #ability.story-frame, #experience.story-frame { min-height: auto !important; }
}


/* 脚本初始化前也保持后续正文隐藏，避免首帧闪现；顺序阅读与打印全部可见。 */
@media (min-width: 761px) and (prefers-reduced-motion: no-preference) {
  .ability-stage, .experience-stage, .cases-intro { opacity: 0; }
}
@media print { .ability-stage, .experience-stage, .cases-intro { opacity: 1 !important; } }
