:root{
  --ink:#0b0b0b;--paper:#f4f1ec;--paper2:#ebe6de;--orange:#ff4f1f;--muted:#8a8780;--body:#3c3a36;--rule:#d9d4cb;
  --display:'Archivo','Arial Narrow',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif;
  --cn:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC",sans-serif;
  --pad:clamp(20px,4.5vw,72px);--ease:cubic-bezier(.2,.7,.1,1);--navh:68px;
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .35s ease both}
::view-transition-new(root){animation:vtIn .55s var(--ease) both}
@keyframes vtOut{to{opacity:0;transform:translateY(-12px)}}
@keyframes vtIn{from{opacity:0;transform:translateY(18px)}}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--cn);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}

body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.035;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-style:normal;color:var(--orange)}
.wrap{padding-left:var(--pad);padding-right:var(--pad);max-width:1680px;margin:0 auto}
.eyebrow{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--orange)}
.more{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.06em;border-bottom:1.5px solid currentColor;padding-bottom:3px;transition:color .3s}
.more:hover{color:var(--orange)}

/* 进入动画 */
.rv{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.split span{display:block;overflow:hidden;padding-bottom:.04em}
.split span>i{display:inline-block;font-style:normal;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.split.in span>i{transform:none}
.split span:nth-child(2)>i{transition-delay:.1s}
@media (prefers-reduced-motion:reduce){.rv,.split span>i{opacity:1!important;transform:none!important;transition:none}}

/* 进度条 / 光标 */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--orange);z-index:120}
.cursor{position:fixed;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--orange);pointer-events:none;z-index:150;
  display:flex;align-items:center;justify-content:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),opacity .3s;opacity:0}
.cursor span{font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.14em;color:#fff;opacity:0;transition:opacity .2s}
.cursor.big{width:84px;height:84px;margin:-42px 0 0 -42px}
.cursor.big span{opacity:1}
@media (hover:none){.cursor{display:none}}

/* 导航 */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--navh);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);color:var(--ink);transition:background .4s,color .4s,transform .45s var(--ease)}
.nav.dark{color:#fff}
.nav.solid{background:rgba(244,241,236,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink)}
.nav.solid.dark{background:rgba(11,11,11,.78);color:#fff}
.nav.hide{transform:translateY(-100%)}
.logo{display:flex;align-items:baseline;gap:9px;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.01em}
.logo i{width:12px;height:12px;background:var(--orange);display:inline-block;align-self:center}
.logo small{font-family:var(--cn);font-weight:500;font-size:12px;opacity:.7}
.menu{display:flex;gap:30px;list-style:none;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.04em}
.menu a{position:relative;padding:4px 0}
.menu a::after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:0;background:var(--orange);transition:width .4s var(--ease)}
.menu a:hover::after,.menu a.on::after{width:100%}
.burger{display:none;width:34px;height:34px;position:relative}
.burger span{position:absolute;left:5px;right:5px;height:2px;background:currentColor;transition:transform .4s var(--ease)}
.burger span:first-child{top:12px}.burger span:last-child{top:20px}
body.menu-open .burger span:first-child{transform:translateY(4px) rotate(45deg)}
body.menu-open .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:90;background:var(--ink);color:#fff;padding:110px var(--pad) 40px;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease)}
.mnav ul{list-style:none}
.mnav li a{display:block;font-family:var(--display);font-weight:800;font-size:44px;letter-spacing:-.03em;line-height:1.25}
.mnav p{font-family:var(--serif);font-size:22px;color:var(--orange)}
body.menu-open .mnav{clip-path:inset(0)}
body.menu-open .nav{color:#fff;background:transparent}
@media(max-width:860px){.menu{display:none}.burger{display:block}}

/* 首页 hero 轮播 */
.hero{position:relative;height:100svh;min-height:600px;background:#000;color:#fff;overflow:hidden}
.slides,.slide{position:absolute;inset:0}
.slide{opacity:0;transition:opacity 1.4s ease;z-index:1}
.slide.on{opacity:1;z-index:2}
.slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.05);transform:scale(1.12);transition:transform 7s linear}
.slide.on img{transform:scale(1)}
.hero::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.4),transparent 26%,rgba(0,0,0,.22) 55%,rgba(0,0,0,.82))}
.slabel{position:absolute;right:var(--pad);top:calc(var(--navh) + 18px);z-index:4;font-size:12.5px;text-align:right;opacity:.9;max-width:320px;line-height:1.5;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.slabel b{display:block;font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.hcap{position:absolute;left:0;right:0;bottom:0;z-index:5;padding-bottom:clamp(26px,5vh,60px);pointer-events:none}
.hero h1{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(52px,10.4vw,178px);line-height:.86;letter-spacing:-.045em}
.hmeta{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:26px;pointer-events:auto}
.hmeta p{font-size:14px;line-height:1.6}
.hmeta p span{font-size:12px;opacity:.7}
.dots{display:flex;gap:8px}
.dot{width:34px;height:3px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.dot.on::after{content:"";position:absolute;inset:0;background:var(--orange);animation:dotfill 6s linear forwards}
@keyframes dotfill{from{transform:translateX(-100%)}to{transform:none}}

/* intro */
.intro{padding-top:clamp(90px,14vh,170px);padding-bottom:clamp(80px,12vh,150px)}
.big{font-size:clamp(24px,2.8vw,46px);line-height:1.4;font-weight:600;max-width:1200px;margin-top:22px;letter-spacing:-.01em}
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:70px}
.counters div,.mnums div{border-top:1px solid var(--ink);padding-top:14px}
.counters b,.mnums b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,84px);line-height:1;font-variant-numeric:tabular-nums}
.counters div:first-child b{color:var(--orange)}
.counters span,.mnums span{display:block;margin-top:10px;font-size:13px;color:var(--muted)}
@media(max-width:800px){.counters{grid-template-columns:1fr 1fr}}

