.story-section .story-layout { grid-template-areas:"intro media" "diagram media"; grid-template-rows:auto 1fr; }
.story-section .story-diagram { align-self:start; }
.cap-wanying .handoff-input { color:#523e68; background:#e8e0f0; border:1px solid #c9b9d6; }
.cap-wanying .handoff-input .cap-icon { color:#72558b; }
.cap-wanying .risk-check { display:inline-block; padding:1px 5px; margin-top:4px; border:1px solid #d0c0db; border-radius:4px; color:#624875; background:#ece5f2; }
@keyframes group-echo { 0%,14%{background:#e7dff0;border-color:#b09bc2} 32%,100%{background:transparent;border-color:#d7cddd} }
.command-line { align-items:flex-start; gap:8px; }
.command-copy { flex:1; min-width:0; }
.command-prefix { display:flex; align-items:center; gap:8px; color:var(--story-muted); font-size:11px; line-height:1.6; margin-bottom:4px; }
.command-prefix>span { font-variant-numeric:tabular-nums; }
.command-next { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:39px; min-height:40px; border:0; border-radius:4px; padding:2px 4px; color:var(--story-accent); background:transparent; font-size:11px; white-space:nowrap; }
.command-next>svg { width:18px; height:18px; }
.command-next:not(:disabled):hover { background:#d5decc; color:var(--story-ink); }
.command-next:disabled { cursor:default; }
.cap-versecut[data-command="opening"] .clip-lane i:first-child { flex:.55; }
.cap-versecut[data-command="opening"] .clip-lane i:nth-child(3) { flex:1.9; }
.cap-versecut[data-command="opening"] .type-lane i:last-child { background:#dce4d1; border-color:#99a68a; }
.cap-versecut[data-command="vertical"] .clip-lane { gap:7px; }
.cap-versecut[data-command="vertical"] .clip-lane i { background:#93a584; }
.cap-versecut[data-command="vertical"] .type-lane i { background:#e1e7d7; }
.cap-versecut[data-command="vertical"] .grade-lane i { background:#b0bda6; }
.cap-tuce .set-source { gap:9px; }
.cap-tuce .set-source .range-badge { display:flex; align-items:baseline; gap:5px; white-space:nowrap; color:var(--story-muted); }
.cap-tuce .range-badge>strong { font-size:19px; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.cap-tuce .range-badge>span { font-size:12px; }
.cap-tuce .role-cloud { gap:7px; margin-top:13px; }
.cap-tuce .role-chip { display:block; padding:0; }
.role-choice { display:flex; width:100%; min-height:38px; align-items:center; justify-content:center; gap:6px; padding:7px 5px; border:0; border-radius:4px; background:transparent; color:var(--story-ink); font-size:12px; }
.role-choice>.cap-icon { width:16px; height:16px; }
.role-choice:disabled { cursor:default; }
.role-choice:not(:disabled):hover { background:#e2e8d8; }
.cap-tuce[data-role-mode="manual"] .role-chip { animation:none!important; background:transparent; border-color:var(--story-line); }
.cap-tuce[data-role-mode="manual"] .role-chip.is-selected { background:#dde6cf; border-color:#879a68; }
.role-description { min-height:57px; margin:13px 0 0; color:var(--story-muted); font-size:12px; line-height:1.8; }
.role-description>strong { display:block; color:var(--story-ink); font-weight:500; margin-bottom:2px; }
.role-description>span { display:block; }
.cap-tuce .asset-scale { margin-top:12px; padding-top:12px; gap:16px; }
.cap-tuce .asset-scale dd { font-size:29px; }
.cap-tuce .cap-note { margin-top:11px; }
@media(max-width:1050px) and (min-width:761px) {
 .command-line { padding:10px 8px; gap:6px; }
 .command-next { min-width:32px; padding:2px; }
 .cap-tuce .role-cloud { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
 .role-choice { flex-direction:column; gap:5px; min-height:56px; padding:7px 4px; }
 .role-description { min-height:79px; }
}
@media(max-width:760px) {
 .story-section .story-layout { grid-template-areas:"intro" "media" "diagram"; grid-template-rows:auto; }
 .role-choice { min-height:44px; gap:5px; padding:8px 4px; }
 .role-description { min-height:60px; }
 .cap-tuce .asset-scale dd { font-size:29px; }
}
@media(max-width:350px) {
 .command-line { padding:10px 8px; gap:6px; }
 .command-next { min-width:32px; padding:2px; }
 .cap-tuce .role-cloud { gap:6px; }
 .role-choice { flex-direction:column; gap:4px; min-height:55px; padding:7px 3px; }
 .role-description { min-height:82px; }
}

.cap-tuce figcaption { margin-bottom:12px; }
.cap-tuce .role-cloud { margin-top:10px; }
.role-description { min-height:44px; }
.role-description>strong { display:inline; margin:0 6px 0 0; }
.role-description>strong::after { content:"："; }
.role-description>span { display:inline; }
.cap-tuce .asset-scale { grid-template-columns:.8fr 1.4fr; }
.cap-tuce .asset-scale>div { flex-direction:row-reverse; align-items:baseline; justify-content:flex-end; gap:8px; }
.cap-tuce .asset-scale dd { flex:none; }
.cap-tuce .asset-scale dt { min-width:0; line-height:1.5; }
@media(max-width:1050px) { .role-description { min-height:44px; } }

/* Small refinements stay within V3.1; the product layout is unchanged. */
.intro-aside>a, .closing-action>a {
 display:inline-flex; align-items:center; justify-content:center; gap:24px;
 width:auto; min-height:46px; padding:12px 22px; border:1px solid #36432f;
 border-radius:999px; color:#f8f7f2; background:#36432f; font-size:13px;
 line-height:1.5; transition:background .18s ease;
}
.intro-aside>a:hover, .closing-action>a:hover { background:#46543d; }
.engineering-tags { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.engineering-tags>li { display:flex; align-items:center; gap:7px; max-width:100%; min-height:34px; padding:6px 9px; border:1px solid var(--story-line); border-radius:999px; background:#fbfaf6; color:var(--story-ink); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.engineering-tags>li::before { content:""; display:block; width:4px; height:4px; flex:none; border-radius:50%; background:var(--story-accent); }
.brand-lockup { display:flex; align-items:baseline; gap:17px; min-width:0; }
.brand-context { color:var(--muted); font-size:12px; line-height:1.7; }
.site-header nav { gap:24px; align-items:center; }
.site-header .contact-nav { padding:6px 0 6px 20px; border-left:1px solid var(--rule); }
.cap-tuce .role-chip { animation:none!important; }
.cap-tuce[data-role-mode="demo"] .role-chip.is-selected { background:#d9e4c9; border-color:#7b8f5c; }
.cap-tuce .role-chip { transition:background .2s ease,border-color .2s ease; }
.cap-tuce .role-description>strong { font-variant-numeric:tabular-nums; }
.contact-dialog { width:min(420px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow-y:auto; padding:28px; border:1px solid #686e61; border-radius:12px; background:var(--paper); color:var(--ink); }
.contact-dialog::backdrop { background:#24272370; }
.contact-dialog h2 { margin:0 44px 10px 0; font-size:25px; line-height:1.4; font-weight:550; letter-spacing:-.025em; }
.contact-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); }
.contact-close:hover { background:#e4e5dc; color:var(--ink); }
.contact-close svg { width:20px; height:20px; }
.contact-summary { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.contact-qr { display:block; width:min(260px,100%); height:auto; margin:12px auto 20px; border-radius:4px; }
.wechat-label { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px; font-size:12px; }
.wechat-label>a { color:#46543d; text-decoration:underline; text-underline-offset:4px; }
.wechat-copy { display:flex; gap:8px; }
.wechat-copy input { width:0; flex:1; min-width:0; padding:10px; border:1px solid #b9bdb1; border-radius:5px; color:var(--ink); background:#fbfaf6; font:inherit; font-size:15px; caret-color:#46543d; }
.wechat-copy button { min-height:44px; padding:10px 14px; flex:none; border:1px solid #36432f; border-radius:5px; color:#f8f7f2; background:#36432f; font-size:12px; }
.wechat-copy button:hover { background:#46543d; }
.wechat-copy button:disabled { opacity:.6; cursor:default; }
.wechat-copy input:focus-visible { outline:3px solid #77816b; outline-offset:3px; }
.contact-status { margin:12px 0 0; min-height:38px; color:var(--muted); font-size:12px; line-height:1.8; }
@media(max-width:950px) and (min-width:640px) { .brand-context { display:none; } }
@media(max-width:639px) {
 .site-header { flex-wrap:wrap; row-gap:14px; padding:20px 0 16px; }
 .brand-lockup { width:100%; gap:12px; }
 .brand-context { font-size:11px; }
 .site-header nav { width:100%; justify-content:space-between; gap:12px; font-size:12px; }
 .site-header .contact-nav { padding:5px 0 5px 14px; }
 .contact-dialog { padding:24px 20px 20px; }
 .contact-qr { width:min(234px,100%); }
 .wechat-copy button { padding-inline:11px; }
}
.intro-aside>a>svg, .closing-action>a>svg { width:17px; height:17px; }
.closing { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:48px; }
.closing-copy h2 { margin-bottom:20px; }
.closing-copy p { margin:0; line-height:1.9; }
.closing-action { justify-self:end; max-width:280px; }
.closing-action p { margin:0 0 18px; line-height:1.9; font-size:14px; }
.motion-complete .motion-anim { animation:none!important; }
.motion-complete .toggle-stop { display:none; }
.motion-complete .motion-toggle .toggle-start { display:block; }
.motion-ready .cap-wanying .capability-group { animation-duration:4s; animation-delay:calc(var(--phase) * 2s); animation-iteration-count:1; }
@media(max-width:760px) {
 .closing { grid-template-columns:1fr; gap:28px; }
 .closing-action { justify-self:stretch; max-width:none; }
 .closing-action p, .closing-copy p { max-width:none; font-size:13px; }
 .closing-action>a { display:flex; width:100%; min-height:48px; }
}
@media(max-width:639px) {
 .cap-wanying .capability-groups { grid-template-columns:1fr; gap:8px; }
 .cap-wanying .capability-group {
  display:grid; grid-template-columns:19px minmax(76px,.85fr) minmax(0,1.3fr);
  align-items:start; gap:8px; padding:12px 11px;
 }
 .cap-wanying .capability-group>.cap-icon { width:18px; height:18px; margin:2px 0 0; }
 .cap-wanying .capability-group>strong { white-space:normal; line-height:1.9; }
 .cap-wanying .capability-group>ul { margin:0; line-height:1.9; }
 .cap-wanying .risk-check { margin-top:2px; }
 .cap-wanying .handoff-branch { display:none; }
 .cap-wanying .capability-groups { position:relative; margin-top:22px; }
 .cap-wanying .capability-groups::before { content:""; position:absolute; top:-22px; left:50%; height:22px; border-left:1px solid var(--story-line); }
}
