/* ===== 案例二级页面（case-XX.html）样式 ===== */

.case-detail{padding:120px 0 40px;max-width:1040px;margin:0 auto}

/* 面包屑返回 */
.case-crumb{margin-bottom:34px}
.case-crumb a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:13px;font-weight:600;color:var(--muted);transition:color .2s,border-color .2s,transform .2s}
.case-crumb a:hover{color:var(--orange-deep);border-color:rgba(78,158,232,.4);transform:translateX(-2px)}

/* 头部 */
.case-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-deep);margin:0 0 18px}
.case-hero h1{font-size:clamp(34px,5.2vw,64px);line-height:1.12;letter-spacing:-.055em;font-weight:800;margin:0 0 22px;max-width:900px}
.case-claim{font-size:clamp(17px,2.2vw,22px);line-height:1.6;font-weight:600;max-width:760px;margin:0 0 22px}
.case-hero .tag-list{margin-top:0}
.case-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:34px 0 0;padding:0;list-style:none}
.case-facts li{padding:14px 18px;border:1px solid var(--line);border-radius:18px;background:var(--white)}
.case-facts .k{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.case-facts .v{font-size:14px;font-weight:600;line-height:1.5}
.case-hero-media{margin:44px 0 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.case-hero-media img{display:block;width:100%;height:auto}

/* 产出成果滚动轮播 */
.case-marquee{margin:44px 0 0;overflow:hidden;position:relative;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marqueeScroll 46s linear infinite}
.marquee-set{display:flex;gap:14px;padding-right:14px}
.case-marquee:hover .marquee-track,.case-marquee:focus-within .marquee-track{animation-play-state:paused}
.marquee-item{margin:0;flex:0 0 auto;height:250px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.6)}
.marquee-item img{display:block;height:100%;width:auto;max-width:none}
.marquee-item.wide img{height:100%;width:auto}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-caption{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}
.marquee-caption b{font-family:var(--font-sans);font-size:13px;letter-spacing:0;color:var(--ink);font-weight:600}

/* 区块骨架 */
.case-block{padding:74px 0 0}
.case-block>.case-kicker{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}
.case-kicker .num{font-family:var(--font-mono);font-size:13px;color:var(--orange-deep)}
.case-kicker h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.04em;line-height:1.2;margin:0;font-weight:800}
.case-block p{color:var(--muted);font-size:16px;margin:0 0 14px}
.case-block p strong,.case-list strong{color:var(--ink)}
.case-list{margin:0;padding:0 0 0 2px;list-style:none;display:grid;gap:10px}
.case-list li{position:relative;padding-left:20px;color:var(--muted);font-size:15px;line-height:1.7}
.case-list li::before{content:"";position:absolute;left:2px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--orange-deep)}
.case-list li strong{color:var(--ink)}

/* 双栏 */
.case-cols{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:stretch;padding-top:74px}
.case-cols .col{padding:24px 26px;border:1px solid var(--line);border-radius:22px;background:var(--white)}
.case-cols h3{font-size:17px;font-weight:700;margin:0 0 14px}
.case-cols .case-list li{font-size:14px}
.case-insight{margin:26px 0 0;padding:22px 26px;border-left:3px solid var(--orange-deep);border-radius:0 16px 16px 0;background:rgba(255,255,255,.5)}
.case-insight b{display:block;font-size:15px;margin-bottom:6px}
.case-insight p{margin:0;color:var(--muted);font-size:15px}

/* 核心策略（薄荷绿强调区） */
.case-strategy{margin-top:74px;padding:34px 34px 30px;border-radius:26px;background:linear-gradient(135deg,rgba(139,232,227,.32),rgba(184,255,107,.16));border:1px solid rgba(139,232,227,.55)}
.case-strategy>.case-kicker{margin-bottom:16px}
.case-strategy>p{font-size:16px;line-height:1.75;margin:0 0 20px;color:var(--ink)}
.strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.strategy-card{padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.66)}
.strategy-card b{display:block;font-size:15px;margin-bottom:6px}
.strategy-card span{font-size:13.5px;color:var(--muted);line-height:1.65}

/* 执行时间轴 */
.case-timeline{padding-top:74px}
.timeline-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
.timeline-track::before{content:"";position:absolute;top:7px;left:4%;right:4%;height:2px;background:rgba(78,158,232,.35)}
.timeline-item{position:relative;padding-top:26px}
.timeline-item::before{content:"";position:absolute;top:0;left:0;width:15px;height:15px;border-radius:50%;background:var(--orange-deep);box-shadow:0 0 0 4px rgba(78,158,232,.15)}
.timeline-item .phase{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--orange-deep);text-transform:uppercase}
.timeline-item b{display:block;font-size:15px;margin:4px 0 6px}
.timeline-item p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.7}
.matrix-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
.matrix-card{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--white)}
.matrix-card b{display:block;font-size:14px;margin-bottom:4px}
.matrix-card span{font-size:12.5px;color:var(--muted);line-height:1.6}

/* 成果数据 */
.case-numbers{margin-top:74px;padding:30px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.case-numbers strong{font-size:clamp(30px,3.6vw,48px);line-height:1;font-weight:800;letter-spacing:-.05em;display:block}
.case-numbers strong span{font-size:.45em;color:var(--orange-deep);letter-spacing:0}
.case-numbers p{font-size:12.5px;color:var(--muted);margin:8px 0 0}
.case-honor{margin-top:22px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.case-honor .star{color:var(--orange-deep)}

/* 作品墙 */
.case-gallery{padding-top:74px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-item{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.6)}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-item figcaption{padding:12px 16px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);background:var(--white)}
.gallery-item.tall{grid-row:span 2}
.gallery-item.wide{grid-column:span 3}
.gallery-item.wide img{max-height:420px;object-fit:cover;object-position:center}
.gallery-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0b2858}
.gallery-video figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px}
.gallery-video .play-hint{font-family:var(--font-mono);font-size:11px;color:var(--orange-deep)}

/* 复盘 */
.retro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.retro-card{padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:var(--white)}
.retro-card h3{font-size:15px;font-weight:700;margin:0 0 10px;color:var(--orange-deep)}
.retro-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.75}

/* 上一个 / 下一个 */
.case-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:84px 0 60px}
.case-pager a{display:flex;flex-direction:column;gap:6px;padding:22px 26px;border:1px solid var(--line);border-radius:22px;background:var(--white);transition:transform .2s,border-color .2s}
.case-pager a:hover{transform:translateY(-4px);border-color:rgba(78,158,232,.45)}
.case-pager .dir{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.case-pager .title{font-size:16px;font-weight:700}
.case-pager .next{text-align:right;align-items:flex-end}
.case-backline{display:flex;justify-content:center;margin-bottom:70px}
.case-backline a{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:14px;font-weight:600;color:var(--muted);transition:color .2s,border-color .2s}
.case-backline a:hover{color:var(--orange-deep);border-color:rgba(78,158,232,.4)}

@media (max-width:850px){
  .case-detail{padding:96px 0 30px}
  .case-facts{grid-template-columns:repeat(2,1fr)}
  .case-cols{grid-template-columns:1fr;padding-top:60px}
  .strategy-grid{grid-template-columns:1fr}
  .timeline-track{grid-template-columns:1fr}
  .timeline-track::before{display:none}
  .matrix-grid{grid-template-columns:repeat(2,1fr)}
  .case-numbers{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-item.tall{grid-row:auto}
  .gallery-item.wide{grid-column:span 2}
  .retro-grid{grid-template-columns:1fr}
  .case-pager{grid-template-columns:1fr}
  .case-pager .next{text-align:left;align-items:flex-start}
}
@media (max-width:520px){
  .case-facts{grid-template-columns:1fr}
  .matrix-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-item.wide{grid-column:span 1}
  .case-numbers{grid-template-columns:repeat(2,1fr)}
}

/* ===== 我的角色高亮 ===== */
.col-role{position:relative;padding:26px 28px;border:1px solid rgba(78,158,232,.45);border-radius:22px;background:linear-gradient(150deg,rgba(139,232,227,.34),rgba(197,187,255,.26) 58%,rgba(255,255,255,.72));box-shadow:0 14px 38px rgba(64,122,190,.14)}
.col-role::before{content:"";position:absolute;left:28px;right:28px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--cyan),var(--orange-deep))}
.col-role h3{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.8);margin:0 0 14px}
.col-role .role-title{font-size:clamp(19px,2.2vw,25px);font-weight:800;letter-spacing:-.03em;line-height:1.35;color:var(--ink);margin:0 0 14px;display:block}
.col-role .case-list li{color:#3c5b7d}
.col-role .case-list li::before{background:var(--orange-deep);box-shadow:0 0 0 3px rgba(139,232,227,.5)}
.col-role .case-list li strong{color:var(--ink)}

/* ===== 成果数据（分类） ===== */
.data-groups{margin-top:34px;display:grid;gap:16px}
.data-group{padding:22px 24px 20px;border:1px solid var(--line);border-radius:22px;background:var(--white)}
.data-group .group-label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:16px}
.data-group .group-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange-deep)}
.data-group.ai .group-label{color:#2f73c3}
.data-group.ai .group-label::before{background:#2f73c3}
.data-group.media .group-label{color:#7b5bb8}
.data-group.media .group-label::before{background:#7b5bb8}
.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
.data-grid strong{font-size:clamp(26px,3.4vw,40px);line-height:1;font-weight:800;letter-spacing:-.05em;display:block}
.data-grid strong span{font-size:.45em;color:var(--orange-deep);letter-spacing:0}
.data-grid p{font-size:12.5px;color:var(--muted);margin:8px 0 0;line-height:1.5}

/* ===== 视频产出 ===== */
.case-media{margin:26px 0 0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#0b2858}
.case-media video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0b2858}
.case-media figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;background:var(--white);font-size:13px;color:var(--muted)}
.case-media .play-hint{font-family:var(--font-mono);font-size:11px;color:var(--orange-deep)}

@media (max-width:850px){
  .marquee-item{height:190px}
  .col-role{padding:22px 22px}
}

/* ===== 核心作品拆解 ===== */
.case-breakdown{padding-top:74px}
.breakdown-lead{font-size:16px;color:var(--muted);margin:0;max-width:720px}
.breakdown-list{display:grid;gap:22px;margin-top:30px}
.breakdown-item{display:grid;grid-template-columns:330px minmax(0,1fr);gap:30px;padding:24px;border:1px solid var(--line);border-radius:26px;background:var(--white)}
.bd-media{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:rgba(240,248,255,.9)}
.bd-media.portrait{aspect-ratio:9/16;align-self:start}
.bd-media.landscape{aspect-ratio:16/9;align-self:start;background:#0b2858}
.bd-media img,.bd-media video{display:block;width:100%;height:100%;object-fit:contain}
.bd-body{min-width:0}
.bd-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);padding:5px 11px;border-radius:999px;background:rgba(78,158,232,.1);margin-bottom:12px}
/* 作品拆解头部：编号小号浅色，与标题同行基线对齐（case-01/02） */
.bd-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.bd-head .bd-tag{margin-bottom:0;background:none;padding:0;color:var(--muted)}
.bd-head h3{margin:0}
.bd-body h3{font-size:clamp(19px,2.2vw,24px);line-height:1.35;letter-spacing:-.03em;font-weight:800;margin:0}
.bd-sub{font-size:13.5px;color:var(--muted);margin:7px 0 0}
.bd-rows{display:grid;gap:13px;margin:18px 0 0}
.bd-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px}
.bd-row dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.bd-row dd{margin:0;font-size:14px;line-height:1.72;color:var(--muted)}
.bd-row dd strong{color:var(--ink);font-weight:600}
.bd-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.bd-stat strong{display:block;font-size:22px;line-height:1;font-weight:800;letter-spacing:-.04em}
.bd-stat strong span{font-size:.55em;color:var(--orange-deep);letter-spacing:0}
.bd-stat p{margin:6px 0 0;font-size:11.5px;color:var(--muted);line-height:1.4}
.bd-why{margin-top:18px;padding:14px 18px;border-radius:14px;background:linear-gradient(135deg,rgba(139,232,227,.28),rgba(184,255,107,.14));font-size:13.5px;line-height:1.7;color:#2c5478}
.bd-why b{color:var(--ink)}

@media (max-width:850px){
  .breakdown-item{grid-template-columns:1fr;gap:20px;padding:18px}
  .bd-media.portrait{max-width:250px}
  .bd-row{grid-template-columns:64px minmax(0,1fr);gap:10px}
}

/* ===== 视频主推卡：通栏大画幅 ===== */
.breakdown-item.bd-feature{grid-template-columns:1fr;gap:22px;padding:22px}
.bd-feature .bd-media.landscape{width:100%;aspect-ratio:16/9;align-self:stretch;border-radius:20px}
.bd-feature .bd-body{padding:0 6px 6px}
.bd-feature .bd-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 34px}
.bd-feature .bd-stats{gap:34px}
.bd-feature .bd-stat strong{font-size:26px}
.bd-feature .bd-why{margin-top:20px}

@media (max-width:850px){
  .bd-feature .bd-rows{grid-template-columns:1fr}
}

/* ===== 有声海报收听卡 ===== */
.bd-media.audio-card{aspect-ratio:4/5;align-self:start;background:linear-gradient(165deg,#63d4dd 0%,#4e9ee8 58%,#5c7ecf 100%);flex-direction:column;justify-content:center;gap:16px;padding:26px;text-align:center}
.audio-wave{display:flex;align-items:center;justify-content:center;gap:5px;height:44px}
.audio-wave i{width:5px;border-radius:3px;background:rgba(255,255,255,.92);animation:wavePulse 1.15s ease-in-out infinite}
.audio-wave i:nth-child(1){height:14px;animation-delay:0s}
.audio-wave i:nth-child(2){height:30px;animation-delay:.14s}
.audio-wave i:nth-child(3){height:44px;animation-delay:.28s}
.audio-wave i:nth-child(4){height:26px;animation-delay:.42s}
.audio-wave i:nth-child(5){height:16px;animation-delay:.56s}
@keyframes wavePulse{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.audio-quote{margin:0;color:#fff;font-size:16.5px;font-weight:700;line-height:1.6;text-shadow:0 1px 10px rgba(11,40,88,.25)}
.audio-note{margin:0;color:rgba(255,255,255,.85);font-size:12.5px}
.audio-link{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.94);color:#2f73c3;font-size:13px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s}
.audio-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,40,88,.25)}
@media (prefers-reduced-motion:reduce){.audio-wave i{animation:none}}
@media (max-width:850px){.bd-media.audio-card{aspect-ratio:4/3}}

/* ===== 案例02：八大形象横幅网格 ===== */
.bd-media.banner-grid{aspect-ratio:auto;align-self:start;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;background:rgba(240,248,255,.9)}
.bd-media.banner-grid img{width:100%;height:auto;border-radius:8px;display:block}
.bd-media.banner-grid figcaption{grid-column:1/-1;font-size:10.5px;color:var(--muted);text-align:center;font-family:var(--font-mono);letter-spacing:.06em}

/* ===== 竖版视频槽 ===== */
.bd-media.portrait video{display:block;width:100%;height:100%;object-fit:cover}

/* ===== PDF 下载链接 ===== */
.pdf-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 16px;border-radius:999px;border:1px solid rgba(78,158,232,.4);background:rgba(255,255,255,.85);color:#2f73c3;font-size:12.5px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s}
.pdf-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(64,122,190,.18)}

/* ===== 落地场景两图 ===== */
.scene-pair{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-top:34px}
.scene-pair figure{margin:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--white)}
.scene-pair img{display:block;width:100%;height:100%;object-fit:cover}
.scene-pair .scene-tall{aspect-ratio:3/4}
.scene-pair .scene-wide{aspect-ratio:4/3}
.scene-pair figcaption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 16px;font-size:12.5px;color:var(--muted);background:var(--white)}
.scene-pair figcaption b{color:var(--ink)}
@media (max-width:850px){.scene-pair{grid-template-columns:1fr}}

