/* ============================================================
   ZHIGUANG.CO — 设计 token 与共享系统
   源：Figma 张志光作品集-2026-08-27 (fYFsRjrP1YPr6poYMhOFtS)
   ============================================================ */
:root{
  --bg:#1b1b1a;        /* 页面底 */
  --band:#262625;      /* 区块色带 */
  --panel:#1f1f1e;     /* 面板 / 关于页底 */
  --card:#080808;      /* 卡片 / 玻璃层 */
  --card-in:#212121;
  --white:#ffffff;
  --t1:#f0f0f0;        /* 标题 */
  --t2:#d9d9d9;
  --mut1:#9e9e9e;      /* 描述 */
  --mut2:#a7a7a3;      /* 行标签 */
  --mut3:#8f908b;      /* 分隔线 / 次级 */
  --mut4:#888888;      /* meta */
  --green:#24c789;     /* 方案与成果 */
  --gold:#d8a24a;      /* 问题与判断 */
  --blue:#4989ff;      /* 系统与挑战 */
  --blue2:#6998ef;
  --line:#1f1f1e;
  --line2:#393939;
  --sans:'IBM Plex Sans SC','IBM Plex Sans','PingFang SC','Microsoft YaHei',sans-serif;
  --mono:'JetBrains Mono','SF Mono',monospace;
  --head-h:88px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--t1);
  font-family:var(--sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p,h1,h2,h3,h4,figure{margin:0}
button{font:inherit;background:none;border:0;color:inherit;cursor:pointer;padding:0}
:focus-visible{outline:2px solid var(--blue2);outline-offset:2px}
body{min-width:1366px}

.container{width:min(1440px,100% - 48px);margin-inline:auto}

/* 噪点覆层（Figma NOISE 效果的网页等价物） */
.grain{position:relative}
.grain::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:url(assets/noise.webp);
}

/* ============ 页头 ============ */
.site-head{
  position:sticky;top:0;z-index:60;height:var(--head-h);
  background:rgba(8,8,8,.62);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.site-head .container{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{position:relative;z-index:2;display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:16px;font-weight:400;color:var(--t1)}
.brand svg{width:32px;height:32px;flex:none}
.main-nav{position:relative;z-index:2;display:flex;height:100%;align-items:stretch}
.nav-item{
  position:relative;display:flex;align-items:center;justify-content:center;gap:4px;
  width:120px;font-size:14px;color:var(--t1);
}
.nav-item svg{width:18px;height:18px}
.nav-item.is-current::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--green)}
/* 关于我当前态：设计稿为绿字 + 绿线（contact） */
.nav-item.is-current.nav-item--green{color:var(--green)}
.nav-item--placeholder{cursor:default}
.nav-drop{position:relative;width:120px;height:100%}
.nav-drop>button{width:100%;height:100%}
.drop-panel{
  position:absolute;z-index:4;top:100%;left:0;min-width:300px;padding:8px;
  background:var(--panel);border:1px solid var(--line2);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility 0s .18s;
}
.nav-drop:hover .drop-panel,.nav-drop:focus-within .drop-panel,.nav-drop.is-open .drop-panel{
  opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease;
}
.drop-panel a{
  display:flex;align-items:baseline;gap:12px;padding:12px 16px;
  font-size:14px;color:var(--t1);white-space:nowrap;
}
.drop-panel a .no{font-family:var(--mono);font-size:12px;color:var(--mut4)}
.drop-panel a:hover{background:rgba(255,255,255,.045);color:var(--white)}
.drop-panel a[aria-current]{box-shadow:inset 2px 0 0 var(--gold)}

/* ============ 通用排版 ============ */
.eyebrow{font-size:20px;line-height:33px;color:var(--green);font-weight:400}
.sec-title{font-size:42px;line-height:1.25;font-weight:600;color:var(--t1)}
.sec-body{font-size:20px;line-height:33px;color:var(--t1);font-weight:400}
.sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px}

/* ============ 页脚 ============ */
.site-footer{position:relative;background:var(--bg);padding:80px 0}
.foot-rule{height:1px;background:var(--green)}
.foot-row{display:flex;justify-content:space-between;align-items:center;margin-top:56px}
.foot-logo{font-size:20px;font-weight:500;color:var(--t1);letter-spacing:.04em;font-family:var(--mono)}
.foot-sub{font-size:14px;color:var(--mut1);margin-top:8px}
.foot-nav{display:flex;align-items:center;height:88px;margin-right:-16px}
.foot-nav .nav-item{height:88px}
.foot-nav .nav-drop--footer .drop-panel{top:auto;bottom:100%;left:0;transform:translateY(6px)}

/* ============================================================
   首页 index
   ============================================================ */
.hero,.c-hero{position:relative;display:flow-root;margin-top:calc(-1 * var(--head-h))}
.hero{aspect-ratio:1920/1100;background:#0b0b0b}
.hero-clip,.c-hero-clip{position:absolute;inset:0;overflow:hidden}
.hero-bg{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:center;
}
.hero-veil{position:absolute;inset:0;
  background:
    linear-gradient(to top, rgba(28,27,27,.78), rgba(31,31,30,0) 58%),
    linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(4,4,4,.95)),
    linear-gradient(250deg, rgba(0,0,0,.8), rgba(0,0,0,0) 52%);
}
.page-index .hero-veil{display:none}
.hero-in{position:absolute;top:0;left:50%;z-index:2;width:1920px;height:1100px;margin:0;padding:0 240px;transform:translateX(-50%) scale(var(--s,1));transform-origin:top center}
.hero .chip{margin-top:188px;font-size:20px;line-height:26px;color:var(--gold)}
.hero h1{margin-top:496px;font-size:80px;line-height:96px;font-weight:500;color:var(--white)}
.hero hr{margin:16px 0 0;border:0;border-top:1px solid var(--white);width:1014px;max-width:100%}
.hero-lead{margin-top:15px;width:1014px;max-width:100%;font-size:20px;line-height:33px;color:var(--white)}
.hero-lead em{font-style:normal;color:var(--green)}

/* 作品案例 */
.works{padding-top:100px}
.works .sec-head{margin-bottom:0}
.works .sec-body{color:var(--mut2)}
.works-strip{
  display:flex;gap:24px;overflow-x:auto;padding:16.5px max(24px,calc((100vw - 1440px)/2)) 0;
  scrollbar-width:thin;scrollbar-color:var(--line2) transparent;
}
.wcard{
  position:relative;flex:none;width:600px;height:780px;background:var(--card);
  display:flex;flex-direction:column;
}
.wcard.is-hi{box-shadow:inset 0 0 0 1px rgba(105,152,239,.5)}
.wcard[href]:hover{box-shadow:inset 0 0 0 1px rgba(105,152,239,.5)}
.wcard-top{padding:40px 40px 24px;display:flex;flex-direction:column;gap:16px}
.wcard-dimrow{display:flex;align-items:center;justify-content:space-between}
.wcard-dim{font-size:14px;line-height:18.2px;color:var(--mut4)}
.is-hi .wcard-dim{color:var(--blue2)}
.wcard[href]:hover .wcard-dim{color:var(--blue2)}
.wcard-dimrow svg{width:20px;height:20px;color:var(--mut4)}
.is-hi .wcard-dimrow svg{color:var(--blue2)}
.wcard[href]:hover .wcard-dimrow svg{color:var(--blue2)}
.wcard-meta{font-size:12px;line-height:15.6px;color:var(--mut4)}
.wcard-fig{height:350px}
.wcard-fig img{width:100%;height:100%;object-fit:cover}
.wcard-body{padding:24px 40px 40px;display:flex;flex-direction:column;gap:24px}
.wcard-body h3{font-size:32px;line-height:44.8px;font-weight:500;color:var(--t1)}
.is-hi .wcard-body h3{font-weight:600;color:var(--white)}
.wcard-desc{font-size:16px;line-height:27.2px;color:var(--mut1)}
.wcard-metrics{display:flex;gap:78px}
.wcard-metrics strong{display:block;font-size:18px;line-height:23.4px;font-weight:500;color:var(--t1)}
.wcard-metrics span{display:block;margin-top:13px;font-size:11px;line-height:15.4px;color:var(--mut4)}
.wcard-accent{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line2)}
.is-hi .wcard-accent{background:var(--blue2)}
.wcard[href]:hover .wcard-accent{background:var(--blue2)}

/* 方法论 · 能力系统四象限 */
.method{background:var(--band);margin-top:100px;padding:100px 0 20px}
.quad-wrap{display:flex;justify-content:center;margin-top:-7px}
.quad{position:relative;width:1600px;height:864px;flex:none;isolation:isolate}
.quad-deco{position:absolute;inset:0;width:100%;height:100%;display:block}
.quad-routes{position:absolute;inset:0;pointer-events:none}
.quad-route{position:absolute;display:block;max-width:none;mix-blend-mode:lighten}
.quad-route--top{left:657px;top:130px;width:285px;height:62px}
.quad-route--right{left:1134px;top:131px;width:333px;height:605px}
.quad-route--bottom{left:657px;top:672px;width:285px;height:62px}
.quad-route--left{left:133px;top:131px;width:333px;height:605px}
.quad-center{position:absolute;left:666px;top:293px;width:268px;height:268px;border-radius:50%;background:var(--band);
  display:flex;align-items:center;justify-content:center;text-align:center}
