/* V5 · charcoal type, flat mint character, brighter editorial accents. */
:root{--letter-wash:radial-gradient(ellipse at 0% 0%,#d5fd86bb,transparent 60%),radial-gradient(ellipse at 100% 10%,#eadcfa88,transparent 58%),linear-gradient(150deg,#eef7d8,#f6f8e7)}
body .site-header,html.is-scrolled body .site-header{top:12px}
body .site-header .header-inner,html.is-scrolled body .site-header .header-inner{height:64px;min-height:64px;transition:background .35s,box-shadow .35s}
body .site-header .contact-peek{box-sizing:border-box;right:0;max-width:calc(100vw - 28px);width:216px;padding:15px;overflow-wrap:anywhere}
body .site-header .contact-peek img{width:100%;height:auto}
.hero{padding-top:116px;padding-bottom:69px;grid-template-columns:1.15fr 1fr;column-gap:35px}
.hero h1{font-size:clamp(54px,6vw,86px);line-height:1.26;margin-top:30px;letter-spacing:-.049em}
.hero-hello{font-size:18px;font-weight:550}.hero-description{margin-top:38px}.hero-actions{margin-top:37px}
.hero-playground{height:430px}.hero-playground .orbit-one{inset:11% 8%;width:auto;height:auto;background:none;border:1px solid #dbe6d9;rotate:-19deg;filter:none}.hero-playground .orbit-two{display:none}
.pet-v5{max-width:380px}.pet-v5 .pet-svg{filter:none;animation:pet-hover-rest 5.8s ease-in-out infinite;transform-origin:center}.pet-bloom{fill:#a8d6b7;transition:fill .36s}.pet-turn{transform-origin:50% 50%;transition:transform .72s cubic-bezier(.2,.75,.22,1)}.pet-v5.is-chat .pet-turn{transform:rotate(20deg) translateY(-4px) scale(1.025,.98)}.pet-v5[data-channel="phone"] .pet-turn{transform:rotate(-13deg) scale(1.03)}.pet-v5[data-channel="email"] .pet-turn{transform:rotate(10deg) translateY(-7px)}.pet-v5[data-channel="wechat"] .pet-bloom{fill:#a8dd92}.pet-v5[data-channel="phone"] .pet-bloom{fill:#acd6d9}.pet-v5[data-channel="email"] .pet-bloom{fill:#b9cfed}
.pet-eyes{fill:#fcfff7;transform-origin:center;transform-box:fill-box;transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .15s ease-out,scale .33s ease-out}.pet-v5.is-chat .pet-eyes{scale:1.08 .79}.pet-v5.is-blinking .pet-eyes{scale:1 .08}
.pet-v5 .pet-speech,.hero .pet-v5 .pet-speech,.contact-pet .pet-v5 .pet-speech{top:2%;right:-5%;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(230px,74vw);padding:11px 13px;white-space:normal;line-height:1.5;font-size:12px;background:#fff;border-color:#dae7d9;border-radius:14px 14px 14px 3px;color:#243c2c}.pet-v5 .pet-speech svg{width:19px;height:19px;flex:none}.pet-v5 .pet-speech b,.pet-v5 .pet-speech small{display:block}.pet-v5 .pet-speech small{font-size:11px;color:#5b6659}
@keyframes pet-hover-rest{0%,100%{transform:translateY(1px) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}
.hero-fields{position:absolute;inset:0;margin:0;display:block;pointer-events:none}.hero-fields span{position:absolute;display:inline-flex;gap:8px;align-items:center;padding:9px 13px;background:#ffffffed;border:1px solid #dce7d8;border-radius:999px;box-shadow:0 6px 18px #24432a0f;color:#304637;font-size:12px;white-space:nowrap}.hero-fields i{width:7px;height:7px;border-radius:50%;background:#7ca54e;box-shadow:0 0 0 3px #e4efda}.hero-fields span:first-child{top:13%;right:1%;rotate:8deg}.hero-fields span:nth-child(2){bottom:15%;left:-1%;rotate:-8deg}.hero-fields span:nth-child(3){bottom:9%;right:6%;rotate:6deg}.hero-playground:has(.is-chat) .hero-fields span:first-child{opacity:0}.hero-fields span{transition:opacity .25s}

.portrait-circle{width:min(100%,320px);height:auto;aspect-ratio:1;left:0;top:11%;border-radius:50%;background:radial-gradient(circle at 28% 26%,#f2fad5,#e0efd8 66%,#d7e8df);transform:none;box-shadow:0 0 0 1px #eff3e7,0 0 0 13px #edf4e67a}.portrait-card{transform:none}
.education-card{border:0;padding-top:0;margin-top:23px}.school{padding:19px 0;border-top:1px solid #e3e9df}.school>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.school h3{font-size:20px;letter-spacing:-.025em;padding:0}.school .education-degree{position:static;display:inline;font-size:11px;padding:0;background:none;border-radius:0;color:#5d6b59;margin:0}.school p{margin-top:7px;font-size:12px;color:#50604f;line-height:1.75}.school .school-honors{font-size:11px;color:#546b4a;margin-top:9px}
.career-card{padding-block:27px 31px}.career-card ul{display:grid;gap:15px;margin-top:19px}.career-card li{padding-left:0;font-size:14px;line-height:1.75}.career-card li::before{display:none}.career-card li b{display:block;color:#1d3326;font-size:14px;margin-bottom:3px}.career-card .career-role{font-size:14px;color:#4a6552}.domain-tags{margin-top:12px}.domain-tags span{background:#f1f5ef;color:#576750}
.colleague-note{background:var(--letter-wash);padding:35px 39px;gap:24px;border-color:#e0e9d6;scroll-margin-top:100px}.colleague-note:hover{background:var(--letter-wash);box-shadow:0 15px 38px #35553813}.colleague-note h3{font-size:27px;line-height:1.43;margin-block:14px}.note-author{font-size:12px;color:#4c6150}.colleague-note .note-link{border-radius:13px;background:#223b2d;color:white;padding:15px 17px;min-height:49px}.colleague-note .note-link .icon{width:17px;height:17px}
.recommendation-byline{grid-template-columns:1fr 1.65fr 1fr}.recommendation-byline>div:nth-child(2) dd{white-space:nowrap}
.resume-advantage-list .resume-body{padding:14px 0 18px 17px;border-left:2px solid #b8d3a6;margin:0 0 10px}.resume-item-title{display:block;font-weight:700;color:#244533;margin-bottom:5px}.resume-item-copy strong,.resume-list strong{font-weight:650;color:#17291b}.resume-list strong:first-child{background:linear-gradient(transparent 68%,#e4f0d7 68%)}
.copy-symbol.copy-v5,.contact-row .copy-symbol.copy-v5,.resume-contact-item .copy-symbol.copy-v5{display:inline-grid;place-items:center;background:none;border:none;width:22px;height:22px;color:#49664c;transform:none;opacity:1}.copy-v5 svg{display:block;width:100%;height:100%}.copy-symbol.copy-v5::before,.copy-symbol.copy-v5::after,.contact-row .copy-symbol.copy-v5::before{display:none}
.contact-section .contact-layout{grid-template-columns:minmax(0,1fr) 215px;gap:22px}.contact-section .qr-card{padding:21px 26px}.contact-section .qr-card img{width:100%;height:auto;max-height:none}.contact-section .contact-pet{max-width:230px;padding-right:10px}.contact-section .contact-row:hover{background:#eff8e766!important}.contact-section .contact-row small{color:#596850}

.projects-grid .project-card:not(.knowledge-project) .project-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 11px;align-items:center}
.project-caption h3{font-size:21px}.project-caption p{grid-column:1/-1;margin-top:0}.project-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.project-meta .project-company{margin:0;color:#455748;font-weight:550;letter-spacing:0}.project-meta .project-tags{margin:0;flex-wrap:nowrap;gap:4px}.project-meta .project-tags span{font-size:10px;padding:4px 6px;background:#eaf0e8;color:#425645}
.project-card:hover .project-media>img,.project-card:focus-visible .project-media>img{transform:scale(1.13)}
.knowledge-project{background:linear-gradient(110deg,#e8f1e4,#f3f8ed 52%,#e0ebdf);padding:19px;gap:38px;border-color:#dce7da}.knowledge-project .project-caption{padding:15px 15px 15px 0}.knowledge-project .project-company{color:#42674c}.knowledge-project .project-caption h3{font-size:34px;margin-block:5px 10px}.knowledge-project .project-caption p{font-size:15px;color:#475d4c}.knowledge-cta{margin-top:22px;display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:650;color:#213e2d}.knowledge-cta .icon{width:16px;height:16px}
.knowledge-intro{min-height:65svh;padding-block:150px 90px;display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}.knowledge-intro h1{font-size:clamp(35px,5.6vw,74px);line-height:1.2;letter-spacing:-.04em;margin:12px 0 21px}.knowledge-intro p{line-height:1.85;font-size:16px;color:#4e6051}.knowledge-intro p:first-child{font-size:12px;color:#496750}.knowledge-intro .button{margin:25px 0 12px}.knowledge-intro small{display:block;color:#576c57;line-height:1.8;font-size:12px}.knowledge-feature{width:100%;height:auto;border-radius:20px;box-shadow:0 18px 50px #173d2d1c}

.abilities{gap:16px}.ability{border-radius:17px}.ability-copy,.ability-system .ability-copy{padding:19px 22px 22px}.ability-copy h3{font-size:18px}.ability-copy p{font-size:13px;color:#4d5b50;margin-top:8px;line-height:1.75}
.abilities .ability-visual{height:155px;background-image:linear-gradient(135deg,transparent,#ffffff25);border:0}.abilities .bento-ai{background-color:#1e4a3d}.abilities .bento-logic{background-color:#50758c}.abilities .bento-iteration{background-color:#e6ad8e}.abilities .bento-delivery{background-color:#466889}.abilities .bento-system{background-color:#8fbe95}
.abilities .mini-brief{top:13px;left:8%;padding:9px 11px}.abilities .agent-core{width:64px;height:59px;top:36%;left:41%;background:linear-gradient(140deg,#edffd4,#badf9a);border-radius:14px;box-shadow:0 9px 24px #101b1b36}.abilities .mini-output{right:6%;bottom:14px;padding:9px 11px}.abilities .bento-path{stroke:#d5efbb;stroke-width:2}.abilities .path-signal{stroke:#ccff73}
.abilities .logic-sheet{zoom:.76;background:linear-gradient(135deg,#fff,#d4e7ed);box-shadow:0 12px 24px #142e4a2b}.abilities .journey-card{top:19px;padding:12px 14px;background:#fff5e9}.abilities .journey-track{margin:8px 0}.abilities .journey-resume{margin-top:8px;padding:7px}.abilities .build-stack,.abilities .spec-stack{inset:18px 11%;zoom:.78}.abilities .spec-tile{box-shadow:0 8px 18px #264b3435}.abilities .build-code{background:#203551}.abilities .build-product{background:#e6f2ff}
.work-style{padding-block:66px 96px}.work-style h2{margin-top:0}.work-style h2 span{color:inherit;background:linear-gradient(transparent 72%,#c9ed9b 72%)}.work-style-details p{color:#536252}

.case-page{background:#f5f8f3;--case-ink:#203229;--case-muted:#506458;--case-line:#dbe7dc;--case-accent:#426949}
.case-page .case-toc a{font-size:13px;color:#4d6253}.case-page .case-toc a:hover{background:#e8efe5}.case-page .case-toc a.active{background:#dceecb;color:#24422b}.case-page .case-toc .toc-number,.case-page .case-toc a.active .toc-number{font:inherit;color:inherit;flex-basis:20px;opacity:.75}
.case-page .case-insights{padding:13px 0}.case-page .case-brief h1{font-size:25px;line-height:1.3}.case-page .case-eyebrow,.case-page .case-value,.case-page .brief-section p,.case-page .contribution-list{color:#4d6354}.case-page .case-value{margin-bottom:20px;font-size:13px}.case-page .brief-section{margin-top:23px}.case-page .brief-section h2{font-size:14px;margin-bottom:7px}.case-page .brief-section p,.case-page .contribution-list{font-size:13px;line-height:1.75}.case-page .contribution-list li{padding-left:12px}.case-page .contribution-list li::before{content:"";top:.66em;width:5px;height:5px;background:#779b6c;border-radius:50%}.case-zoom-all{margin-top:23px;min-height:42px;font-size:13px;padding:10px 14px;gap:14px}.case-zoom-all .icon{width:16px;height:16px}
.case-page .zoom-image-area{position:relative;background:#e8eee7}.zoom-sheet{width:100%;min-width:0}.case-page .zoom-image-area.actual-size .zoom-sheet{width:max(100%,var(--source-width))}.case-page .zoom-image-area.actual-size .zoom-sheet img{width:var(--source-width);margin:0 auto}
@media(min-width:1180px){.case-page .case-layout{width:min(1540px,calc(100% - 64px));grid-template-columns:156px minmax(0,1fr) 310px;gap:24px}}
@media(min-width:1540px){.case-page .case-layout{grid-template-columns:173px minmax(0,1fr) 340px;gap:28px}}
@media(max-width:1179px){.case-page .case-toc{background:#f4f8f2f5;border-color:#e0e9de}.case-page .case-insights{padding:0}.case-page .case-brief-content{display:block}}
@media(max-width:1050px){.hero h1{font-size:clamp(49px,6.7vw,70px)}.hero-playground{height:390px}.project-meta .project-tags span{font-size:9px;padding-inline:4px}.project-caption h3{font-size:19px}}
@media(max-width:850px){.projects-grid .project-card:not(.knowledge-project) .project-caption{grid-template-columns:1fr}.project-meta{grid-row:2;justify-content:flex-start}.hero-playground{height:315px}.hero-fields span{font-size:10px;padding:6px 9px}.hero h1{font-size:clamp(39px,7vw,58px)}}
@media(max-width:640px){
body .site-header .header-inner,html.is-scrolled body .site-header .header-inner{height:57px;min-height:57px}
.hero{padding-top:113px;padding-bottom:42px;gap:23px}.hero h1{font-size:clamp(39px,11.4vw,62px);margin-top:23px}.hero-description{margin-top:25px}.hero-actions{margin-top:24px}.hero-playground{height:290px;max-width:338px;margin-top:5px}.hero-playground .pet-v5{max-width:258px}.hero-fields span:first-child{right:0;top:13%}.hero-fields span:nth-child(2){left:0;bottom:16%}.hero-fields span:nth-child(3){bottom:7%;right:3%}
.portrait-circle{left:50%;translate:-50% 0;width:min(84%,295px);top:10%}.career-card li{font-size:13px}.colleague-note{padding:24px;flex-direction:column;align-items:flex-start}.colleague-note h3{font-size:22px}.colleague-note h3 br{display:none}.colleague-note .note-link{margin:0;min-height:44px}
.recommendation-byline{grid-template-columns:1fr}.recommendation-byline>div:nth-child(2) dd{white-space:normal}.knowledge-project{gap:15px}.knowledge-project .project-caption{padding:0 5px 11px}.knowledge-project .project-caption h3{font-size:28px}.knowledge-intro{padding-block:116px 60px;grid-template-columns:1fr;gap:28px}
.contact-section .contact-layout{grid-template-columns:1fr;gap:16px}.contact-section .qr-card{width:min(215px,100%);justify-self:center;padding:21px 26px}.contact-section .contact-pet{padding-right:0}.contact-pet .pet-v5 .pet-speech{right:0}.work-style{padding-block:44px 72px}
}
@media(min-width:1180px) and (max-height:720px){.case-page .brief-section{margin-top:13px}.case-page .case-value{margin-bottom:8px}.case-page .case-zoom-all{margin-top:13px}}
@media(prefers-reduced-motion:reduce){.pet-v5 .pet-svg,.pet-v5 .pet-turn,.pet-eyes{animation:none!important;transition:none!important;transform:none!important}.project-card:hover .project-media>img{transform:none}.roll-word{animation:none!important}}
@media print{.resume-item-title{display:inline;margin-right:.4em}.resume-advantage-list .resume-body{border:none;padding:0}.resume-list strong:first-child{background:none}.resume-contact-item .copy-v5{display:none!important}}
.hero-playground{align-self:center}
.hero:not(.in-view) .pet-svg{animation-play-state:paused}
.pet-v5.is-chat .pet-turn{transition-timing-function:cubic-bezier(.16,1,.3,1)}

.resume-contact-item .copy-symbol.copy-v5{margin-left:3px;flex:none}
.resume-contact-item>span.copy-v5{min-width:0}
@media(max-width:640px){.resume-page .resume-site-header nav{gap:2px}.resume-page .resume-site-header nav a{padding-inline:6px}.hero-playground{margin-top:0}.ability-visual.bento-logic .sheet-front{translate:24px 29px}}