/* ===== 案例02：轮播提速 ===== */
.page-case-02 .marquee-track{animation-duration:32s}

/* ===== 八大形象大图画廊 ===== */
.bd-gallery{margin:0}
.gallery-stage{position:relative;aspect-ratio:900/340;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:rgba(240,248,255,.9)}
.gallery-img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .22s ease}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;padding:0 0 4px;border:none;border-radius:50%;background:rgba(255,255,255,.92);color:#2f73c3;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(11,40,88,.2);transition:background .18s,transform .18s}
.gallery-nav:hover{background:#fff;transform:translateY(-50%) scale(1.07)}
.gallery-nav.prev{left:16px}
.gallery-nav.next{right:16px}
.gallery-count{position:absolute;right:16px;bottom:14px;padding:5px 13px;border-radius:999px;background:rgba(11,40,88,.6);color:#fff;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;backdrop-filter:blur(6px)}
.gallery-thumbs{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:10px}
.gallery-thumbs button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;opacity:.5;transition:opacity .2s,border-color .2s,transform .2s}
.gallery-thumbs button:hover{opacity:.85}
.gallery-thumbs button.is-active{opacity:1;border-color:var(--orange-deep);transform:translateY(-2px)}
.gallery-thumbs img{display:block;width:100%;aspect-ratio:900/340;object-fit:cover}
.bd-gallery figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:11px;font-size:12px;color:var(--muted)}
.bd-gallery figcaption b{color:var(--ink)}
@media (max-width:850px){
  .gallery-thumbs{grid-template-columns:repeat(4,1fr)}
  .gallery-nav{width:38px;height:38px;font-size:20px}
  .gallery-nav.prev{left:10px}
  .gallery-nav.next{right:10px}
}

/* ===== 八大形象画廊：尺寸收窄 + 封面适配 ===== */
.bd-gallery{max-width:760px;margin:0 auto}
.gallery-img{object-fit:contain;background:#eef7ff}
.gallery-thumbs{grid-template-columns:repeat(9,1fr)}
.gallery-thumbs img{object-fit:contain;background:#eef7ff}
@media (max-width:850px){.gallery-thumbs{grid-template-columns:repeat(5,1fr)}}

/* ===== 案例03：三段栏目封面刊头 ===== */
.banner-stack{display:grid;gap:14px;margin-top:44px}
.banner-item{position:relative;display:block;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#eef7ff}
.banner-item img{display:block;width:100%;height:auto}
.banner-item .banner-label{position:absolute;left:16px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:999px;background:rgba(255,255,255,.92);font-size:12.5px;font-weight:700;color:#2c5478;backdrop-filter:blur(6px)}
.banner-item .banner-label i{width:7px;height:7px;border-radius:50%;background:var(--orange-deep);font-style:normal}

/* ===== 案例04：活动闭环 / 推文节奏 / 评选规则 / 作品画廊 ===== */
.loop-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:26px}
.loop-step{padding:18px 16px 16px;border:1px solid var(--line);border-radius:18px;background:var(--white)}
.loop-step i{display:block;font-style:normal;font-family:var(--font-mono);font-size:10px;letter-spacing:.09em;color:var(--orange-deep);margin-bottom:9px}
.loop-step b{display:block;font-size:14.5px;font-weight:800;margin-bottom:6px;letter-spacing:-.01em}
.loop-step p{margin:0;font-size:12px;line-height:1.65;color:var(--muted)}

.rhythm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.rhythm-card{display:flex;flex-direction:column;gap:8px;padding:18px 18px 16px;border:1px solid var(--line);border-radius:18px;background:var(--white)}
.rhythm-card .r-time{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--orange-deep)}
.rhythm-card b{font-size:13.5px;line-height:1.55;letter-spacing:-.01em}
.rhythm-card p{margin:0;font-size:11.8px;line-height:1.65;color:var(--muted)}

.rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}

.page-case-04 .bd-gallery{max-width:100%}
.page-case-04 .gallery-stage{aspect-ratio:4/3;background:#f4faff}
.page-case-04 .gallery-thumbs{grid-template-columns:repeat(10,1fr)}
.page-case-04 .gallery-thumbs img{aspect-ratio:1/1;background:#f4faff}
@media (max-width:1000px){.loop-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.rhythm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:850px){.loop-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.rhythm-grid{grid-template-columns:1fr}.rule-grid{grid-template-columns:1fr}.page-case-04 .gallery-thumbs{grid-template-columns:repeat(5,1fr)}}

/* ===== 三栏目定位卡 ===== */
.lane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
.lane-card{padding:22px 22px 20px;border:1px solid var(--line);border-radius:22px;background:var(--white);display:flex;flex-direction:column}
.lane-card .lane-tag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:5px 11px;border-radius:999px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;margin-bottom:13px}
.lane-card h3{font-size:17px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;line-height:1.35}
.lane-card p{font-size:13px;line-height:1.72;color:var(--muted);margin:0}
.lane-card .lane-nums{display:flex;gap:24px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.lane-card .lane-nums div strong{display:block;font-size:21px;font-weight:800;letter-spacing:-.04em;line-height:1}
.lane-card .lane-nums div span{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.lane-card.pink .lane-tag{background:#FBEAF0;color:#993556}
.lane-card.green .lane-tag{background:#EAF3DE;color:#3B6D11}
.lane-card.amber .lane-tag{background:#FAEEDA;color:#854F0B}

/* ===== 21 地市接力带 ===== */
.relay{margin-top:30px;padding:24px 24px 20px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,rgba(139,232,227,.20),rgba(255,255,255,.9) 62%)}
.relay-chips{display:flex;flex-wrap:wrap;gap:8px}
.relay-chips span{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(78,158,232,.28);font-size:12.5px;color:#2c5478}
.relay-chips span b{font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--orange-deep)}
.relay-note{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(78,158,232,.22);font-size:12px;color:var(--muted)}

/* ===== 优品海报墙 ===== */
.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.poster-card{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;transition:transform .22s,box-shadow .22s}
.poster-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(64,122,190,.14)}
.poster-card img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;object-position:top}
.poster-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;font-size:12.5px;color:var(--ink);background:var(--white)}
.poster-card figcaption span{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}

/* ===== 她 · 深度人物稿 ===== */
.story-list{display:grid;gap:12px;margin-top:28px}
.story-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:var(--white);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}
.story-card:hover{border-color:rgba(78,158,232,.5);transform:translateY(-2px);box-shadow:0 12px 28px rgba(64,122,190,.12)}
.story-card .story-idx{font-family:var(--font-mono);font-size:11px;color:var(--muted)}
.story-card h4{margin:0;font-size:15.5px;font-weight:700;line-height:1.5;letter-spacing:-.01em}
.story-card .story-meta{display:flex;gap:14px;margin-top:6px;font-size:11.5px;color:var(--muted);font-family:var(--font-mono)}
.story-card .story-read{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--orange-deep);font-weight:700;white-space:nowrap}

/* ===== 家 · 征集展播 ===== */
.home-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:28px}
.home-card{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff}
.home-card img{display:block;width:100%;aspect-ratio:1/2.05;object-fit:cover;object-position:top}
.home-card figcaption{padding:9px 11px 11px;font-size:11.5px;line-height:1.5;color:var(--ink)}
.home-card figcaption b{display:block;font-weight:600}
.home-card figcaption span{display:block;margin-top:3px;font-size:10.5px;color:var(--muted)}

/* ===== 线下集市闭环 ===== */
.closing{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:center;margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:26px;background:var(--white)}
.closing figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.closing img{display:block;width:100%;height:100%;object-fit:cover;max-height:360px}
.closing h4{font-size:17px;font-weight:800;margin:0 0 10px;letter-spacing:-.02em}
.closing p{font-size:13.5px;line-height:1.75;color:var(--muted);margin:0 0 10px}
.closing ul{margin:0;padding-left:0;list-style:none;display:grid;gap:7px}
.closing li{position:relative;padding-left:16px;font-size:12.5px;color:var(--muted);line-height:1.6}
.closing li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--orange-deep)}

@media (max-width:850px){
  .lane-grid{grid-template-columns:1fr}
  .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .closing{grid-template-columns:1fr}
  .story-card{grid-template-columns:auto minmax(0,1fr);gap:12px}
  .story-card .story-read{grid-column:2;justify-self:start}
}

/* ===== 大标题换行平衡 ===== */
.case-detail h1{text-wrap:balance}

/* ===== 案例03：栏目标题三联小图（横排）对齐令牌 ===== */
.page-case-03 .banner-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:var(--space-block)}
.page-case-03 .banner-item{position:relative;border-radius:var(--radius-media);overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.page-case-03 .banner-label{position:static;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;background:var(--surface);border-top:1px solid var(--line);font-size:var(--fs-micro);letter-spacing:.03em;color:var(--accent);backdrop-filter:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-case-03 .banner-label i{width:6px;height:6px;border-radius:50%;background:var(--orange-deep);font-style:normal}
@media (max-width:850px){.page-case-03 .banner-stack{grid-template-columns:1fr}}

/* ===== AI 工作流说明 ===== */
.ai-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;margin-top:22px;padding:18px 20px;border:1px solid rgba(78,158,232,.35);border-radius:18px;background:linear-gradient(140deg,rgba(139,232,227,.26),rgba(197,187,255,.20) 60%,rgba(255,255,255,.86))}
.ai-tag{align-self:start;padding:5px 11px;border-radius:999px;background:var(--white);color:#2f73c3;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;white-space:nowrap}
.ai-note p{margin:0;font-size:13.5px;line-height:1.78;color:#2c5478}
.ai-note b{color:var(--ink);font-weight:700}

/* ===== 海报横排轨道 ===== */
.rail-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0 12px}
.rail-hint{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}
.rail-btns{display:flex;gap:8px}
.rail-btn{width:38px;height:38px;padding:0 0 3px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:#2f73c3;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s,transform .18s}
.rail-btn:hover{background:#2f73c3;color:#fff;transform:translateY(-1px)}
.rail-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.rail-viewport::-webkit-scrollbar{display:none}
.poster-rail .rail-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 56px) / 5);gap:14px;margin-top:0}
.poster-rail .poster-card{scroll-snap-align:start}
@media (max-width:850px){.poster-rail .rail-track{grid-auto-columns:calc((100% - 28px) / 2.4)}}

/* ===== 征集作品聚焦浏览 ===== */
.work-viewer{display:grid;grid-template-columns:300px minmax(0,1fr);gap:34px;margin-top:26px;align-items:start}
.wv-stage{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#fff}
.wv-stage img{display:block;width:100%;aspect-ratio:1/2.05;object-fit:cover;object-position:top;transition:opacity .2s ease}
.wv-info h3{margin:0;font-size:clamp(18px,2.1vw,22px);font-weight:800;letter-spacing:-.02em;line-height:1.42}
.wv-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin:12px 0 0;font-size:12.5px;color:var(--muted);font-family:var(--font-mono)}
.wv-meta b{color:var(--ink);font-weight:600;font-family:var(--font-sans)}
.wv-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:18px}
.wv-thumbs button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s,transform .2s}
.wv-thumbs button:hover{opacity:.85}
.wv-thumbs button.is-active{opacity:1;border-color:var(--orange-deep);transform:translateY(-2px)}
.wv-thumbs img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top}
.wv-note{margin:16px 0 0;font-size:12.5px;color:var(--muted);line-height:1.72}
@media (max-width:850px){.work-viewer{grid-template-columns:1fr;gap:20px}.wv-stage{max-width:260px}}

/* ===== 案例03：海报自动轮播（无缝双段 + 悬停暂停） ===== */
.poster-rail{margin-top:18px}
.poster-viewport{overflow:hidden;padding-bottom:4px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent 100%)}
.poster-track{display:flex;width:max-content;will-change:transform}
.poster-set{display:flex;gap:14px;padding-right:14px}
.poster-set .poster-card{flex:0 0 auto;width:196px;margin:0;scroll-snap-align:none}
.poster-set .poster-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(64,122,190,.18)}
@media (max-width:850px){.poster-set .poster-card{width:152px}}