.quad-center::before{content:'';position:absolute;inset:4px;border-radius:50%;background:#1a1a19}
.quad-center::after{content:'';position:absolute;inset:25px;border-radius:50%;background:var(--band)}
.quad-center strong{position:relative;z-index:1;font-size:36px;line-height:45px;font-weight:600;color:var(--t1)}
.quad-q{position:absolute;display:flex;flex-direction:column;gap:16px}
.quad-q h4{font-size:24px;line-height:40.8px;font-weight:500;color:var(--t1)}
.quad-q p{font-size:16px;line-height:27.2px;color:var(--mut4)}
.quad-q .out{color:var(--green)}
.quad-no{position:absolute;font-size:28px;line-height:47.6px;color:var(--blue)}
/* 右列左对齐，左列右对齐 */
.quad-q.left{text-align:right;align-items:flex-end}
/* ============================================================
   关于页 contact
   ============================================================ */
.page-contact{--head-h:88px;background:var(--panel)}
.c-hero{aspect-ratio:1920/1100;background:#0b0b0b}
.page-contact .c-hero-clip{inset:auto;left:50%;top:0;width:1920px;height:1100px;transform:translateX(-50%) scale(var(--s,1));transform-origin:top center}
.page-contact .c-hero-bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.c-hero-in{position:absolute;top:0;left:50%;z-index:2;width:1920px;height:1100px;margin:0;padding:0 0 0 200px;transform:translateX(-50%) scale(var(--s,1));transform-origin:top center}
.c-hero .chip{margin-top:188px;font-size:21px;line-height:28.3px;color:var(--gold);font-family:'IBM Plex Sans',var(--sans)}
.c-hero h1{margin-top:500px;font-size:80px;line-height:96px;font-weight:500;color:var(--white)}
.c-hero hr{margin:13px 0 0;border:0;border-top:1px solid var(--white);width:914px;max-width:calc(100% - 200px)}
.c-hero-lead{margin-top:13px;width:914px;font-size:20px;line-height:33px;color:var(--white)}
.c-cards{position:absolute;top:1001px;right:240px;display:flex;gap:16px;z-index:3}
.c-card{width:203px;height:230px;background:var(--card);border:1px solid var(--green);padding:14px;
  display:flex;flex-direction:column;gap:7px}
.c-card figure{width:175px;height:175px;background:var(--card-in);display:flex;align-items:center;justify-content:center}
.c-card img{width:175px;height:175px;object-fit:cover}
.c-card figcaption,.c-card .c-label{display:flex;align-items:center;gap:3.5px;font-size:14px;line-height:20.3px;color:var(--green)}
.c-card svg{width:14px;height:14px}
.page-contact .c-cards{top:1001px;right:240px}
.page-contact .c-card{background:rgba(8,8,8,.5);border:1px solid rgba(36,199,137,.5)}
.page-contact .c-card figure{position:relative;overflow:hidden}
.page-contact .c-card:first-child figure img{position:absolute;left:-4.56%;top:-3.28%;width:113.96%;height:104.84%;max-width:none;object-fit:fill}
.page-contact .sec-body{color:var(--mut2)}

/* 优势规格行 */
.adv{padding-top:100px}
.adv-rows{margin-top:50px}
.adv-row{border-top:1px solid var(--mut3);padding-top:24px;margin-bottom:88px}
.adv-grid{display:grid;grid-template-columns:57px 226px 1fr;gap:64px;padding:0 32px;align-items:baseline}
.adv-row .no{font-size:16px;line-height:27.2px;color:var(--mut2)}
.adv-row h3{font-size:24px;line-height:34.8px;font-weight:600;color:var(--t1)}
.adv-row p{font-size:16px;line-height:23.2px;color:var(--mut2)}
.adv-close{border-top:1px solid var(--mut3)}
.page-contact .adv{padding-top:100px}
.page-contact .adv-rows{position:relative;height:768px;margin-top:50px}
.page-contact .adv-row{position:absolute;left:0;right:0;margin:0;padding-top:24px}
.page-contact .adv-row:nth-child(1){top:0}
.page-contact .adv-row:nth-child(2){top:158px}
.page-contact .adv-row:nth-child(3){top:305px}
.page-contact .adv-row:nth-child(4){top:463px}
.page-contact .adv-row:nth-child(5){top:621px}
.page-contact .adv-grid{grid-template-columns:57px auto minmax(0,1fr);align-items:center}
.page-contact .adv-close{position:absolute;left:0;right:0;top:767px}

/* 影响力 */
.infl{background:var(--band);margin-top:100px;padding:100px 0 99px}
.infl .sec-head{margin-bottom:50px}
.infl-collage{display:grid;grid-template-columns:574px 574px 284px;gap:4px}
.infl-stack{display:flex;flex-direction:column;gap:2px}
.infl-collage img{width:100%;object-fit:cover;border:1px solid rgba(0,0,0,.8)}
.infl-stack img{height:auto}
.infl-stack img:nth-child(1){height:99px}
.infl-stack img:nth-child(2){height:87px}
.infl-stack img:nth-child(3){height:173px}
.infl-collage > img{height:357px}
.page-contact .infl{margin-top:100px;padding:100px 0 99px}
.page-contact .infl-collage{height:357px}
.page-contact .infl-stack{position:relative;height:357px;display:block;overflow:hidden}
.page-contact .infl-stack img{position:absolute;left:0;width:100%;border:.815px solid rgba(0,0,0,.5)}
.page-contact .infl-stack img:nth-child(1){top:0;height:98.621px;object-fit:cover;object-position:center 27%}
.page-contact .infl-stack img:nth-child(2){top:98.621px;height:87.21px;object-fit:cover;object-position:center bottom}
.page-contact .infl-stack img:nth-child(3){top:184.201px;height:172.791px;object-fit:cover}
.page-contact .infl-collage>img{height:356.992px;border:1.989px solid rgba(0,0,0,.5)}
.page-contact .infl-collage>img:last-child{border-color:var(--bg);object-position:81.2% center}

/* 响应式（桌面降档） */
@media (max-width:1679px){
  .quad{transform:scale(.82);transform-origin:top center}
  .quad-wrap{height:760px;overflow:visible}
}

/* ============================================================
   案例页共享 + case-jd
   ============================================================ */
.case-hero{position:relative;display:flow-root;margin-top:calc(-1 * var(--head-h));aspect-ratio:1920/1000;background:#0b0b0b}
.case-hero-clip{position:absolute;inset:0;overflow:hidden}
.case-hero-bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 45%}
.case-hero-veil{position:absolute;inset:0;
  background:
    linear-gradient(245deg, rgba(99,99,99,0) 11%, rgba(5,5,5,.41) 54%, rgba(11,11,11,.73) 100%),
    linear-gradient(180deg, rgba(11,11,11,0) 53%, rgba(11,11,11,.81));
}
.case-hero-in{position:absolute;top:0;left:50%;z-index:2;width:1920px;height:1000px;margin:0;padding:0 240px;transform:translateX(-50%) scale(var(--s,1));transform-origin:top center}
.case-logo{margin-top:100px;height:80px;width:auto}
.case-hero h1{margin-top:414px;font-size:80px;line-height:96px;font-weight:500;color:var(--white)}
.case-hero hr{margin:24px 0 0;border:0;border-top:1px solid var(--white)}
.case-hero .case-lead{margin-top:23px;font-size:20px;line-height:33px;color:var(--white)}
.case-metrics{position:absolute;display:flex;gap:16px;z-index:3}
.metric-chip{width:215px;height:160px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;backdrop-filter:blur(12px)}
.metric-chip--green{background:rgba(36,199,137,.85);border:1px solid var(--green)}
.metric-chip--gold{background:rgba(216,162,74,.85);border:1px solid var(--gold)}
.metric-chip .num{display:flex;align-items:flex-start;gap:8px;color:var(--t1)}
.metric-chip .num strong{font-family:var(--mono);font-size:64px;line-height:64px;font-weight:800;font-style:italic}
.metric-chip .num span{font-size:32px;line-height:32px;font-weight:600;margin-top:0}
.metric-chip .lab{display:flex;align-items:center;gap:0;font-size:20px;line-height:29px;color:var(--t1)}
.metric-chip .lab svg{width:20px;height:20px}
.metric-chip .lab img{width:20px;height:20px;flex:none}
.jd-tags{display:flex;gap:8px;margin-top:40px}
.jd-tags span{padding:8px 24px;background:var(--panel);border:1px solid var(--mut3);font-size:16px;line-height:23.2px;color:var(--mut2)}
.case-sub{margin-top:100px}
.case-sub h3{font-size:36px;line-height:45px;font-weight:600;color:var(--t1)}
.case-sub p{margin-top:16px;font-size:20px;line-height:33px;color:var(--mut2)}
.case-band{background:var(--band);margin-top:100px;padding:100px 0}
.case-sec{margin-top:100px}
figure.case-fig{margin:50px 0 0}
figure.case-fig img{height:auto}
.fig-center{display:flex;justify-content:center}
.fig-center img{max-width:100%}
.jd-strip{display:flex;gap:16px;overflow-x:auto;margin-top:50px;padding-left:max(24px,calc((100vw - 1440px)/2));scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.jd-strip--g8{gap:8px}
.jd-strip img{flex:none}
.jd-production-showcase,.jd-layout-showcase{gap:0;align-items:center}
.jd-right-two-stack{width:50px;height:150px;display:flex;flex:none;flex-direction:column}
.jd-right-two-stack img{width:50px;height:50px;flex:none}
.jd-production-showcase .jd-right-two-stack{margin:0 8px}
.jd-layout-showcase .jd-right-two-stack{margin:0 16px}
.jd-production-examples,.jd-layout-examples{display:flex;gap:16px;flex:none}

/* 三痛点 */
.jd-pains{height:201px;margin-top:50px;border-top:2px solid var(--gold);display:grid;grid-template-columns:1fr 1fr 1fr}
.jd-pains>div{padding:24px 24px 24px 0}
.jd-pains>div+div{border-left:1px solid var(--gold);padding-left:24px}
.jd-pains h4{font-size:32px;line-height:46.4px;font-weight:400;color:var(--gold)}
.jd-pains p{margin-top:4px;font-size:20px;line-height:29px;color:var(--mut2)}

/* 难点卡：Figma 为 56px 递进的阶梯结构，不是等高色块卡片。 */
.jd-pain-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;height:474px;margin-top:16px}
.jd-pain-card{position:relative;width:auto;height:306px;display:flex;flex-direction:column}
.jd-pain-card:nth-child(1){transform:translateY(168px)}
.jd-pain-card:nth-child(2){transform:translateY(112px)}
.jd-pain-card:nth-child(3){transform:translateY(56px)}
.jd-pain-card:nth-child(4){transform:translateY(0)}
.jd-pain-card .no{order:0;font-size:16px;line-height:1.7;color:var(--green)}
.jd-pain-card .short{order:2;width:60px;margin-top:16px;border-top:1px solid var(--mut4)}
.jd-pain-card h3{order:1;margin-top:16px;font-size:24px;line-height:1.6;font-weight:400;color:var(--t1);text-align:left}
.jd-pain-card .desc{order:3;height:140px;margin-top:16px;font-size:16px;line-height:1.45;color:var(--mut4)}
.jd-pain-card .gold-line{order:4;width:100%;border-top:1px solid var(--mut4)}
.jd-pain-card .gold-txt{order:5;height:53px;padding:12px 24px;display:flex;align-items:center;font-size:20px;line-height:1.45;font-weight:500;color:var(--gold)}
.jd-pain-card:nth-child(2) .gold-txt{padding:12px 0}

/* 判断卡：四列按 Figma 逐级下移，不使用描边框或填充。 */
.jd-judge-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start;height:335px;margin-top:50px}
.jd-judge{position:relative;width:auto;display:flex;flex-direction:column;gap:16px}
.jd-judge:nth-child(1){height:235px;transform:translateY(0)}
.jd-judge:nth-child(2){height:189px;transform:translateY(87px)}
.jd-judge:nth-child(3){height:189px;transform:translateY(128px)}
.jd-judge:nth-child(4){height:166px;transform:translateY(169px)}
.jd-judge .no{font-size:16px;line-height:1.2;color:var(--gold)}
.jd-judge h3{margin-top:-8px;font-size:24px;line-height:1.6;font-weight:400;color:var(--t1);text-align:left}
.jd-judge .line{margin:0;border-top:1px solid var(--mut4)}
.jd-judge .desc{margin:0;font-size:16px;line-height:1.45;color:var(--mut2)}

/* LoRA 步骤卡 */
.jd-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:50px}
.jd-step{box-shadow:inset 0 1px 0 var(--gold)}
.jd-step .in{height:182px;background:var(--bg);padding:24px;display:flex;flex-direction:column;gap:8px}
.jd-step h4{font-size:24px;line-height:1.6;font-weight:400;color:var(--gold);text-align:center}
.jd-step p{font-size:20px;line-height:1.45;color:var(--mut4);text-align:left}

/* ComfyUI 图文行 */
.jd-comfy{display:grid;grid-template-columns:minmax(0,1.032fr) minmax(0,1fr);gap:42px;align-items:flex-start;margin-top:100px}
.jd-comfy .txt{width:auto;min-width:0}
.jd-comfy .txt h3{font-size:36px;line-height:45px;font-weight:600;color:var(--t1)}
.jd-comfy .txt p{margin-top:16px;font-size:20px;line-height:33px;color:var(--mut2)}
.jd-comfy-frame{position:relative;width:100%;aspect-ratio:688/453;overflow:hidden}
.jd-comfy-frame img{position:absolute;left:-20.43%;top:0;width:134.28%;height:100%;max-width:none}

/* 双列：文字 + 模块图 */
.jd-duo{display:flex;justify-content:space-between;align-items:flex-start;margin-top:100px}
.jd-duo .txt{width:670px}
.jd-duo .txt h3{font-size:48px;line-height:1.25;font-weight:600;color:var(--t1)}
.jd-duo .txt p{margin-top:16px;font-size:20px;line-height:33px;color:var(--mut2)}