/* 横滑精选 */
.reelsec{background:var(--ink);color:#fff;padding:clamp(80px,12vh,140px) 0}
.reelhead{display:flex;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:40px}
.reelhead h2{font-family:var(--display);font-weight:800;font-size:clamp(40px,6vw,96px);letter-spacing:-.045em;line-height:.9}
.reelhead p{color:var(--muted);font-size:13px;flex:1}
.reel{display:flex;gap:20px;overflow-x:auto;padding:0 var(--pad) 20px;scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab;user-select:none}
.reel::-webkit-scrollbar{display:none}
.reel.dragging{cursor:grabbing;scroll-snap-type:none}
.reel.dragging a{pointer-events:none}
.reelcard{flex:0 0 auto;scroll-snap-align:start}
.rimg{height:clamp(300px,52vh,560px);overflow:hidden;background:#1a1a1a}
.rimg img{height:100%;width:auto;max-width:none;transition:transform 1.2s var(--ease)}
.reelcard:hover .rimg img{transform:scale(1.04)}
.rmeta{display:flex;justify-content:space-between;gap:20px;margin-top:16px;font-family:var(--display);font-weight:700;font-size:15px}
.rmeta span:last-child{color:var(--muted);font-weight:500}
.reelcard p{font-size:13.5px;color:#aaa;margin-top:4px;max-width:520px}
.reelcard.last{display:flex;align-items:center;justify-content:center;width:clamp(240px,24vw,380px);height:clamp(300px,52vh,560px);border:1px solid #333;font-family:var(--display);font-weight:800;font-size:26px;line-height:1.2;text-align:center;transition:background .4s,color .4s}
.reelcard.last:hover{background:var(--orange);color:var(--ink)}

/* 业务线面板 */
.services{padding-top:clamp(90px,14vh,170px);padding-bottom:clamp(90px,14vh,170px)}
.shead h2,.chead h2,.mtext h2,.how h2{font-family:var(--display);font-weight:800;font-size:clamp(34px,4.4vw,72px);letter-spacing:-.04em;line-height:.95;margin-top:14px}
.lgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,90px);margin-top:60px;align-items:start}
.lbtns{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.lbtn{display:grid;grid-template-columns:44px 1fr;align-items:baseline;text-align:left;padding:20px 0;border-bottom:1px solid var(--rule);font-family:var(--display);font-weight:800;font-size:clamp(22px,2.4vw,38px);letter-spacing:-.03em;line-height:1.05;color:#b9b4ab;transition:color .35s,padding .5s var(--ease)}
.lbtn span{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--orange)}
.lbtn i{grid-column:2;font-style:normal;font-family:var(--cn);font-size:14px;font-weight:600;letter-spacing:0;margin-top:6px}
.lbtn:hover,.lbtn.on{color:var(--ink)}
.lbtn.on{padding-left:14px;border-bottom-color:var(--ink)}
.lpanels{position:relative;min-height:520px}
.lpanel{position:absolute;inset:0 0 auto 0;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .6s,transform .7s var(--ease),visibility .6s}
.lpanel.on{opacity:1;visibility:visible;transform:none;position:relative}
.lpimg{background:var(--paper2);display:flex;justify-content:center}
.lpimg img{max-height:380px;width:auto}
.lptext{margin-top:22px}
.lpwhat{font-size:15px;color:var(--body)}
.lpcount{margin-top:14px;font-size:13px;color:var(--muted)}
.lpcount b{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--orange);margin-right:6px}
.lpcl{list-style:none;margin:14px 0 24px;columns:2;column-gap:28px}
.lpcl a{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--rule);font-size:14.5px;font-weight:600;break-inside:avoid;transition:color .3s,padding .4s var(--ease)}
.lpcl a span{color:var(--muted);font-weight:400;font-size:12.5px}
.lpcl a:hover{color:var(--orange);padding-left:6px}
@media(max-width:900px){.lgrid{grid-template-columns:1fr}.lpanels{min-height:0}.lpcl{columns:1}}

/* 客户索引 + 悬停浮图 */
.clients{padding-bottom:clamp(90px,14vh,170px);position:relative}
.chead .sub{color:var(--muted);font-size:13px;margin-top:12px}
.cidx{list-style:none;margin-top:44px;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.cidx a{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule);font-family:var(--display);font-weight:800;font-size:clamp(20px,2.2vw,34px);letter-spacing:-.025em;transition:color .3s,padding .45s var(--ease)}
.cidx a span{font-family:var(--cn);font-weight:500;font-size:12.5px;letter-spacing:0;color:var(--muted)}
.cidx a:hover{color:var(--orange);padding-left:12px}
.others{margin-top:34px;font-size:14px;color:var(--body);line-height:2}
.others b{font-family:var(--display);font-size:10.5px;letter-spacing:.22em;color:var(--orange);margin-right:14px}
.hoverimg{position:fixed;left:0;top:0;width:300px;pointer-events:none;z-index:80;opacity:0;transform:translate(-50%,-50%) scale(.9);transition:opacity .3s,transform .45s var(--ease)}
.hoverimg.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.hoverimg img{width:100%;height:auto;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
@media(max-width:800px){.cidx{grid-template-columns:1fr}.hoverimg{display:none}}

/* 媒体 */
.mediasec{background:var(--ink);color:#fff;padding:clamp(90px,14vh,170px) 0}
.mediasec .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,90px);align-items:center}
.mtext>p{color:#bbb;margin-top:18px;font-size:15px;max-width:520px}
.mnums{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.mnums div{border-color:#444}
.mnums b{font-size:clamp(36px,3.4vw,56px)}
.covers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cover{display:block;box-shadow:0 20px 40px -18px rgba(0,0,0,.8);transition:transform .6s var(--ease)}
.cover:nth-child(even){transform:translateY(28px)}
.cover:hover{transform:translateY(-6px) rotate(-1.5deg)}
@media(max-width:900px){.mediasec .wrap{grid-template-columns:1fr}}

/* 作品列表 */
.whead{padding-top:calc(var(--navh) + clamp(60px,10vh,120px))}
.whead h1,.ahead h1{font-family:var(--display);font-weight:800;font-stretch:106%;font-size:clamp(48px,8.6vw,148px);letter-spacing:-.05em;line-height:.88;margin-top:16px}
.whead .sub{color:var(--muted);margin-top:20px;font-size:14px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;position:sticky;top:calc(var(--navh) + 8px);z-index:20}
.chip{padding:10px 18px;border:1.5px solid var(--ink);border-radius:100px;font-size:14px;font-weight:600;background:var(--paper);transition:background .3s,color .3s}
.chip i{font-style:normal;font-family:var(--display);font-size:11px;opacity:.6;margin-left:4px}
.chip:hover{background:var(--paper2)}
.chip.on{background:var(--ink);color:#fff}
.wgrid{columns:3;column-gap:28px;padding-top:50px;padding-bottom:clamp(80px,12vh,150px)}
.card{display:block;break-inside:avoid;margin-bottom:46px;transition:opacity .45s,transform .55s var(--ease)}
.card.out{display:none}
.card.fade{opacity:0;transform:translateY(20px)}
.cimg{overflow:hidden;background:var(--paper2)}
.cimg img{width:100%;transition:transform 1.2s var(--ease),filter .6s}
.cimg.noimg{aspect-ratio:3/2;background:var(--ink,#0b0b0b);color:#fff;display:flex}
.ctype{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,2.4vw,32px);width:100%;transition:background .5s}
.ctype b{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(28px,3.4vw,54px);line-height:.92;letter-spacing:-.03em}
.ctype i{font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.card:hover .ctype{background:var(--orange)}
.card:hover .ctype i{color:#fff}
.card:hover .cimg img{transform:scale(1.035)}
.cmeta{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em}
.cmeta .cy{font-weight:500;font-size:14px;color:var(--muted)}
.ct{font-size:14.5px;font-weight:600;margin-top:4px}
.cline{font-size:12px;color:var(--orange);margin-top:6px;letter-spacing:.06em}
@media(max-width:1100px){.wgrid{columns:2}}
@media(max-width:640px){.wgrid{columns:1}}

.record{padding-bottom:clamp(90px,14vh,170px)}
.record h2{font-family:var(--display);font-weight:800;font-size:clamp(36px,5vw,80px);letter-spacing:-.045em;line-height:.9;margin:14px 0 40px}
.rec{border-top:1px solid var(--ink)}
.recrow{display:grid;grid-template-columns:90px 1.6fr 1fr 1fr 150px;gap:16px;align-items:baseline;padding:15px 8px;border-bottom:1px solid var(--rule);font-size:14.5px;transition:background .3s,padding .4s var(--ease)}
.recrow:hover{background:var(--ink);color:#fff;padding-left:20px}
.ry{font-family:var(--serif);font-size:22px}
.rp{font-weight:700}.rc,.rl{color:var(--muted)}.rr{color:var(--orange);text-align:right}
.recrow.out{display:none}
@media(max-width:800px){.recrow{grid-template-columns:60px 1fr auto}.rc,.rl{display:none}}

/* 项目详情 */
.chead2{padding-top:calc(var(--navh) + clamp(40px,7vh,90px));padding-bottom:clamp(30px,5vh,60px)}
.back{display:inline-block;font-family:var(--display);font-weight:700;font-size:13px;margin-bottom:36px;transition:transform .4s var(--ease)}
.back:hover{transform:translateX(-6px);color:var(--orange)}
.chead2 h1{font-family:var(--display);font-weight:800;font-stretch:106%;font-size:clamp(46px,8vw,136px);letter-spacing:-.05em;line-height:.9;margin-top:14px}
.ctitle{font-size:clamp(17px,1.6vw,24px);font-weight:700;margin-top:16px}
.cbanner{background:#000}
.cbanner img{width:100%;height:auto}
.cinfo{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,90px);padding-top:clamp(56px,9vh,110px);padding-bottom:clamp(40px,6vh,80px)}
.lead{font-size:clamp(19px,1.7vw,26px);line-height:1.7;font-weight:500}
.lineen{font-family:var(--serif);font-size:clamp(24px,2.4vw,38px);margin-top:24px;line-height:1.15}
.facts{border-top:1px solid var(--ink)}
.facts div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--rule)}
.facts dt{font-size:13px;color:var(--muted)}
.facts dd{font-size:15px;font-weight:600}
.facts dd.hi{color:var(--orange)}
@media(max-width:900px){.cinfo{grid-template-columns:1fr}}
.fdetail{padding-bottom:clamp(40px,6vh,80px)}
.fstats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.fstats div{padding:24px 16px 24px 0}
.fstats b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.6vw,80px);line-height:1}
.fstats div:first-child b{color:var(--orange)}
.fstats span{display:block;margin-top:10px;font-size:13px;color:var(--muted)}
.fcols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px);margin-top:50px}
.fcols h3{font-size:14px;margin:0 0 12px;padding-top:14px;border-top:1px solid var(--rule)}
.fcols h3 span{font-family:var(--display);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-right:12px}
.fcols p{font-size:15px;color:var(--body);line-height:1.95;margin-bottom:32px}
.dl{list-style:none;counter-reset:d}
.dl li{counter-increment:d;display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule);font-size:14.5px}
.dl li::before{content:counter(d,decimal-leading-zero);font-family:var(--display);font-weight:700;font-size:11px;color:var(--orange);padding-top:4px;min-width:20px}
.note{font-size:12px;color:var(--muted);margin-top:16px}
@media(max-width:800px){.fstats{grid-template-columns:1fr 1fr}.fcols{grid-template-columns:1fr}}

/* 等高画廊：按原比例、完整显示 */
.cgal{padding-bottom:clamp(70px,11vh,130px)}
.cghead{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--ink);padding-top:14px;margin-bottom:26px}
.cghead h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3vw,46px);letter-spacing:-.03em}
.cghead span{color:var(--muted);font-size:13px}
.jrow{display:flex;gap:12px;margin-bottom:12px}
.jcell{flex:var(--ar) 1 0;aspect-ratio:var(--ar);overflow:hidden;background:var(--paper2);display:block}
.jcell img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.jcell:hover img{transform:scale(1.03)}
.jrow.short .jcell{flex-grow:0;flex-basis:calc(var(--ar) * 300px)}
@media(max-width:700px){.jrow{flex-wrap:wrap}.jcell,.jrow.short .jcell{flex:1 1 100%}}