/* ===== 案例05：六层架构卡 ===== */
.arch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.arch-card{padding:20px 20px 18px;border:1px solid var(--line);border-radius:20px;background:var(--white)}
.arch-card .arch-no{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;color:var(--orange-deep);display:block;margin-bottom:10px}
.arch-card h3{font-size:15.5px;font-weight:800;margin:0 0 7px;letter-spacing:-.01em}
.arch-card p{font-size:12.5px;line-height:1.7;color:var(--muted);margin:0}
.arch-card .arch-sub{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.arch-card .arch-sub span{padding:4px 10px;border-radius:999px;background:rgba(78,158,232,.09);color:#2f73c3;font-size:10.5px;font-family:var(--font-mono)}

/* ===== 流程图 ===== */
.flow-figure{margin:26px 0 0;border:1px solid var(--line);border-radius:24px;background:var(--white);overflow:hidden}
.flow-figure img{display:block;width:100%;height:auto}
.flow-figure figcaption{padding:12px 20px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.flow-figure figcaption b{color:var(--ink)}

/* ===== 11 步流水线 ===== */
.pipe-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.pipe-strip span{display:inline-flex;align-items:baseline;gap:6px;padding:7px 13px;border-radius:999px;background:var(--white);border:1px solid var(--line);font-size:12.5px;color:#2c5478}
.pipe-strip span i{font-style:normal;font-family:var(--font-mono);font-size:10px;color:var(--orange-deep)}
.pipe-strip span.pipe-hot{border-color:rgba(78,158,232,.55);background:linear-gradient(135deg,rgba(139,232,227,.30),rgba(255,255,255,.9))}
.pipe-fallback{margin-top:16px;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.7);border:1px dashed rgba(78,158,232,.45);font-size:12.5px;line-height:1.7;color:#2c5478}
.pipe-fallback b{color:var(--ink)}

/* ===== Live demo：公众号发布预览（手机框 + 同期音频） ===== */
.demo-grid{display:grid;grid-template-columns:minmax(0,406px) minmax(0,1fr);gap:26px;margin-top:30px;align-items:stretch}
.wx-shell{margin:0;display:flex;flex-direction:column;height:100%;min-height:574px;padding:9px;border-radius:36px;border:1px solid var(--line);background:linear-gradient(165deg,rgba(255,255,255,.97),rgba(243,249,255,.94));box-shadow:0 26px 64px rgba(64,122,190,.2),inset 0 1px 0 #fff}
.wx-nav{display:flex;align-items:center;justify-content:space-between;padding:5px 15px 9px;color:#9db0c4}
.wx-back{font-size:21px;line-height:1;color:#5c7391}
.wx-dots{font-size:13px;letter-spacing:1.5px;line-height:1}
.wx-screen{flex:1;min-height:0;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(88,145,207,.16)}
.wx-screen iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.wx-bar{display:flex;align-items:center;justify-content:space-around;margin-top:9px;padding:9px 6px 2px;border-top:1px solid rgba(88,145,207,.14);font-size:11.5px;color:#9db0c4}

.demo-aside{display:flex;flex-direction:column;gap:16px;min-width:0}
.demo-card{padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:var(--white)}
.demo-card h4{margin:0 0 10px;font-size:15px;font-weight:800;letter-spacing:-.01em}
.demo-card p{margin:0;font-size:12.9px;line-height:1.75;color:var(--muted)}
.demo-card p em{font-style:normal;color:var(--ink);font-weight:600}
.demo-card audio{display:block;width:100%;margin-top:15px;height:38px}
.demo-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.demo-card-top h4{margin:0}
.demo-len{font-family:var(--font-mono);font-size:11.5px;color:#2f73c3;padding:3px 10px;border-radius:999px;background:rgba(78,158,232,.1);white-space:nowrap}
.demo-foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.demo-foot span{padding:4px 10px;border-radius:999px;background:rgba(78,158,232,.08);color:#5c7fa3;font-size:10.5px;font-family:var(--font-mono);letter-spacing:.02em}

.demo-fill{flex:1;display:flex;flex-direction:column}
.demo-issue{list-style:none;margin:2px 0 0;padding:0;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:2px}
.demo-issue li{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:11px;align-items:start;padding:11px 0;border-bottom:1px dashed rgba(88,145,207,.22)}
.demo-issue li:last-child{border-bottom:0;padding-bottom:0}
.demo-issue i{width:7px;height:7px;border-radius:50%;display:block;margin-top:6px}
.demo-issue div{min-width:0}
.demo-issue span{display:block;font-size:10.5px;color:#93a7bd;letter-spacing:.06em;margin-bottom:3px}
.demo-issue b{display:block;font-size:13.4px;font-weight:700;color:var(--ink);line-height:1.42}
.demo-issue em{font-style:normal;font-size:11px;color:#a9bacb;white-space:nowrap;padding-top:11px}
.demo-note{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(88,145,207,.16);font-size:11.5px;line-height:1.65;color:#93a7bd}

/* ===== AI 封面轮播 ===== */
.cover-viewport{overflow:hidden;padding-bottom:4px;margin-top:20px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent 100%)}
.cover-track{display:flex;width:max-content;animation:coverScroll 48s linear infinite}
.case-05-marquee:hover .cover-track,.case-05-marquee:focus-within .cover-track{animation-play-state:paused}
.cover-set{display:flex;gap:14px;padding-right:14px}
.cover-set figure{margin:0;flex:0 0 auto;width:330px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff}
.cover-set img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.cover-set figcaption{padding:9px 14px;font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}
@keyframes coverScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.cover-track{animation:none}.cover-viewport{overflow-x:auto;scrollbar-width:none;-webkit-mask-image:none;mask-image:none}.cover-viewport::-webkit-scrollbar{display:none}}

/* ===== 可迁移能力 ===== */
.cap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.cap-card{padding:20px 18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,rgba(139,232,227,.18),rgba(255,255,255,.92) 60%)}
.cap-card b{display:block;font-size:13.5px;font-weight:800;margin-bottom:7px;line-height:1.5}
.cap-card p{margin:0;font-size:12px;line-height:1.65;color:var(--muted)}

@media (max-width:1000px){.arch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-grid{grid-template-columns:minmax(0,366px) minmax(0,1fr);gap:20px}}
@media (max-width:850px){.arch-grid{grid-template-columns:1fr}.demo-grid{grid-template-columns:1fr;gap:18px}.wx-shell{height:566px;min-height:0;max-width:400px;margin:0 auto}.demo-fill{flex:0 0 auto}.cap-grid{grid-template-columns:1fr}.cover-set figure{width:250px}}

/* ===== 内容实验室（lab.html · 一页四态） ===== */

/* 左侧竖排索引（替代横向标签栏，鼠标移入才展开文字） */
/* 左侧 Tab 切换条：默认收起为窄条（仅显示编号），鼠标移入时拓宽并显示各 Tab 名称 */
.page-lab .lab-rail{position:fixed;left:max(16px,calc(50% - 666px));top:50%;transform:translateY(-50%);z-index:80;display:flex;flex-direction:column;gap:6px;width:max-content;padding:8px;border:1px solid rgba(255,255,255,.74);border-radius:24px;background:rgba(255,255,255,.62);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 12px 28px rgba(28,70,108,.1);transition:width .26s ease,padding .26s ease}
.page-lab .lab-rail-item{display:flex;align-items:center;justify-content:center;gap:0;padding:8px;border:0;border-radius:999px;background:none;cursor:pointer;color:var(--muted);font-size:12px;font-weight:600;line-height:1;transition:background .2s,color .2s,justify-content .2s,padding .2s}
.page-lab .lab-rail-item i{font-family:var(--font-mono);font-style:normal;font-size:11px;letter-spacing:.04em;opacity:.85;transition:opacity .2s}
.page-lab .lab-rail-item span{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .26s ease,opacity .2s ease}
/* 悬停时整体拓宽，编号与名称一同展开（仅宽屏，避开移动端底部圆点导航） */
@media (min-width:701px){
  .page-lab .lab-rail:hover{width:132px;padding:8px 10px}
  .page-lab .lab-rail:hover .lab-rail-item{justify-content:flex-start;gap:8px;padding:9px 12px}
  .page-lab .lab-rail:hover .lab-rail-item span{max-width:96px;opacity:1}
}
.page-lab .lab-rail-item:hover{color:var(--ink)}
.page-lab .lab-rail-item.is-active{background:var(--accent);color:#fff}
.page-lab .lab-rail-item.is-active i{opacity:1}
.page-lab .lab-rail-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.page-lab .lab-hero{padding-top:4px}
.page-lab .lab-hero h1{font-size:clamp(30px,4.4vw,52px);margin:0 0 16px}
.page-lab .lab-lead{font-size:clamp(15px,2vw,18px);line-height:1.7;color:var(--muted);max-width:720px;margin:0;font-weight:500}
.page-lab .lab-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.page-lab .cap-grid.lab-cap{grid-template-columns:repeat(3,1fr)}

/* 叠放卡片堆：4 张 9:16 竖屏作品，顶层是当前作品 */
.page-lab .deck{--cw:320px;--ch:calc(var(--cw) * 16 / 9);--cr:24px;position:relative;margin-top:36px;display:flex;flex-direction:column;align-items:center;outline:none}
.page-lab .deck:focus-visible{outline:2px solid var(--orange-deep);outline-offset:8px;border-radius:20px}
.page-lab .deck-stage{position:relative;width:min(100%,calc(var(--cw) + 84px));height:calc(var(--ch) + 76px);touch-action:pan-y}
.page-lab .deck-card{position:absolute;left:50%;top:0;width:var(--cw);height:var(--ch);margin-left:calc(var(--cw) / -2);border-radius:var(--cr);overflow:hidden;background:#dcebf8;transform-origin:50% 100%;will-change:transform,opacity;cursor:pointer;transition:transform .48s cubic-bezier(.18,.94,.36,1),opacity .38s ease,box-shadow .4s ease}
/* 层级：0 顶层，往下依次偏移 16/32/48px、缩小、轻微旋转，阴影逐层变淡 */
.page-lab .deck-card[data-depth="0"]{z-index:4;transform:translate3d(0,0,0) scale(1) rotate(0deg);opacity:1;box-shadow:0 28px 58px rgba(16,40,88,.22)}
.page-lab .deck-card[data-depth="1"]{z-index:3;transform:translate3d(0,16px,0) scale(.95) rotate(3deg);opacity:1;box-shadow:0 18px 36px rgba(16,40,88,.14)}
.page-lab .deck-card[data-depth="2"]{z-index:2;transform:translate3d(0,32px,0) scale(.9) rotate(-3deg);opacity:1;box-shadow:0 13px 26px rgba(16,40,88,.1)}
.page-lab .deck-card[data-depth="3"]{z-index:1;transform:translate3d(0,48px,0) scale(.85) rotate(2deg);opacity:.7;box-shadow:0 8px 18px rgba(16,40,88,.07)}
/* 飞出 / 飞入 / 归位：与层级规则同特异度，必须写在后面 */
.page-lab .deck-card.is-flying{transform:translate3d(120%,0,0) rotate(12deg);opacity:0;z-index:9;pointer-events:none}
.page-lab .deck-card.is-flying-left{transform:translate3d(-120%,0,0) rotate(-12deg);opacity:0;z-index:9;pointer-events:none}
.page-lab .deck-card.is-coming{transform:translate3d(-120%,0,0) rotate(-12deg);opacity:0;z-index:9}
.page-lab .deck-card.is-coming-right{transform:translate3d(120%,0,0) rotate(12deg);opacity:0;z-index:9}
.page-lab .deck-card.is-returning{opacity:0}
.page-lab .deck-card.is-dragging{transition:none;cursor:grabbing;z-index:9}
/* 画面与封面 */
.page-lab .deck-card video{display:block;width:100%;height:100%;object-fit:cover;background:#0d1118}
.page-lab .deck-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transition:opacity .35s ease}
.page-lab .deck-card.is-top .deck-poster{opacity:0}
/* 极简控件 */
.page-lab .deck-badge{position:absolute;left:16px;top:16px;z-index:3;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:#fff;background:rgba(11,40,88,.34);padding:4px 8px;border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease}
.page-lab .deck-card.is-top .deck-badge{opacity:1}
.page-lab .deck-play{position:absolute;left:50%;top:50%;z-index:4;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 10px 26px rgba(9,22,48,.3);opacity:0;transform:scale(.86);transition:opacity .25s ease,transform .25s ease}
.page-lab .deck-play::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-38%,-50%);width:0;height:0;border-left:19px solid #17356b;border-top:12px solid transparent;border-bottom:12px solid transparent}
.page-lab .deck-card.is-top:not(.is-playing) .deck-play{opacity:1;transform:scale(1)}
.page-lab .deck-sound{position:absolute;right:14px;top:14px;z-index:5;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(11,40,88,.28);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .28s ease,background .2s}
.page-lab .deck-card.is-top .deck-sound{opacity:1}
.page-lab .deck-sound svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.page-lab .deck-sound .spk{fill:rgba(255,255,255,.9);stroke:#fff}
.page-lab .deck-sound .wave{opacity:0;transition:opacity .2s}
.page-lab .deck-sound.is-on .wave{opacity:1}
.page-lab .deck-sound:hover{background:rgba(11,40,88,.52)}
.page-lab .deck-progress{position:absolute;left:0;right:0;bottom:0;z-index:4;height:2px;background:rgba(255,255,255,.3);opacity:0;transition:opacity .3s ease}
.page-lab .deck-card.is-top .deck-progress{opacity:1}
.page-lab .deck-progress i{display:block;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:0 50%;transition:transform .2s linear}
/* 箭头：贴近卡片两侧 */
.page-lab .deck-nav{position:absolute;top:calc(var(--ch) / 2 - 26px);z-index:6;width:52px;height:52px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.74);color:var(--orange-deep);font-size:30px;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 10px 24px rgba(16,40,88,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .2s,background .2s,color .2s}
.page-lab .deck-nav:hover{background:#fff;color:var(--ink);transform:scale(1.08)}
.page-lab .deck-nav.prev{left:0}
.page-lab .deck-nav.next{right:0}
/* 信息区 */
.page-lab .deck-info{margin-top:26px;width:min(100%,460px);display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;transition:opacity .28s ease,transform .28s ease}
.page-lab .deck-info.is-swap{opacity:0;transform:translateY(8px)}
.page-lab .deck-info-no{display:flex;align-items:baseline;gap:6px;font-family:var(--font-mono);color:var(--muted)}
.page-lab .deck-info-no b{font-size:30px;font-weight:700;line-height:1;color:var(--ink)}
.page-lab .deck-info-no em{font-style:normal;font-size:12px;letter-spacing:.1em}
.page-lab .deck-info h4{margin:0;font-size:18px;font-weight:700;color:var(--ink)}
.page-lab .deck-info-desc{margin:0;font-size:13px;line-height:1.7;color:var(--muted)}
.page-lab .deck-info-role{margin:0;font-size:12.5px;line-height:1.6;color:var(--muted)}
.page-lab .deck-info-role b{color:var(--ink);font-weight:600}
.page-lab .deck-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}
.page-lab .deck-tags span{padding:5px 12px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,255,255,.5);font-size:11.5px;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 16px rgba(16,40,88,.06)}
.page-lab .deck-dots{display:flex;align-items:center;gap:7px;margin-top:20px}
.page-lab .deck-dot{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(78,158,232,.3);cursor:pointer;transition:background .2s,width .25s,transform .2s}
.page-lab .deck-dot:hover{transform:scale(1.25)}
.page-lab .deck-dot.is-active{width:20px;background:var(--orange-deep)}
.page-lab .deck-hint{margin:12px 0 0;font-size:11.5px;letter-spacing:.04em;color:var(--muted);text-align:center}

/* 文字页样本列表 */
.page-lab .lab-group-title{display:flex;align-items:center;gap:12px;margin:34px 0 0;font-size:15px;font-weight:700;color:var(--ink)}
.page-lab .lab-group-title::after{content:"";flex:1;height:1px;background:var(--line)}
.page-lab .lab-group-title + .story-list{margin-top:14px}
.page-lab .lab-panel .story-card{margin-top:12px}
.page-lab .story-card.lab-goto{width:100%;border-style:dashed;cursor:pointer;font:inherit;text-align:inherit}

/* 视觉页海报网格 */
.page-lab .poster-grid.lab-posters{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.page-lab .lab-posters .poster-card{flex:1 1 0;min-width:150px;margin:0}
.page-lab .lab-posters .poster-card img{width:100%;aspect-ratio:9/16;object-fit:contain;background:#eef6ff}
.page-lab .poster-grid.lab-covers{grid-template-columns:repeat(3,1fr)}
/* 长图滚动查看区 */
.page-lab .longshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.page-lab .longshot{margin:0}
.page-lab .longshot-scroll{position:relative;height:560px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:18px;background:#fff;scrollbar-width:thin;scrollbar-color:rgba(78,158,232,.5) rgba(78,158,232,.12);-webkit-overflow-scrolling:touch}
.page-lab .longshot-scroll::-webkit-scrollbar{width:7px}
.page-lab .longshot-scroll::-webkit-scrollbar-track{background:rgba(78,158,232,.1);border-radius:99px}
.page-lab .longshot-scroll::-webkit-scrollbar-thumb{background:rgba(78,158,232,.5);border-radius:99px}
.page-lab .longshot-scroll::after{content:"";position:sticky;bottom:0;left:0;display:block;height:36px;margin-bottom:-36px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.9));pointer-events:none}
.page-lab .longshot-scroll img{display:block;width:100%;background:#eef6ff}
.page-lab .longshot figcaption{display:flex;flex-direction:column;gap:3px;padding:11px 2px 0;font-size:13.5px;color:var(--ink)}
.page-lab .longshot figcaption span{font-size:11.5px;line-height:1.55;color:var(--muted)}
.page-lab .lab-covers .poster-card img{aspect-ratio:16/9;object-fit:cover}
.page-lab .rail-hint{display:block;margin:12px 0 0}

/* AIGC 作品三段：视频 / 图像 / 脚本 */
.page-lab .ai-feature{margin:18px 0 0}
.page-lab .ai-media{position:relative;border-radius:20px;overflow:hidden;background:#101826}
.page-lab .ai-media video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.page-lab .ai-feature figcaption{display:flex;flex-direction:column;gap:3px;padding:12px 2px 0;font-size:13.5px;line-height:1.5;color:var(--ink)}
.page-lab .ai-feature figcaption span{font-size:11.5px;color:var(--muted)}
.page-lab .ai-play{position:absolute;inset:0;display:grid;place-items:center;padding:0;border:0;background:rgba(9,16,28,.25);cursor:pointer;transition:opacity .25s,background .25s}
.page-lab .ai-play span{position:relative;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(9,16,28,.28)}
.page-lab .ai-play span::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);width:0;height:0;border-left:16px solid #101826;border-top:10px solid transparent;border-bottom:10px solid transparent}
.page-lab .ai-play:hover{background:rgba(9,16,28,.1)}
.page-lab .is-playing .ai-play{opacity:0;pointer-events:none}
.page-lab .ai-video-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:18px}
.page-lab .ai-video-card{flex:1 1 0;min-width:170px;max-width:250px;margin:0}
.page-lab .ai-shot{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#eef6ff}
.page-lab .ai-shot video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.page-lab .ai-video-card figcaption{display:flex;flex-direction:column;gap:3px;padding:11px 2px 0;font-size:13.5px;color:var(--ink)}
.page-lab .ai-video-card figcaption span{font-size:11.5px;color:var(--muted)}
.page-lab .ai-img-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px}
.page-lab .ai-img{flex:0 1 calc((100% - 28px)/3);margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#eef6ff}
.page-lab .ai-img img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.page-lab .doc-grid{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}
.page-lab .doc-card{flex:1 1 240px;display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--white);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.page-lab .doc-card:hover{border-color:rgba(78,158,232,.45);transform:translateY(-2px)}
.page-lab .doc-top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted)}
.page-lab .doc-card h4{margin:0;font-size:15px;line-height:1.45;color:var(--ink);font-weight:700}
.page-lab .doc-card p{margin:0;font-size:12.5px;line-height:1.65;color:var(--muted)}
.page-lab .doc-go{margin-top:auto;padding-top:10px;font-size:12px;font-weight:600;color:var(--orange-deep)}
.page-lab .doc-card[data-doc-pending] .doc-go{font-weight:500;color:var(--muted)}
.page-lab .doc-card.doc-hero{flex:1 1 100%;border-color:rgba(78,158,232,.35);background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(78,158,232,.06))}
.page-lab .doc-card.doc-hero h4{font-size:16px}
.page-lab .doc-card.doc-hero p{max-width:640px}

/* 循环翻页 */
.page-lab .lab-pager-btn{display:grid;gap:4px;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:var(--white);cursor:pointer;text-align:left;transition:border-color .2s,transform .2s}
.page-lab .lab-pager-btn:hover{border-color:rgba(78,158,232,.45);transform:translateY(-2px)}
.page-lab .lab-pager-btn .dir{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}
.page-lab .lab-pager-btn .title{font-size:14px;font-weight:600;color:var(--ink)}
.page-lab .lab-pager-btn.next{text-align:right;justify-items:end}

@media (max-width:1180px){
  .page-lab .lab-rail{left:auto;right:6px;padding:8px 5px;gap:7px}
  .page-lab .lab-rail-item{padding:6px;gap:0}
  .page-lab .lab-rail-item span{display:none}
  .page-lab .lab-cards,.page-lab .cap-grid.lab-cap{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .page-lab .ai-video-card{max-width:220px}
  .page-lab .ai-img{max-width:300px}
  .page-lab .longshot-grid{grid-template-columns:1fr}
  .page-lab .longshot-scroll{height:420px}
  .page-lab .lab-cards,.page-lab .cap-grid.lab-cap{grid-template-columns:1fr}
  .page-lab .poster-grid.lab-covers{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .page-lab .lab-rail{left:50%;right:auto;top:auto;bottom:12px;transform:translateX(-50%);flex-direction:row;gap:6px;padding:6px 9px;border-radius:999px}
  .page-lab .lab-rail-item{width:8px;height:8px;padding:0;border-radius:50%;background:rgba(78,158,232,.35)}
  .page-lab .lab-rail-item i{display:none}
  .page-lab .lab-rail-item.is-active{width:20px;border-radius:999px;background:var(--orange-deep)}
  .page-lab .deck{--cw:75vw;--cr:20px;margin-top:26px}
  .page-lab .deck-stage{height:calc(var(--ch) + 62px)}
  .page-lab .deck-nav{width:44px;height:44px;font-size:26px;top:calc(var(--ch) / 2 - 22px)}
  .page-lab .deck-nav.prev{left:-2px}
  .page-lab .deck-nav.next{right:-2px}
  .page-lab .deck-info{margin-top:22px;gap:6px}
  .page-lab .deck-info-no b{font-size:26px}
  .page-lab .deck-info h4{font-size:16.5px}
  .page-lab .deck-hint{display:none}
}
@media (prefers-reduced-motion:reduce){
  .page-lab *,.page-lab *::before,.page-lab *::after{animation:none!important;transition:none!important}
}

/* ===== 分镜脚本页（script-14da.html）—— 已对齐设计规范（写死值→统一令牌） ===== */
.page-script .script-meta{display:flex;flex-wrap:wrap;gap:var(--space-block);margin-top:26px}
.page-script .script-meta div{display:flex;flex-direction:column;gap:5px}
.page-script .script-meta span{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.page-script .script-meta b{font-size:var(--fs-h4);color:var(--ink);font-weight:700}
.page-script .script-table-wrap{margin-top:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--surface)}
.page-script .script-table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.page-script .script-table thead th{padding:14px 18px;text-align:left;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--accent-soft);border-bottom:1px solid var(--line);white-space:nowrap}
.page-script .script-table td{padding:16px 18px;vertical-align:top;line-height:1.65;border-bottom:1px solid var(--line);color:var(--ink)}
.page-script .script-table tbody tr:last-child td{border-bottom:0}
.page-script .script-table tbody tr:hover td{background:var(--accent-soft)}
.page-script .script-table .c-no{width:52px;font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);white-space:nowrap}
.page-script .script-table .c-time{width:92px;font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--accent);white-space:nowrap}
.page-script .script-table .c-vo{color:var(--ink);font-weight:500}
.page-script .script-table tr.is-end td{background:var(--accent-soft)}
.page-script .script-table tr.is-end .c-vo{font-weight:700}
.page-script .script-notes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-card);margin-top:18px}
.page-script .note-card{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
.page-script .note-card b{display:block;font-size:var(--fs-h4);color:var(--ink);margin-bottom:8px}
.page-script .note-card p{margin:0;font-size:var(--fs-small);line-height:1.75;color:var(--muted)}
.page-script .script-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:30px;padding:var(--space-card);border:1px dashed var(--accent);border-radius:var(--radius-card)}
.page-script .script-dl{display:inline-flex;align-items:baseline;gap:8px;font-size:var(--fs-h4);font-weight:700;color:var(--accent);text-decoration:none}
.page-script .script-dl:hover{text-decoration:underline}
.page-script .script-dl em{font-family:var(--font-mono);font-style:normal;font-size:var(--fs-micro);letter-spacing:.06em;color:var(--muted);font-weight:400}
.page-script .script-foot p{margin:0;font-size:var(--fs-small);color:var(--muted);flex:1 1 260px}

@media (max-width:820px){
  .page-script .script-notes{grid-template-columns:1fr}
  .page-script .script-meta{gap:20px 28px}
  .page-script .script-table thead{display:none}
  .page-script .script-table,.page-script .script-table tbody,.page-script .script-table tr,.page-script .script-table td{display:block;width:auto}
  .page-script .script-table tr{padding:16px 18px;border-bottom:1px solid var(--line)}
  .page-script .script-table tr:last-child{border-bottom:0}
  .page-script .script-table td{padding:0;border:0}
  .page-script .script-table .c-no{display:inline-block;margin-bottom:8px;color:var(--accent);font-size:var(--fs-micro)}
  .page-script .script-table .c-time{float:right;font-size:var(--fs-micro);margin-top:-2px}
  .page-script .script-table td[data-label]{position:relative;padding-top:22px;font-size:var(--fs-small)}
  .page-script .script-table td[data-label]::before{content:attr(data-label);position:absolute;top:0;left:0;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.75}
  .page-script .script-table .c-vo{padding-bottom:6px}
}
@media (prefers-reduced-motion:reduce){
  .page-script *{animation:none!important;transition:none!important}
}

/* AIGC 海报网格（9:16）与故事链路 */
.page-lab .ai-img figcaption{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px;font-size:12.5px;color:var(--ink)}
.page-lab .ai-img figcaption span{font-size:11px;line-height:1.5;color:var(--muted)}
.page-lab .ai-img-grid.is-poster .ai-img{flex:0 1 calc((100% - 28px)/3)}
.page-lab .ai-img-grid.is-poster .ai-img img{aspect-ratio:9/16;object-fit:cover}
.page-lab .ai-img-grid.is-poster + .lab-group-title{margin-top:36px}
/* 六张一行缩略条：前三节日海报 + 后三同模板信纸，第 4 张加间距分组 */
.page-lab .ai-img-grid.is-strip{gap:12px;margin-top:14px}
.page-lab .ai-img-grid.is-strip .ai-img{flex:0 1 calc((100% - 74px)/6)}
.page-lab .ai-img-grid.is-strip .ai-img:nth-child(4){margin-left:14px}
.page-lab .ai-img-grid.is-strip .ai-img img{aspect-ratio:9/16;object-fit:cover}
.page-lab .ai-img-grid.is-strip .ai-img figcaption{gap:2px;padding:8px 9px 10px;font-size:11.5px}
.page-lab .ai-img-grid.is-strip .ai-img figcaption span{font-size:10.5px}

.page-lab .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.page-lab .story-grid figure{margin:0}
.page-lab .story-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#eef6ff}
.page-lab .story-grid figcaption{padding:8px 2px 0;font-size:12px;line-height:1.5;color:var(--muted)}
.page-lab .story-duo{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-top:24px;align-items:start}
.page-lab .story-script{margin:0}
.page-lab .story-script .longshot-scroll{height:520px}
.page-lab .story-script figcaption,.page-lab .story-poster figcaption{display:flex;flex-direction:column;gap:3px;padding:11px 2px 0;font-size:13px;color:var(--ink)}
.page-lab .story-script figcaption span,.page-lab .story-poster figcaption span{font-size:11px;line-height:1.55;color:var(--muted)}
.page-lab .story-poster{margin:0}
.page-lab .story-poster img{display:block;width:100%;border-radius:16px;border:1px solid var(--line);background:#eef6ff}

@media (max-width:1180px){
  .page-lab .story-duo{gap:16px}
}
@media (max-width:820px){
  .page-lab .ai-img-grid.is-poster .ai-img{flex:0 1 calc((100% - 14px)/2)}
  .page-lab .ai-img-grid.is-strip{gap:10px}
  .page-lab .ai-img-grid.is-strip .ai-img{flex:0 1 calc((100% - 10px)/2)}
  .page-lab .ai-img-grid.is-strip .ai-img:nth-child(4){margin-left:0}
  .page-lab .story-grid{grid-template-columns:1fr;gap:14px}
  .page-lab .story-duo{grid-template-columns:1fr}
  .page-lab .story-script .longshot-scroll{height:400px}
  .page-lab .story-poster{max-width:280px}
}

/* ===== 卡片堆 · prefers-reduced-motion 降级为淡入淡出 =====
   注意：上方 .page-lab 有一条全局 transition:none!important，
   这里必须用更高特异度把它覆盖回来，否则连淡入淡出也没有。 */
@media (prefers-reduced-motion:reduce){
  .page-lab .deck-card,.page-lab .deck-info,.page-lab .deck-play,.page-lab .deck-poster,.page-lab .deck-badge{transition:opacity .26s ease!important}
  .page-lab .deck-card.is-flying,.page-lab .deck-card.is-flying-left,.page-lab .deck-card.is-coming,.page-lab .deck-card.is-coming-right{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  .page-lab .deck-card.is-returning{opacity:0}
  .page-lab .deck-nav{transition:background .2s,color .2s}
}
/* ============================================================
   案例 01：对齐首页设计规范（2026-11-02）
   规范来源：theme-overrides.css「首页排版规整化」令牌块 + UI 说明 §14。
   只做版式与视觉对齐：内容区回到 1200 网格、板块留白 120/72、
   圆角 卡片20/图片14/胶囊999、字号收敛到令牌档位、颜色收敛为主蓝+点缀绿。
   不改 DOM、不改文案，产出成果滚动与图片灯箱交互保持原样。
   ============================================================ */

/* ---- 1. 网格与板块留白：跟随 .site-shell 的 1200 内容区，不再单独收窄 1040 ---- */
body.page-case-01 .case-detail{--cd-space:var(--space-section);max-width:none;padding-top:var(--cd-space);padding-bottom:56px}
body.page-case-01 .case-crumb{margin-bottom:var(--space-block)}
body.page-case-01 .case-block,
body.page-case-01 .case-cols,
body.page-case-01 .case-timeline,
body.page-case-01 .case-breakdown{padding-top:var(--cd-space)}
body.page-case-01 .case-strategy{margin-top:var(--cd-space)}
body.page-case-01 .case-pager{margin:var(--cd-space) 0 56px}
body.page-case-01 .case-backline{margin-bottom:56px}

/* ---- 2. 返回导航：与首页导航同一套胶囊语言 ---- */
body.page-case-01 .case-crumb a{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-01 .case-crumb a:hover{color:var(--accent);border-color:var(--accent)}

/* ---- 3. 标题区：eyebrow / h1 / claim / 标签按 5 级字号 ---- */
body.page-case-01 .case-eyebrow{font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:18px}
body.page-case-01 .case-hero h1{font-size:var(--fs-title-page);letter-spacing:-.05em;max-width:960px;margin-bottom:22px}
body.page-case-01 .case-claim{font-size:var(--fs-h3);max-width:var(--measure);margin-bottom:22px}
body.page-case-01 .case-hero .tag-list{gap:8px}
body.page-case-01 .case-hero .tag-list span{padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--peach);color:var(--accent);font-size:var(--fs-tag)}

/* ---- 4. 时间 / 客户 / 角色 / 团队要素卡 ---- */
body.page-case-01 .case-facts{gap:16px;margin-top:var(--space-block)}
body.page-case-01 .case-facts li{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-01 .case-facts .k{font-size:var(--fs-micro);letter-spacing:.08em;margin-bottom:6px}
body.page-case-01 .case-facts .v{font-size:var(--fs-body);line-height:1.5}

/* ---- 5. 产出成果轮播：图块与说明文字对齐令牌 ---- */
body.page-case-01 .marquee-item{border-radius:var(--radius-media);border:1px solid var(--line);background:var(--surface)}
body.page-case-01 .marquee-caption{margin-top:12px;font-size:var(--fs-micro);letter-spacing:.06em}
body.page-case-01 .marquee-caption b{font-size:var(--fs-small)}

/* ---- 6. 板块标题组件：编号与标题同一行（与 03/04 板块一致），编号用主蓝 ---- */
body.page-case-01 .case-kicker{display:flex;align-items:baseline;gap:16px;margin-bottom:var(--space-card)}
body.page-case-01 .case-kicker .num{font-size:var(--fs-small);color:var(--accent)}
body.page-case-01 .case-kicker h2{font-size:var(--fs-h2);letter-spacing:-.03em;line-height:1.2}
body.page-case-01 .case-block p{font-size:var(--fs-body)}

/* ---- 7. 双栏：背景白卡 + 我的角色淡蓝带卡，去掉薄荷/淡紫渐变 ---- */
body.page-case-01 .case-cols{gap:var(--space-card)}
body.page-case-01 .case-cols .col{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-01 .case-cols .col-bg h3{font-size:var(--fs-h3);margin-bottom:16px}
body.page-case-01 .case-cols .case-list li{font-size:var(--fs-body);line-height:1.7}
body.page-case-01 .case-list li::before{background:var(--accent)}
body.page-case-01 .col-role{background:var(--band-soft);box-shadow:var(--card-shadow)}
body.page-case-01 .col-role::before{left:0;right:0;height:3px;border-radius:var(--radius-card) var(--radius-card) 0 0;background:linear-gradient(90deg,var(--blue),var(--green))}
body.page-case-01 .col-role h3{padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:14px}
body.page-case-01 .col-role .role-title{font-size:var(--fs-h3);letter-spacing:-.02em;margin-bottom:14px}
body.page-case-01 .col-role .case-list li{color:var(--muted)}
body.page-case-01 .col-role .case-list li::before{box-shadow:0 0 0 3px var(--accent-soft)}

/* ---- 8. 核心洞察 ---- */
body.page-case-01 .case-insight{margin-top:var(--space-block);padding:22px var(--space-card);border-left:3px solid var(--accent);border-radius:0 var(--radius-media) var(--radius-media) 0;background:var(--surface)}
body.page-case-01 .case-insight b{font-size:var(--fs-h4)}
body.page-case-01 .case-insight p{font-size:var(--fs-body);line-height:1.7}

/* ---- 9. 核心策略：薄荷绿渐变 → 规范淡蓝带（#e6f3ff→#f2f9ff） ---- */
body.page-case-01 .case-strategy{padding:var(--space-block);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--band-soft)}
body.page-case-01 .case-strategy>p{font-size:var(--fs-body);line-height:1.7}
body.page-case-01 .strategy-grid{gap:16px}
body.page-case-01 .strategy-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-media);background:var(--surface)}
body.page-case-01 .strategy-card b{font-size:var(--fs-h4);margin-bottom:6px}
body.page-case-01 .strategy-card span{font-size:var(--fs-small);line-height:1.65}

/* ---- 10. 执行时间轴与内容矩阵 ---- */
body.page-case-01 .timeline-track{gap:20px;margin-top:16px}
body.page-case-01 .timeline-track::before{background:var(--blue);opacity:.35}
body.page-case-01 .timeline-item::before{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
body.page-case-01 .timeline-item .phase{font-size:var(--fs-micro);color:var(--accent)}
body.page-case-01 .timeline-item b{font-size:var(--fs-h4);margin:6px 0 6px}
body.page-case-01 .timeline-item p{font-size:var(--fs-small);line-height:1.7}
body.page-case-01 .matrix-grid{gap:16px;margin-top:var(--space-block)}
body.page-case-01 .matrix-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-01 .matrix-card b{font-size:var(--fs-h4);margin-bottom:6px}
body.page-case-01 .matrix-card span{font-size:var(--fs-small);line-height:1.6}

/* ---- 11. 项目成果：分组卡与数字 ---- */
body.page-case-01 .data-groups{gap:16px;margin-top:var(--space-block)}
body.page-case-01 .data-group{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-01 .data-group .group-label{font-size:var(--fs-micro);letter-spacing:.08em;color:var(--accent);margin-bottom:16px}
body.page-case-01 .data-group .group-label::before{background:var(--accent)}
body.page-case-01 .data-group.media .group-label{color:var(--blue)}
body.page-case-01 .data-group.media .group-label::before{background:var(--blue)}
body.page-case-01 .data-grid{gap:20px}
body.page-case-01 .data-grid strong{font-size:var(--fs-stat)}
body.page-case-01 .data-grid strong span{color:var(--accent)}
body.page-case-01 .data-grid p{font-size:var(--fs-small);line-height:1.5}
body.page-case-01 .case-honor{margin-top:22px;font-size:var(--fs-body)}
body.page-case-01 .case-honor .star{color:var(--accent)}

/* ---- 12. 核心作品拆解 ---- */
body.page-case-01 .breakdown-lead{font-size:var(--fs-body);max-width:var(--measure)}
body.page-case-01 .breakdown-list{gap:var(--space-card);margin-top:var(--space-block)}
body.page-case-01 .breakdown-item{gap:32px;padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-01 .bd-media{border-radius:var(--radius-media)}
body.page-case-01 .bd-body h3{font-size:var(--fs-h3)}
body.page-case-01 .bd-sub{font-size:var(--fs-small)}
body.page-case-01 .bd-row dt{font-size:var(--fs-micro)}
body.page-case-01 .bd-row dd{font-size:var(--fs-body);line-height:1.72}
body.page-case-01 .bd-stat strong{font-size:var(--fs-stat-sm)}
body.page-case-01 .bd-stat strong span{color:var(--accent)}
body.page-case-01 .bd-stat p{font-size:var(--fs-small)}
body.page-case-01 .bd-why{background:var(--band-soft);font-size:var(--fs-small);line-height:1.7;color:var(--ink)}
body.page-case-01 .bd-feature .bd-stat strong{font-size:26px}

/* ---- 13. 有声海报收听卡：渐变收进蓝系 ---- */
body.page-case-01 .bd-media.audio-card{background:linear-gradient(165deg,var(--cyan) 0%,var(--blue) 58%,var(--accent) 100%);padding:var(--space-card)}
body.page-case-01 .audio-quote{font-size:var(--fs-h4)}
body.page-case-01 .audio-note{font-size:var(--fs-small)}
body.page-case-01 .audio-link{padding:10px 18px;border-radius:var(--radius-pill);color:var(--accent);font-size:var(--fs-small)}

/* ---- 14. 上一个 / 下一个 与返回首页 ---- */
body.page-case-01 .case-pager{gap:16px}
body.page-case-01 .case-pager a{padding:20px var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-01 .case-pager a:hover{border-color:var(--accent)}
body.page-case-01 .case-pager .dir{font-size:var(--fs-micro)}
body.page-case-01 .case-pager .title{font-size:var(--fs-h4)}
body.page-case-01 .case-backline a{padding:10px 20px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-01 .case-backline a:hover{color:var(--accent);border-color:var(--accent)}

/* ---- 15. 响应式：≤900 板块留白 72，与首页一致 ---- */
@media (max-width:900px){
  body.page-case-01 .case-detail{--cd-space:var(--space-section-sm)}
  body.page-case-01 .strategy-card{padding:18px}
  body.page-case-01 .matrix-card{padding:18px}
}

/* ============================================================
   案例02（page-case-02）对齐设计规范
   与 case01 同样迁移到统一设计变量与公共组件：
   网格 1200px · 标题区/返回导航与首页一致 · 板块间距 120/72
   卡片 24px/20px 圆角 · 字号收敛到令牌档位 · 颜色主蓝+点缀绿
   另针对本页特有组件（八大形象画廊、PDF 下载链接）补充令牌化。
   不改 DOM、不改文案，产出成果滚动、画廊切换、视频交互保持原样。
   ============================================================ */

/* ---- 1. 网格与板块留白：跟随 .site-shell 的 1200 内容区，不再单独收窄 1040 ---- */
body.page-case-02 .case-detail{--cd-space:var(--space-section);max-width:none;padding-top:var(--cd-space);padding-bottom:56px}
body.page-case-02 .case-crumb{margin-bottom:var(--space-block)}
body.page-case-02 .case-block,
body.page-case-02 .case-cols,
body.page-case-02 .case-timeline,
body.page-case-02 .case-breakdown{padding-top:var(--cd-space)}
body.page-case-02 .case-strategy{margin-top:var(--cd-space)}
body.page-case-02 .case-pager{margin:var(--cd-space) 0 56px}
body.page-case-02 .case-backline{margin-bottom:56px}

/* ---- 2. 返回导航：与首页导航同一套胶囊语言 ---- */
body.page-case-02 .case-crumb a{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-02 .case-crumb a:hover{color:var(--accent);border-color:var(--accent)}

/* ---- 3. 标题区：eyebrow / h1 / claim / 标签按 5 级字号 ---- */
body.page-case-02 .case-eyebrow{font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:18px}
body.page-case-02 .case-hero h1{font-size:var(--fs-title-page);letter-spacing:-.05em;max-width:960px;margin-bottom:22px}
body.page-case-02 .case-claim{font-size:var(--fs-h3);max-width:var(--measure);margin-bottom:22px}
body.page-case-02 .case-hero .tag-list{gap:8px}
body.page-case-02 .case-hero .tag-list span{padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--peach);color:var(--accent);font-size:var(--fs-tag)}

/* ---- 4. 时间 / 客户 / 角色 / 团队要素卡 ---- */
body.page-case-02 .case-facts{gap:16px;margin-top:var(--space-block)}
body.page-case-02 .case-facts li{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-02 .case-facts .k{font-size:var(--fs-micro);letter-spacing:.08em;margin-bottom:6px}
body.page-case-02 .case-facts .v{font-size:var(--fs-body);line-height:1.5}

/* ---- 5. 产出成果轮播：图块与说明文字对齐令牌（轮播提速 32s 见原 .page-case-02 规则）---- */
body.page-case-02 .marquee-item{border-radius:var(--radius-media);border:1px solid var(--line);background:var(--surface)}
body.page-case-02 .marquee-caption{margin-top:12px;font-size:var(--fs-micro);letter-spacing:.06em}
body.page-case-02 .marquee-caption b{font-size:var(--fs-small)}

/* ---- 6. 板块标题组件：编号与标题同一行，编号用主蓝 ---- */
body.page-case-02 .case-kicker{display:flex;align-items:baseline;gap:16px;margin-bottom:var(--space-card)}
body.page-case-02 .case-kicker .num{font-size:var(--fs-small);color:var(--accent)}
body.page-case-02 .case-kicker h2{font-size:var(--fs-h2);letter-spacing:-.03em;line-height:1.2}
body.page-case-02 .case-block p{font-size:var(--fs-body)}

/* ---- 7. 双栏：背景白卡 + 我的角色淡蓝带卡，去掉薄荷/淡紫渐变 ---- */
body.page-case-02 .case-cols{gap:var(--space-card)}
body.page-case-02 .case-cols .col{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-02 .case-cols .col-bg h3{font-size:var(--fs-h3);margin-bottom:16px}
body.page-case-02 .case-cols .case-list li{font-size:var(--fs-body);line-height:1.7}
body.page-case-02 .case-list li::before{background:var(--accent)}
body.page-case-02 .col-role{background:var(--band-soft);box-shadow:var(--card-shadow)}
body.page-case-02 .col-role::before{left:0;right:0;height:3px;border-radius:var(--radius-card) var(--radius-card) 0 0;background:linear-gradient(90deg,var(--blue),var(--green))}
body.page-case-02 .col-role h3{padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:14px}
body.page-case-02 .col-role .role-title{font-size:var(--fs-h3);letter-spacing:-.02em;margin-bottom:14px}
body.page-case-02 .col-role .case-list li{color:var(--muted)}
body.page-case-02 .col-role .case-list li::before{box-shadow:0 0 0 3px var(--accent-soft)}

/* ---- 8. 核心洞察 ---- */
body.page-case-02 .case-insight{margin-top:var(--space-block);padding:22px var(--space-card);border-left:3px solid var(--accent);border-radius:0 var(--radius-media) var(--radius-media) 0;background:var(--surface)}
body.page-case-02 .case-insight b{font-size:var(--fs-h4)}
body.page-case-02 .case-insight p{font-size:var(--fs-body);line-height:1.7}

/* ---- 9. 核心策略：薄荷绿渐变 → 规范淡蓝带（#e6f3ff→#f2f9ff） ---- */
body.page-case-02 .case-strategy{padding:var(--space-block);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--band-soft)}
body.page-case-02 .case-strategy>p{font-size:var(--fs-body);line-height:1.7}
body.page-case-02 .strategy-grid{gap:16px}
body.page-case-02 .strategy-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-media);background:var(--surface)}
body.page-case-02 .strategy-card b{font-size:var(--fs-h4);margin-bottom:6px}
body.page-case-02 .strategy-card span{font-size:var(--fs-small);line-height:1.65}

/* ---- 10. 执行时间轴与内容矩阵 ---- */
body.page-case-02 .timeline-track{gap:20px;margin-top:16px}
body.page-case-02 .timeline-track::before{background:var(--blue);opacity:.35}
body.page-case-02 .timeline-item::before{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
body.page-case-02 .timeline-item .phase{font-size:var(--fs-micro);color:var(--accent)}
body.page-case-02 .timeline-item b{font-size:var(--fs-h4);margin:6px 0 6px}
body.page-case-02 .timeline-item p{font-size:var(--fs-small);line-height:1.7}
body.page-case-02 .matrix-grid{gap:16px;margin-top:var(--space-block)}
body.page-case-02 .matrix-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-02 .matrix-card b{font-size:var(--fs-h4);margin-bottom:6px}
body.page-case-02 .matrix-card span{font-size:var(--fs-small);line-height:1.6}

/* ---- 11. 项目成果：分组卡与数字 ---- */
body.page-case-02 .data-groups{gap:16px;margin-top:var(--space-block)}
body.page-case-02 .data-group{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-02 .data-group .group-label{font-size:var(--fs-micro);letter-spacing:.08em;color:var(--accent);margin-bottom:16px}
body.page-case-02 .data-group .group-label::before{background:var(--accent)}
body.page-case-02 .data-grid{gap:20px}
body.page-case-02 .data-grid strong{font-size:var(--fs-stat)}
body.page-case-02 .data-grid strong span{color:var(--accent)}
body.page-case-02 .data-grid p{font-size:var(--fs-small);line-height:1.5}
body.page-case-02 .case-honor{margin-top:22px;font-size:var(--fs-body)}
body.page-case-02 .case-honor .star{color:var(--accent)}

/* ---- 12. 核心作品拆解 ---- */
body.page-case-02 .breakdown-lead{font-size:var(--fs-body);max-width:var(--measure)}
body.page-case-02 .breakdown-list{gap:var(--space-card);margin-top:var(--space-block)}
body.page-case-02 .breakdown-item{gap:32px;padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-02 .bd-media{border-radius:var(--radius-media)}
body.page-case-02 .bd-body h3{font-size:var(--fs-h3)}
body.page-case-02 .bd-sub{font-size:var(--fs-small)}
body.page-case-02 .bd-row dt{font-size:var(--fs-micro)}
body.page-case-02 .bd-row dd{font-size:var(--fs-body);line-height:1.72}
body.page-case-02 .bd-stat strong{font-size:var(--fs-stat-sm)}
body.page-case-02 .bd-stat strong span{color:var(--accent)}
body.page-case-02 .bd-stat p{font-size:var(--fs-small)}
body.page-case-02 .bd-why{background:var(--band-soft);font-size:var(--fs-small);line-height:1.7;color:var(--ink)}
body.page-case-02 .bd-feature .bd-stat strong{font-size:26px}
/* 本页无音频收听卡（case01 有），此处沿用令牌写法以保持结构一致 */

/* ---- 13. 八大形象画廊（本页特有组件）令牌化：圆角/底色/导航色/激活边/说明字号 ---- */
body.page-case-02 .gallery-stage{border-radius:var(--radius-card);background:var(--surface)}
body.page-case-02 .gallery-nav{color:var(--accent)}
body.page-case-02 .gallery-count{font-size:var(--fs-micro)}
body.page-case-02 .gallery-thumbs button.is-active{border-color:var(--accent)}
body.page-case-02 .bd-gallery figcaption{font-size:var(--fs-small)}

/* ---- 14. PDF 下载链接（本页特有）令牌化 ---- */
body.page-case-02 .pdf-link{color:var(--accent);border-color:var(--line);background:var(--surface);font-size:var(--fs-small);border-radius:var(--radius-pill)}

/* ---- 15. 上一个 / 下一个 与返回首页 ---- */
body.page-case-02 .case-pager{gap:16px}
body.page-case-02 .case-pager a{padding:20px var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-02 .case-pager a:hover{border-color:var(--accent)}
body.page-case-02 .case-pager .dir{font-size:var(--fs-micro)}
body.page-case-02 .case-pager .title{font-size:var(--fs-h4)}
body.page-case-02 .case-backline a{padding:10px 20px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-02 .case-backline a:hover{color:var(--accent);border-color:var(--accent)}

/* ---- 16. 响应式：≤900 板块留白 72，与首页一致 ---- */
@media (max-width:900px){
  body.page-case-02 .case-detail{--cd-space:var(--space-section-sm)}
  body.page-case-02 .strategy-card{padding:18px}
  body.page-case-02 .matrix-card{padding:18px}
}

/* ============================================================
   案例03（page-case-03）对齐设计规范
   沿用 theme-overrides.css 的 :root 令牌；HTML 命名空间 <body class="page-case-03"> 已就位
   banner 三联小图已在通用区就地令牌化（.page-case-03 .banner-*）
   ============================================================ */
/* 1. 网格与板块留白 */
body.page-case-03 .case-detail{--cd-space:var(--space-section);max-width:none;padding-top:var(--cd-space);padding-bottom:56px}
body.page-case-03 .case-crumb{margin-bottom:var(--space-block)}
body.page-case-03 .case-block,
body.page-case-03 .case-cols,
body.page-case-03 .case-insight{padding-top:var(--cd-space)}
body.page-case-03 .case-pager{margin:var(--cd-space) 0 56px}
body.page-case-03 .case-backline{margin-bottom:56px}

/* 2. 返回导航 / 标签胶囊 */
body.page-case-03 .case-crumb a{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-03 .case-crumb a:hover{color:var(--accent);border-color:var(--accent)}

/* 3. 标题区 */
body.page-case-03 .case-eyebrow{font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:18px}
body.page-case-03 .case-hero h1{font-size:var(--fs-title-page);letter-spacing:-.05em;max-width:960px;margin-bottom:22px}
body.page-case-03 .case-claim{font-size:var(--fs-h3);max-width:var(--measure);margin-bottom:22px}
body.page-case-03 .case-hero .tag-list{gap:8px}
body.page-case-03 .case-hero .tag-list span{padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--peach);color:var(--accent);font-size:var(--fs-tag)}

/* 4. 事实清单 */
body.page-case-03 .case-facts{gap:16px;margin-top:var(--space-block)}
body.page-case-03 .case-facts li{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-03 .case-facts .k{font-size:var(--fs-micro);letter-spacing:.08em;margin-bottom:6px}
body.page-case-03 .case-facts .v{font-size:var(--fs-body);line-height:1.5}

/* 5. 板块标题 kicker */
body.page-case-03 .case-kicker{display:flex;align-items:baseline;gap:16px;margin-bottom:var(--space-card)}
body.page-case-03 .case-kicker .num{font-size:var(--fs-small);color:var(--accent)}
body.page-case-03 .case-kicker h2{font-size:var(--fs-h2);letter-spacing:-.03em;line-height:1.2}
body.page-case-03 .case-block p{font-size:var(--fs-body)}
body.page-case-03 .breakdown-lead{font-size:var(--fs-body);max-width:var(--measure)}

/* 6. 双栏 / 我的角色 */
body.page-case-03 .case-cols{gap:var(--space-card)}
body.page-case-03 .case-cols .col{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-03 .case-cols .col-bg h3{font-size:var(--fs-h3);margin-bottom:16px}
body.page-case-03 .case-cols .case-list li{font-size:var(--fs-body);line-height:1.7}
body.page-case-03 .case-list li::before{background:var(--accent)}
body.page-case-03 .col-role{background:var(--band-soft);box-shadow:var(--card-shadow)}
body.page-case-03 .col-role::before{left:0;right:0;height:3px;border-radius:var(--radius-card) var(--radius-card) 0 0;background:linear-gradient(90deg,var(--blue),var(--green))}
body.page-case-03 .col-role h3{padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:14px}
body.page-case-03 .col-role .role-title{font-size:var(--fs-h3);letter-spacing:-.02em;margin-bottom:14px}
body.page-case-03 .col-role .case-list li{color:var(--muted)}
body.page-case-03 .col-role .case-list li::before{box-shadow:0 0 0 3px var(--accent-soft)}

/* 7. 金句 */
body.page-case-03 .case-insight{margin-top:var(--space-block);padding:22px var(--space-card);border-left:3px solid var(--accent);border-radius:0 var(--radius-media) var(--radius-media) 0;background:var(--surface)}
body.page-case-03 .case-insight b{font-size:var(--fs-h4)}
body.page-case-03 .case-insight p{font-size:var(--fs-body);line-height:1.7}

/* 8. 三内容线 lane-grid（三色标签 pink/green/amber 为语义色，保留原色） */
body.page-case-03 .lane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:var(--space-block)}
body.page-case-03 .lane-card{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);display:flex;flex-direction:column}
body.page-case-03 .lane-card .lane-tag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:5px 11px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.09em;margin-bottom:13px}
body.page-case-03 .lane-card h3{font-size:var(--fs-h4);font-weight:800;letter-spacing:-.02em;margin:0 0 8px;line-height:1.35}
body.page-case-03 .lane-card p{font-size:var(--fs-small);line-height:1.72;color:var(--muted);margin:0}
body.page-case-03 .lane-card .lane-nums{display:flex;gap:24px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
body.page-case-03 .lane-card .lane-nums div strong{display:block;font-size:var(--fs-stat-sm);font-weight:800;letter-spacing:-.04em;line-height:1}
body.page-case-03 .lane-card .lane-nums div span{display:block;font-size:var(--fs-micro);color:var(--muted);margin-top:5px}
/* lane 标签蓝系深浅三档（用户定版）：她=实底主蓝 / 家=淡蓝底 / 优品=卡片面描边 */
body.page-case-03 .lane-card.pink .lane-tag{background:var(--accent);color:var(--on-accent)}
body.page-case-03 .lane-card.green .lane-tag{background:var(--accent-soft);color:var(--accent)}
body.page-case-03 .lane-card.amber .lane-tag{background:var(--surface);border:1px solid var(--line);color:var(--accent)}

/* 9. 接力排期 relay */
body.page-case-03 .relay{margin-top:var(--space-block);padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--band-soft)}
body.page-case-03 .relay-chips{display:flex;flex-wrap:wrap;gap:8px}
body.page-case-03 .relay-chips span{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-micro);color:var(--accent)}
body.page-case-03 .relay-chips span b{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;color:var(--orange-deep)}
body.page-case-03 .relay-note{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:var(--fs-micro);color:var(--muted)}

/* 10. AI 工作流 ai-note */
body.page-case-03 .ai-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;margin-top:var(--space-card);padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--band-soft)}
body.page-case-03 .ai-tag{align-self:start;padding:5px 11px;border-radius:var(--radius-pill);background:var(--surface);color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;white-space:nowrap}
body.page-case-03 .ai-note p{margin:0;font-size:var(--fs-small);line-height:1.78;color:var(--accent)}
body.page-case-03 .ai-note b{color:var(--ink);font-weight:700}

/* 11. 海报静态网格 poster-grid（点击打开灯箱；≤700 改横向滑动） */
body.page-case-03 .poster-rail{margin-top:var(--space-card)}
body.page-case-03 .rail-hint{margin:0 0 var(--space-card);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.06em;color:var(--muted)}
body.page-case-03 .poster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
body.page-case-03 .poster-card{margin:0;border-radius:var(--radius-media);overflow:hidden;border:1px solid var(--line);background:var(--surface);transition:transform .22s,box-shadow .22s}
body.page-case-03 .poster-card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)}
body.page-case-03 .poster-card img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;object-position:top}
body.page-case-03 .poster-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;font-size:var(--fs-micro);color:var(--ink);background:var(--surface)}
body.page-case-03 .poster-card figcaption span{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}
@media (max-width:1000px){body.page-case-03 .poster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:850px){body.page-case-03 .poster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){
  body.page-case-03 .poster-grid{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px}
  body.page-case-03 .poster-card{flex:0 0 46%;scroll-snap-align:start}
}

/* 12. 线下集市 closing */
body.page-case-03 .closing{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--space-card);align-items:center;margin-top:var(--space-block);padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-03 .closing figure{margin:0;border-radius:var(--radius-media);overflow:hidden;border:1px solid var(--line)}
body.page-case-03 .closing img{display:block;width:100%;height:100%;object-fit:cover;max-height:360px}
body.page-case-03 .closing h4{font-size:var(--fs-h4);font-weight:800;margin:0 0 10px;letter-spacing:-.02em}
body.page-case-03 .closing p{font-size:var(--fs-small);line-height:1.75;color:var(--muted);margin:0 0 10px}
body.page-case-03 .closing ul{margin:0;padding-left:0;list-style:none;display:grid;gap:7px}
body.page-case-03 .closing li{position:relative;padding-left:16px;font-size:var(--fs-micro);color:var(--muted);line-height:1.6}
body.page-case-03 .closing li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--orange-deep)}

/* 13. 她栏目故事卡片 story-list */
body.page-case-03 .story-list{display:grid;gap:12px;margin-top:var(--space-block)}
body.page-case-03 .story-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-media);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}
body.page-case-03 .story-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}
body.page-case-03 .story-card .story-idx{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted)}
body.page-case-03 .story-card h4{margin:0;font-size:var(--fs-h4);font-weight:700;line-height:1.5;letter-spacing:-.01em}
body.page-case-03 .story-card .story-meta{display:flex;gap:14px;margin-top:6px;font-size:var(--fs-micro);color:var(--muted);font-family:var(--font-mono)}
body.page-case-03 .story-card .story-read{display:flex;align-items:center;gap:6px;font-size:var(--fs-micro);color:var(--accent);font-weight:700;white-space:nowrap}

/* 14. 家栏目作品查看器 work-viewer */
body.page-case-03 .work-viewer{display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--space-block);margin-top:var(--space-card);align-items:start}
body.page-case-03 .wv-stage{margin:0;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--line);background:var(--surface)}
body.page-case-03 .wv-stage img{display:block;width:100%;aspect-ratio:1/2.05;object-fit:cover;object-position:top;transition:opacity .2s ease}
body.page-case-03 .wv-info h3{margin:0;font-size:var(--fs-h3);font-weight:800;letter-spacing:-.02em;line-height:1.42}
body.page-case-03 .wv-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin:12px 0 0;font-size:var(--fs-micro);color:var(--muted);font-family:var(--font-mono)}
body.page-case-03 .wv-meta b{color:var(--ink);font-weight:600;font-family:var(--font-sans)}
body.page-case-03 .wv-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:18px}
body.page-case-03 .wv-thumbs button{padding:0;border:2px solid transparent;border-radius:var(--radius-media);overflow:hidden;background:none;cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s,transform .2s}
body.page-case-03 .wv-thumbs button:hover{opacity:.85}
body.page-case-03 .wv-thumbs button.is-active{opacity:1;border-color:var(--orange-deep);transform:translateY(-2px)}
body.page-case-03 .wv-thumbs img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top}
body.page-case-03 .wv-note{margin:16px 0 0;font-size:var(--fs-micro);color:var(--muted);line-height:1.72}
@media (max-width:850px){body.page-case-03 .work-viewer{grid-template-columns:1fr;gap:20px}.wv-stage{max-width:260px}}

