
:root{--ink:#111513;--paper:#eeede7;--red:#b64133;--olive:#697c56;--line:#cccfc4;--muted:#59625a;--light:#dce1d6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}button:disabled{cursor:default}button:hover,a:hover{color:var(--red)}p,h1,h2,h3,h4{margin:0}h1,h2,h3{text-wrap:pretty}img{display:block;object-fit:contain}button svg{pointer-events:none}.shell{max-width:1320px;margin:auto;padding-left:48px;padding-right:48px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.arrow{font-size:27px;line-height:1}.header{height:88px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;line-height:1.15}.brand img{width:34px;height:34px}.brand-text{font-size:25px;font-weight:650;letter-spacing:-.04em}.brand small{display:block;font-size:12px;letter-spacing:.16em;font-weight:500;margin-top:4px}.nav{display:flex;gap:32px;align-items:center;font-size:14px}.nav button{padding:12px 0}.nav .contact{border-bottom:1px solid var(--ink)}.hero{background:var(--ink);color:var(--paper)}.hero-inner{padding-top:44px;padding-bottom:43px;display:grid;grid-template-columns:1fr 252px;gap:76px}.hero .eyebrow{color:#b8c3ae}.hero h1{font-size:clamp(36px,4.5vw,63px);font-weight:560;letter-spacing:-.045em;line-height:1.26;margin:20px 0 19px;max-width:890px}.hero h1 span{color:var(--red)}.hero-intro{max-width:790px;color:#bfc6bd;line-height:1.9;font-size:16px}.identity{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #3c443c;padding-left:31px}.person{display:flex;align-items:center;gap:16px;margin-bottom:20px}.portrait{width:64px;height:64px;border-radius:50%;object-fit:cover;filter:none}.name{font-size:29px;font-weight:500;letter-spacing:-.02em}.person small{font-size:12px;color:#b7c1b2}.identity .vifine-logo{width:65px;height:52px;object-position:left;display:block;margin-bottom:8px}.identity h2{font-size:20px;font-weight:550;line-height:1.5}.identity .since{font-size:12px;color:#b7c1b2;margin:9px 0 18px}.identity .position{font-size:14px;line-height:1.8;color:#c5ccc0}.hero-bottom{border-top:1px solid #3c443c;display:flex;gap:38px;align-items:center;padding-top:19px;padding-bottom:20px;font-size:13px;color:#b7c1b2}.hero-bottom a{margin-left:auto;color:var(--paper)}.hero-bottom b{font-weight:400;color:var(--paper)}section{scroll-margin-top:24px}.projects{padding-top:44px;padding-bottom:65px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px}.section-top h2{font-size:42px;letter-spacing:-.04em;font-weight:560;line-height:1.2}.section-top .eyebrow{color:var(--muted);margin-bottom:10px}.section-top p{font-size:14px;color:var(--muted)}.tabbar{display:flex;gap:30px;border-bottom:1px solid var(--ink);align-items:center;min-height:55px}.tab{padding:14px 0 13px;font-size:16px;position:relative}.tab.active{font-weight:650}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--red)}.tab small{font-size:12px;color:var(--muted);margin-left:5px}.filter-button{margin-left:auto;padding:12px 0;font-size:14px}.filter-button.active{color:var(--red)}.filter-shelf{padding:25px 0 20px;border-bottom:1px solid var(--line)}.filter-shelf[hidden]{display:none}.filter-shelf p{font-size:14px;color:var(--muted);margin-bottom:16px}.filter-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 20px}.filter-option{padding:10px 0;text-align:left;border-bottom:1px solid var(--line);font-size:14px;min-height:44px}.filter-option.active{color:var(--red);border-color:var(--red)}.filter-option span{font-size:12px;color:var(--muted);margin-right:10px}.project-head{display:grid;grid-template-columns:1.8fr .85fr .75fr 36px;gap:32px;font-size:12px;color:var(--muted);padding:21px 0 15px}.project-row{display:grid;grid-template-columns:1.8fr .85fr .75fr 36px;gap:32px;align-items:start;padding:26px 0 30px;border-top:1px solid var(--line);width:100%;text-align:left;transition:color .2s,background .2s}.project-row:hover{color:var(--ink);background:rgba(255,255,255,.36)}.project-row .project-id{font-size:12px;color:var(--red);letter-spacing:.09em;margin-bottom:10px}.project-row h3{font-size:clamp(23px,2vw,28px);line-height:1.4;font-weight:580;letter-spacing:-.04em;max-width:520px}.project-row .project-company{font-size:12px;color:var(--muted);margin-top:13px}.project-row .project-role,.project-row .project-object{font-size:15px;line-height:1.8;padding-top:28px}.project-row .project-role{font-weight:500}.project-row .project-object{color:var(--muted)}.project-row .arrow{padding-top:27px;color:var(--red)}.project-note{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);padding-top:17px;font-size:12px;color:var(--muted)}.project-note a{font-size:13px;color:var(--ink)}.capability{background:#dedfd5;padding:58px 0 62px}.capability .section-top p{max-width:450px;font-size:16px;line-height:1.9}.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;margin-top:35px}.cap-item{border-top:1px solid #b3baa9}.cap-item summary{display:flex;gap:20px;align-items:center;list-style:none;cursor:pointer;padding:20px 0;min-height:73px}.cap-item summary::-webkit-details-marker{display:none}.cap-item summary .num{font-size:13px;color:var(--muted)}.cap-item summary h3{font-size:22px;font-weight:520;letter-spacing:-.02em}.cap-item summary .toggle{margin-left:auto;font-size:24px;line-height:1}.cap-item[open] summary .toggle{transform:rotate(45deg)}.cap-body{padding:0 0 24px 44px}.cap-body p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:16px}.case-links{display:flex;flex-direction:column}.case-link{min-height:44px;padding:9px 0;border-bottom:1px solid #bbc2b1;text-align:left;display:flex;gap:14px;justify-content:space-between;font-size:14px;line-height:1.5}.case-link span:first-child{flex:1}.career{padding-top:62px;padding-bottom:62px}.career-list{margin-top:34px;border-top:1px solid var(--ink)}.career-row{display:grid;grid-template-columns:190px 270px 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.career-period{font-size:14px;color:var(--muted);padding-top:4px}.career-company h3{font-weight:550;font-size:22px;line-height:1.45}.career-logo{width:96px;height:28px;object-position:left;margin-bottom:10px}.career-row:first-child .career-logo{width:57px;height:39px;background:var(--ink);padding:4px}.career-row small{font-size:13px;color:var(--muted)}.career-work p{font-size:15px;line-height:1.8;color:var(--muted)}.career-work button{padding:9px 0 4px;min-height:44px;font-size:14px;border-bottom:1px solid var(--ink)}.early{margin-top:20px;font-size:14px;color:var(--muted)}.early summary{min-height:44px;cursor:pointer;padding:9px 0}.early p{padding:10px 0}.research{border-top:1px solid var(--ink);padding-top:50px;padding-bottom:55px;display:grid;grid-template-columns:.9fr 1.6fr;gap:80px}.research h2{font-size:40px;line-height:1.25;font-weight:550;letter-spacing:-.04em;margin:13px 0 18px}.research>div>p{font-size:15px;color:var(--muted);max-width:300px}.research-row{width:100%;padding:18px 0;min-height:72px;border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;align-items:start;text-align:left}.research-row h3{font-size:23px;line-height:1.4;font-weight:500}.research-row p{font-size:14px;line-height:1.7;color:var(--muted);margin-top:6px}.research-row .arrow{color:var(--red);padding-top:4px}.contact-section{background:var(--ink);color:var(--paper);padding:52px 0}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-inner h2{font-size:35px;font-weight:500;letter-spacing:-.04em}.contact-inner p{color:#b7c1b2;margin-top:10px;font-size:15px}.email-link{font-size:20px;display:flex;gap:38px;align-items:center;border-bottom:1px solid #88927f;padding:12px 0}.footer{display:flex;justify-content:space-between;gap:20px;padding-top:23px;padding-bottom:23px;font-size:12px;color:var(--muted)}.footer button{font-size:12px;min-height:44px;padding:0}.drawer{padding:0;border:0;margin:0 0 0 auto;width:min(800px,90vw);max-width:none;height:100dvh;max-height:none;background:var(--paper);color:var(--ink);box-shadow:-20px 0 80px #0004;overflow:auto}.drawer::backdrop{background:rgba(17,21,19,.60);backdrop-filter:blur(2px)}.drawer-top{position:sticky;top:0;background:var(--paper);z-index:5;display:flex;align-items:center;justify-content:space-between;padding:17px 36px;border-bottom:1px solid var(--line);gap:20px}.drawer-top button{min-height:44px;font-size:14px;display:flex;gap:10px;align-items:center}.drawer-top .close{font-size:23px;padding-left:15px}.drawer-top .close span{font-size:13px}.drawer-stage{font-size:12px;color:var(--muted)}.drawer-content{padding:34px 44px 48px}.drawer-content .eyebrow{color:var(--red)}.drawer-content h2{font-size:38px;line-height:1.35;letter-spacing:-.04em;font-weight:560;margin:14px 0 18px}.drawer-meta{font-size:13px;line-height:1.8;color:var(--muted);border-bottom:1px solid var(--ink);padding-bottom:22px;margin-bottom:25px}.detail-block{margin:28px 0}.detail-block h3{font-size:14px;color:var(--muted);font-weight:500;margin-bottom:12px}.detail-block p,.detail-block li{font-size:17px;line-height:1.85}.detail-block ul{padding-left:20px;margin:0}.detail-block li{margin-bottom:8px}.detail-role{background:#dedfd5;padding:22px;margin:20px 0}.detail-role h3{font-size:12px;color:var(--muted);margin-bottom:7px;font-weight:500}.detail-role p{font-size:17px;line-height:1.8}.boundary{font-size:13px;line-height:1.8;color:var(--muted);padding-top:15px;border-top:1px solid var(--line)}.detail-brand{height:36px;width:120px;object-position:left;margin:7px 0 19px}.detail-brand.vifine{width:75px;height:50px;background:var(--ink);padding:5px}.solid-button{margin-top:22px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 21px;width:100%;font-size:16px;min-height:58px}.solid-button:hover{background:#30382c;color:var(--paper)}.evidence-intro{font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:25px}.method-title{font-size:14px;color:var(--muted);margin-top:28px;margin-bottom:15px}.method-row{display:flex;gap:18px;align-items:flex-start;border-top:1px solid var(--line);padding:17px 0;font-size:18px}.method-row>span{font-size:12px;color:var(--red);padding-top:5px;min-width:25px}.evidence-row{border-top:1px solid var(--line);padding:18px 0}.evidence-row h4{font-size:16px;font-weight:550;margin-bottom:7px}.evidence-row p{font-size:15px;color:var(--muted);line-height:1.8}.evidence-row small{font-size:12px;color:var(--muted)}.empty{padding:34px 0;color:var(--muted)}
@media(min-width:1500px){.shell{max-width:1400px}.hero-inner{grid-template-columns:1fr 275px}}
@media(max-width:1000px){.shell{padding-left:32px;padding-right:32px}.nav{gap:19px}.hero-inner{gap:35px;grid-template-columns:1fr 210px}.hero h1{font-size:45px}.identity{padding-left:23px}.project-head,.project-row{gap:20px;grid-template-columns:1.7fr 1fr .7fr 25px}.career-row{grid-template-columns:150px 220px 1fr;gap:20px}.cap-grid{gap:0 30px}.cap-item summary h3{font-size:19px}.research{gap:45px}}
@media(max-width:650px){body{font-size:16px}.shell{padding-left:22px;padding-right:22px}.header{height:auto;min-height:78px;flex-wrap:wrap;gap:10px;padding-top:17px;padding-bottom:10px}.brand-text{font-size:23px}.brand img{width:31px;height:31px}.nav{gap:0;width:100%;justify-content:space-between;white-space:nowrap;font-size:13px}.nav button{min-height:44px;padding:8px 0}.nav .contact{border:0}.hero-inner{padding-top:28px;padding-bottom:28px;display:block}.hero .eyebrow{font-size:12px}.hero h1{font-size:35px;line-height:1.34;margin-top:17px;margin-bottom:18px;letter-spacing:-.06em}.hero-intro{font-size:15px;line-height:1.85}.identity{margin-top:27px;border-left:0;border-top:1px solid #3c443c;padding:23px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.person{margin-bottom:0;grid-row:1/4}.portrait{width:54px;height:54px}.name{font-size:25px}.person small{font-size:12px}.identity .vifine-logo{display:none}.identity h2{font-size:16px}.identity .since{font-size:12px;margin:6px 0 0}.identity .position{grid-column:1/-1;margin-top:17px;font-size:13px;line-height:1.6}.hero-bottom{gap:13px;flex-wrap:wrap;padding-top:14px;padding-bottom:15px;font-size:12px}.hero-bottom>span{display:none}.hero-bottom a{margin-left:0;font-size:12px;min-height:44px;display:flex;align-items:center}.projects{padding-top:33px;padding-bottom:40px}.section-top{display:block;margin-bottom:21px}.section-top h2{font-size:33px}.section-top .eyebrow{font-size:12px;margin-bottom:9px}.section-top p{font-size:13px;margin-top:13px}.tabbar{gap:23px;flex-wrap:wrap;min-height:54px}.tab{font-size:15px;padding:13px 0}.tab small{font-size:12px}.filter-button{font-size:12px;min-height:44px}.filter-options{grid-template-columns:1fr 1fr;gap:7px 17px}.filter-option{font-size:13px}.filter-option span{display:none}.project-head{grid-template-columns:1fr;gap:0;padding:17px 0 12px}.project-head span:not(:first-child){display:none}.project-row{grid-template-columns:1fr 28px;gap:0 10px;padding:23px 0 24px}.project-row .project-id{font-size:12px;margin-bottom:9px}.project-row h3{font-size:24px;line-height:1.45}.project-row .project-company{font-size:12px;margin-top:9px}.project-row .project-role{grid-column:1;padding-top:14px;font-size:14px;font-weight:500}.project-row .project-role:before{content:"本人角色 / ";color:var(--muted);font-size:12px}.project-row .project-object{grid-column:1;font-size:13px;padding-top:6px;line-height:1.6}.project-row .project-object:before{content:"运营对象 / ";font-size:12px}.project-row .arrow{grid-column:2;grid-row:1;padding-top:29px;font-size:25px}.project-note{font-size:12px;display:block}.project-note a{display:inline-flex;min-height:44px;align-items:center;font-size:12px}.capability{padding:39px 0 41px}.capability .section-top p{font-size:15px}.cap-grid{display:block;margin-top:28px}.cap-item summary{padding:18px 0;min-height:69px;gap:16px}.cap-item summary h3{font-size:21px}.cap-body{padding-left:35px}.career{padding-top:40px;padding-bottom:40px}.career-list{margin-top:25px}.career-row{grid-template-columns:1fr;gap:8px;padding:23px 0}.career-period{font-size:12px}.career-company h3{font-size:23px}.career-logo{max-width:95px;height:25px;margin:5px 0 9px}.career-work p{font-size:14px;margin-top:5px}.research{padding-top:36px;padding-bottom:38px;display:block}.research h2{font-size:33px;margin:10px 0 15px}.research>div>p{max-width:none;font-size:15px;margin-bottom:24px}.research-row h3{font-size:22px}.research-row p{font-size:14px}.contact-section{padding:33px 0}.contact-inner{display:block}.contact-inner h2{font-size:29px}.contact-inner p{font-size:14px}.email-link{font-size:18px;gap:15px;justify-content:space-between;margin-top:24px}.footer{font-size:12px;align-items:center;padding-top:13px;padding-bottom:13px}.footer button{font-size:12px}.drawer{width:100vw}.drawer-top{padding:9px 21px;gap:10px}.drawer-top button{font-size:13px}.drawer-stage{font-size:12px}.drawer-top .close span{display:none}.drawer-content{padding:26px 23px 35px}.drawer-content h2{font-size:30px;line-height:1.4}.drawer-content .eyebrow{font-size:12px}.drawer-meta{font-size:12px}.detail-block p,.detail-block li{font-size:16px}.detail-role{padding:19px}.detail-role p{font-size:16px}.method-row{font-size:16px}.evidence-row p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero h1 span,.hero a:hover{color:#f06150}
.modal-open{overflow:hidden}.skip-link{position:absolute;left:12px;top:-100px;padding:10px;background:#eeede7;z-index:20}.skip-link:focus{top:10px}.public-download{display:flex;gap:22px;align-items:center;justify-content:flex-end;font-size:14px;margin:0 0 24px}.public-download a{border-bottom:1px solid #b64133;color:#92372c;min-height:44px;display:flex;align-items:center}.public-download span{color:#59625a;font-size:13px}.loop-section{background:#26392e;color:#eeede7;padding:72px 0}.loop-section .section-top>p{color:#c9cfc2}.loop-stage{background:#eeede7;color:#111513;display:grid;grid-template-columns:minmax(0,1fr) 330px;margin-top:32px}.loop-canvas{min-height:430px;position:relative;padding:0 18px}.loop-note{position:absolute;top:20px;left:26px;font-size:12px;color:#53624a}.loop-lines{position:absolute;inset:32px 0 0;width:100%;height:380px;stroke:#9ca58f;fill:none;stroke-width:1.3;pointer-events:none}.loop-lines .feedback{stroke-dasharray:4 7;stroke:#b2baa6}.loop-nodes{display:grid;position:relative;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:110px 120px 110px;padding-top:40px;height:400px}.loop-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;border:0;background:none;font-size:15px;min-height:88px}.loop-node span{border:1px solid #7a846e;background:#eeede7;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font:13px Georgia,serif}.loop-node[aria-pressed=true] span{background:#e16a54;border-color:#e16a54}.loop-node:hover{color:#92372c}.loop-node:nth-child(5){grid-area:3/4}.loop-node:nth-child(6){grid-area:3/3}.loop-node:nth-child(7){grid-area:3/2}.loop-node:nth-child(8){grid-area:3/1}.loop-center{position:absolute;left:18px;right:18px;top:180px;text-align:center;display:flex;flex-direction:column;gap:12px;pointer-events:none}.loop-center em{font:italic 29px/1.4 Georgia,serif;letter-spacing:-1px}.loop-center span{font-size:12px;color:#53624a}.loop-panel{padding:26px 25px;border-left:1px solid #c6c9bc}.loop-panel .eyebrow{color:#53624a}.loop-panel h3{font-size:23px;margin:15px 0}.loop-panel>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#4e5a49}.loop-panel .case-link{color:#17221a;font-size:13px}.loop-related-head{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:12px;color:#53624a;margin-top:30px;border-bottom:1px solid #bfc5b5;padding-bottom:12px}.loop-related-head button{min-height:44px;text-align:right;font-size:12px;color:#3b4c34}.cap-directory{margin-top:30px;border-top:1px solid #72806c;padding-top:10px}.cap-directory>summary{min-height:54px;display:flex;align-items:center;cursor:pointer;font-size:15px}.cap-directory .cap-item{color:#eeede7;border-color:#7b8874}.cap-directory .cap-body,.cap-directory .cap-body p{color:#d4d9cb}.cap-directory .case-link{color:#eeede7}.cap-directory .num{color:#cbd4bf}.cap-directory .toggle{color:#eec1b4}.cap-directory .cap-body .case-link:hover{color:#f4bfac}.career{border-top:1px solid #b5bdac}.career-row{position:relative}.career-row:before{content:"";width:5px;height:5px;border:1px solid #5b6d50;border-radius:50%;position:absolute;left:-15px;top:42px}.career-logo.vifine{background:#26392e}.career-company small{font-size:14px}.career-period{font:15px/1.7 Georgia,serif;color:#45583a}.detail-role{font-size:16px}.boundary{font-size:14px}#access-form{display:flex;flex-direction:column;gap:14px;margin:25px 0}#access-form label{font-size:16px}#access-code{font:18px monospace;min-height:48px;padding:12px;border:1px solid #89977d;background:#f8f8f3;color:#111513;max-width:100%}#access-status{font-size:15px;line-height:1.8;min-height:26px}#local-review,#end-access{display:block;min-height:44px;margin:15px 0;padding:10px 0;text-align:left;border-bottom:1px solid #849478}#access-form button:disabled{opacity:.65}.drawer-back{min-height:44px}.drawer .solid-button{min-height:48px}.early p{font-size:15px}
@media(max-width:1000px){.loop-stage{grid-template-columns:minmax(0,1fr) 290px}.loop-canvas{padding:0 12px}.loop-center em{font-size:23px}.loop-center span{font-size:12px}.loop-node{font-size:13px}.loop-panel{padding:25px 20px}.loop-panel h3{font-size:21px}.loop-node strong{font-weight:600}.loop-note{left:20px;right:20px;letter-spacing:0}}
@media(max-width:720px){.loop-section{padding:42px 0}.loop-stage{display:block;margin-top:24px}.loop-canvas{min-height:0;padding:80px 18px 12px}.loop-note{top:20px;left:18px;right:18px}.loop-lines{display:none}.loop-center{position:static;text-align:left;margin:0 0 24px}.loop-center em{font-size:25px}.loop-center span{line-height:1.8}.loop-nodes{height:auto;display:flex;flex-direction:column;padding:0}.loop-node{flex-direction:row;justify-content:flex-start;min-height:57px;gap:16px;font-size:16px;border-bottom:1px solid #c6c9bc}.loop-node:nth-child(n){grid-area:auto}.loop-node[aria-pressed=true]{background:#dee3d4}.loop-node strong:after{content:"↘";position:absolute;right:28px;color:#53624a}.loop-panel{border:0;border-top:1px solid #bfc8b5;padding:25px 22px}.loop-related-head{margin-top:16px}.cap-directory>summary{font-size:14px}.public-download{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:20px}.career-row:before{left:-10px;top:36px}.career-period{font-size:15px}.career-company small{font-size:14px}.header .nav button,.header .nav a{min-height:44px;display:flex;align-items:center;font-size:13px}.header .nav{gap:3px}.hero-inner{padding-top:32px}.hero h1{font-size:33px}.hero-intro{font-size:16px}.detail-block p,.detail-block li,.evidence-intro{font-size:16px}.boundary{font-size:14px}.project-row .project-role,.project-row .project-object{font-size:14px}.research-row p{font-size:15px}.loop-section .section-top>p{font-size:15px}.loop-canvas{display:flex;flex-direction:column}.loop-center{order:-1}.drawer-top button{min-height:44px}.cap-directory .case-link{font-size:14px}}

.work-artifact{margin:32px 0;padding:24px;border:1px solid #b7c0ad;background:#f4f4ec}.work-artifact h3{font-size:19px;margin-bottom:14px}.work-artifact>p{font-size:14px;line-height:1.85;color:#53624a;margin-bottom:18px}.work-artifact table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.8}.work-artifact th,.work-artifact td{padding:12px 8px;text-align:left;vertical-align:top;border-bottom:1px solid #c1c9b7}.work-artifact th{font-weight:600}.work-artifact td:first-child{width:30%}@media(max-width:650px){.work-artifact{padding:18px 12px}.work-artifact table{font-size:14px}.work-artifact td:first-child{width:32%}}
.loop-section .section-top .eyebrow,.cap-directory .cap-item summary .num{color:#cbd4bf}
/* Confirmed revision: original color assets and three animated modules. */
.identity .vifine-logo{width:158px;height:55px;object-position:left;filter:none;opacity:1}
.career-row:first-child .career-logo.vifine{width:120px;max-width:120px;height:42px;background:transparent;padding:0}
.detail-brand.vifine{width:155px;height:54px;background:transparent;padding:0}
.health-scene{margin:24px 0 28px;background:#e5e8df;border:1px solid #c6cfc0;overflow:hidden}
.scene-visual{position:relative;overflow:hidden;aspect-ratio:1672/941;max-height:470px}
.scene-image{width:100%;height:100%;object-fit:cover;animation:scene-breathe 16s ease-in-out infinite;transform-origin:46% 43%}
.scene-flows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scene-trail{fill:none;stroke:#3e9d94;stroke-width:1.1;opacity:.26;stroke-dasharray:8 19;animation:scene-route 12s linear infinite}
.scene-halo{fill:none;stroke:#d57255;stroke-width:1.6;stroke-dasharray:5 21;transform-origin:465px 230px;animation:scene-orbit 36s linear infinite;opacity:.55}
.scene-pulse{fill:none;stroke:#fff4d7;stroke-width:2;transform-origin:465px 230px;animation:scene-pulse 6s ease-in-out infinite}
.scene-signal{fill:#e67455;stroke:#fff7db;stroke-width:1.5}.scene-signal.second{fill:#20b3a4}
.health-scene figcaption{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px 24px;background:#eeede7}
.health-scene figcaption strong{font-size:16px;font-weight:550}.health-scene figcaption span{display:block;font-size:14px;color:#53624a;margin-top:3px}
[data-motion-toggle]{min-height:44px;border-bottom:1px solid #75856c;font-size:14px;white-space:nowrap;color:#3b4d35;padding:8px 0}
[data-motion-toggle]:disabled{color:#53624a;opacity:1}
.loop-lines .loop-stream{stroke:#21a29a;stroke-width:2;stroke-dasharray:22 112;animation:loop-flow 12s linear infinite;opacity:.85}.loop-lines .loop-signal{fill:#e47254;stroke:#f1ebdc;stroke-width:2}
.sop-section{margin-top:26px;padding:25px 28px 22px;background:#eeede7;color:#17231b}
.sop-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.sop-heading .eyebrow{color:#92372c;font-size:13px}.sop-heading h3{font-size:23px;font-weight:550;margin-top:7px}
.sop-tabs{display:flex;gap:24px;margin-top:16px;border-bottom:1px solid #b9c2af}.sop-tabs button{min-height:44px;padding:8px 2px;font-size:15px}.sop-tabs [aria-pressed=true]{border-bottom:2px solid #a84432;color:#92372c;font-weight:600}
.sop-track{position:relative;min-height:190px;display:flex;flex-direction:column;justify-content:center;padding:32px 40px}.sop-ellipse{position:absolute;inset:20px 0 10px;width:100%;height:165px;pointer-events:none}.sop-base{stroke:#b5c3ab;fill:none;stroke-width:1.2}.sop-stream{stroke:#299b91;fill:none;stroke-width:2;stroke-dasharray:35 100;animation:loop-flow 10s linear infinite}.sop-signal{fill:#b94c36;stroke:#eeede7;stroke-width:2}
.sop-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:28px;position:relative;text-align:center}.sop-steps li{background:#eeede7;padding:8px 4px;font-size:16px}.sop-steps span{font:13px Georgia,serif;color:#92372c;display:block;margin-bottom:6px}.sop-steps strong{font-weight:550}
#sop-summary{text-align:center;font-size:14px;color:#53624a;margin-top:18px;position:relative}.sop-note{font-size:13px;color:#53624a}
.career-motion-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:14px;color:#45583a;margin-top:18px}.career-timeline{position:relative}.career-list{position:relative}.career-list::before,.career-list::after{content:"";position:absolute;left:204px;top:18px;bottom:18px;width:2px;pointer-events:none}.career-list::before{background:#bcc9af}.career-list::after{width:3px;background:linear-gradient(to bottom,transparent 15%,#91c7a9 38%,#249a90 49%,#e16a54 55%,transparent 78%);background-size:100% 180px;animation:career-stream 5s linear infinite}.career-row::before{left:201px;top:38px;width:8px;height:8px;background:#eeede7;border:2px solid #319b90;z-index:1}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
@keyframes scene-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes scene-route{to{stroke-dashoffset:-216}}
@keyframes scene-orbit{to{transform:rotate(360deg)}}
@keyframes scene-pulse{0%,100%{opacity:.3;transform:scale(.95)}50%{opacity:.85;transform:scale(1.12)}}
@keyframes loop-flow{to{stroke-dashoffset:-268}}
@keyframes career-stream{to{background-position:0 180px}}
@media(min-width:721px) and (max-width:1050px){.career-list::before,.career-list::after{left:159px}.career-row::before{left:156px}}
@media(max-width:720px){.health-scene{margin:20px 0 24px}.scene-visual{max-height:none;aspect-ratio:1672/941}.health-scene figcaption{display:block;padding:15px 17px}.health-scene figcaption span{font-size:14px}.health-scene [data-motion-toggle]{margin-top:8px}.sop-section{padding:20px 18px}.sop-heading{display:block}.sop-heading h3{font-size:20px}.sop-heading [data-motion-toggle]{margin-top:7px}.sop-tabs{gap:15px;justify-content:space-between}.sop-tabs button{font-size:14px}.sop-track{padding:20px 0;min-height:380px}.sop-ellipse{height:310px;top:20px;inset-inline:8%;width:84%;opacity:.65}.sop-steps{grid-template-columns:1fr;gap:8px;padding:0 34px}.sop-steps li{display:flex;align-items:center;gap:15px;text-align:left;font-size:15px;min-height:49px}.sop-steps span{margin:0;font-size:13px}#sop-summary{font-size:14px;padding:0 15px;text-align:left}.career-motion-caption{align-items:flex-start;gap:12px;font-size:13px}.career-motion-caption span{max-width:180px;padding-top:10px}.career-motion-caption [data-motion-toggle]{font-size:13px}.career-list{padding-left:18px}.career-list::before,.career-list::after{left:4px}.career-row::before{left:-17px;top:31px;width:8px;height:8px}.career-row:first-child .career-logo.vifine{width:117px;max-width:117px;height:41px}.sop-note{font-size:13px;line-height:1.8}.loop-node[aria-pressed=true] span{animation:scene-pulse 5s ease-in-out infinite}.identity .vifine-logo{display:none}}
@media(prefers-reduced-motion:reduce){.scene-image,.scene-trail,.scene-halo,.scene-pulse,.loop-stream,.sop-stream,.career-list::after,.loop-node[aria-pressed=true] span{animation:none!important}}
.scene-visual{max-height:none}
.career-list::before,.career-list::after{display:none}
.career-timeline::before,.career-timeline::after{content:"";position:absolute;left:204px;top:18px;bottom:18px;width:2px;pointer-events:none}
.career-timeline::before{background:#bcc9af}.career-timeline::after{width:3px;background:linear-gradient(to bottom,transparent 15%,#91c7a9 38%,#249a90 49%,#e16a54 55%,transparent 78%);background-size:100% 180px;animation:career-stream 5s linear infinite}
.career-timeline .early{position:relative;padding-left:220px}.career-timeline .early::before{content:"";position:absolute;left:201px;top:24px;width:8px;height:8px;border:2px solid #319b90;border-radius:50%;background:#eeede7;z-index:1}
@media(min-width:721px) and (max-width:1050px){.career-timeline::before,.career-timeline::after{left:159px}.career-timeline .early{padding-left:175px}.career-timeline .early::before{left:156px}}
@media(max-width:720px){.career-timeline::before,.career-timeline::after{left:4px}.career-timeline .early{padding-left:18px}.career-timeline .early::before{left:1px;top:23px}}
@media(prefers-reduced-motion:reduce){.career-timeline::after{animation:none!important}}
.sop-mobile-loop{display:none}
@media(max-width:720px){.sop-ellipse:not(.sop-mobile-loop){display:none}.sop-mobile-loop{display:block;left:0;right:0;top:12px;width:100%;height:360px;opacity:1}.sop-steps{padding-left:55px;padding-right:55px}.sop-mobile-loop .sop-base,.sop-mobile-loop .sop-stream{vector-effect:non-scaling-stroke}.sop-mobile-loop .sop-base{stroke:#93ad97}}

/* Career presentation: company identity replaces dates, original reverse order remains. */
.career-brand{display:flex;align-items:flex-start;min-width:0;padding-top:5px}
.career-brand .career-logo{display:block;width:145px;max-width:100%;height:42px;object-fit:contain;object-position:left center;margin:0;padding:0;background:transparent;filter:none}
.career-brand .career-logo.donghu{width:58px;height:58px}
.career-wordmark{display:block;font-size:23px;font-weight:550;line-height:1.5;color:var(--ink);letter-spacing:1px}
@media(min-width:721px) and (max-width:1050px){.career-brand .career-logo{width:130px}}
@media(max-width:720px){.career-row{grid-template-columns:100px minmax(0,1fr);column-gap:14px;row-gap:10px}.career-brand{grid-column:1;grid-row:1;padding-top:5px}.career-company{grid-column:2;grid-row:1;min-width:0}.career-work{grid-column:2;min-width:0}.career-brand .career-logo,.career-row:first-child .career-brand .career-logo.vifine{width:96px;max-width:96px;height:34px;margin:0}.career-brand .career-logo.donghu{width:48px;height:48px}.career-wordmark{font-size:19px;letter-spacing:0}.career-company h3{font-size:21px}.career-company small{display:block;margin-top:5px;line-height:1.6}}
/* v2026.10.02-4 微调：回到主页悬浮入口 + PDF 公众号引导 */
.back-home{position:fixed;left:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:9px;background:var(--ink);color:var(--paper);font-size:15px;font-weight:550;padding:13px 20px;border-radius:999px;box-shadow:0 8px 26px #11151333;line-height:1;min-height:48px}
.back-home span{font-size:19px;line-height:1}
.back-home:hover{background:var(--red);color:var(--paper)}
.public-download button{border-bottom:1px solid #b64133;color:#92372c;min-height:44px;display:flex;align-items:center;font-size:14px}
.pdf-dialog{padding:0;border:0;background:transparent;max-width:none;max-height:none}
.pdf-dialog::backdrop{background:rgba(17,21,19,.60);backdrop-filter:blur(2px)}
.pdf-dialog-inner{background:var(--paper);color:var(--ink);width:min(560px,92vw);padding:30px 34px 32px;box-shadow:-14px 0 60px #0004}
.pdf-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}
.pdf-dialog-top .eyebrow{color:var(--red)}
.pdf-dialog-top .close{font-size:23px;display:flex;gap:8px;align-items:center;min-height:44px}
.pdf-dialog-top .close span{font-size:13px}
.pdf-dialog h2{font-size:27px;letter-spacing:-.03em;font-weight:560;line-height:1.4;margin-bottom:22px}
.pdf-steps{list-style:none;padding:0;margin:0;counter-reset:pdfstep}
.pdf-steps li{counter-increment:pdfstep;position:relative;padding:0 0 18px 44px;font-size:15px;line-height:1.7}
.pdf-steps li:before{content:counter(pdfstep,decimal-leading-zero);position:absolute;left:0;top:1px;font:13px Georgia,serif;color:var(--red);border:1px solid var(--red);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.pdf-steps small{color:var(--muted);font-size:13px}
.pdf-alt{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.pdf-alt a{border-bottom:1px solid var(--ink)}
@media(max-width:650px){.back-home{left:14px;bottom:14px;font-size:14px;padding:12px 16px}.pdf-dialog-inner{width:100vw;padding:24px 22px 28px}.pdf-dialog h2{font-size:23px}}
.research-more{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;padding:11px 0;font-size:14px;border-bottom:1px solid var(--ink);min-height:44px;color:var(--ink)}.research-more:hover{color:var(--red);border-color:var(--red)}.research-more .arrow{font-size:21px}.research-figure{margin:32px 0 0;max-width:420px;overflow:hidden;background:#dedfd5}.research-figure img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transform:scale(1.03)}@media(prefers-reduced-motion:no-preference){.research-figure img{animation:researchZoom 28s ease-in-out infinite alternate}}@keyframes researchZoom{from{transform:scale(1.03)}to{transform:scale(1.18)}}
/* Confirmed revision: original color assets and three animated modules. */
.identity .vifine-logo{width:158px;height:55px;object-position:left;filter:none;opacity:1}
.career-row:first-child .career-logo.vifine{width:120px;max-width:120px;height:42px;background:transparent;padding:0}
.detail-brand.vifine{width:155px;height:54px;background:transparent;padding:0}
.health-scene{margin:24px 0 28px;background:#e5e8df;border:1px solid #c6cfc0;overflow:hidden}
.scene-visual{position:relative;overflow:hidden;aspect-ratio:1672/941;max-height:470px}
.scene-image{width:100%;height:100%;object-fit:cover;animation:scene-breathe 16s ease-in-out infinite;transform-origin:46% 43%}
.scene-flows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scene-trail{fill:none;stroke:#3e9d94;stroke-width:1.1;opacity:.26;stroke-dasharray:8 19;animation:scene-route 12s linear infinite}
.scene-halo{fill:none;stroke:#d57255;stroke-width:1.6;stroke-dasharray:5 21;transform-origin:465px 230px;animation:scene-orbit 36s linear infinite;opacity:.55}
.scene-pulse{fill:none;stroke:#fff4d7;stroke-width:2;transform-origin:465px 230px;animation:scene-pulse 6s ease-in-out infinite}
.scene-signal{fill:#e67455;stroke:#fff7db;stroke-width:1.5}.scene-signal.second{fill:#20b3a4}
.health-scene figcaption{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px 24px;background:#eeede7}
.health-scene figcaption strong{font-size:16px;font-weight:550}.health-scene figcaption span{display:block;font-size:14px;color:#53624a;margin-top:3px}
[data-motion-toggle]{min-height:44px;border-bottom:1px solid #75856c;font-size:14px;white-space:nowrap;color:#3b4d35;padding:8px 0}
[data-motion-toggle]:disabled{color:#53624a;opacity:1}
.loop-lines .loop-stream{stroke:#21a29a;stroke-width:2;stroke-dasharray:22 112;animation:loop-flow 12s linear infinite;opacity:.85}.loop-lines .loop-signal{fill:#e47254;stroke:#f1ebdc;stroke-width:2}
.sop-section{margin-top:26px;padding:25px 28px 22px;background:#eeede7;color:#17231b}
.sop-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.sop-heading .eyebrow{color:#92372c;font-size:13px}.sop-heading h3{font-size:23px;font-weight:550;margin-top:7px}
.sop-tabs{display:flex;gap:24px;margin-top:16px;border-bottom:1px solid #b9c2af}.sop-tabs button{min-height:44px;padding:8px 2px;font-size:15px}.sop-tabs [aria-pressed=true]{border-bottom:2px solid #a84432;color:#92372c;font-weight:600}
.sop-track{position:relative;min-height:190px;display:flex;flex-direction:column;justify-content:center;padding:32px 40px}.sop-ellipse{position:absolute;inset:20px 0 10px;width:100%;height:165px;pointer-events:none}.sop-base{stroke:#b5c3ab;fill:none;stroke-width:1.2}.sop-stream{stroke:#299b91;fill:none;stroke-width:2;stroke-dasharray:35 100;animation:loop-flow 10s linear infinite}.sop-signal{fill:#b94c36;stroke:#eeede7;stroke-width:2}
.sop-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:28px;position:relative;text-align:center}.sop-steps li{background:#eeede7;padding:8px 4px;font-size:16px}.sop-steps span{font:13px Georgia,serif;color:#92372c;display:block;margin-bottom:6px}.sop-steps strong{font-weight:550}
#sop-summary{text-align:center;font-size:14px;color:#53624a;margin-top:18px;position:relative}.sop-note{font-size:13px;color:#53624a}
.career-motion-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:14px;color:#45583a;margin-top:18px}.career-timeline{position:relative}.career-list{position:relative}.career-list::before,.career-list::after{content:"";position:absolute;left:204px;top:18px;bottom:18px;width:2px;pointer-events:none}.career-list::before{background:#bcc9af}.career-list::after{width:3px;background:linear-gradient(to bottom,transparent 15%,#91c7a9 38%,#249a90 49%,#e16a54 55%,transparent 78%);background-size:100% 180px;animation:career-stream 5s linear infinite}.career-row::before{left:201px;top:38px;width:8px;height:8px;background:#eeede7;border:2px solid #319b90;z-index:1}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
@keyframes scene-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes scene-route{to{stroke-dashoffset:-216}}
@keyframes scene-orbit{to{transform:rotate(360deg)}}
@keyframes scene-pulse{0%,100%{opacity:.3;transform:scale(.95)}50%{opacity:.85;transform:scale(1.12)}}
@keyframes loop-flow{to{stroke-dashoffset:-268}}
@keyframes career-stream{to{background-position:0 180px}}
@media(min-width:721px) and (max-width:1050px){.career-list::before,.career-list::after{left:159px}.career-row::before{left:156px}}
@media(max-width:720px){.health-scene{margin:20px 0 24px}.scene-visual{max-height:none;aspect-ratio:1672/941}.health-scene figcaption{display:block;padding:15px 17px}.health-scene figcaption span{font-size:14px}.health-scene [data-motion-toggle]{margin-top:8px}.sop-section{padding:20px 18px}.sop-heading{display:block}.sop-heading h3{font-size:20px}.sop-heading [data-motion-toggle]{margin-top:7px}.sop-tabs{gap:15px;justify-content:space-between}.sop-tabs button{font-size:14px}.sop-track{padding:20px 0;min-height:380px}.sop-ellipse{height:310px;top:20px;inset-inline:8%;width:84%;opacity:.65}.sop-steps{grid-template-columns:1fr;gap:8px;padding:0 34px}.sop-steps li{display:flex;align-items:center;gap:15px;text-align:left;font-size:15px;min-height:49px}.sop-steps span{margin:0;font-size:13px}#sop-summary{font-size:14px;padding:0 15px;text-align:left}.career-motion-caption{align-items:flex-start;gap:12px;font-size:13px}.career-motion-caption span{max-width:180px;padding-top:10px}.career-motion-caption [data-motion-toggle]{font-size:13px}.career-list{padding-left:18px}.career-list::before,.career-list::after{left:4px}.career-row::before{left:-17px;top:31px;width:8px;height:8px}.career-row:first-child .career-logo.vifine{width:117px;max-width:117px;height:41px}.sop-note{font-size:13px;line-height:1.8}.loop-node[aria-pressed=true] span{animation:scene-pulse 5s ease-in-out infinite}.identity .vifine-logo{display:none}}
@media(prefers-reduced-motion:reduce){.scene-image,.scene-trail,.scene-halo,.scene-pulse,.loop-stream,.sop-stream,.career-list::after,.loop-node[aria-pressed=true] span{animation:none!important}}
.scene-visual{max-height:none}
.career-list::before,.career-list::after{display:none}
.career-timeline::before,.career-timeline::after{content:"";position:absolute;left:204px;top:18px;bottom:18px;width:2px;pointer-events:none}
.career-timeline::before{background:#bcc9af}.career-timeline::after{width:3px;background:linear-gradient(to bottom,transparent 15%,#91c7a9 38%,#249a90 49%,#e16a54 55%,transparent 78%);background-size:100% 180px;animation:career-stream 5s linear infinite}
.career-timeline .early{position:relative;padding-left:220px}.career-timeline .early::before{content:"";position:absolute;left:201px;top:24px;width:8px;height:8px;border:2px solid #319b90;border-radius:50%;background:#eeede7;z-index:1}
@media(min-width:721px) and (max-width:1050px){.career-timeline::before,.career-timeline::after{left:159px}.career-timeline .early{padding-left:175px}.career-timeline .early::before{left:156px}}
@media(max-width:720px){.career-timeline::before,.career-timeline::after{left:4px}.career-timeline .early{padding-left:18px}.career-timeline .early::before{left:1px;top:23px}}
@media(prefers-reduced-motion:reduce){.career-timeline::after{animation:none!important}}
.sop-mobile-loop{display:none}
@media(max-width:720px){.sop-ellipse:not(.sop-mobile-loop){display:none}.sop-mobile-loop{display:block;left:0;right:0;top:12px;width:100%;height:360px;opacity:1}.sop-steps{padding-left:55px;padding-right:55px}.sop-mobile-loop .sop-base,.sop-mobile-loop .sop-stream{vector-effect:non-scaling-stroke}.sop-mobile-loop .sop-base{stroke:#93ad97}}

/* Career presentation: company identity replaces dates, original reverse order remains. */
.career-brand{display:flex;align-items:flex-start;min-width:0;padding-top:5px}
.career-brand .career-logo{display:block;width:145px;max-width:100%;height:42px;object-fit:contain;object-position:left center;margin:0;padding:0;background:transparent;filter:none}
.career-brand .career-logo.donghu{width:58px;height:58px}
.career-wordmark{display:block;font-size:23px;font-weight:550;line-height:1.5;color:var(--ink);letter-spacing:1px}
@media(min-width:721px) and (max-width:1050px){.career-brand .career-logo{width:130px}}
@media(max-width:720px){.career-row{grid-template-columns:100px minmax(0,1fr);column-gap:14px;row-gap:10px}.career-brand{grid-column:1;grid-row:1;padding-top:5px}.career-company{grid-column:2;grid-row:1;min-width:0}.career-work{grid-column:2;min-width:0}.career-brand .career-logo,.career-row:first-child .career-brand .career-logo.vifine{width:96px;max-width:96px;height:34px;margin:0}.career-brand .career-logo.donghu{width:48px;height:48px}.career-wordmark{font-size:19px;letter-spacing:0}.career-company h3{font-size:21px}.career-company small{display:block;margin-top:5px;line-height:1.6}}
/* v2026.10.02-4 微调：回到主页悬浮入口 + PDF 公众号引导 */
.back-home{position:fixed;left:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:9px;background:var(--ink);color:var(--paper);font-size:15px;font-weight:550;padding:13px 20px;border-radius:999px;box-shadow:0 8px 26px #11151333;line-height:1;min-height:48px}
.back-home span{font-size:19px;line-height:1}
.back-home:hover{background:var(--red);color:var(--paper)}
.public-download button{border-bottom:1px solid #b64133;color:#92372c;min-height:44px;display:flex;align-items:center;font-size:14px}
.pdf-dialog{padding:0;border:0;background:transparent;max-width:none;max-height:none}
.pdf-dialog::backdrop{background:rgba(17,21,19,.60);backdrop-filter:blur(2px)}
.pdf-dialog-inner{background:var(--paper);color:var(--ink);width:min(560px,92vw);padding:30px 34px 32px;box-shadow:-14px 0 60px #0004}
.pdf-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}
.pdf-dialog-top .eyebrow{color:var(--red)}
.pdf-dialog-top .close{font-size:23px;display:flex;gap:8px;align-items:center;min-height:44px}
.pdf-dialog-top .close span{font-size:13px}
.pdf-dialog h2{font-size:27px;letter-spacing:-.03em;font-weight:560;line-height:1.4;margin-bottom:22px}
.pdf-steps{list-style:none;padding:0;margin:0;counter-reset:pdfstep}
.pdf-steps li{counter-increment:pdfstep;position:relative;padding:0 0 18px 44px;font-size:15px;line-height:1.7}
.pdf-steps li:before{content:counter(pdfstep,decimal-leading-zero);position:absolute;left:0;top:1px;font:13px Georgia,serif;color:var(--red);border:1px solid var(--red);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.pdf-steps small{color:var(--muted);font-size:13px}
.pdf-alt{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.pdf-alt a{border-bottom:1px solid var(--ink)}
@media(max-width:650px){.back-home{left:14px;bottom:14px;font-size:14px;padding:12px 16px}.pdf-dialog-inner{width:100vw;padding:24px 22px 28px}.pdf-dialog h2{font-size:23px}}
/* 05 / Beyond Work — life gallery (dark stage + expanding panels) */
.life{background:#111513;color:#eeede7;padding:66px 0 68px;position:relative;overflow:hidden}
.life:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(52% 42% at 12% 0%,#697c5642,transparent 70%),radial-gradient(46% 40% at 90% 12%,#249a9030,transparent 70%),radial-gradient(44% 52% at 78% 100%,#b6413330,transparent 72%)}
.life .shell{position:relative}
.life .section-top{margin-bottom:26px}
.life .section-top .eyebrow{color:#b8c3ae}
.life .section-top h2{font:italic 400 clamp(32px,3.4vw,44px)/1.25 Georgia,serif;letter-spacing:-1px}
.life .section-top h2 em{font-style:italic;color:#e16a54}
.life .section-top p{color:#8a938a}
.life-gallery{display:flex;gap:10px;height:min(58vh,540px);position:relative}
.life-panel{position:relative;flex:1;min-width:0;margin:0;overflow:hidden;cursor:pointer;border-radius:3px;border:1px solid #ffffff14;transition:flex .85s cubic-bezier(.22,.8,.24,1)}
.life-panel.on{flex:3.1}
.life-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;transform:scale(1.06);transition:transform 1.2s ease}
.life-panel:nth-child(1) img{object-position:center 12%}
.life-panel:nth-child(2) img{object-position:center 18%}
.life-panel:nth-child(3) img{object-position:center 12%}
.life-panel:nth-child(4) img{object-position:center 30%}
.life-panel.on img{transform:scale(1)}
.life-wash{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.85;transition:opacity .6s}
.life-panel:nth-child(1) .life-wash{background:linear-gradient(200deg,#249a9080,#11151390)}
.life-panel:nth-child(2) .life-wash{background:linear-gradient(200deg,#697c5680,#11151390)}
.life-panel:nth-child(3) .life-wash{background:linear-gradient(200deg,#e16a5480,#11151390)}
.life-panel:nth-child(4) .life-wash{background:linear-gradient(200deg,#8fa4c080,#11151390)}
.life-panel.on .life-wash{opacity:0}
.life-num{position:absolute;top:14px;left:16px;z-index:2;color:#ffffffc9;font:13px Georgia,serif;letter-spacing:.12em}
.life-panel figcaption{position:absolute;left:16px;right:12px;bottom:14px;z-index:2;color:#fff;text-shadow:0 1px 14px #0009;white-space:nowrap;overflow:hidden}
.life-panel figcaption b{display:block;font-size:16px;font-weight:550}
.life-panel figcaption span{font-size:12px;opacity:.82}
.life-panel.on figcaption b{color:#f4bfac}
.life-under{display:flex;align-items:center;gap:20px;margin-top:18px;font-size:12px;color:#77816f;letter-spacing:.12em}
.life-bar{flex:1;height:2px;background:#ffffff1c;position:relative}
.life-bar i{position:absolute;left:0;top:0;bottom:0;width:25%;background:linear-gradient(90deg,#91c7a9,#249a90 55%,#e16a54);transition:width .85s cubic-bezier(.22,.8,.24,1)}
.life-under button{font-size:12px;color:#9aa493;min-height:36px;padding:0;letter-spacing:.06em}
.life-under button:hover{color:#f4bfac}
.life-noscript{color:#8a938a;font-size:14px;padding-bottom:10px}
@media(max-width:720px){.life{padding:42px 0 44px}.life-gallery{overflow-x:auto;scroll-snap-type:x mandatory;height:62vh;scrollbar-width:none}.life-gallery::-webkit-scrollbar{display:none}.life-panel{flex:0 0 72vw;scroll-snap-align:center}.life-panel.on{flex:0 0 78vw}}
#life-count{white-space:nowrap}
@media(max-width:720px){.life-under{flex-wrap:wrap;row-gap:10px}.life-bar{order:3;flex-basis:100%;margin:0}}
/* ===== 早期军旅经历 · 档案行区块 2026-10-07（正版八一军徽左置）===== */
.career-timeline .early-body{margin-left:-220px;display:grid;grid-template-columns:190px 1fr;gap:30px;padding:18px 0 26px;border-top:1px solid var(--line)}
.early-brand{padding-top:3px}
.early-brand .pla-logo{width:92px;height:auto;display:block}
.early-title{display:block;font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.4}
.early-sub{display:block;font-size:13px;color:var(--muted);margin:3px 0 18px}
.early-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:0}
.early-facts>div{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--line);align-items:baseline}
.early-facts dt{font-size:12px;color:var(--muted);letter-spacing:.08em}
.early-facts dd{margin:0;font-size:15px;line-height:1.7}
.early p.early-note{font-size:14px;color:var(--muted);margin-top:16px;padding:0;line-height:1.8}
@media(min-width:721px) and (max-width:1050px){.career-timeline .early-body{margin-left:-175px;grid-template-columns:150px 1fr;gap:25px}.early-brand .pla-logo{width:80px}}
@media(max-width:720px){.career-timeline .early-body{margin-left:-18px;grid-template-columns:48px 1fr;gap:4px 14px;padding-top:14px}.early-brand{grid-column:1;grid-row:1/3;padding-top:2px}.early-brand .pla-logo{width:44px}.early-content{display:contents}.early-title{grid-column:2;grid-row:1}.early-sub{grid-column:2;grid-row:2;margin:2px 0 0}.early-facts{grid-column:1/-1;grid-row:3;grid-template-columns:1fr;margin-top:14px}.early-facts>div{grid-template-columns:76px 1fr}.early p.early-note{grid-column:1/-1;grid-row:4}}

/* ICP registration: centered and matched to the existing footer typography. */
.footer{flex-wrap:wrap;row-gap:16px}.footer .icp-filing{display:block;flex:0 0 100%;order:10;text-align:center;font-size:12px;line-height:1.6;color:var(--muted)}.footer .icp-filing a{display:inline-block;padding:4px 0;font:inherit;color:inherit;white-space:nowrap;text-decoration:none}.footer .icp-filing a:hover{text-decoration:underline;text-underline-offset:3px}.footer .icp-filing a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}

/* Public security registration, alongside ICP; wraps naturally on phones. */
.footer .icp-filing{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 20px}.footer .icp-filing .mps-filing{display:inline-flex;align-items:center;gap:5px}.footer .mps-filing img{display:block;width:16px;height:16px;flex:0 0 16px;object-fit:contain}