.pn{display:grid;grid-template-columns:1fr 1.4fr;border-top:1px solid var(--ink);padding-top:0;padding-bottom:clamp(60px,10vh,120px)}
.pn a{padding:30px 0;display:block}
.pn span{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pn b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(26px,3.4vw,56px);letter-spacing:-.04em;line-height:1;margin-top:10px;transition:color .3s}
.pn a:hover b{color:var(--orange)}
.next{text-align:right;border-left:1px solid var(--rule);padding-left:30px!important;position:relative}
.nimg{margin:22px 0 0 auto;max-width:420px;overflow:hidden}
.nimg img{width:100%;transition:transform 1.2s var(--ease)}
.next:hover .nimg img{transform:scale(1.04)}
@media(max-width:700px){.pn{grid-template-columns:1fr}.next{border-left:0;padding-left:0!important;border-top:1px solid var(--rule)}}

/* 关于 */
.ahead{padding-top:calc(var(--navh) + clamp(60px,10vh,120px));padding-bottom:clamp(70px,11vh,130px)}
.manifesto{background:var(--orange);padding:clamp(90px,14vh,170px) 0}
.manifesto p{font-family:var(--serif);font-size:clamp(32px,4.6vw,76px);line-height:1.05;max-width:1200px}
.manifesto p.cn{font-family:var(--cn);font-size:16px;margin-top:30px}
.how{padding-top:clamp(90px,14vh,170px);padding-bottom:clamp(90px,14vh,170px)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,40px);margin-top:56px}
.step{border-top:2px solid var(--ink);padding-top:18px;transition:border-color .4s}
.step:hover{border-color:var(--orange)}
.step>span{font-family:var(--display);font-weight:700;font-size:12px;color:var(--orange)}
.step h3{font-family:var(--display);font-weight:800;font-size:clamp(22px,2vw,32px);letter-spacing:-.02em;margin:12px 0 2px}
.step h4{font-size:15px;margin-bottom:14px}
.step p{font-size:14px;color:var(--body);line-height:1.9}
.step em{display:block;margin-top:18px;font-style:normal;font-weight:700;color:var(--ink);font-size:14px}
.step em::before{content:"OUTPUT  ";font-family:var(--display);font-size:10px;letter-spacing:.2em;color:var(--muted)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
.cvsec{background:var(--paper2);padding:clamp(90px,14vh,170px) 0}
.cvgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,110px);align-items:center}
.bibwrap{perspective:900px}
.bib{position:relative;background:var(--orange);aspect-ratio:1/1;padding:7% 7% 0;box-shadow:14px 18px 0 rgba(0,0,0,.08);transform:rotate(-2deg);transition:transform .5s var(--ease);transform-style:preserve-3d}
.bib .pin{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--paper2);border:1.5px solid var(--ink)}
.bib .t{font-family:var(--display);font-weight:700;font-size:clamp(9px,.8vw,12px);letter-spacing:.24em;text-align:center}
.bib .num{font-family:var(--display);font-weight:900;font-stretch:90%;font-size:clamp(90px,13vw,210px);line-height:.9;text-align:center;letter-spacing:-.05em;margin-top:6%}
.bib .nm{font-weight:800;font-size:clamp(20px,2vw,32px);text-align:center;margin-top:4%}
.bib .cat{font-family:var(--display);font-size:clamp(9px,.75vw,11px);letter-spacing:.2em;text-align:center;margin-top:6px}
.bib .tear{position:absolute;left:4%;right:4%;bottom:19%;border-top:1.5px dashed var(--ink)}
.bib .bar{position:absolute;left:7%;bottom:6%;height:9%;width:38%;background:repeating-linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 5px,var(--ink) 5px 6px,transparent 6px 9px,var(--ink) 9px 13px,transparent 13px 15px)}
.bib .ck{position:absolute;right:7%;bottom:7%;font-family:var(--display);font-weight:700;font-size:clamp(8px,.7vw,11px);text-align:right;line-height:1.4}
.profile h2{font-family:var(--display);font-weight:800;font-size:clamp(34px,3.6vw,58px);letter-spacing:-.035em;line-height:1}
.profile .sub{color:var(--muted);font-size:14px;margin:8px 0 28px}
.profile dl div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-top:1px solid #cfcbc2}
.profile dt{font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.16em;color:var(--orange)}
.profile dt small{display:block;font-family:var(--cn);letter-spacing:0;color:var(--muted);font-size:12px;font-weight:400;margin-top:2px}
.profile dd{font-size:15px}
.profile dd a{border-bottom:1px solid var(--orange)}
.profile dd.motto{font-family:var(--serif);font-size:24px}
@media(max-width:900px){.cvgrid{grid-template-columns:1fr}.profile dl div{grid-template-columns:110px 1fr}}