/* 15. 项目成果 data-groups */
body.page-case-03 .data-groups{gap:16px;margin-top:var(--space-block)}
body.page-case-03 .data-group{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-03 .data-group .group-label{font-size:var(--fs-micro);letter-spacing:.08em;color:var(--accent);margin-bottom:16px}
body.page-case-03 .data-group .group-label::before{background:var(--accent)}
body.page-case-03 .data-grid{gap:20px}
body.page-case-03 .data-grid strong{font-size:var(--fs-stat)}
body.page-case-03 .data-grid strong span{color:var(--accent)}
body.page-case-03 .data-grid p{font-size:var(--fs-small);line-height:1.5}
body.page-case-03 .case-honor{margin-top:22px;font-size:var(--fs-body)}
body.page-case-03 .case-honor .star{color:var(--accent)}

/* 16. 案例翻页 / 返回 */
body.page-case-03 .case-pager{gap:16px}
body.page-case-03 .case-pager a{padding:20px var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-03 .case-pager a:hover{border-color:var(--accent)}
body.page-case-03 .case-pager .dir{font-size:var(--fs-micro)}
body.page-case-03 .case-pager .title{font-size:var(--fs-h4)}
body.page-case-03 .case-backline a{padding:10px 20px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-03 .case-backline a:hover{color:var(--accent);border-color:var(--accent)}

/* 17. 响应式：≤900 板块留白 72，与首页一致 */
@media (max-width:900px){
  body.page-case-03 .case-detail{--cd-space:var(--space-section-sm)}
}

/* ============================================================
   案例04：对齐设计规范（沿用 case01/02/03 同一套 :root 令牌）
   ============================================================ */
/* 1. 网格：内容区跟随首页 1200，去除 1040 写死宽度 */
body.page-case-04 .case-detail{--cd-space:var(--space-section);max-width:none;padding-top:var(--cd-space);padding-bottom:56px}

/* 2. 返回导航胶囊 */
body.page-case-04 .case-crumb{margin-bottom:var(--space-block)}
body.page-case-04 .case-crumb a{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-04 .case-crumb a:hover{color:var(--accent);border-color:var(--accent)}

/* 3. 标题区 */
body.page-case-04 .case-hero h1{font-size:var(--fs-title-page);letter-spacing:-.05em;max-width:960px;margin-bottom:22px}
body.page-case-04 .case-eyebrow{font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:18px}
body.page-case-04 .case-claim{font-size:var(--fs-h3);max-width:var(--measure);margin-bottom:22px}
body.page-case-04 .case-hero .tag-list{gap:8px}
body.page-case-04 .case-hero .tag-list span{padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--peach);color:var(--accent);font-size:var(--fs-tag)}
body.page-case-04 .case-facts{gap:16px;margin-top:var(--space-block)}
body.page-case-04 .case-facts li{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-04 .case-facts .k{font-size:var(--fs-micro);letter-spacing:.08em;margin-bottom:6px}
body.page-case-04 .case-facts .v{font-size:var(--fs-body);line-height:1.5}
body.page-case-04 .case-hero-media{border-radius:var(--radius-media)}

/* 4. 双栏：背景 / 我的角色 */
body.page-case-04 .case-cols .case-list li{font-size:var(--fs-body);line-height:1.7}
body.page-case-04 .case-list li::before{background:var(--accent)}
body.page-case-04 .col-role .case-list li{color:var(--muted)}
body.page-case-04 .col-role .case-list li::before{box-shadow:0 0 0 3px var(--accent-soft)}

/* 5. 金句 */
body.page-case-04 .case-insight{margin-top:var(--space-block);padding:22px var(--space-card);border-left:3px solid var(--accent);border-radius:0 var(--radius-media) var(--radius-media) 0;background:var(--surface)}
body.page-case-04 .case-insight b{font-size:var(--fs-h4)}
body.page-case-04 .case-insight p{font-size:var(--fs-body);line-height:1.7}

/* 6. 板块标题 / 导语 / 金句带 / 闭环逻辑 */
body.page-case-04 .case-kicker{display:flex;align-items:baseline;gap:16px;margin-bottom:var(--space-card)}
body.page-case-04 .case-kicker .num{font-size:var(--fs-small);color:var(--accent)}
body.page-case-04 .case-kicker h2{font-size:var(--fs-h2);letter-spacing:-.03em;line-height:1.2}
body.page-case-04 .breakdown-lead{font-size:var(--fs-body);max-width:var(--measure)}
body.page-case-04 .case-honor{margin-top:22px;font-size:var(--fs-body)}
body.page-case-04 .case-honor .star{color:var(--accent)}
body.page-case-04 .pipe-fallback{margin-top:16px;padding:14px 18px;border-radius:var(--radius-media);background:var(--surface);border:1px dashed var(--accent-soft);font-size:var(--fs-small);line-height:1.7;color:var(--accent)}
body.page-case-04 .pipe-fallback b{color:var(--ink)}

/* 7. 五步闭环 loop-strip（本页特有组件）令牌化 */
body.page-case-04 .loop-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:26px}
body.page-case-04 .loop-step{padding:var(--space-card) 16px 16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-04 .loop-step i{display:block;font-style:normal;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.09em;color:var(--accent);margin-bottom:9px}
body.page-case-04 .loop-step b{display:block;font-size:var(--fs-h4);font-weight:800;margin-bottom:6px;letter-spacing:-.01em}
body.page-case-04 .loop-step p{margin:0;font-size:var(--fs-small);line-height:1.65;color:var(--muted)}

/* 8. 推文节奏 rhythm-grid（本页特有组件）令牌化 */
body.page-case-04 .rhythm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
body.page-case-04 .rhythm-card{display:flex;flex-direction:column;gap:8px;padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-04 .rhythm-card .r-time{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.06em;color:var(--accent)}
body.page-case-04 .rhythm-card b{font-size:var(--fs-h4);line-height:1.55;letter-spacing:-.01em}
body.page-case-04 .rhythm-card p{margin:0;font-size:var(--fs-small);line-height:1.65;color:var(--muted)}

/* 9. 作品画廊 bd-gallery（十图，圆角/底色/导航/激活边令牌化） */
body.page-case-04 .bd-gallery{max-width:100%}
body.page-case-04 .gallery-stage{aspect-ratio:4/3;border-radius:var(--radius-card);background:var(--surface)}
body.page-case-04 .gallery-nav{color:var(--accent)}
body.page-case-04 .gallery-count{font-size:var(--fs-micro)}
body.page-case-04 .gallery-thumbs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin-top:14px}
body.page-case-04 .gallery-thumbs img{aspect-ratio:1/1;background:var(--surface)}
body.page-case-04 .gallery-thumbs button.is-active{border-color:var(--accent)}
body.page-case-04 .bd-gallery figcaption{font-size:var(--fs-small)}

/* 10. 双图 flow-figure（本页特有组件）令牌化 */
body.page-case-04 .flow-figure{margin:26px 0 0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}
body.page-case-04 .flow-figure img{display:block;width:100%;height:auto}
body.page-case-04 .flow-figure figcaption{padding:12px 20px;font-size:var(--fs-small);color:var(--muted);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.page-case-04 .flow-figure figcaption b{color:var(--ink)}

/* 11. 项目成果：分组卡与数字 */
body.page-case-04 .data-groups{gap:16px;margin-top:var(--space-block)}
body.page-case-04 .data-group{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-04 .data-group .group-label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
body.page-case-04 .data-group .group-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
body.page-case-04 .data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}
body.page-case-04 .data-grid strong{font-size:var(--fs-stat);line-height:1;font-weight:800;letter-spacing:-.05em;display:block}
body.page-case-04 .data-grid strong span{font-size:.45em;color:var(--accent);letter-spacing:0}
body.page-case-04 .data-grid p{font-size:var(--fs-small);color:var(--muted);margin:8px 0 0;line-height:1.5}

/* 12. 能力沉淀 cap-grid（本页特有组件）令牌化：薄荷绿渐变 → 规范淡蓝带 */
body.page-case-04 .cap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
body.page-case-04 .cap-card{padding:20px 18px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--band-soft)}
body.page-case-04 .cap-card b{display:block;font-size:var(--fs-h4);font-weight:800;margin-bottom:7px;line-height:1.5}
body.page-case-04 .cap-card p{margin:0;font-size:var(--fs-small);line-height:1.65;color:var(--muted)}

/* 13. PDF 下载链接（本页特有）令牌化 */
body.page-case-04 .pdf-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--accent);font-size:var(--fs-small);font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s}
body.page-case-04 .pdf-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(64,122,190,.18)}

/* 14. 上一个 / 下一个 与返回首页 */
body.page-case-04 .case-pager{gap:16px;margin:var(--cd-space) 0 56px}
body.page-case-04 .case-pager a{padding:20px var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-04 .case-pager a:hover{border-color:var(--accent)}
body.page-case-04 .case-pager .dir{font-size:var(--fs-micro)}
body.page-case-04 .case-pager .title{font-size:var(--fs-h4)}
body.page-case-04 .case-backline{margin-bottom:56px}
body.page-case-04 .case-backline a{padding:10px 20px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-04 .case-backline a:hover{color:var(--accent);border-color:var(--accent)}

/* 15. 响应式：≤900 板块留白 72；缩略图换行；≤1000 卡片降列 */
@media (max-width:1000px){
  body.page-case-04 .loop-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.page-case-04 .rhythm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.page-case-04 .cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  body.page-case-04 .case-detail{--cd-space:var(--space-section-sm)}
}
@media (max-width:850px){
  body.page-case-04 .loop-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.page-case-04 .rhythm-grid{grid-template-columns:1fr}
  body.page-case-04 .cap-grid{grid-template-columns:1fr}
  body.page-case-04 .gallery-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* ============================================================
   案例05：对齐设计规范（沿用 case01–04 同一套 :root 令牌）
   注意：arch-grid / demo-grid / cap-grid / wx-shell / cover-set figure
   的列数、高度、宽度沿用通用响应式（≤1000/≤850），此处不重设结构性属性，
   仅令牌化颜色、字号、圆角、内边距，避免压掉媒体查询。
   ============================================================ */
/* 1. 网格：内容区跟随首页 1200，去除 1040 写死宽度 */
body.page-case-05 .case-detail{--cd-space:var(--space-section);max-width:none;padding-top:var(--cd-space);padding-bottom:56px}

/* 2. 返回导航胶囊 */
body.page-case-05 .case-crumb{margin-bottom:var(--space-block)}
body.page-case-05 .case-crumb a{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-05 .case-crumb a:hover{color:var(--accent);border-color:var(--accent)}

/* 3. 标题区（本页无主视觉大图） */
body.page-case-05 .case-hero h1{font-size:var(--fs-title-page);letter-spacing:-.05em;max-width:960px;margin-bottom:22px}
body.page-case-05 .case-eyebrow{font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:18px}
body.page-case-05 .case-claim{font-size:var(--fs-h3);max-width:var(--measure);margin-bottom:22px}
body.page-case-05 .case-hero .tag-list{gap:8px}
body.page-case-05 .case-hero .tag-list span{padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--peach);color:var(--accent);font-size:var(--fs-tag)}
body.page-case-05 .case-facts{gap:16px;margin-top:var(--space-block)}
body.page-case-05 .case-facts li{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-05 .case-facts .k{font-size:var(--fs-micro);letter-spacing:.08em;margin-bottom:6px}
body.page-case-05 .case-facts .v{font-size:var(--fs-body);line-height:1.5}

/* 4. 双栏：背景 / 我的角色 */
body.page-case-05 .case-cols .case-list li{font-size:var(--fs-body);line-height:1.7}
body.page-case-05 .case-list li::before{background:var(--accent)}
body.page-case-05 .col-role .case-list li{color:var(--muted)}
body.page-case-05 .col-role .case-list li::before{box-shadow:0 0 0 3px var(--accent-soft)}

/* 5. 金句 */
body.page-case-05 .case-insight{margin-top:var(--space-block);padding:22px var(--space-card);border-left:3px solid var(--accent);border-radius:0 var(--radius-media) var(--radius-media) 0;background:var(--surface)}
body.page-case-05 .case-insight b{font-size:var(--fs-h4)}
body.page-case-05 .case-insight p{font-size:var(--fs-body);line-height:1.7}

/* 6. 板块标题 / 导语 / 金句带 / 降级说明 */
body.page-case-05 .case-kicker{display:flex;align-items:baseline;gap:16px;margin-bottom:var(--space-card)}
body.page-case-05 .case-kicker .num{font-size:var(--fs-small);color:var(--accent)}
body.page-case-05 .case-kicker h2{font-size:var(--fs-h2);letter-spacing:-.03em;line-height:1.2}
body.page-case-05 .breakdown-lead{font-size:var(--fs-body);max-width:var(--measure)}
body.page-case-05 .case-honor{margin-top:22px;font-size:var(--fs-body)}
body.page-case-05 .case-honor .star{color:var(--accent)}
body.page-case-05 .pipe-fallback{margin-top:16px;padding:14px 18px;border-radius:var(--radius-media);background:var(--surface);border:1px dashed var(--accent-soft);font-size:var(--fs-small);line-height:1.7;color:var(--accent)}
body.page-case-05 .pipe-fallback b{color:var(--ink)}

/* 7. 六层架构 arch-card（本页特有组件）令牌化 */
body.page-case-05 .arch-grid{margin-top:var(--space-block)}
body.page-case-05 .arch-card{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-05 .arch-card .arch-no{font-size:var(--fs-micro);letter-spacing:.09em;color:var(--accent)}
body.page-case-05 .arch-card h3{font-size:var(--fs-h4)}
body.page-case-05 .arch-card p{font-size:var(--fs-small);line-height:1.7;color:var(--muted)}
body.page-case-05 .arch-card .arch-sub span{padding:4px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-micro)}

/* 8. 系统流程图 flow-figure */
body.page-case-05 .flow-figure{margin:26px 0 0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}
body.page-case-05 .flow-figure img{display:block;width:100%;height:auto}
body.page-case-05 .flow-figure figcaption{padding:12px 20px;font-size:var(--fs-small);color:var(--muted);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.page-case-05 .flow-figure figcaption b{color:var(--ink)}

/* 9. 11 步流水线 pipe-strip（本页特有组件）令牌化：高亮四步改规范蓝 */
body.page-case-05 .pipe-strip{margin-top:var(--space-card)}
body.page-case-05 .pipe-strip span{padding:7px 13px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);font-size:var(--fs-small);color:var(--ink)}
body.page-case-05 .pipe-strip span i{font-size:var(--fs-micro);color:var(--accent)}
body.page-case-05 .pipe-strip span.pipe-hot{border-color:var(--accent);background:var(--accent-soft)}

/* 10. 公众号真机预览 demo-card / 内容构成 demo-issue（本页特有组件）令牌化 */
body.page-case-05 .demo-card{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-05 .demo-card h4{font-size:var(--fs-h4)}
body.page-case-05 .demo-card p{font-size:var(--fs-small);line-height:1.75;color:var(--muted)}
body.page-case-05 .demo-card p em{color:var(--ink)}
body.page-case-05 .demo-len{font-size:var(--fs-micro);color:var(--accent);border-radius:var(--radius-pill);background:var(--accent-soft)}
body.page-case-05 .demo-foot span{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--muted);font-size:var(--fs-micro)}
body.page-case-05 .demo-issue li{border-bottom:1px dashed var(--line)}
body.page-case-05 .demo-issue span{font-size:var(--fs-micro);color:var(--muted);letter-spacing:.06em}
body.page-case-05 .demo-issue b{font-size:var(--fs-small);color:var(--ink);line-height:1.42}
body.page-case-05 .demo-issue em{font-size:var(--fs-micro);color:var(--muted)}
body.page-case-05 .demo-note{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:var(--fs-small);line-height:1.65;color:var(--muted)}

/* 11. AI 封面 cover-set（本页特有组件）：圆角/边框/底色/说明字号令牌化（宽度沿用通用响应式） */
body.page-case-05 .cover-set figure{border-radius:var(--radius-media);overflow:hidden;border:1px solid var(--line);background:var(--surface)}
body.page-case-05 .cover-set figcaption{padding:9px 14px;font-size:var(--fs-micro);color:var(--muted);display:flex;justify-content:space-between;gap:8px}

/* 12. 项目成果：分组卡与数字 */
body.page-case-05 .data-groups{gap:16px;margin-top:var(--space-block)}
body.page-case-05 .data-group{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-05 .data-group .group-label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
body.page-case-05 .data-group .group-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
body.page-case-05 .data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}
body.page-case-05 .data-grid strong{font-size:var(--fs-stat);line-height:1;font-weight:800;letter-spacing:-.05em;display:block}
body.page-case-05 .data-grid strong span{font-size:.45em;color:var(--accent);letter-spacing:0}
body.page-case-05 .data-grid p{font-size:var(--fs-small);color:var(--muted);margin:8px 0 0;line-height:1.5}

/* 13. 能力沉淀 cap-card（本页特有组件）令牌化：薄荷绿渐变 → 规范淡蓝带 */
body.page-case-05 .cap-card{padding:20px 18px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--band-soft)}
body.page-case-05 .cap-card b{display:block;font-size:var(--fs-h4);font-weight:800;margin-bottom:7px;line-height:1.5}
body.page-case-05 .cap-card p{margin:0;font-size:var(--fs-small);line-height:1.65;color:var(--muted)}

/* 14. 上一个 / 下一个 与返回首页 */
body.page-case-05 .case-pager{gap:16px;margin:var(--cd-space) 0 56px}
body.page-case-05 .case-pager a{padding:20px var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-case-05 .case-pager a:hover{border-color:var(--accent)}
body.page-case-05 .case-pager .dir{font-size:var(--fs-micro)}
body.page-case-05 .case-pager .title{font-size:var(--fs-h4)}
body.page-case-05 .case-backline{margin-bottom:56px}
body.page-case-05 .case-backline a{padding:10px 20px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-case-05 .case-backline a:hover{color:var(--accent);border-color:var(--accent)}

/* 15. 响应式：≤900 板块留白 72（列数/高度/宽度沿用通用响应式，不覆盖） */
@media (max-width:900px){
  body.page-case-05 .case-detail{--cd-space:var(--space-section-sm)}
}

/* ============================================================
   内容实验室 lab.html（一页四态：短视频 / 文字 / 视觉 / AIGC）
   对齐设计规范——沿用 case01–05 同一套 :root 令牌。
   注意：.lab-rail / .deck / .lab-cards / .cap-grid.lab-cap /
   .story-grid / .story-duo / .longshot-scroll / .ai-video-card /
   .ai-img 的列数、高度、宽度、最大宽度均有既有响应式，此处不重设
   这些结构性属性，只令牌化颜色、字号、圆角、内边距，避免压掉媒体查询。
   ============================================================ */

/* ---- 1. 网格与板块留白：跟随首页 1200 内容区 ---- */
body.page-lab .case-detail{--cd-space:var(--space-section);max-width:none;padding-top:var(--cd-space);padding-bottom:56px}
body.page-lab .case-crumb{margin-bottom:var(--space-block)}
body.page-lab .case-block{padding-top:var(--cd-space)}
body.page-lab .case-pager{margin:var(--cd-space) 0 56px}
body.page-lab .case-backline{margin-bottom:56px}

/* ---- 2. 返回导航与左侧 tab 索引：沿用主蓝胶囊语言（不改几何） ---- */
body.page-lab .case-crumb a{padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-lab .case-crumb a:hover{color:var(--accent);border-color:var(--accent)}
body.page-lab .lab-rail-item{font-size:var(--fs-tag);color:var(--muted)}
body.page-lab .lab-rail-item i{font-size:var(--fs-micro);color:var(--muted)}
body.page-lab .lab-rail-item:hover{color:var(--ink)}
body.page-lab .lab-rail-item.is-active{background:var(--accent);color:#fff}
body.page-lab .lab-rail-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---- 3. 标题区：eyebrow / h1 / lead / 标签按 5 级字号 ---- */
body.page-lab .case-eyebrow{font-size:var(--fs-tag);letter-spacing:.08em;color:var(--accent);margin-bottom:18px}
body.page-lab .lab-hero h1{font-size:var(--fs-title-page);letter-spacing:-.05em;max-width:960px;margin:0 0 22px}
body.page-lab .lab-lead{font-size:var(--fs-h3);line-height:1.7;color:var(--muted);max-width:var(--measure);margin:0;font-weight:500}
body.page-lab .lab-hero .tag-list{gap:8px}
body.page-lab .lab-hero .tag-list span{padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--peach);color:var(--accent);font-size:var(--fs-tag)}

/* ---- 4. 板块标题与导语 ---- */
body.page-lab .case-kicker{display:flex;align-items:baseline;gap:16px;margin-bottom:var(--space-card)}
body.page-lab .case-kicker .num{font-size:var(--fs-small);color:var(--accent)}
body.page-lab .case-kicker h2{font-size:var(--fs-h2);letter-spacing:-.03em;line-height:1.2}
body.page-lab .case-block>p{font-size:var(--fs-body);color:var(--muted)}
body.page-lab .breakdown-lead{font-size:var(--fs-body);max-width:var(--measure)}

/* ---- 5. 能力卡（我怎么做 / 可迁移能力）：薄荷绿渐变 → 规范淡蓝带 ---- */
body.page-lab .cap-card{padding:20px 18px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--band-soft)}
body.page-lab .cap-card b{font-size:var(--fs-h4);margin-bottom:7px}
body.page-lab .cap-card p{font-size:var(--fs-small);line-height:1.65;color:var(--muted)}

/* ---- 6. 短视频 deck 卡片堆：字号收敛（几何由既有响应式控制） ---- */
body.page-lab .deck-badge{font-size:var(--fs-micro)}
body.page-lab .deck-info-desc{font-size:var(--fs-small);line-height:1.7;color:var(--muted)}
body.page-lab .deck-info-role{font-size:var(--fs-small);line-height:1.6;color:var(--muted)}
body.page-lab .deck-tags span{padding:5px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-micro);color:var(--ink)}
body.page-lab .deck-dot{background:var(--accent-soft)}
body.page-lab .deck-dot.is-active{background:var(--accent)}
body.page-lab .deck-hint{font-size:var(--fs-micro);color:var(--muted)}

/* ---- 7. 年度成绩：分组卡与数字 ---- */
body.page-lab .data-groups{gap:16px;margin-top:var(--space-block)}
body.page-lab .data-group{padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-lab .data-group .group-label{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
body.page-lab .data-group .group-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
body.page-lab .data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}
body.page-lab .data-grid strong{font-size:var(--fs-stat);line-height:1;font-weight:800;letter-spacing:-.05em;display:block}
body.page-lab .data-grid strong span{font-size:.45em;color:var(--accent);letter-spacing:0}
body.page-lab .data-grid p{font-size:var(--fs-small);color:var(--muted);margin:8px 0 0;line-height:1.5}

/* ---- 8. 文字页：分组标题与样本卡 ---- */
body.page-lab .lab-group-title{font-size:var(--fs-h4);margin:var(--space-block) 0 0;color:var(--ink)}
body.page-lab .lab-group-title::after{background:var(--line)}
body.page-lab .story-card{gap:18px;padding:var(--space-card);border:1px solid var(--line);border-radius:var(--radius-media);background:var(--surface)}
body.page-lab .story-card:hover{border-color:var(--accent);box-shadow:0 12px 28px rgba(64,122,190,.12)}
body.page-lab .story-card h4{font-size:var(--fs-h4);line-height:1.5}
body.page-lab .story-card .story-idx{font-size:var(--fs-micro);color:var(--muted)}
body.page-lab .story-card .story-read{font-size:var(--fs-small);color:var(--accent)}

/* ---- 9. 视觉页：海报网格与长图滚动窗（圆角/边框/底色/说明字号令牌化） ---- */
body.page-lab .poster-card{border-radius:var(--radius-media);border:1px solid var(--line);background:var(--surface)}
body.page-lab .poster-card figcaption{font-size:var(--fs-small);color:var(--ink);background:var(--surface)}
body.page-lab .poster-card figcaption span{font-size:var(--fs-micro);color:var(--muted)}
body.page-lab .longshot-scroll{border:1px solid var(--line);border-radius:var(--radius-media);background:var(--surface)}
body.page-lab .longshot figcaption{font-size:var(--fs-small);color:var(--ink)}
body.page-lab .longshot figcaption span{font-size:var(--fs-micro);color:var(--muted)}

/* ---- 10. AIGC 页：视频 / 图像 / 故事链路令牌化 ---- */
body.page-lab .ai-media{border-radius:var(--radius-card)}
body.page-lab .ai-feature figcaption{font-size:var(--fs-small);color:var(--ink)}
body.page-lab .ai-feature figcaption span{font-size:var(--fs-micro);color:var(--muted)}
body.page-lab .ai-shot{border-radius:var(--radius-media);border:1px solid var(--line)}
body.page-lab .ai-video-card figcaption{font-size:var(--fs-small);color:var(--ink)}
body.page-lab .ai-video-card figcaption span{font-size:var(--fs-micro);color:var(--muted)}
body.page-lab .ai-img{border-radius:var(--radius-media);border:1px solid var(--line)}
body.page-lab .ai-img figcaption{font-size:var(--fs-small);color:var(--ink)}
body.page-lab .ai-img figcaption span{font-size:var(--fs-micro);color:var(--muted)}
body.page-lab .story-grid img{border-radius:var(--radius-media);border:1px solid var(--line)}
body.page-lab .story-grid figcaption{font-size:var(--fs-small);color:var(--muted)}
body.page-lab .story-script figcaption,body.page-lab .story-poster figcaption{font-size:var(--fs-small);color:var(--ink)}
body.page-lab .story-script figcaption span,body.page-lab .story-poster figcaption span{font-size:var(--fs-micro);color:var(--muted)}
body.page-lab .story-poster img{border-radius:var(--radius-media);border:1px solid var(--line)}

/* ---- 11. 循环翻页与返回 ---- */
body.page-lab .lab-pager-btn{padding:18px var(--space-card);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
body.page-lab .lab-pager-btn:hover{border-color:var(--accent)}
body.page-lab .lab-pager-btn .dir{font-size:var(--fs-micro);color:var(--muted)}
body.page-lab .lab-pager-btn .title{font-size:var(--fs-h4);color:var(--ink)}
body.page-lab .case-backline a{padding:10px 20px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--fs-small);color:var(--muted)}
body.page-lab .case-backline a:hover{color:var(--accent);border-color:var(--accent)}

/* ---- 12. 响应式：≤900 板块留白 72（列数/高度/宽度沿用既有响应式，不覆盖） ---- */
@media (max-width:900px){
  body.page-lab .case-detail{--cd-space:var(--space-section-sm)}
}
