/* Shared brand typography only; each role owns its composition. */
.perspective-panel>section{min-height:90svh;padding:130px 0;display:flex;align-items:center;scroll-margin-top:70px}
.perspective-panel h2{font-size:clamp(25px,3vw,40px);font-weight:500;margin:18px 0 34px}
.perspective-panel h3,.perspective-panel .story-lead{font-size:clamp(38px,5.5vw,76px);font-weight:650;line-height:1.18;letter-spacing:-.04em;margin:20px 0 32px;color:var(--text)}
.perspective-panel p{font-size:18px;line-height:1.9;color:var(--text-secondary);max-width:720px}
.perspective-panel h4{font-size:25px;margin:15px 0}
.perspective-panel em{font-style:normal;background:var(--gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.perspective-panel .story-caption{font-size:14px;margin-top:32px;color:var(--text-muted)}
.perspective-panel small{font-size:13px;color:var(--accent)}
.perspective-panel .btn-secondary,.perspective-panel .btn-primary{margin-top:35px}
.fde-opening{background:var(--bg-elevated)}
.fde-strip{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:60px;padding-top:28px;border-top:1px solid var(--border);font-size:18px}
.fde-strip b{color:var(--accent);font-weight:400}
.fde-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.fde-parts article{border:1px solid var(--border);border-radius:20px;padding:35px;background:var(--bg-card)}
.fde-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.fde-spec{border-top:1px solid var(--border)}
.fde-spec div{padding:27px 0;border-bottom:1px solid var(--border)}
.fde-spec dt{color:var(--accent);font-size:12px;letter-spacing:.16em;margin-bottom:12px}
.fde-spec dd{margin:0;font-size:22px}
.fde-config{background:var(--bg-elevated)}
.fde-settings{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px;max-width:860px;margin-top:45px}
.fde-settings p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding:25px 0}
.fde-settings b{color:var(--text)}
.fde-artifacts{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.fde-artifacts span{padding:18px 35px;border:1px solid var(--border);border-radius:12px;color:var(--accent)}
.cio-opening{text-align:center;background:radial-gradient(ellipse at center,#2997ff09,transparent 65%)}
.cio-opening p{margin-left:auto;margin-right:auto}
.cio-domains{display:flex;justify-content:center;flex-wrap:wrap;gap:35px;margin-top:60px;font-size:23px;color:var(--text-secondary)}
.cio-assets>.container{display:grid;grid-template-columns:1fr 1fr;gap:75px}
.cio-ledger article{padding:18px 0 28px;border-bottom:1px solid var(--border)}
.cio-ledger h4{color:var(--accent)}
.cio-supply{background:var(--bg-elevated);text-align:center}
.cio-hub{max-width:900px;margin:50px auto 0}
.cio-source{padding:32px;font-size:28px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px}
.cio-source small{display:block;margin-top:10px}
.cio-consumers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:48px}
.cio-consumers article{border-top:2px solid #2997ff66;padding-top:22px;font-size:23px}
.cio-consumers p{font-size:15px}
.cio-boundary>.container{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}
.cio-boundary .section-label{grid-column:1}
.cio-layers{grid-column:2;grid-row:1/3}
.cio-layers article{padding:28px;border:1px solid #2997ff30;background:#2997ff06;border-radius:24px}
.cio-layers article article{margin-top:20px}
.cio-layers b{font-size:21px}
.cio-operation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}
.ceo-opening{text-align:center}
.ceo-opening .story-lead{font-size:clamp(28px,4vw,48px);margin-left:auto;margin-right:auto}
.ceo-three{display:flex;align-items:center;justify-content:center;gap:50px;margin:50px 0}
.ceo-three span{font-size:clamp(65px,12vw,155px);font-weight:700;background:var(--gradient);background-clip:text;color:transparent}
.ceo-three i{font-size:30px;font-style:normal;color:var(--border)}
.ceo-point{background:var(--bg-elevated)}
.ceo-point>.container{display:grid;grid-template-columns:.6fr 1fr;gap:90px;align-items:center}
.ceo-word{font-size:clamp(140px,23vw,290px);font-weight:700;color:var(--accent);line-height:1}
.ceo-measures{display:flex;gap:24px;margin-top:35px;color:var(--text)}
.ceo-chain{list-style:none;padding:0;display:flex;margin-top:75px;border-top:1px solid var(--border)}
.ceo-chain li{flex:1;padding-top:30px;font-size:26px;position:relative}
.ceo-chain li:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.ceo-network{text-align:center;background:var(--bg-elevated)}
.ceo-network-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:22px;margin-top:55px}
.ceo-network-grid b{font-size:27px}
.ceo-network-core{border:1px solid #a269db55;border-radius:28px;padding:50px 20px;background:radial-gradient(ellipse,#a269db12,transparent)}
.ceo-network .story-caption{margin-left:auto;margin-right:auto}
.ceo-feedback{display:flex;flex-wrap:wrap;gap:15px;margin:50px 0}
.ceo-feedback span{padding:20px;border-bottom:1px solid var(--accent);font-size:22px}
.business-opening .story-lead{font-size:clamp(45px,7vw,90px)}
.business-discover{background:var(--bg-elevated)}
.business-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}
.business-tiles article{border-radius:28px;background:var(--bg-card);border:1px solid var(--border);padding:38px 28px}
.business-tiles article>span{color:var(--accent);font-size:15px}
.business-create{text-align:center}
.business-brief{max-width:850px;margin:50px auto 30px;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:28px;padding:38px}
.business-brief blockquote{font-size:clamp(23px,3vw,33px);line-height:1.7;margin:20px 0 0}
.business-build{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin:35px 0;color:var(--accent)}
.business-create p{margin:auto}
.business-partner{background:var(--bg-elevated)}
.business-profile{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;max-width:900px;padding:40px;border:1px solid var(--border);border-radius:28px;margin-top:45px}
.business-profile dl{display:grid;grid-template-columns:auto 1fr;gap:25px}
.business-profile dt{color:var(--accent)}
.business-profile dd{margin:0;color:var(--text-secondary)}
.business-exchange{display:flex;flex-direction:column;gap:25px;margin:45px 0;max-width:900px}
.business-exchange p{padding:27px 32px;border-radius:25px;background:var(--bg-card);border:1px solid var(--border)}
.business-exchange p:last-child{align-self:flex-end}
.business-exchange b{display:block;color:var(--accent);font-size:14px}
@media(max-width:800px){
.perspective-panel>section{padding:85px 0;min-height:75svh}
.perspective-panel p{font-size:16px}
.fde-parts,.fde-split,.cio-assets>.container,.cio-boundary>.container,.cio-operation-grid,.business-tiles,.business-profile{grid-template-columns:1fr;gap:25px}
.cio-layers{grid-column:auto;grid-row:auto}
.fde-settings{grid-template-columns:1fr}
.ceo-point>.container{grid-template-columns:1fr;gap:35px}
.ceo-word{font-size:100px}
.ceo-network-grid{grid-template-columns:1fr}
.ceo-three{gap:20px}
.ceo-measures{gap:15px;font-size:14px}
.business-profile{padding:25px}
.cio-consumers{gap:12px}
.cio-consumers article{font-size:19px}
.fde-strip{gap:15px;font-size:15px}
.ceo-chain li{font-size:20px}
}

.weave-demo{margin:55px auto 20px;max-width:1120px;text-align:left}
.weave-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--text-secondary);font-size:14px}
.weave-toolbar button{border:1px solid var(--border);border-radius:20px;padding:9px 16px;color:var(--accent);background:var(--bg-card);font:inherit;cursor:pointer}
.weave-toolbar button:focus-visible{outline:2px solid var(--accent)}
.weave-demo svg{width:100%;height:auto;display:block;overflow:visible;margin:25px 0}
.weave-thread{fill:none;stroke:#2997ff;stroke-width:2;stroke-dasharray:170;stroke-dashoffset:170;transition:stroke-dashoffset 2s ease,opacity 1s}
.weave-demo.weave-visible .horizontal.row-0{stroke-dashoffset:0}
.weave-node{opacity:0;transition:opacity 1.2s}
.weave-node circle{fill:#2997ff;stroke:#b1dcff;stroke-width:1}
.weave-node text{fill:#aeb7c4;font-size:14px}
.weave-row{fill:#858995;font-size:15px}
.weave-demo.weave-visible .weave-node.row-0{opacity:1}
.weave-demo:not([data-stage="0"]) .horizontal{stroke-dashoffset:0}
.weave-demo:not([data-stage="0"]) .weave-node{opacity:1}
.weave-thread.cross{stroke:#bf5af2;opacity:.15}
.weave-demo[data-stage="2"] .cross,.weave-demo[data-stage="3"] .cross{stroke-dashoffset:0;opacity:.75}
.weave-feedback{fill:none;stroke:#87dcc9;stroke-width:2;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2s ease}
.weave-demo[data-stage="3"] .weave-feedback{stroke-dashoffset:0}
.weave-legend{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:var(--text-muted);font-size:13px}
@media(max-width:600px){.weave-toolbar{font-size:12px}.weave-legend{display:grid;grid-template-columns:1fr 1fr;font-size:12px}.weave-demo svg{min-height:230px}.weave-demo{margin-top:35px}}
@media(prefers-reduced-motion:reduce){.weave-thread,.weave-node,.weave-feedback{transition:none}}

/* ===== 2025-09 perspectives revision ===== */
.entry-hint{display:block;margin-top:10px;font-size:13px;color:var(--text-muted);font-weight:400}
.perspective-cta{display:flex;gap:18px;flex-wrap:wrap;margin-top:40px}
.perspective-cta .btn-primary,.perspective-cta .btn-secondary{margin-top:0}
/* CEO */
.ceo-roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px;text-align:left}
.ceo-roadmap>div{border:1px solid var(--border);border-radius:20px;padding:28px;background:var(--bg-card)}
.ceo-roadmap small{display:block;color:var(--accent);font-size:12px;letter-spacing:.14em;margin-bottom:12px}
.ceo-roadmap b{display:block;font-size:23px;margin-bottom:8px}
.ceo-roadmap span{font-size:15px;color:var(--text-secondary)}
.ceo-reorg{display:flex;flex-direction:column;gap:20px;margin:45px 0;max-width:860px;text-align:left}
.ceo-reorg p{padding:26px 30px;border-radius:22px;background:var(--bg-card);border:1px solid var(--border);margin:0}
.ceo-reorg p:nth-child(2){align-self:flex-end;border-color:#a269db55}
.ceo-reorg b{color:var(--accent);font-weight:500}
.ceo-reorg-note{max-width:860px;text-align:left;border-left:3px solid var(--accent);padding:6px 0 6px 26px;margin-top:10px}
.ceo-reorg-note b{font-size:20px;color:var(--text);font-weight:600;display:block;margin-bottom:10px}
.ceo-reorg-note p{margin:0}
/* CIO */
.cio-compare{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:50px;text-align:left}
.cio-compare article{border-radius:24px;padding:36px;border:1px solid var(--border);background:var(--bg-card)}
.cio-compare small{display:block;font-size:13px;letter-spacing:.14em;margin-bottom:22px;color:var(--text-muted)}
.cio-compare ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.cio-compare li{font-size:16px;line-height:1.75;color:var(--text-secondary);padding-left:22px;position:relative}
.cio-compare li:before{content:'—';position:absolute;left:0;color:var(--text-muted)}
.cio-compare-bad{opacity:.85}
.cio-compare-bad small:after{content:' · 现状';color:var(--text-muted)}
.cio-compare-good{border-color:#2997ff40;background:#2997ff08}
.cio-compare-good small{color:var(--accent)}
.cio-apis{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:900px;margin:45px auto 0;text-align:left}
.cio-apis>div{border-top:2px solid #bf5af266;padding-top:18px}
.cio-apis b{font-size:19px;display:block}
.cio-apis span{font-size:14px;color:var(--text-secondary)}
.cio-boundary-lead{margin-top:-10px}
.cio-checklist{display:flex;flex-direction:column;margin-top:45px;border-top:1px solid var(--border);text-align:left}
.cio-checklist article{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:26px 0;border-bottom:1px solid var(--border);align-items:baseline}
.cio-checklist b{font-size:20px;color:var(--text)}
.cio-checklist b:before{content:'✓';color:var(--accent);margin-right:14px;font-weight:400}
.cio-checklist span{font-size:16px;color:var(--text-secondary)}
/* FDE */
.fde-gloss{font-size:16px;color:var(--text-muted);max-width:640px;margin-top:-14px}
.fde-terminal{max-width:860px;margin-top:45px;border-radius:22px;overflow:hidden;border:1px solid var(--border);background:#0b0e14;text-align:left}
.fde-terminal-bar{display:flex;align-items:center;gap:8px;padding:14px 18px;background:#12161f;border-bottom:1px solid #ffffff12}
.fde-terminal-bar i{width:11px;height:11px;border-radius:50%;background:#2c3242}
.fde-terminal-bar i:first-child{background:#ff5f57}
.fde-terminal-bar i:nth-child(2){background:#febc2e}
.fde-terminal-bar i:nth-child(3){background:#28c840}
.fde-terminal-bar span{margin-left:10px;font-size:12px;color:#7c8698;letter-spacing:.08em}
.fde-terminal pre{margin:0;padding:26px 28px;overflow-x:auto}
.fde-terminal code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:2.1}
.fde-cmd{display:block;color:#b1dcff}
.fde-cmd:before{content:''}
.fde-out{display:block;color:#7c8698}
/* Business */
.business-templates{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:8px 0 30px}
.business-templates span{padding:14px 26px;border:1px solid var(--border);border-radius:999px;color:var(--accent);font-size:15px;background:var(--bg-card)}
@media(max-width:800px){
.ceo-roadmap,.cio-compare,.cio-apis{grid-template-columns:1fr}
.cio-checklist article{grid-template-columns:1fr;gap:8px}
.fde-terminal code{font-size:12px}
}
/* ===== 角色亮点摘要 ===== */
.role-hl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:50px}
.role-hl-grid article{border:1px solid var(--border);border-radius:24px;padding:38px 34px;background:var(--bg-card);text-align:left}
.role-hl-grid article b{display:block;font-size:24px;margin-bottom:14px;background:var(--gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.role-hl-grid article span{font-size:16px;line-height:1.85;color:var(--text-secondary)}
.role-highlights .story-caption{margin-top:30px}
@media(max-width:800px){.role-hl-grid{grid-template-columns:1fr}}
.cio-harness-gloss{font-size:16px;color:var(--text-muted);max-width:640px;margin-top:-14px}

/* VibeCoding 自动构建背书条 */
.vibe-strip{margin:6px auto 0;max-width:760px;border:1px dashed #2997ff44;border-radius:16px;padding:16px 22px;background:#2997ff06}
.vibe-strip small{display:block;color:var(--accent);font-size:12px;letter-spacing:.12em;margin-bottom:8px}
.vibe-strip p{margin:0;font-size:14px;line-height:1.9;color:var(--text-secondary)}
/* ===== 视角选择：高级动效与滚动意图提示 ===== */
/* 问句区：副标语 + 自绘渐变细线 */
.entry-question{display:flex;flex-direction:column;align-items:center;gap:14px}
.entry-sub{font-size:14px;letter-spacing:.42em;color:var(--text-muted);text-transform:uppercase}
.entry-hairline{display:block;width:min(320px,60%);height:1px;background:var(--gradient);transform:scaleX(0);animation:ehDraw 1.4s cubic-bezier(.16,1,.3,1) .5s forwards}
@keyframes ehDraw{to{transform:scaleX(1)}}
/* 卡片一次性光泽扫过（替代漂浮循环） */
.entry-card{position:relative;overflow:hidden;transition:transform .6s cubic-bezier(.16,1,.3,1),border-color .6s ease,opacity .6s ease}
.entry-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.075) 50%,transparent 58%);transform:translateX(-130%)}
.entry-card.sheen-once::after{animation:cardSheen 1.5s cubic-bezier(.4,0,.2,1) both}
.entry-card:nth-child(1).sheen-once::after{animation-delay:.05s}
.entry-card:nth-child(2).sheen-once::after{animation-delay:.2s}
.entry-card:nth-child(3).sheen-once::after{animation-delay:.35s}
.entry-card:nth-child(4).sheen-once::after{animation-delay:.5s}
@keyframes cardSheen{to{transform:translateX(130%)}}
/* 选中态：其余卡片退后 */
.entry-grid.has-active .entry-card:not(.active){opacity:.32;transform:scale(.985)}
.entry-grid.has-active .entry-card.active{border-color:#2997ff88}
/* 滚动意图触发的轻微上浮呼应（单次） */
.entry-grid.nudge .entry-card{transform:translateY(-6px)}
/* 常驻解锁微提示 + 呼吸箭头 */
.entry-unlock-hint{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;font-size:13px;color:var(--text-muted);letter-spacing:.08em}
.eh-chevron{width:9px;height:9px;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);transform:rotate(45deg) translateY(-2px);animation:ehBreath 2.6s ease-in-out infinite}
@keyframes ehBreath{0%,100%{opacity:.35;transform:rotate(45deg) translateY(-2px)}50%{opacity:1;transform:rotate(45deg) translateY(2px)}}
/* 滚动意图提示条 */
.scroll-hint-toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%,18px);display:flex;align-items:center;gap:12px;padding:14px 26px;border-radius:999px;background:#101014e0;border:1px solid #2997ff55;color:var(--text);font-size:14px;letter-spacing:.04em;backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);z-index:130}
.scroll-hint-toast.show{opacity:1;transform:translate(-50%,0)}
.scroll-hint-toast .sht-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);font-size:12px;animation:ehBreath 2.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
.entry-hairline{animation:none;transform:scaleX(1)}
.entry-card::after{display:none}
.eh-chevron,.scroll-hint-toast .sht-icon{animation:none}
.scroll-hint-toast{transition:none}
}