/* 联系 */
.contact{background:var(--orange);color:var(--ink);padding:clamp(100px,16vh,190px) 0 36px}
.contact .eyebrow{color:var(--ink)}
.contact h2{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(64px,13vw,220px);line-height:.84;letter-spacing:-.055em;margin-top:18px}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:80px}
.cgrid div{border-top:1.5px solid var(--ink);padding-top:12px}
.cgrid b{display:block;font-family:var(--display);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase}
.cgrid span{display:block;font-size:16px;margin-top:6px}
.foot{display:flex;gap:28px;justify-content:space-between;flex-wrap:wrap;margin-top:90px;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.foot a:hover{text-decoration:underline}
@media(max-width:800px){.cgrid{grid-template-columns:1fr 1fr}}

/* 灯箱 */
.lb{position:fixed;inset:0;z-index:180;background:rgba(8,8,8,.95);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s}
.lb.on{opacity:1;pointer-events:auto}
.lb img{max-width:88vw;max-height:86vh;width:auto;height:auto;box-shadow:0 30px 80px rgba(0,0,0,.6);transition:opacity .25s}
.lb button{position:absolute;color:#fff;font-family:var(--display);font-weight:700}
.lbx{top:20px;right:24px;font-size:12px;letter-spacing:.2em}
.lbp,.lbn{top:50%;transform:translateY(-50%);font-size:34px;padding:20px;opacity:.7;transition:opacity .3s}
.lbp{left:10px}.lbn{right:10px}
.lbp:hover,.lbn:hover{opacity:1;color:var(--orange)}
.lbc{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#aaa;font-family:var(--display);font-size:12px;letter-spacing:.2em}

.ctop .jrow.short .jcell{flex-grow:1;flex-basis:0}
.ctop{padding-bottom:10px}

/* ===== 品牌 logo（单色蒙版，颜色跟随文字） ===== */
.lg{display:inline-block;flex:none;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:middle;transition:background-color .35s}
.marquee{overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:30px 0;color:#2b2a27}
.mq{display:flex;align-items:center;gap:72px;width:max-content;animation:mq 60s linear infinite}
.marquee:hover .mq{animation-play-state:paused}
.mqi{display:flex;align-items:center;height:56px}
@keyframes mq{to{transform:translateX(-50%)}}
.wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--rule);margin-top:44px}
.wcell{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--ink);transition:background .35s,color .35s;padding:18px}
.wcell .wname{position:absolute;left:12px;bottom:9px;font-size:11px;color:var(--muted);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
a.wcell:hover{background:var(--ink);color:var(--orange)}
a.wcell:hover .wname{opacity:1;transform:none;color:#bbb}
.wcell.nolink{color:#55534e}
.wtxt{font-family:var(--display);font-weight:800;font-size:clamp(15px,1.3vw,20px);letter-spacing:-.01em;text-align:center}
@media(max-width:1000px){.wall{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.wall{grid-template-columns:repeat(3,minmax(0,1fr))}.wcell{padding:12px}.wcell .wname{display:none}}
.lplogos{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-bottom:18px;color:var(--ink)}
.clogos{display:flex;gap:16px;align-items:center;margin-top:10px;color:var(--ink);opacity:.8}
.card:hover .clogos{color:var(--orange);opacity:1}
.hlogos{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin-bottom:26px;color:var(--ink)}

.wcell .lg{max-width:100%}
.wcell{min-width:0;overflow:hidden}

/* ===================== 首页 · 大图大字版 ===================== */
.manifesto p i{font-style:italic}
.who{padding-top:clamp(110px,16vh,200px);padding-bottom:clamp(90px,14vh,170px)}
.who h2{font-family:var(--display);font-weight:800;font-stretch:106%;font-size:clamp(46px,7.4vw,128px);line-height:.9;letter-spacing:-.05em;margin-top:18px;max-width:1500px}
.whotext{font-size:clamp(18px,1.6vw,24px);line-height:1.85;color:var(--body);max-width:980px;margin-top:40px}
.giants{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:clamp(60px,10vh,110px)}
.giants div{border-top:2px solid var(--ink);padding-top:18px}
.giants b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(56px,7.6vw,132px);line-height:.95;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.giants div:first-child b{color:var(--orange)}
.giants span{display:block;margin-top:14px;font-size:14px;color:var(--muted)}
.linesnav{display:grid;grid-template-columns:repeat(5,1fr);margin-top:clamp(70px,11vh,120px);border-top:1px solid var(--ink)}
.linesnav a{padding:22px 18px 22px 0;border-right:1px solid var(--rule);font-family:var(--display);font-weight:800;font-size:clamp(18px,1.6vw,26px);letter-spacing:-.02em;line-height:1.1;transition:color .3s,background .3s}
.linesnav a:last-child{border-right:0}
.linesnav a span{display:block;font-size:12px;color:var(--orange);margin-bottom:10px}
.linesnav a i{display:block;font-style:normal;font-family:var(--cn);font-size:13px;font-weight:500;color:var(--muted);margin-top:8px;letter-spacing:0}
.linesnav a:hover{color:var(--orange)}
@media(max-width:900px){.giants{grid-template-columns:1fr 1fr}.linesnav{grid-template-columns:1fr}.linesnav a{border-right:0;border-bottom:1px solid var(--rule)}}

/* 每条业务线：满屏大片 + 巨型标题 */
.chhero{position:relative;height:100svh;min-height:620px;color:#fff;background:#000;overflow:hidden}
.chhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.chhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.2) 60%,rgba(0,0,0,.05)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}
.chhero .chcap{position:absolute;left:0;right:0;bottom:clamp(40px,9vh,110px);z-index:2}
.chhero .chno{display:block;font-family:var(--serif);font-size:clamp(56px,6vw,104px);color:var(--orange);line-height:1}
.chhero h2,.chhero h1{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(56px,10.5vw,184px);line-height:.86;letter-spacing:-.055em;margin-top:6px}
.chhero .chcn{font-weight:700;font-size:clamp(20px,2vw,32px);margin-top:18px}
.chhero .chline{max-width:720px;font-size:clamp(15px,1.25vw,19px);line-height:1.85;margin-top:18px;opacity:.9}
.chclients{padding-top:clamp(70px,11vh,130px)}
.bigclients{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:20px;font-family:var(--display);font-weight:800;font-size:clamp(30px,4.2vw,72px);line-height:1.15;letter-spacing:-.04em}
.bigclients a{transition:color .3s}
.bigclients a:not(:last-child)::after{content:"/";color:var(--rule);margin:0 .32em;font-weight:400}
.bigclients a:hover{color:var(--orange)}

/* 代表项目：大图（完整显示）+ 大字，左右交替 */
.feats{padding-top:clamp(70px,11vh,130px);padding-bottom:clamp(90px,14vh,170px);display:flex;flex-direction:column;gap:clamp(90px,14vh,170px)}
.feat{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(30px,5vw,90px);align-items:center}
.feat.flip{grid-template-columns:1fr 1.6fr}
.feat.flip .fimg{order:2}
.fimg{display:block;overflow:hidden;background:var(--paper2)}
.fimg img{width:100%;height:auto;max-height:86vh;object-fit:contain;margin:0 auto;transition:transform 1.4s var(--ease)}
.fimg:hover img{transform:scale(1.03)}
.flogos{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-bottom:22px;color:var(--ink)}
.ftext h3{font-family:var(--display);font-weight:800;font-stretch:104%;font-size:clamp(40px,5vw,88px);line-height:.92;letter-spacing:-.05em;margin:14px 0 16px}
.ftitle{font-weight:700;font-size:clamp(16px,1.3vw,20px)}
.fdesc{font-size:15px;line-height:1.9;color:var(--body);margin-top:14px;max-width:520px}
.fnum{margin:30px 0 28px;border-top:1px solid var(--ink);padding-top:16px}
.fnum b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(56px,6vw,104px);line-height:1;color:var(--orange)}
.fnum span{font-size:13px;color:var(--muted)}
@media(max-width:900px){.feat,.feat.flip{grid-template-columns:1fr}.feat.flip .fimg{order:0}}

/* 客户墙（深色、大 logo） */
.clientwall{background:var(--ink);color:#fff;padding:clamp(110px,16vh,200px) 0}
.clientwall h2{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(56px,10vw,170px);line-height:.86;letter-spacing:-.055em;margin-top:18px}
.wall.dark{grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid #3a3a3a;border-left:1px solid #262626;margin-top:70px}
.wall.dark .wcell{color:#e9e6e0;border-color:#262626;aspect-ratio:3/2;padding:24px}
.wall.dark a.wcell:hover{background:#151515;color:var(--orange)}
.wall.dark .wcell.nolink{color:#8a8780}
.wall.dark .wtxt{font-size:clamp(14px,1.1vw,17px)}
@media(max-width:900px){.wall.dark{grid-template-columns:repeat(3,minmax(0,1fr))}.wall.dark .wcell{padding:14px}}

/* ===== 首页：业务线两列大图 ===== */
.lines{padding-top:clamp(40px,6vh,80px);padding-bottom:clamp(100px,15vh,180px)}
.lgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,22px);margin-top:26px}
.ltile{position:relative;display:block;overflow:hidden;background:#000;color:#fff;aspect-ratio:4/3}
.ltile.wide{grid-column:1/-1;aspect-ratio:21/9}
.limg,.limg img{position:absolute;inset:0;width:100%;height:100%}
.limg img{object-fit:cover;filter:saturate(.9);transition:transform 1.4s var(--ease)}
.ltile::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.18) 55%,rgba(0,0,0,.05));transition:background .6s}
.ltile:hover .limg img{transform:scale(1.05)}
.lcap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(22px,3vw,52px)}
.lno{display:block;font-family:var(--serif);font-size:clamp(34px,3.4vw,62px);color:var(--orange);line-height:1}
.ltile h3{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(34px,4.6vw,86px);line-height:.9;letter-spacing:-.045em;margin-top:8px}
.ltile.wide h3{font-size:clamp(44px,7.4vw,136px)}
.lcn{font-weight:700;font-size:clamp(15px,1.4vw,22px);margin-top:12px}
.lline{max-width:560px;font-size:14px;line-height:1.75;opacity:.88;margin-top:8px}
.lmore{display:inline-block;margin-top:16px;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;transition:color .3s}
.ltile:hover .lmore{color:var(--orange)}
@media(hover:hover) and (pointer:fine){
  .ltile:not(.wide) .lline{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s}
  .ltile:not(.wide):hover .lline{max-height:120px;opacity:.88}
}
@media(max-width:800px){.lgrid{grid-template-columns:1fr}.ltile.wide{aspect-ratio:4/3}}

/* ===== 业务线详情页 ===== */
.lwhat{padding-top:clamp(70px,11vh,130px)}
.lwhat ul{list-style:none;display:flex;flex-wrap:wrap;margin-top:20px;font-family:var(--display);font-weight:800;font-size:clamp(24px,3vw,50px);line-height:1.25;letter-spacing:-.03em}
.lwhat li:not(:last-child)::after{content:"·";color:var(--orange);margin:0 .4em}
.fimg.noimg{aspect-ratio:3/2;background:var(--ink);color:#fff;display:flex}
.fimg.noimg:hover .ctype{background:var(--orange)}

/* ===== 语言切换 ===== */
.menu{margin-left:auto}
.lang{margin-left:30px;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.08em;border:1.5px solid currentColor;border-radius:99px;padding:6px 13px 5px;line-height:1;transition:background .3s,color .3s,border-color .3s}
.lang:hover{background:var(--orange);border-color:var(--orange);color:#fff}
@media(max-width:860px){.lang{margin-left:auto;margin-right:14px}}
.cgrid a{border-bottom:1px solid transparent;transition:border-color .3s}.cgrid a:hover{border-color:currentColor}

/* ===== 能力与资源页 ===== */
.capsec{padding-bottom:clamp(90px,14vh,170px)}
.caps{border-top:1px solid var(--ink);margin-top:26px}
.cap{display:grid;grid-template-columns:70px 1fr 1.5fr;gap:clamp(18px,3vw,50px);padding:clamp(26px,4vh,44px) 0;border-bottom:1px solid var(--rule);align-items:start}
.cap>span{font-family:var(--serif);font-size:clamp(30px,2.6vw,44px);color:var(--orange);line-height:1}
.cap h3{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(28px,3.3vw,56px);line-height:.95;letter-spacing:-.04em}
.cap h4{font-weight:700;font-size:15px;margin-top:10px;color:var(--muted)}
.cap p{font-size:clamp(15px,1.15vw,17px);line-height:1.85}
.cap em{display:block;font-style:normal;margin-top:14px;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
@media(max-width:800px){.cap{grid-template-columns:1fr}}
.netnums{background:var(--ink);color:#fff;padding:clamp(100px,15vh,180px) 0}
.netnums h2,.netsec h2{font-family:var(--display);font-weight:800;font-stretch:108%;font-size:clamp(44px,7vw,120px);line-height:.9;letter-spacing:-.05em;margin-top:16px}
.netnums .giants span{color:#a9a59d}
.netsec{padding-top:clamp(90px,14vh,170px)}
.netsec:last-child{padding-bottom:clamp(100px,15vh,180px)}
.nsub{margin-top:18px;color:var(--muted);font-size:15px}
.names{display:flex;flex-wrap:wrap;margin-top:34px;font-family:var(--display);font-weight:800;font-size:clamp(26px,3.4vw,58px);line-height:1.2;letter-spacing:-.035em}
.names span:not(:last-child)::after{content:"/";color:var(--rule);margin:0 .3em;font-weight:400}
.names.sm{font-size:clamp(18px,2vw,32px);margin-top:16px}
.mgroup{margin-top:46px}
.mgroup h4{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--orange)}
.netnums .giants{grid-template-columns:repeat(3,1fr)}.netnums .giants div{border-top-color:#fff}@media(max-width:900px){.netnums .giants{grid-template-columns:1fr 1fr}}
/* 品牌运营线：我们运营的品牌 */
.ops{padding-top:clamp(60px,9vh,110px)}
.opgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,42vw),1fr));margin-top:22px;border-top:1px solid var(--rule)}
.op{display:flex;flex-direction:column;gap:10px;padding:34px 26px 30px 0;border-bottom:1px solid var(--rule);transition:color .3s}
.op .opl{display:flex;align-items:center;height:56px;margin-bottom:16px}
.op b{font-family:var(--display);font-weight:800;font-size:clamp(20px,1.6vw,26px);letter-spacing:-.02em}
.op span{font-size:14px;color:var(--muted)}
a.op:hover{color:var(--orange)}
.op .lg{max-width:100%}
@media(max-width:600px){.op{padding:26px 14px 24px 0}.op .opl{height:44px}}