/* case-jd：Figma 1920px 桌面基线。 */
.page-jd{--head-h:88px}
.page-jd .case-hero{aspect-ratio:1920/1000}
.page-jd .case-hero-in{height:1000px}
.page-jd .case-logo{margin-top:100px;height:64px;width:auto}
.page-jd .case-hero h1{margin-top:414px;font-size:80px;line-height:1.2}
.page-jd .case-hero .case-lead{font-size:20px;line-height:1.65}
.page-jd .metric-chip{width:215px;height:160px;align-items:center;justify-content:center;gap:16px;overflow:hidden;backdrop-filter:none;-webkit-backdrop-filter:none}
.page-jd .metric-chip--green{background:rgba(36,199,137,.5);border-color:#24c789}
.page-jd .metric-chip--gold{background:rgba(216,162,74,.5);border-color:#d8a24a}
.page-jd .metric-chip .num{max-width:100%;white-space:nowrap;align-items:flex-end;font-family:var(--mono);font-style:italic;font-weight:800}
.page-jd .metric-chip .num strong{font-family:inherit;font-weight:800}
.page-jd .metric-chip .num span{font-family:var(--sans);font-style:normal;font-weight:600}
.page-jd .metric-chip .lab{max-width:100%;white-space:nowrap}
.page-jd .metric-chip .lab img{width:20px;height:20px;flex:none}
.page-jd .jd-tags{margin-top:40px}
.page-jd .jd-tags span{padding:8px 16px;border:0;border-radius:100px;background:rgba(255,255,255,.5);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#231f28}
.page-jd .jd-tags+.case-sec{margin-top:100px}
.page-jd .sec-head{gap:16px}
.page-jd .sec-title{font-size:42px;line-height:1.25}
.page-jd .sec-body{color:var(--mut2)}
.page-jd .jd-tags+.case-sec>.case-fig{margin-top:50px}
.page-jd .case-typo-gold{margin-top:100px!important}
.page-jd .jd-challenges-band{margin-top:100px;padding:100px 0}
.page-jd .jd-challenges-band .jd-pain-cards{margin-top:17px}
.page-jd .jd-challenges-band+.case-sec{margin-top:100px}
.page-jd .jd-challenges-band+.case-sec .jd-judge-cards{margin-top:51px}
.page-jd .jd-production-band{margin-top:100px;padding-top:100px;padding-bottom:100px}
.page-jd .jd-production-band>.jd-production-showcase{margin-top:50px}
.page-jd .jd-production-band>.case-sub{margin-top:100px}
.page-jd .jd-production-band>.jd-production-showcase+.case-sub{margin-top:100px}
.page-jd .jd-production-band>.case-sub p{margin-top:16px}
.page-jd .jd-production-band>.case-sub+.jd-strip{margin-top:50px}
.page-jd .jd-production-band>.case-fig{height:731px;margin-top:50px;overflow:hidden}
.page-jd .jd-production-band>.case-fig img{width:1441px;height:731px;object-fit:fill;object-position:top center}
.page-jd .jd-lora-head{margin-top:100px!important}
.page-jd .jd-lora-head+.jd-steps{margin-top:50px}
.page-jd .jd-steps+.jd-strip{margin-top:52px}
.page-jd .jd-comfy .txt p,.page-jd .case-sub p,.page-jd .jd-duo .txt p{color:var(--mut2)}
.page-jd .jd-production-band .jd-comfy{margin-top:100px}
.page-jd .jd-production-band+.case-sec{margin-top:100px;padding-bottom:100px}
.page-jd .jd-production-band+.case-sec>.sec-head+.jd-strip{margin-top:50px}
.page-jd .jd-production-band+.case-sec>.case-sub{margin-top:100px}
.page-jd .jd-production-band+.case-sec>.case-sub h3{font-size:42px;line-height:1.25}
.page-jd .jd-production-band+.case-sec>.case-sub p{margin-top:16px}
.page-jd .jd-production-band+.case-sec>.case-sub+.jd-strip{margin-top:51px}
.page-jd .jd-duo{margin-top:100px}
.page-jd .jd-duo .txt h3{font-size:42px;line-height:1.25}
.page-jd .jd-duo .txt p{margin-top:16px}
.page-jd .jd-duo+.case-fig{height:633.333px;margin-top:-66px;overflow:hidden}
.page-jd .jd-duo+.case-fig img{height:624.5px;max-width:100%;object-fit:cover;object-position:top center}
.page-jd .jd-duo+.case-fig+.jd-strip{margin-top:100px}

/* ============================================================
   case-wanlian
   ============================================================ */
.wl-hero h1{margin-top:416px;font-size:88px;line-height:88px;font-weight:500;color:var(--white)}
.wl-hero .case-hero-in .brand-keep{margin-top:95px;width:64px;height:64px}
.wl-hero .wl-sub{margin-top:24px;font-size:64px;line-height:64px;font-weight:500;color:var(--white)}
.wl-hero hr{margin-top:24px}
.wl-metrics{position:absolute;top:928px;right:217.5px;width:628px;display:flex;gap:16px;z-index:3}
.wl-metrics .metric-chip{width:auto;flex:none}
.wl-metrics .metric-chip:nth-child(1){width:197px}
.wl-metrics .metric-chip:nth-child(2){width:172px}
.wl-metrics .metric-chip:nth-child(3){width:227px}
.metric-chip--blue{background:rgba(105,152,239,.5);border:1px solid rgba(155,190,255,.7)}
.metric-chip--mint{background:rgba(95,228,179,.5);border:1px solid rgba(95,228,179,.7)}
.metric-chip--mint .num span{color:#000}

/* 三痛点（绿线阶梯） */
.wl-pains{margin-top:57px;border-top:2px solid var(--green);position:relative;height:550px}
.wl-pains .vline{position:absolute;top:0;border-left:1px solid var(--green);height:450px}
.wl-pain{position:absolute;width:469px;padding:24px;background:transparent}
.wl-pain .no{font-size:20px;line-height:32px;color:var(--green)}
.wl-pain h3{margin-top:8px;font-size:28px;line-height:44.8px;font-weight:500;color:var(--t1)}
.wl-pain .desc{margin-top:16px;font-size:16px;line-height:27.2px;color:var(--mut2)}
.wl-pain .dash{margin-top:16px;border-top:1px dashed var(--mut2)}
.wl-pain .cap{margin-top:16px;font-size:16px;line-height:27.2px;color:var(--green)}
.wl-pain .result{margin-top:4px;font-size:20px;line-height:32px;color:var(--t1)}

/* 难点四问（阶梯下行+蓝结论） */
.wl-asks{position:relative;height:calc(526px * var(--wl-asks-scale,1));margin-top:51px}
.wl-asks-stage{position:absolute;left:0;top:0;width:1440px;height:526px;transform:scale(var(--wl-asks-scale,1));transform-origin:top left}
.wl-asks-steps{position:absolute;z-index:0;left:0;top:252px;width:1440px;height:220px;pointer-events:none}
.wl-asks-line{position:absolute;z-index:0;width:1px;background:#fff;pointer-events:none}
.wl-ask{position:absolute;width:342px;padding:16px}
.wl-ask .no{font-size:20px;line-height:34px;color:var(--green)}
.wl-ask h3{margin-top:8px;font-size:24px;line-height:40.8px;font-weight:500;color:var(--t1)}
.wl-ask p{margin-top:8px;font-size:16px;line-height:27.2px;color:var(--mut2)}
.wl-ask .concl{position:absolute;left:16px;margin-top:0;font-size:24px;line-height:40.8px;color:var(--blue2)}

/* 解法判断四卡（绿顶） */
.wl-judges{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:50px}
.wl-judge{border-top:2px solid var(--green)}
.wl-judge .in{background:var(--band);padding:16px 16px 32px;display:flex;flex-direction:column;gap:16px;min-height:332px}
.wl-judge .head{display:flex;gap:4px;align-items:flex-start}
.wl-judge .head .no{font-size:24px;line-height:38.4px;font-weight:500;color:var(--green)}
.wl-judge h3{font-size:24px;line-height:40.8px;font-weight:500;color:var(--t1)}
.wl-judge .line{border-top:1px solid var(--mut3)}
.wl-judge p{font-size:16px;line-height:27.2px;color:var(--mut2)}
.wl-judge p+p{margin-top:16px}
.wl-judge .out{margin-top:auto;padding-top:16px;border-top:1px dashed var(--mut3);font-size:24px;line-height:30px;color:var(--green)}

/* 验证表（三列药丸） */
.wl-table{margin-top:50px}
.wl-table--mvp{height:calc(404px * var(--wl-table-scale,1))}
.wl-table--mvp .wl-table-stage{width:1440px;height:404px;transform:scale(var(--wl-table-scale,1));transform-origin:top left}
.wl-table .cols{display:grid;grid-template-columns:1fr 1fr 1fr;margin-bottom:40px}
.wl-table .cols span{text-align:center;font-size:28px;line-height:28px;font-weight:500;color:var(--gold)}
.wl-row{position:relative;height:66px;margin-bottom:24px}
.wl-row .pill{position:absolute;top:0;height:66px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.wl-row .pill.side{width:544px;background:#3b3b3b;font-size:20px;line-height:34px;color:var(--mut3);text-align:center;padding:0 60px}
.wl-row .pill.side.l{left:0;border-radius:0 50px 50px 0}
.wl-row .pill.side.r{right:0;border-radius:50px 0 0 50px}
.wl-row .pill.mid{left:50%;z-index:1;transform:translateX(-50%);width:490px;background:rgba(21,21,21,.5);border-radius:200px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);justify-content:space-between;gap:0;font-size:20px;line-height:34px;color:#888;white-space:nowrap;padding:0 20px}
.wl-row .pill.mid svg{width:24px;height:24px;flex:none;color:var(--green)}
.wl-row .pill.mid img{width:24px;height:24px;flex:none}
.wl-table--lite .pill.side,.wl-table--lite .pill.mid{color:var(--mut2)}
.wl-table--mvp .pill{color:#888}

/* 怪兽卡横条 */
.wl-cards-strip{display:flex;gap:16px;overflow-x:auto;margin-top:50px;scrollbar-width:thin}
.wcard2{flex:none;width:328px;border:1px solid transparent;box-sizing:border-box}
.wcard2.is-cur{border-color:var(--gold)}
.wcard2 .ph{width:328px;height:437px;object-fit:cover}
.wcard2 .ft{height:148px;background:#8a8a8a;padding:16px;display:flex;align-items:flex-start;overflow:hidden}
.wcard2 .ft img{width:80px;object-fit:cover;flex:none}
.wcard2 .ft .vtext{width:22px;flex:none;white-space:nowrap;writing-mode:vertical-rl;font-family:'HarmonyOS Sans SC','HarmonyOS Sans',var(--sans);font-size:14px;line-height:22.4px;color:rgba(255,255,255,.72)}
.wcard2 .ft .vtext b{font-weight:400;color:var(--gold)}
.wcard2 .ft .vtext--blue b{color:var(--blue)}
.wl-cards-strip--weather{gap:32px;padding-block:32px;margin-top:18px;margin-bottom:-32px;scrollbar-width:none;overscroll-behavior-inline:contain;overflow-y:hidden}
.wl-cards-strip--weather,.wl-cards-strip--date{cursor:grab;touch-action:pan-y}
.wl-cards-strip.is-dragging{cursor:grabbing;user-select:none}
.wl-cards-strip--weather::-webkit-scrollbar{display:none}
.wl-cards-strip--weather .wcard2{position:relative;transform-origin:center center;cursor:inherit;transition:border-color 180ms ease;z-index:0}
.wl-cards-strip--weather .wcard2 .ft{padding:16px 15px;gap:5px}
.wl-cards-strip--weather .wcard2 .ft img{width:80px;height:80px}
.wl-cards-strip--weather .wcard2.is-motion-near{will-change:transform}
.wl-cards-strip--weather .wcard2.is-visual-current{z-index:2}
.wl-realtime-band .wcard2.is-visual-current{border-color:rgba(216,162,74,.5)}
.wl-realtime-band .wcard2 .ft{background:rgba(136,136,136,.2)}
.wl-cards-strip--weather .wcard2:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.wl-cards-strip--date{display:block;height:649px;margin-top:18px;margin-bottom:-32px;overflow:hidden;scrollbar-width:none;overscroll-behavior-inline:contain}
.wl-cards-track--date{width:max-content;display:flex;gap:32px;padding-block:32px}
.wl-cards-track--date.is-moving{will-change:transform}
.wl-cards-strip--date .wcard2{position:relative;transform-origin:center center;cursor:inherit;transition:border-color 180ms ease;z-index:0}
.wl-cards-strip--date .wcard2 .ft{padding:16px;gap:8px;background:rgba(136,136,136,.2)}
.wl-cards-strip--date .wcard2 .ft img{width:80px;height:101px}
.wl-cards-strip--date .wcard2.is-motion-near{will-change:transform}
.wl-cards-strip--date .wcard2.is-visual-current{z-index:2;border-color:rgba(216,162,74,.5)}
.wl-cards-strip--date .wcard2:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}

/* 条件轴 / 日期轴 */
.wl-axis{margin-top:32px;position:relative;height:309px}
.wl-axis .gline{position:absolute;left:0;right:0;top:61px;border-top:1px solid var(--mut4)}
.wl-axis .labs{position:absolute;top:0;display:flex;gap:48px}
.wl-axis .lab{display:flex;flex-direction:column;align-items:center;gap:18px;font-family:'HarmonyOS Sans SC','HarmonyOS Sans',var(--sans);font-size:14px;line-height:22.4px;color:var(--mut4)}
.wl-axis .lab i{width:1px;height:13px;background:var(--white)}
.wl-axis .lab.is-cur{font-size:18px;line-height:28.8px;font-weight:700;color:var(--gold);gap:10px}
.wl-axis .lab.is-cur i{width:2px;height:21px;background:var(--gold)}
.wl-axis .inputs{position:absolute;top:81px}
.wl-axis--weather{margin-top:32px}
.wl-axis--weather .labs{left:301.5px;width:960px;transform:translateX(var(--weather-label-shift,0px));transition:transform 560ms cubic-bezier(.22,1,.36,1)}
.wl-axis--weather .lab{width:75px;white-space:nowrap;padding:0;border:0;background:none;cursor:pointer;transition:color 240ms ease}
.wl-axis--weather .lab.is-cur{width:99px}
.wl-axis--weather .lab:focus-visible{outline:1px solid var(--blue);outline-offset:4px}
.wl-axis--weather .inputs{left:50%;transform:translateX(-50%);transition:none}
.wl-axis--weather .inputs img{width:130px;height:228px;object-fit:contain}
.wl-axis--date .labs{left:299.5px;width:840px;transform:translateX(var(--date-label-shift,0px));transition:transform 560ms cubic-bezier(.22,1,.36,1)}
.wl-axis--date .labs.is-moving{will-change:transform}
.wl-axis--date .lab{width:75px;white-space:nowrap;padding:0;border:0;background:none;cursor:pointer;transition:color 240ms ease}
.wl-axis--date .lab.is-cur{width:102px}
.wl-axis--date .lab:focus-visible{outline:1px solid var(--blue);outline-offset:4px}
.wl-axis--date .inputs{left:50%;transform:translateX(-50%);display:flex;gap:16px;transition:none}

/* 构建新玩法 / 档期双卡 */
.wl-modules{margin-top:50px;display:flex;gap:16px}
.wl-mod{background:var(--band);padding:24px;display:flex;gap:16px}
.wl-mod .txt{display:flex;flex-direction:column;gap:8px}
.wl-mod .txt h4{font-size:24px;line-height:38.4px;font-weight:500;color:var(--gold)}
.wl-mod .txt i{border-top:1px solid var(--mut2)}
.wl-mod .txt p{font-size:20px;line-height:34px;color:var(--mut2)}
.wl-mod .shot{background:var(--white);display:flex;align-items:flex-start;overflow:hidden}
.wl-mod .shot img{width:100%;object-fit:cover;object-position:top}

/* 工程化保障两行 */
.wl-guar{margin-top:50px}
.wl-guar .gline{border-top:1px solid var(--green)}
.wl-guar .row{display:grid;grid-template-columns:180px 404px 404px 404px;gap:8px;padding:24px 0}
.wl-guar .row>div+div{border-left:1px solid var(--green);padding:0 24px}
.wl-guar .lead-cell{padding:16px 24px!important;border-left:none!important}
.wl-guar .lead-cell h4{font-size:24px;line-height:24px;font-weight:400;color:var(--t1)}
.wl-guar .lead-cell p{margin-top:16px;font-size:16px;line-height:27.2px;color:var(--mut2)}
.wl-guar .lead-cell .en{margin-top:16px;font-size:16px;color:var(--green)}
.wl-guar h5{font-size:24px;line-height:24px;font-weight:400;color:var(--green)}
.wl-guar .cell>p{margin-top:16px;font-size:16px;line-height:27.2px;color:var(--mut2)}
.wl-guar .hr{margin-top:16px;border-top:1px solid #212121}
.wl-guar .tags{margin-top:16px;display:flex;gap:8px}
.wl-guar .tags span{border:1px solid var(--green);padding:4px 8px;font-size:16px;line-height:27px;color:var(--t1)}

/* case-wanlian：按 1920 Figma 长页基线校准各阶段的累计纵向几何。 */
.page-wl .jd-tags+.case-sec{margin-top:121px}
.page-wl .wl-challenges-band{padding-bottom:100px}
.page-wl main>section:nth-of-type(5){margin-top:98.297px;padding-bottom:102.703px}
.page-wl .wl-fig--architecture{margin-top:74px}
.page-wl main>section:nth-of-type(6) .wl-table{margin-top:50.406px}
.page-wl .wl-fig--mvp{margin-top:49.594px}
.page-wl .wl-realtime-band{padding-bottom:100.375px}
.page-wl .wl-realtime-band .wl-table{margin-top:50.625px}
.page-wl .wl-realtime-band .wcard2{height:585.333px;overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .wl-cards-strip--weather,.wl-cards-strip--date{scroll-behavior:auto}
  .wl-cards-strip--weather,.wl-cards-strip--date{cursor:auto;touch-action:auto}
  .wl-cards-strip--weather .wcard2,.wl-cards-strip--date .wcard2{cursor:pointer}
  .wl-cards-strip--weather .wcard2,.wl-axis--weather .lab,.wl-cards-strip--date .wcard2,.wl-axis--date .lab{transition:none}
}
.page-wl main>section:nth-of-type(8) .wl-table{margin-top:50.792px}
.page-wl .wl-engineering-band{margin-top:100.215px}
.page-wl .wl-modules--build{height:496px;margin-top:50.785px}
.page-wl .wl-modules--build>.wl-mod{height:496px}
.page-wl .wl-mod--build{flex-direction:column}
.page-wl .wl-mod--build .txt{height:122px}
.page-wl .wl-mod--build .shot{width:409px;height:296px}
.page-wl .wl-mod--build .shot img{height:310px}
.page-wl .wl-modules--build>.wl-mod:last-child{padding:23.5px 19px}
.page-wl .wl-modules--build>.wl-mod:last-child .shot{width:927px}
.page-wl .wl-modules--variants{height:344px;margin-top:16px}
.page-wl .wl-modules--variants .wl-mod{height:344px}
.page-wl .wl-modules--variants .txt{height:296px;justify-content:center}
.page-wl .wl-modules--variants .wl-mod:last-child .txt{padding-top:0}
.page-wl .wl-guar h5{margin:0}
.page-wl .wl-guar{height:450px;margin-top:50.5px;overflow:hidden}
.page-wl .wl-guar .row{padding-bottom:8px}
.page-wl .wl-guar .lead-cell{padding:0 24px!important}

/* ============================================================
   case-playblocks（浅色 Hero）
   ============================================================ */
.page-pb main{position:relative}
.page-pb .case-hero{margin-top:calc(-1 * var(--head-h))}
.pb-hero{background:#d9d9d9}
.pb-hero-background{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;pointer-events:none}
.pb-hero .case-hero-veil{background:radial-gradient(ellipse 520px 270px at 68% 37%,rgba(0,0,0,0) 0 47%,rgba(0,0,0,.05) 100%)}
.pb-hero .case-hero-in{padding:0 236px}
.pb-hero h1{width:960px;margin-top:440px;font-family:'IBM Plex Sans',var(--sans);font-size:80px;line-height:96px;font-weight:700;color:#252228}
.pb-hero h1 em{font-style:normal;color:var(--green)}
.pb-hero hr{border-top-color:#1f1f1e}
.pb-hero .case-lead{color:#1f1f1e;max-width:1056px}
.pb-hero .case-lead strong{font-weight:700}
.pb-hero .case-lead em{color:var(--green)}
.pb-app{margin-top:110px;margin-left:.83px;width:62.346px;height:62.346px;border-radius:16px;object-fit:cover}
.page-pb .case-metrics .metric-chip{align-items:center;justify-content:center;gap:16px;overflow:hidden;backdrop-filter:none;-webkit-backdrop-filter:none}
.page-pb .case-metrics .metric-chip--green{background:rgba(36,199,137,.5)}
.page-pb .case-metrics .num{align-items:flex-end;white-space:nowrap}
.page-pb .case-metrics .num span{margin-top:0}
.page-pb .case-metrics{right:241.5px!important}
.page-pb .jd-tags{position:absolute;z-index:4;left:50%;top:1039px;width:min(1440px,calc(100% - 48px));margin-top:0;transform:translateX(-50%)}
.page-pb .jd-tags span{height:39px;padding:0 24px;display:flex;align-items:center}
.pb-2col{display:flex;align-items:flex-start;justify-content:space-between;margin-top:0}
.pb-2col .sec-head{width:703px}
.pb-numrows{width:725px;height:476px;border-top:2px solid var(--white)}
.pb-numrow{display:flex;gap:32px;padding:24px 0 24px 32px;border-bottom:1px solid var(--white)}
.pb-numrow:nth-child(1){height:149px}
.pb-numrow:nth-child(2){height:178px}
.pb-numrow:nth-child(3){height:149px}
.pb-numrow:first-child{padding-top:24px}
.pb-numrow .no{font-size:20px;line-height:29px;color:var(--white)}
.pb-numrow h4{font-size:24px;line-height:34.8px;font-weight:400;color:var(--white)}
.pb-numrow p{margin-top:8px;font-size:20px;line-height:29px;color:var(--white)}
.pb-asks{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:134px}
.pb-ask .card{background:var(--bg);padding:24px;min-height:359px;display:flex;flex-direction:column;gap:16px}
.pb-ask .no{font-size:16px;line-height:27.2px;color:var(--green)}
.pb-ask h3{font-size:24px;line-height:34.8px;font-weight:600;color:var(--t1)}
.pb-ask .line{border-top:1px solid var(--green)}
.pb-ask p{font-size:16px;line-height:23.2px;color:var(--mut4)}
.pb-ask p+p{margin-top:16px}
.pb-ask .out{margin-top:16px;border:1px solid var(--green);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;font-size:20px;line-height:29px;color:var(--green)}
.pb-ask .out svg{width:24px;height:24px}
.pb-fig{margin:50px 0 0}
.pb-fig img{width:100%;height:auto}
.page-pb .pb-fig{width:min(1440px,calc(100% - 48px));margin-left:auto;margin-right:auto}
.page-pb .jd-tags+.case-sec{height:476px;margin-top:144px!important}
.page-pb .jd-tags+.case-sec+.case-band{height:854px}
.page-pb .jd-tags+.case-sec+.case-band>.sec-head{height:184px}
.page-pb main>section>.container.sec-head{transform:translateX(-4px)}
.page-pb .pb-asks{height:420px;margin-top:50px;transform:translateX(-4px)}
.page-pb .pb-ask .card{height:359px;min-height:0}
.page-pb .pb-ask .out{height:61px;margin-top:0}
.page-pb .jd-tags+.case-sec+.case-band+.case-sec>.sec-head,
.page-pb .jd-tags+.case-sec+.case-band+.case-sec+.case-band>.sec-head{height:184px}
.page-pb .jd-tags+.case-sec+.case-band+.case-sec>.pb-fig{height:557px}
.page-pb .jd-tags+.case-sec+.case-band+.case-sec>.pb-fig img{height:557px;object-fit:fill}
.page-pb main>section:nth-of-type(3)>.sec-head .sec-body,
.page-pb main>section:nth-of-type(4)>.sec-head .sec-body,
.page-pb main>section:nth-of-type(5)>.sec-head .sec-body,
.page-pb .pb-disclosure-head .sec-body,
.page-pb .pb-impact-band>.sec-head .sec-body{color:var(--mut2)!important}
.page-pb .pb-solution-band{background:linear-gradient(to bottom,#262625 0 693px,#1b1b1a 693px 100%)}
.page-pb .pb-solution-band>.sec-head>.eyebrow{color:#24c789}
.page-pb .pb-step-grid{height:259px;margin-top:50px;transform:translateX(-4px)}
.pb-disclosure-head{height:201px!important;margin-top:200px}
.pb-disclosure-head .sec-body span{color:var(--green)}
.page-pb .pb-disclosure-head+.pb-fig{height:371px}
.page-pb .pb-disclosure-head+.pb-fig img{height:371px;object-fit:fill}
.page-pb .pb-knowledge-grid{height:665px;margin-top:100px;transform:translateX(-4px)}
.page-pb .pb-levels{height:269px;margin-top:29px}
.page-pb .pb-protocol{width:min(1444px,calc(100% - 48px));height:1071px;margin-top:57px;transform:translateX(-2px)}
.page-pb .pb-protocol-image{width:min(1444px,calc(100% - 48px));margin:57px auto 0;transform:translateX(-2px)}
.page-pb .pb-protocol-image img{display:block;width:100%;height:auto}
.page-pb .pb-protocol-band{margin-top:0}
.page-pb .pb-workflows-band{padding:0 0 100px;background:transparent}
.page-pb .pb-workflows-band>.sec-head{height:102px}
.page-pb .pb-workflows-band>.sec-head+.pb-workflow-set{margin-top:48px}
.page-pb .pb-workflows-band>.pb-workflow-set+.pb-workflow-set{margin-top:45px}
.page-pb .pb-workflows-band>.sec-head+.pb-workflow-image{margin-top:48px}
.page-pb .pb-workflow-image+.pb-workflow-set{margin-top:45px}
.page-pb .pb-workflows-band>.pb-duo,
.page-pb .pb-workflows-band>.pb-workflow-set{transform:translateX(-4px)}
.page-pb .pb-workflow-image{width:min(1440px,calc(100% - 48px));margin-left:auto;margin-right:auto;transform:translateX(-4px)}
.page-pb .pb-workflow-image img{display:block;width:100%;height:auto}
.page-pb .pb-impact-band{height:1106px;padding-top:100px;padding-bottom:200px;background:linear-gradient(to bottom,var(--band) 0 1006px,var(--bg) 1006px)}
.page-pb .pb-impact-band>.sec-head{height:191px}

/* PlayBlocks 图形均为可编辑 HTML/CSS，不使用整块截图。 */
.pb-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));color:var(--t1)}
.pb-step{height:259px;border-left:1px solid var(--green)}
.pb-step-kicker{height:103px;padding:0 16px 24px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px}
.pb-step-kicker strong{font-size:32px;line-height:46px;font-weight:600;color:var(--mut3)}
.pb-step-kicker span{font-size:20px;line-height:29px;color:var(--green)}
.pb-step-copy{height:156px;padding:16px;border-top:1px solid var(--green)}
.pb-step-copy h3{font-size:24px;line-height:35px;font-weight:400;color:var(--t1)}
.pb-step-copy p{margin-top:4px;font-size:16px;line-height:23px;color:var(--mut3)}

.pb-knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pb-knowledge-card{height:665px;min-width:0;overflow:hidden;background:#212121;border-radius:24px}
.pb-knowledge-head{height:269px;padding:24px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.5);border-radius:24px 24px 0 0}
.pb-knowledge-head .lv{font-size:16px;line-height:23px;color:var(--mut3)}
.pb-knowledge-head h3{margin-top:16px;font-size:32px;line-height:46px;font-weight:400;color:var(--green)}
.pb-knowledge-head>p:not(.lv):not(.pb-knowledge-result){margin-top:8px;font-size:20px;line-height:29px;color:var(--mut2)}
.pb-knowledge-head .pb-knowledge-result{margin-top:8px;font-size:20px;line-height:29px;color:var(--t1)}
.pb-knowledge-head i{width:32px;margin-top:auto;border-top:2px solid var(--mut3)}
.pb-tree-image{width:100%;height:396px;object-fit:fill}

.pb-protocol{position:relative;display:grid;grid-template-columns:337fr 590fr 476fr;gap:20px}
.pb-protocol-col{z-index:1;height:1071px;min-width:0;position:relative;background:#212121;border-radius:24px}
.pb-protocol-col>h3{height:25px;margin-top:37px;font-size:20px;line-height:25px;font-weight:500;color:#fff;text-align:center}
.pb-protocol-col--bones ol{position:absolute;inset:118px 44px 29px;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;list-style:none}
.pb-protocol-col--bones li{height:56px;padding:12px 16px;display:flex;align-items:center;justify-content:center;border:2px solid var(--green);background:rgba(36,199,137,.5);font-size:20px;line-height:29px;color:#fff;text-align:center}
.pb-protocol-col--bones li.dash{background:transparent;border-style:dashed}
.pb-mod-list{position:absolute;left:44px;right:44px;top:88px;display:grid;grid-template-rows:repeat(4,88px) 120px repeat(4,88px);gap:16px}
.pb-mod-list article{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);border:1px solid var(--blue);background:linear-gradient(100deg,rgba(105,152,239,.25),rgba(105,152,239,.78))}
.pb-protocol-links{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pb-protocol-links path{fill:none;stroke:rgba(255,255,255,.5);stroke-width:2;vector-effect:non-scaling-stroke}
.pb-protocol-links--bones path:nth-child(5){stroke-linecap:round}
.pb-mod-list article>b{display:flex;align-items:center;padding-left:16px;background:#1f1f1e;font-size:20px;line-height:25px;font-weight:400;color:var(--blue)}
.pb-mod-list article>div{padding:12px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#1f1f1e}
.pb-mod-list h4{font-size:20px;line-height:25px;font-weight:500}
.pb-mod-list p{margin-top:6px;font-size:16px;line-height:23px;color:#2e2f2e}
.pb-function-list{position:absolute;left:40px;right:40px;top:87px;bottom:30px;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:23px}
.pb-function-list article{border:1px solid #000;background:#1f1f1e}
.pb-function-list h4{padding:10px 16px;background:#292928;font-size:24px;line-height:30px;font-weight:400;color:#fff;text-align:center}
.pb-function-list p{padding:12px 16px;font-size:20px;line-height:29px;color:#888}

.pb-role-map{width:60.14%;height:414px;display:grid;grid-template-columns:30.72% 64.09%;gap:2.77%;font-family:var(--sans)}
.pb-role-lead{height:414px;border:1px solid #de777b}
.pb-role-lead>div{height:203px;padding:16px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;background:rgba(222,119,123,.5)}
.pb-role-lead b{font-size:40px;line-height:40px;font-weight:500}.pb-role-lead strong{font-size:24px;line-height:38px;font-weight:500}
.pb-role-lead>p{padding:16px;font-size:16px;line-height:27px;color:#fff}
.pb-role-list{display:grid;grid-template-rows:repeat(5,70px);gap:16px}
.pb-role-list article{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;border:1px solid var(--role);color:#fff}
.pb-role-list b{height:68px;padding:16px;display:flex;align-items:center;gap:4px;justify-content:center;background:color-mix(in srgb,var(--role) 50%,transparent);font-size:32px;line-height:38px;font-weight:500;white-space:nowrap}
.pb-role-list b span{font-size:24px}.pb-role-list p{padding:8px 16px;font-size:16px;line-height:27px}
.role-w{--role:#e49a6a}.role-q{--role:#dec26d}.role-v{--role:#24c789}.role-c{--role:#7d9bda}.role-a{--role:#7f53be}

.pb-workflow-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pb-workflow-set--tall{height:1074px}.pb-workflow-set--short{height:708px}
.pb-workflow{height:100%;min-width:0;overflow:hidden;background:#1f1f1e}
.pb-workflow header{height:163px;padding:32px 16px 16px;background:var(--band)}
.pb-workflow header h3{padding-bottom:8px;border-bottom:1px solid var(--mut3);font-size:28px;line-height:45px;font-weight:500;color:var(--t1);text-align:center}
.pb-workflow header p{margin-top:8px;font-size:16px;line-height:27px;color:var(--mut2)}
.wf-flow{height:calc(100% - 163px);padding:28px 12px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.025),transparent 58%),#1f1f1e}
.wf-node{position:relative;max-width:94%;padding:7px 24px;border:1px solid #4b4e4d;border-radius:100px;background:rgba(75,78,77,.2);font-size:16px;line-height:18px;color:#fff;text-align:center}
.wf-node:not(:first-child)::before,.wf-decision::before{content:"";position:absolute;left:50%;bottom:100%;height:24px;border-left:2px solid #8f908b;transform:translateX(-50%)}
.wf-node:not(:first-child)::after,.wf-decision::after{content:"";position:absolute;left:50%;bottom:calc(100% - 1px);border:5px solid transparent;border-top-color:#8f908b;transform:translate(-50%,24px)}
.wf-box{min-height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.wf-output{min-width:62%}.wf-diagnose{min-width:78%;min-height:70px;border-radius:12px;display:block;padding:12px 16px}
.wf-node small{font-size:14px;line-height:22px;color:#fff}
.wf-decision{position:relative;width:92px;height:86px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:rgba(216,162,74,.45);font-size:16px;color:#fff}
.wf-decision::before,.wf-decision::after{display:none}
.wf-flow--branch{justify-content:flex-start;gap:28px;padding-top:44px}
.wf-branches{width:92%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.wf-branches>div{display:flex;flex-direction:column;gap:4px;align-items:center}.wf-branches small{padding:4px 8px;background:rgba(75,78,77,.5);font-size:13px;color:#fff}.wf-branches span{width:100%;padding:12px;border:1px solid #4b4e4d;border-radius:12px;font-size:15px;color:#fff;text-align:center}
.wf-node em,.wf-branches em{font-style:normal;font-weight:600}.role-d{color:#de777b}.role-w{color:#e49a6a}.role-q{color:#dec26d}.role-v{color:#06d6a0}.role-c{color:#7d9bda}.role-a{color:#7f53be}

.pb-fig--pad{padding:0 4px}
.pb-levels{margin-top:80px;display:flex;gap:24px}
.pb-level{background:#212121;border-radius:24px;position:relative}
.pb-level .in{border:1px solid var(--white);border-radius:12px;padding:24px;height:269px;display:flex;flex-direction:column;gap:16px}
.pb-level .lv{font-size:16px;line-height:23.2px;color:var(--mut3)}
.pb-level h4{font-size:32px;line-height:46.4px;font-weight:400;color:var(--green)}
.pb-level p{font-size:20px;line-height:29px;color:var(--mut2)}
.pb-level p+p{margin-top:8px}
.pb-level p.w{color:var(--t1)}
.pb-level .shot{position:absolute;right:114px;top:.5px;height:268px;width:310px;padding:0;object-fit:fill;object-position:center;background:transparent;border-radius:0 24px 24px 0}
.pb-level--dash .in{border-style:dashed}
.pb-mod{display:grid;grid-template-columns:39px 250px 109px 500px 106px 395px;margin-top:114px}
.pb-mod .h{font-size:20px;line-height:25px;font-weight:500;color:var(--t1);padding-bottom:24px}
.pb-mod .col-sk{display:flex;flex-direction:column;gap:16px}
.pb-mod .sk{background:var(--green);color:var(--white);font-size:20px;line-height:25px;padding:16px 24px;display:flex;align-items:center}
.pb-mod .sk--dash{background:transparent;border:2px dashed var(--green);color:var(--green)}
.pb-mod .col-mod{display:flex;flex-direction:column;gap:16px}
.pb-mod .modlab{font-size:20px;line-height:25px;color:var(--green);margin-bottom:-8px}
.pb-mod .modrow{border:1px solid var(--blue);padding:12px 24px;min-height:88px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.pb-mod .modrow h5{font-size:20px;line-height:25px;font-weight:400;color:var(--t1)}
.pb-mod .modrow p{font-size:16px;line-height:23.2px;color:var(--mut4)}
.pb-mod .col-fn{display:flex;flex-direction:column;justify-content:space-between}
.pb-mod .fn h5{font-size:24px;line-height:30px;font-weight:400;color:var(--t1)}
.pb-mod .fn p{margin-top:10px;font-size:20px;line-height:29px;color:var(--mut2)}
.pb-duo{display:flex;justify-content:space-between;margin-top:0}
.pb-duo .txt{width:538px}
.pb-duo .txt h2{font-size:42px;line-height:53px;font-weight:600;color:var(--t1)}
.pb-duo .txt p{margin-top:16px;font-size:20px;line-height:33px;color:var(--t1)}
.pb-impacts{display:flex;gap:40px;margin-top:43px;transform:translateX(-4px)}
.pb-impact{position:relative;width:700px;height:572px}
.pb-impact h3{font-size:28px;line-height:35px;font-weight:600;color:var(--t1);text-align:center;margin-bottom:0}
.pb-impact .tline{position:absolute;left:0;right:0;top:59px;border-top:2px solid var(--green)}
.pb-impact--b h3{color:var(--t1)}
.pb-impact--b .tline{border-top-color:var(--blue2)}
.pb-impact .row{position:absolute;left:0;width:100%;height:147px;display:flex;gap:24px;padding:0 24px 24px;border-bottom:1px solid var(--mut3)}
.pb-impact .row:nth-of-type(1){top:83px}
.pb-impact .row:nth-of-type(2){top:254px}
.pb-impact .row:nth-of-type(3){top:425px}
.pb-impact--b .row{border-bottom-color:var(--blue2)}
.pb-impact .row .no{width:85px;flex:none;margin-top:48px;font-size:16px;line-height:27px;color:var(--green)}
.pb-impact--b .row .no{color:var(--blue)}
.pb-impact .row h4{font-size:24px;line-height:38px;font-weight:500;color:var(--t1)}
.pb-impact .row p{margin-top:4px;font-size:16px;line-height:27px;color:var(--mut2)}

/* case-course：按 Figma 1920 桌面稿恢复分段几何与四阶段方案图。 */
.page-cc .case-hero-bg{inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:none}
.page-cc .case-hero-veil{display:none}
.page-cc .pb-app{width:64px;height:64px;margin-top:100px}
.page-cc .case-hero h1{margin-top:430px}
.cc-metrics{position:absolute;top:928px;right:205px;display:flex;gap:16px}
.cc-metric{height:160px;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:16px;border:1px solid;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.cc-metric--green{width:152px;background:rgba(95,228,179,.5);border-color:rgba(95,228,179,.7)}
.cc-metric--blue{width:200px;background:rgba(105,152,239,.5);border-color:rgba(105,152,239,.7)}
.cc-metric-number{display:flex;align-items:baseline;justify-content:center;font-family:var(--mono);font-weight:800;font-style:italic;color:var(--white);white-space:nowrap}
.cc-metric-number strong{font-size:64px;line-height:64px}
.cc-metric-number span{font-size:32px;line-height:32px}
.cc-metric-label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:20px;line-height:29px;color:var(--white);white-space:nowrap}
.cc-metric-label i{font-style:normal;font-size:28px;line-height:20px}
.page-cc .pb-fig.container{margin-left:auto;margin-right:auto}
.page-cc .pb-numrows{height:474px}
.page-cc .pb-numrow{height:158px;padding:24px}
.page-cc .pb-numrow>.no{display:none}
.page-cc .pb-numrow>div{padding:16px 0}
.page-cc .pb-numrow h4{font-size:28px;line-height:40.6px}
.page-cc .cc-value-grid{height:200px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:48px;border-top:1px solid var(--green)}
.page-cc .cc-value-item{height:200px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.page-cc .cc-value-item+.cc-value-item{border-left:1px solid var(--green);padding-left:24px}
.page-cc .cc-value-item h4{font-size:28px;line-height:40.6px;font-weight:400;color:var(--t1)}
.page-cc .cc-value-item h4::after{content:"";display:block;width:170px;margin-top:14px;border-top:1px solid var(--mut3)}
.page-cc .cc-value-item p{margin-top:20px;font-size:20px;line-height:29px;color:var(--mut2)}
.page-cc .cc-challenge-grid{height:540px;margin-top:50px;display:grid;grid-template-columns:40% 60%;grid-template-rows:1fr 1fr;grid-template-areas:"quality engineering" "quality scale";border:1px solid var(--green)}
.page-cc .cc-challenge-card{min-width:0;min-height:0}
.page-cc .cc-challenge-card--quality{grid-area:quality;display:grid;grid-template-rows:1fr 1fr;border-right:1px solid var(--green)}
.page-cc .cc-challenge-card--engineering{grid-area:engineering;border-bottom:1px solid var(--green)}
.page-cc .cc-challenge-card--scale{grid-area:scale}
.page-cc .cc-challenge-visual{position:relative;min-height:0;overflow:hidden}
.page-cc .cc-challenge-visual img{width:100%;height:100%;object-fit:cover}
.page-cc .cc-challenge-tags{position:absolute;left:16px;bottom:16px;display:flex;gap:4px}
.page-cc .cc-challenge-tags span{padding:4px 12px;background:var(--bg);font-size:16px;line-height:23px;color:var(--t2)}
.page-cc .cc-challenge-copy{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 44px;text-align:center}
.page-cc .cc-challenge-copy h3{font-size:28px;line-height:44.8px;font-weight:400;color:var(--t1)}
.page-cc .cc-challenge-copy p{max-width:100%;font-size:20px;line-height:29px;color:var(--mut2)}
.page-cc .cc-challenge-result{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:6px 28px;border:1px solid var(--green);border-radius:999px;font-size:20px;line-height:29px;font-weight:500;color:var(--green)}
.page-cc .cc-challenge-result::after{content:"→";font-size:24px;line-height:1}
.page-cc .cc-principle-grid{height:240px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.page-cc .cc-principle-card{height:240px;padding:16px;border-top:1px solid var(--green);border-bottom:1px solid var(--green);min-width:0}
.page-cc .cc-principle-card h3{padding-bottom:7px;border-bottom:1px solid var(--mut3);font-size:24px;line-height:38.4px;font-weight:600;color:var(--green)}
.page-cc .cc-principle-card p{margin-top:8px;font-size:16px;line-height:23.2px;color:var(--mut2)}
.page-cc .cc-principle-card .cc-principle-lead{font-size:20px;line-height:32px;color:var(--t1)}
.cc-system-label{height:107px;padding-top:24px;border-bottom:2px solid var(--green);font-size:36px;line-height:43px;font-weight:500;text-align:center;color:var(--t1)}
.cc-plan-band{padding-bottom:50px}
.cc-stages{position:relative;height:936px;margin-top:83px}
.cc-stages::before{content:"";position:absolute;left:50%;top:0;width:2px;height:936px;background:var(--gold)}
.cc-stage{position:absolute;width:calc(50% - 40px);background:transparent;color:var(--t1)}
.cc-stage--01{left:0;top:0;height:327px}
.cc-stage--02{left:calc(50% + 38px);top:232px;height:274px}
.cc-stage--03{left:0;top:411px;height:274px}
.cc-stage--04{left:calc(50% + 40px);top:590px;height:267px}
.cc-stage::before,.cc-stage::after{content:"";position:absolute;top:50%;z-index:1;pointer-events:none;background:var(--gold);transform:translateY(-50%)}
.cc-stage::before{height:2px}
.cc-stage::after{width:8px;height:8px;border-radius:50%}
.cc-stage--01::before,.cc-stage--03::before{right:-40px;width:40px}
.cc-stage--01::after,.cc-stage--03::after{right:-44px}
.cc-stage--02::before{left:-38px;width:38px}
.cc-stage--02::after{left:-42px}
.cc-stage--04::before{left:-40px;width:40px}
.cc-stage--04::after{left:-44px}
.cc-stage header{height:65px;padding:16px 16px 4px;display:flex;align-items:center;gap:4px;background:var(--bg)}
.cc-stage header span{font-size:20px;line-height:20px;font-weight:500;color:rgba(216,162,74,.5)}
.cc-stage header h3{font-size:28px;line-height:45px;font-weight:500;color:var(--gold)}
.cc-stage-lead{height:45px;padding:0 16px 16px;background:var(--bg);font-size:20px;line-height:29px;color:var(--mut2)}
.cc-stage-detail{height:164px;padding:24px;border:1px solid var(--bg)}
.cc-stage-detail p{font-size:16px;line-height:23.2px;color:var(--mut2)}
.cc-stage-detail>div{display:flex;gap:8px;margin-top:16px}
.cc-stage-detail span{padding:4px 12px;border-radius:16px;background:var(--panel);font-size:16px;line-height:23px;color:var(--gold)}
.cc-stage--01 header,.cc-stage--04 header{height:73px;padding:24px 24px 4px}
.cc-stage--01 .cc-stage-lead{height:82px;padding:0 24px 24px}
.cc-stage--01 .cc-stage-detail{height:172px}
.cc-stage--04 .cc-stage-lead{height:53px;padding:0 24px 24px}
.cc-stage--04 .cc-stage-detail{height:141px}
.page-cc .cc-resource-system{height:1228px;margin-top:40px;display:flex;flex-direction:column;gap:64px;background:transparent;overflow:hidden}
.page-cc .cc-resource-block{position:relative;flex:none;display:grid;min-width:0;min-height:0;background:var(--card)}
.page-cc .cc-resource-block+.cc-resource-block::before{content:"";position:absolute;top:-32px;right:0;left:0;border-top:1px solid var(--mut3)}
.page-cc .cc-resource-block--pose{height:360px;grid-template-columns:720px minmax(0,1fr)}
.page-cc .cc-resource-block--role{height:380px;grid-template-columns:600px minmax(0,1fr)}
.page-cc .cc-resource-block--template{height:360px;grid-template-columns:720px minmax(0,1fr)}
.page-cc .cc-resource-pose-grid{height:360px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}
.page-cc .cc-resource-pose-grid img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;object-position:center}
.page-cc .cc-resource-role-grid{height:380px;padding:32px 0 32px 32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:var(--bg);overflow:hidden}
.page-cc .cc-resource-role-grid img{width:100%;height:315px;object-fit:cover;object-position:top center}
.page-cc .cc-resource-template-grid{height:360px;display:block;background:var(--bg);overflow:hidden}
.page-cc .cc-resource-template-grid img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
.page-cc .cc-resource-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:28px 48px;background:var(--bg)}
.page-cc .cc-resource-block--role .cc-resource-copy{padding-left:32px;padding-right:32px}
.page-cc .cc-resource-index{font-size:16px;line-height:23px;color:var(--gold)}
.page-cc .cc-resource-copy>h3{margin-top:8px;font-size:30px;line-height:42px;font-weight:500;color:var(--t1)}
.page-cc .cc-resource-summary{margin-top:10px;font-size:16px;line-height:25px;color:var(--mut2)}
.page-cc .cc-resource-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.page-cc .cc-resource-block--template .cc-resource-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.page-cc .cc-resource-info{min-width:0;padding:10px 14px;background:var(--band)}
.page-cc .cc-resource-info h4{font-size:15px;line-height:22px;font-weight:500;color:var(--t2)}
.page-cc .cc-resource-info p{margin-top:2px;font-size:14px;line-height:20px;color:var(--mut2)}
.page-cc .cc-resource-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.page-cc .cc-resource-tags span{padding:5px 14px;border-radius:999px;background:rgba(216,162,74,.5);font-size:14px;line-height:21px;color:var(--panel);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.page-cc .cc-rule-map{height:811px;margin-top:40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;overflow:hidden}
.page-cc .cc-rule-column{min-width:0;min-height:0}
.page-cc .cc-rule-column--left{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:24px}
.page-cc .cc-rule-step{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--panel);overflow:hidden}
.page-cc .cc-rule-step>header{height:78px;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(216,162,74,.5)}
.page-cc .cc-rule-step>header h3{font-size:28px;line-height:38px;font-weight:500;color:var(--t1)}
.page-cc .cc-rule-step>header h3 span{color:var(--t1)}
.page-cc .cc-rule-step--implementation>header{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.page-cc .cc-rule-body{min-height:0;flex:1;display:grid;grid-template-columns:112px minmax(0,1fr)}
.page-cc .cc-rule-side{min-height:0;display:flex;align-items:center;justify-content:center;padding:20px;border-right:1px solid var(--mut3);font-size:24px;line-height:1.5;color:var(--gold);text-align:center}
.page-cc .cc-rule-content{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:28px 30px;font-size:18px;line-height:30px;color:var(--mut2)}
.page-cc .cc-rule-content p{color:var(--mut2)}
.page-cc .cc-rule-content ul,.page-cc .cc-rule-layer ul{margin:4px 0 0;padding:0;list-style:none}
.page-cc .cc-rule-content li,.page-cc .cc-rule-layer li{color:var(--mut2)}
.page-cc .cc-rule-content li::before,.page-cc .cc-rule-layer li::before{content:"- ";color:var(--mut2)}
.page-cc .cc-rule-step--implementation .cc-rule-body{grid-template-columns:124px minmax(0,1fr)}
.page-cc .cc-rule-layers{min-width:0;min-height:0;display:grid;grid-template-rows:1.45fr 1fr .9fr}
.page-cc .cc-rule-layer{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:20px 28px;color:var(--mut2)}
.page-cc .cc-rule-layer+.cc-rule-layer{border-top:1px solid var(--mut3)}
.page-cc .cc-rule-layer h4{font-size:24px;line-height:34px;font-weight:400;color:var(--t2)}
.page-cc .cc-rule-layer p,.page-cc .cc-rule-layer li{font-size:16px;line-height:23px;color:var(--mut2)}
.page-cc .cc-rule-layer p{margin-top:8px}
.page-cc .cc-rule-layer ul{margin-top:2px}
.page-cc .cc-workflow-assets{height:240px;margin-top:50px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.page-cc .cc-workflow-asset{min-width:0;padding:21px 24px 20px;background:linear-gradient(135deg,#31537f 0%,#263e5f 100%);border:1px solid #5e7898;color:var(--t1);overflow:hidden}
.page-cc .cc-workflow-asset-index{font-size:15px;line-height:23px;color:#f1f4f8;letter-spacing:.02em}
.page-cc .cc-workflow-asset h3{margin-top:18px;padding-bottom:9px;border-bottom:1px solid #d8e0e9;font-size:21px;line-height:29px;font-weight:500;color:#f1f4f8}
.page-cc .cc-workflow-asset h3+p{margin-top:9px;font-size:15px;line-height:24px;color:#c3cedb}
.page-cc .cc-workflow-shot{height:464px;margin-top:50px;overflow:hidden}
.page-cc .cc-workflow-shot img{width:100%;height:100%;object-fit:cover}
.cc-workflow-head{margin-top:100px}
.cc-workflow-head .sec-title{font-size:40px;line-height:50px}
.page-cc .cc-prototype-note{margin-top:39px;font-size:16px;line-height:26px;color:var(--gold)}
.page-cc .cc-model-scorecard{height:185px;margin-top:56px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #30302f;overflow:hidden}
.page-cc .cc-model-score{min-width:0;padding:20px 24px;background:#262625;overflow:hidden}
.page-cc .cc-model-score:nth-child(even){background:#050505}
.page-cc .cc-model-score+.cc-model-score{border-left:1px solid #30302f}
.page-cc .cc-model-score h3{font-size:18px;line-height:26px;font-weight:600;color:#eeeeec}
.page-cc .cc-model-score h3::after{content:"";display:block;width:46px;height:1px;margin-top:13px;background:#a7a7a3}
.page-cc .cc-model-score p{margin-top:13px;font-size:15px;line-height:25px;color:#b0b0ad}
.page-cc .cc-prototype-shot{height:497px;margin-top:40px;overflow:hidden;background:#10100f;border:1px solid #30302f}
.page-cc .cc-prototype-shot img{width:100%;height:100%;object-fit:cover;object-position:center center}
.page-cc .cc-prototype-capabilities{height:212px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #30302f;border-top:0;overflow:hidden}
.page-cc .cc-prototype-capability{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:18px 24px;background:#262625;overflow:hidden}
.page-cc .cc-prototype-capability:nth-child(even){background:#050505}
.page-cc .cc-prototype-capability+.cc-prototype-capability{border-left:1px solid #30302f}
.page-cc .cc-prototype-capability h3{font-size:20px;line-height:29px;font-weight:500;color:#eeeeec}
.page-cc .cc-prototype-capability h3::after{content:"";display:block;width:45px;height:1px;margin-top:12px;background:#a7a7a3}
.page-cc .cc-prototype-capability p{margin-top:12px;font-size:14px;line-height:22px;color:#b8b8b4}
.page-cc .cc-flow-map img{height:698px;max-width:none!important;object-fit:fill;transform:translateX(-100px)}
.page-cc .cc-samples-strip{gap:0;padding-bottom:8px;cursor:grab;touch-action:pan-y}
.page-cc .cc-samples-strip.is-dragging{cursor:grabbing;user-select:none}
.page-cc .cc-samples-strip.is-looping{overflow-x:hidden}
.page-cc .cc-samples-motion-track{width:max-content;display:flex;gap:24px;transform:translate3d(0,0,0)}
.page-cc .cc-samples-motion-track.is-running{animation:cc-samples-marquee var(--cc-samples-duration) linear infinite;animation-delay:var(--cc-samples-delay,0s);will-change:transform}
.page-cc .cc-samples-strip:hover .cc-samples-motion-track,.page-cc .cc-samples-strip:focus-within .cc-samples-motion-track{animation-play-state:paused;will-change:auto}
@keyframes cc-samples-marquee{to{transform:translate3d(calc(-1 * var(--cc-samples-cycle)),0,0)}}
.page-cc .cc-samples-track{width:max-content;display:flex;gap:24px}
.page-cc .cc-sample-card{width:460px;height:792px;flex:0 0 460px;overflow:hidden;background:#262625;color:#f0f0f0}
.page-cc .cc-sample-head{height:115px;padding:16px 24px;background:#262625}
.page-cc .cc-sample-head h3{display:flex;align-items:center;gap:8px;font-size:32px;line-height:51.2px;font-weight:400;white-space:nowrap;color:#f0f0f0}
.page-cc .cc-sample-head h3 span{font-size:20px;line-height:32px;color:#a7a7a3}
.page-cc .cc-sample-head p{font-size:20px;line-height:32px;color:#a7a7a3}
.page-cc .cc-sample-output{position:relative;height:345px;overflow:hidden;background:#000}
.page-cc .cc-sample-output>img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
.page-cc .cc-sample-output--contain>img{object-fit:contain}
.page-cc .cc-sample-stage{display:flex;align-items:center;gap:4px;font-size:20px;line-height:32px;font-weight:400;white-space:nowrap;color:#f0f0f0}
.page-cc .cc-sample-stage span{font-size:14px;line-height:22.4px}
.page-cc .cc-sample-stage--output{position:absolute;z-index:2;left:24px;top:24px;color:#1b1b1a}
.page-cc .cc-sample-flags{position:absolute;z-index:2;top:24px;right:24px;display:flex;gap:8px;background:rgba(136,136,136,.2)}
.page-cc .cc-sample-flags span{padding:4px;font-size:14px;line-height:22.4px;color:#1b1b1a;background:#24c789}
.page-cc .cc-sample-flags span+span{background:#4989ff}
.page-cc .cc-sample-row{position:relative;display:flex;align-items:center;padding:8px 24px;background:#262625}
.page-cc .cc-sample-row::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1px;background:#888}
.page-cc .cc-sample-row>.cc-sample-stage{padding:16px;flex:none}
.page-cc .cc-sample-compose{height:100px}
.page-cc .cc-sample-compose>p:last-child{min-width:0;padding:20px;font-size:14px;line-height:22.4px;color:#a7a7a3;white-space:nowrap}
.page-cc .cc-sample-material{height:116px}
.page-cc .cc-sample-material-media{height:68px;margin-left:16px;display:flex;gap:8px;align-items:center;flex:none}
.page-cc .cc-sample-material-media img{width:68px;height:68px;display:block;object-fit:cover}
.page-cc .cc-sample-material-media img[data-wide]{width:90.667px}
.page-cc .cc-sample-material-media+p{margin-left:8px;padding:4px;font-size:14px;line-height:22.4px;color:#a7a7a3;white-space:nowrap}
.page-cc .cc-sample-input{height:116px}
.page-cc .cc-sample-input::after{display:none}
.page-cc .cc-sample-role{position:relative;width:47px;height:68px;flex:none;overflow:hidden;background:#fff}
.page-cc .cc-sample-input>.cc-sample-role{margin-left:16px}
.page-cc .cc-sample-role img{position:absolute;left:0;top:0;width:83px;height:auto;max-width:none;display:block;transform:translate(-31px,-18px)}
.page-cc .cc-sample-tags{height:68px;min-width:0;margin:0 0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-content:space-between;list-style:none}
.page-cc .cc-sample-tags--dense{gap:8px 4px}
.page-cc .cc-sample-tags li{height:30px;padding:3px 4px;border:1px solid #888;font-size:14px;line-height:22.4px;color:#a7a7a3;white-space:nowrap}
.page-cc .cc-knowledge-assets{margin-top:50px}
.page-cc .cc-knowledge-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.page-cc .cc-knowledge-row--top{height:294px}
.page-cc .cc-knowledge-row--bottom{height:300px;margin-top:24px}
.page-cc .cc-knowledge-card{min-width:0;min-height:0;padding:20px 24px;background:#191918;border-top:2px solid var(--green)}
.page-cc .cc-knowledge-copy{height:100%;min-width:0;display:flex;flex-direction:column}
.page-cc .cc-knowledge-card h3{font-size:20px;line-height:30px;font-weight:500;color:#eeeeec}
.page-cc .cc-knowledge-card h3 span{color:var(--green);font-weight:400}
.page-cc .cc-knowledge-body{margin-top:15px}
.page-cc .cc-knowledge-body p{font-size:14px;line-height:22px;color:#b8b8b4}
.page-cc .cc-knowledge-body p+p{margin-top:4px}
.page-cc .cc-knowledge-reuse{margin-top:auto;padding-top:11px;border-top:1px solid #8f908b}
.page-cc .cc-knowledge-reuse-label{font-size:14px;line-height:22px;color:var(--green)}
.page-cc .cc-knowledge-reuse-copy{margin-top:4px;font-size:15px;line-height:23px;color:#d7d7d4}
.page-cc .cc-knowledge-card--05{grid-column:2 / span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,38%);gap:24px;align-items:center}
.page-cc .cc-knowledge-shot{min-width:0;display:flex;align-items:center;justify-content:center}
.page-cc .cc-knowledge-shot img{width:100%;height:auto;max-height:248px;object-fit:contain}
.page-cc .site-footer{margin-top:100px}

/* 1366–1679 桌面降档：保留 1920 基线，将 1440px 画布等价收缩到容器。 */
@media (max-width:1679px){
  .infl-collage{grid-template-columns:574fr 574fr 284fr}

  .page-cc .pb-app{margin-top:124px}
  .page-cc .case-hero h1{margin-top:406px}
  .page-cc .cc-value-grid{column-gap:32px}
  .page-cc .cc-value-item+.cc-value-item{padding-left:20px}
  .page-cc .cc-value-item h4{font-size:24px;line-height:34px}
  .page-cc .cc-value-item h4::after{margin-top:10px}
  .page-cc .cc-value-item p{margin-top:14px;font-size:17px;line-height:25px}
  .page-cc .cc-challenge-copy{gap:8px;padding:16px 32px}
  .page-cc .cc-challenge-copy h3{font-size:24px;line-height:36px}
  .page-cc .cc-challenge-copy p{font-size:17px;line-height:24px}
  .page-cc .cc-challenge-result{min-height:40px;padding:4px 20px;font-size:17px;line-height:26px}
  .page-cc .cc-principle-card{padding:12px}
  .page-cc .cc-principle-card h3{font-size:20px;line-height:30px}
  .page-cc .cc-principle-card .cc-principle-lead{font-size:17px;line-height:26px}
  .page-cc .cc-principle-card p{margin-top:6px;font-size:14px;line-height:20px}
  .cc-stage-lead{font-size:18px;line-height:26px}
  .cc-stage-detail{padding:16px}
  .cc-stage-detail p{font-size:14px;line-height:20.3px}
  .cc-stage-detail>div{margin-top:12px}
  .cc-stage-detail span{padding:3px 10px;font-size:14px;line-height:20px}
  .page-cc .cc-resource-block--pose{grid-template-columns:50% minmax(0,1fr)}
  .page-cc .cc-resource-block--role{grid-template-columns:42% minmax(0,1fr)}
  .page-cc .cc-resource-block--template{grid-template-columns:50% minmax(0,1fr)}
  .page-cc .cc-resource-copy{padding-left:30px;padding-right:30px}
  .page-cc .cc-resource-block--role .cc-resource-copy{padding-left:24px;padding-right:24px}
  .page-cc .cc-resource-copy>h3{font-size:27px;line-height:38px}
  .page-cc .cc-resource-summary{font-size:15px;line-height:23px}
  .page-cc .cc-resource-info-grid{gap:8px;margin-top:14px}
  .page-cc .cc-resource-info{padding:8px 10px}
  .page-cc .cc-resource-info h4{font-size:14px;line-height:20px}
  .page-cc .cc-resource-info p{font-size:14px;line-height:20px}
  .page-cc .cc-resource-tags{margin-top:14px}
  .page-cc .cc-rule-map{gap:20px}
  .page-cc .cc-rule-body{grid-template-columns:100px minmax(0,1fr)}
  .page-cc .cc-rule-step--implementation .cc-rule-body{grid-template-columns:110px minmax(0,1fr)}
  .page-cc .cc-rule-side{padding:14px;font-size:22px}
  .page-cc .cc-rule-content{padding:24px 22px;font-size:16px;line-height:27px}
  .page-cc .cc-rule-layer{padding:18px 22px}
  .page-cc .cc-rule-layer h4{font-size:22px;line-height:31px}
  .page-cc .cc-rule-layer p,.page-cc .cc-rule-layer li{font-size:14px;line-height:21px}
  .page-cc .cc-workflow-asset{padding-left:20px;padding-right:20px}
  .page-cc .cc-workflow-asset h3+p{font-size:14px;line-height:23px}
  .page-cc .cc-model-score{padding-left:20px;padding-right:20px}
  .page-cc .cc-model-score h3{font-size:17px}
  .page-cc .cc-model-score p{font-size:14px;line-height:23px}
  .page-cc .cc-flow-map img{height:auto;max-width:100%!important;transform:none}
  .page-cc .cc-knowledge-card{padding-left:20px;padding-right:20px}
  .page-cc .cc-knowledge-card h3{font-size:18px;line-height:27px}
  .page-cc .cc-knowledge-body{margin-top:12px}
  .page-cc .cc-knowledge-body p{font-size:14px;line-height:20px}
  .page-cc .cc-knowledge-reuse{padding-top:9px}
  .page-cc .cc-knowledge-reuse-copy{font-size:14px;line-height:21px}
  .page-cc .cc-knowledge-card--05{grid-template-columns:minmax(0,1fr) minmax(260px,36%);gap:20px}

  .jd-pain-cards,.jd-judge-cards,.wl-pains{display:grid}
  .jd-pain-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .jd-judge-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;height:337px}
  .jd-judge:nth-child(2),.jd-judge:nth-child(3){height:191px}
  .jd-judge:nth-child(4){height:168px}
  .wl-pains{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .jd-pain-card,.jd-judge,.wl-pain{position:relative;left:auto!important;width:auto}
  .wl-pains .vline:first-child{left:calc((100% - 32px)/3 + 8px)!important}
  .wl-pains .vline:nth-child(2){left:calc(2*(100% - 32px)/3 + 24px)!important}

  .wl-modules,.wl-mod,.wl-mod .txt,.wl-mod .shot{min-width:0}
  .wl-mod .shot{max-width:100%}
  .wl-mod .shot img{height:auto!important;max-width:100%}
  .wl-modules[style] .wl-mod{width:auto!important;flex:1 1 0}
  .wl-modules[style] .wl-mod .txt,.wl-modules[style] .wl-mod .shot{width:auto!important;flex:1 1 0}

  .wl-guar .row{grid-template-columns:180px repeat(3,minmax(0,1fr))}
}

/* ============================================================
   课程封面 Hero 试验版：固定内容尺寸 + 滚动覆盖 + 背景视差
   ============================================================ */
.page-cc{min-width:0}
.page-cc .site-head .drop-panel{left:auto;right:0}
.page-cc .foot-nav .nav-drop--footer .drop-panel{left:auto;right:0}
.page-cc .course-hero-pilot{position:sticky;top:0;z-index:0;height:clamp(760px,52.083333vw,1000px);aspect-ratio:auto;overflow:visible}
.page-cc .course-hero-pilot .case-hero-clip{position:absolute;inset:0;overflow:hidden}
.page-cc .course-hero-pilot .case-hero-bg{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:translate3d(0,var(--hero-parallax-y,0px),0) scale(1.08);transform-origin:center;will-change:transform}
.page-cc .course-hero-content{position:relative;top:auto;left:auto;width:min(1440px,calc(100% - 48px));height:100%;margin-inline:auto;padding:0;transform:none}
.page-cc .course-hero-pilot .pb-app{position:absolute;top:100px;left:0;width:64px;height:64px;margin:0;border-radius:16px}
.page-cc .course-hero-copy{position:absolute;left:0;bottom:100px;width:min(940px,100%)}
.page-cc .course-hero-copy h1{margin:0;font-size:80px;line-height:96px;font-weight:500;color:var(--white)}
.page-cc .course-hero-copy hr{width:100%;margin:24px 0 0;border:0;border-top:1px solid var(--white)}
.page-cc .course-hero-copy .case-lead{width:100%;max-width:none;margin-top:23px;font-size:20px;line-height:33px;color:var(--white)}
.page-cc .course-hero-metrics{top:-72px;right:max(24px,calc((100vw - 1440px)/2));bottom:auto;display:flex;gap:16px}
.page-cc .course-scroll-cover .cc-metric{height:160px;flex:none}
.page-cc .course-scroll-cover{position:relative;z-index:2;padding-top:40px;background:var(--bg)}
.page-cc .course-scroll-cover>.jd-tags{margin-top:0}

@media (prefers-reduced-motion:reduce){
  .page-cc .course-hero-pilot{position:relative;top:auto}
  .page-cc .course-hero-pilot .case-hero-bg{transform:none!important;will-change:auto}
  .page-cc .cc-samples-strip{overflow-x:auto;cursor:auto;touch-action:auto}
  .page-cc .cc-samples-motion-track{animation:none!important;transform:none!important;will-change:auto!important}
}

/* ============================================================
   全站 Hero：固定内容尺寸 + 滚动覆盖 + 低幅度背景视差
   ============================================================ */
html{overflow-x:clip}
.page-index,.page-contact,.page-jd,.page-wl,.page-pb{min-width:0;overflow-x:clip}
.page-index,.page-contact{--hero-cover-top:clamp(760px,57.291667vw,1100px)}
.page-jd,.page-wl,.page-pb,.page-cc{--hero-cover-top:clamp(760px,52.083333vw,1000px)}
.page-contact{--hero-cover-bg:var(--panel)}
.page-index main,.page-contact main,.page-jd main,.page-wl main,.page-pb main,.page-cc main{position:relative;isolation:isolate}
.page-index main::after,.page-contact main::after,.page-jd main::after,.page-wl main::after,.page-pb main::after,.page-cc main::after{content:'';position:absolute;left:0;right:0;top:var(--hero-cover-top);bottom:0;background:var(--hero-cover-bg,var(--bg));z-index:1;pointer-events:none}
.page-index .site-head .drop-panel,.page-contact .site-head .drop-panel,.page-jd .site-head .drop-panel,.page-wl .site-head .drop-panel,.page-pb .site-head .drop-panel,.page-resume .site-head .drop-panel{left:auto;right:0}
.page-index .foot-nav .drop-panel,.page-contact .foot-nav .drop-panel,.page-jd .foot-nav .drop-panel,.page-wl .foot-nav .drop-panel,.page-pb .foot-nav .drop-panel,.page-resume .foot-nav .drop-panel{left:auto;right:0}
.hero-fixed{position:sticky;top:0;z-index:0;aspect-ratio:auto;overflow:visible}
.hero.hero-fixed,.c-hero.hero-fixed{height:clamp(760px,57.291667vw,1100px)}
.case-hero.hero-fixed{height:clamp(760px,52.083333vw,1000px)}
.page-jd .case-hero.hero-fixed{width:100%;aspect-ratio:auto}
.hero-fixed .hero-clip,.hero-fixed .c-hero-clip,.hero-fixed .case-hero-clip{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;transform:none}
.hero-fixed-bg{inset:0!important;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center;transform:translate3d(0,var(--hero-parallax-y,0px),0) scale(1.08)!important;transform-origin:center!important;will-change:transform}
.hero-fixed-content{position:relative!important;top:auto!important;left:auto!important;width:min(1440px,calc(100% - 48px))!important;height:100%!important;margin-inline:auto!important;padding:0!important;transform:none!important}
.hero-fixed .chip{position:absolute;top:100px;left:0;margin:0}
.hero-fixed .case-logo,.hero-fixed .brand-keep,.hero-fixed .pb-app{position:absolute;top:100px;left:0;margin:0}
.hero-fixed-copy{position:absolute;left:0;bottom:100px;width:min(1014px,100%)}
.hero-fixed-copy h1{margin:0!important;font-size:80px;line-height:96px;font-weight:500}
.hero-fixed-copy hr{width:100%;margin:24px 0 0}
.hero-fixed-copy .hero-lead,.hero-fixed-copy .c-hero-lead,.hero-fixed-copy .case-lead{width:100%;max-width:none!important;margin-top:23px;font-size:20px;line-height:33px}
.page-contact .hero-fixed-copy{width:min(914px,100%)}
.page-wl .hero-fixed-copy{width:min(944px,100%)}
.page-wl .hero-fixed-copy h1{font-size:88px;line-height:88px}
.page-wl .hero-fixed-copy .wl-sub{margin-top:24px;font-size:64px;line-height:64px}
.page-pb .hero-fixed-copy{width:min(1056px,100%)}
.page-pb .hero-fixed-copy h1{width:100%;color:#252228;font-weight:700}
.page-pb .hero-fixed-copy hr{border-top-color:#1f1f1e}
.page-pb .hero-fixed-copy .case-lead{color:#1f1f1e}
.hero-overlap-layer{position:relative;z-index:3!important;height:0;background:transparent!important}
.hero-overlap{position:absolute!important;top:-72px!important;right:max(24px,calc((100vw - 1440px)/2))!important;bottom:auto!important;margin:0!important}
.page-contact .hero-overlap{top:-99px!important}
.page-pb .hero-overlap-layer .hero-overlap{right:max(24px,calc((100vw - 1440px)/2))!important}
.page-pb .jd-tags{position:relative;z-index:2;left:auto;top:auto;width:min(1440px,calc(100% - 48px));margin:40px auto 0;transform:none}
.hero-fixed~*{position:relative;z-index:2}
.page-index main>.hero-fixed~section{background:var(--bg)}
.page-contact main>.hero-fixed~section{background:var(--panel)}
.page-jd main>.hero-fixed~.case-sec,.page-wl main>.hero-fixed~.case-sec,.page-pb main>.hero-fixed~.case-sec,.page-pb main>.hero-fixed~.pb-workflows-band{background:var(--bg)}

/* ============ 简历页 resume ============ */
.page-resume{background:var(--bg)}
.page-resume main{background:var(--bg)}
.page-resume .resume-shell{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.page-resume .resume-intro{padding:112px 0 64px;border-bottom:1px solid var(--line2)}
.page-resume .resume-kicker{font-family:var(--mono);font-size:14px;line-height:20px;color:var(--green);letter-spacing:.04em}
.page-resume .resume-title{margin-top:24px;font-size:64px;line-height:1.1;font-weight:600;color:var(--white)}
.page-resume .resume-role{margin-top:12px;font-size:24px;line-height:34px;color:var(--t2)}
.page-resume .resume-meta{display:flex;flex-wrap:wrap;gap:12px 32px;margin:40px 0 0;padding:0;list-style:none;font-size:15px;line-height:24px;color:var(--mut1)}
.page-resume .resume-meta a{color:var(--t2);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:5px}
.page-resume .resume-meta a:hover{color:var(--green);text-decoration-color:var(--green)}
.page-resume .resume-toc{display:flex;flex-wrap:wrap;gap:12px 32px;padding-top:28px;padding-bottom:28px;border-bottom:1px solid var(--line2)}
.page-resume .resume-toc a{font-size:14px;line-height:22px;color:var(--mut1)}
.page-resume .resume-toc a:hover{color:var(--green)}
.page-resume .resume-document{padding:24px 0 120px}
.page-resume .resume-section{padding:72px 0;border-bottom:1px solid var(--line2);scroll-margin-top:112px}
.page-resume .resume-section:last-child{border-bottom:0}
.page-resume .resume-section-head{display:flex;align-items:baseline;gap:24px;margin-bottom:40px}
.page-resume .resume-section-head span{font-family:var(--mono);font-size:14px;color:var(--green)}
.page-resume .resume-section h2{font-size:32px;line-height:44px;font-weight:600;color:var(--t1)}
.page-resume .resume-section h3{font-size:24px;line-height:34px;font-weight:500;color:var(--t1)}
.page-resume .resume-entry+.resume-entry{margin-top:56px;padding-top:56px;border-top:1px solid var(--line2)}
.page-resume .resume-entry-meta{margin-top:8px;font-size:15px;line-height:25px;color:var(--mut4)}
.page-resume .resume-subhead{margin-top:32px;font-size:17px;line-height:28px;font-weight:600;color:var(--t2)}
.page-resume .resume-section p,.page-resume .resume-section li{font-size:17px;line-height:30px;color:var(--mut1)}
.page-resume .resume-section p{margin-top:16px}
.page-resume .resume-section ul,.page-resume .resume-section ol{margin:24px 0 0;padding-left:24px}
.page-resume .resume-section li+li{margin-top:12px}
.page-resume .resume-section li::marker{color:var(--green)}
.page-resume .resume-section strong{font-weight:600;color:var(--t2)}
.page-resume .resume-project-link{display:inline-flex;align-items:center;gap:10px}
.page-resume .resume-project-link::after{content:'↗';font-family:var(--mono);font-size:16px;color:var(--green)}
.page-resume .resume-project-link:hover{color:var(--green)}
@media (max-width:1450px){
  .page-resume .resume-shell{width:min(1120px,calc(100% - 80px))}
}

@media (prefers-reduced-motion:reduce){
  .hero-fixed{position:relative;top:auto}
  .hero-fixed-bg{transform:none!important;will-change:auto}
}
