/* All personal-page presentation stays scoped to .cv-page. */
.cv-page{--cv-accent:#b9cbd3;--cv-faint:#858c91;--cv-line:#ffffff20;padding-top:74px}
.cv-page .section{padding:85px 0}.cv-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:end;padding:30px 0 70px}
.cv-intro h1{font-size:clamp(68px,7.5vw,108px);font-weight:700;letter-spacing:-.045em;line-height:1.15;margin:22px 0 35px}
.cv-intro h1>span{display:block;font-family:Arial,sans-serif;font-size:clamp(44px,5.2vw,74px);font-weight:300;letter-spacing:-.055em;color:#aeb5b9;margin-top:12px}.cv-intro h1 strong{font-weight:600;color:#f0f1ef}
.cv-direction{font-size:23px;margin:0 0 5px}.cv-direction>span{color:#747b80;padding:0 14px}.cv-direction-en{color:#8e969b;font-size:13px;letter-spacing:.04em;margin:0}
.cv-personal{margin:0 0 4px}.cv-personal>div{padding:20px 0;border-bottom:1px solid var(--cv-line)}.cv-personal dt{font-size:10px;letter-spacing:.11em;color:#969da2;margin-bottom:10px}.cv-personal dd{margin:0;font-size:17px}.cv-personal a{font-size:clamp(12px,1.5vw,19px);overflow-wrap:anywhere}.cv-personal a:hover{color:var(--cv-accent)}.cv-age{font-size:12px;border:1px solid #ffffff30;padding:5px 10px;margin-left:15px;white-space:nowrap}.cv-age b{font-size:16px;font-weight:500}
.cv-page .cv-section-nav{display:flex;gap:30px;margin:0;border-top:1px solid var(--cv-line);border-bottom:1px solid var(--cv-line);padding:21px 0;flex-wrap:wrap;justify-content:flex-start}.cv-section-nav a{font-size:12px;color:#aab1b5}.cv-section-nav a:after{display:none}.cv-section-nav a:hover{color:#fff}
.cv-section{display:grid;grid-template-columns:1fr 2.3fr;gap:65px}.cv-section-label>span{font-size:10px;letter-spacing:.13em;color:var(--cv-faint);display:block;margin-bottom:18px}.cv-page .cv-section-label h2{font-size:34px;font-weight:300;line-height:1.5;letter-spacing:-.04em;margin:0}.cv-section-label h2 strong{font-weight:650}.cv-timeline{border-left:1px solid #ffffff30;margin:0 0 0 8px;padding-left:35px}.cv-timeline-item{position:relative;padding:0 0 48px;display:grid;grid-template-columns:110px 1fr;gap:28px}.cv-timeline-item:last-child{padding-bottom:0}.cv-timeline-item:before{content:'';width:7px;height:7px;background:var(--cv-accent);border-radius:50%;position:absolute;left:-39px;top:8px;box-shadow:0 0 0 6px var(--paper)}.cv-date{font-size:12px;font-variant-numeric:tabular-nums;color:#9faab1;white-space:nowrap;padding-top:2px}.cv-timeline h3{font-size:23px;font-weight:500;margin:0 0 4px}.cv-school-en{font-size:12px;color:#8f989e;margin-bottom:20px}.cv-degree{font-size:15px;color:#d6dcdf;margin:0}.cv-degree span{display:block;font-size:12px;color:#929ca3;margin-top:2px}
.cv-cap-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.cv-cap-heading>p{color:#929ba1;font-size:12px;margin:0 0 5px;line-height:2}.cv-cap-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr);gap:65px;align-items:center;margin-top:38px}.cv-radar svg{display:block;width:100%;height:auto;overflow:visible}.cv-radar-grid polygon,.cv-radar-grid line{fill:none;stroke:#ffffff1d;stroke-width:1}.cv-radar-grid text{fill:#6e787f;font:10px Arial}.cv-radar-shape polygon{fill:#b9cbd322;stroke:#b9cbd3;stroke-width:2}.cv-radar-shape circle{fill:#c3d2d9}.cv-radar-shape{transform-origin:330px 270px;transition:transform 1.25s cubic-bezier(.2,.65,.25,1)}.cv-radar-ready:not(.cv-radar-entered) .cv-radar-shape{transform:scale(0)}.cv-radar-dimension{cursor:pointer;outline:none}.cv-radar-hit{fill:transparent}.cv-radar-point{fill:transparent;stroke:transparent;stroke-width:2;transition:fill .2s,stroke .2s}.cv-radar-cn{font-size:15px;fill:#c8ced1}.cv-radar-en{font:11px Arial;fill:#89959d}.cv-radar-ray{stroke:transparent;stroke-width:1.2}.cv-radar-dimension.is-highlighted text,.cv-radar-dimension:hover text,.cv-radar-dimension:focus-visible text{fill:#fff}.cv-radar-dimension.is-highlighted .cv-radar-point,.cv-radar-dimension:focus-visible .cv-radar-point{fill:#f0f5f7;stroke:#96b4c5}.cv-radar-dimension.is-highlighted .cv-radar-ray{stroke:#b9cbd369}.cv-radar-dimension:focus-visible .cv-radar-hit{stroke:#fff;stroke-dasharray:3 3}.cv-radar-scale{display:flex;justify-content:space-between;gap:15px;color:#879198;font-size:10px;padding:0 15px}
.cv-cap-detail{border-left:1px solid var(--cv-line);padding:22px 0 22px 34px}.cv-detail-label{font-size:10px;letter-spacing:.12em;color:#858e95}.cv-cap-detail h3{font:500 28px Arial;margin:22px 0 7px;letter-spacing:-.035em}.cv-cap-detail>[data-cap-cn]{color:#b2bec6;font-size:15px;margin:0}.cv-cap-score{display:flex;gap:12px;align-items:baseline;margin:18px 0}.cv-cap-score strong{font:300 90px Arial;letter-spacing:-.06em;color:#dce8ed}.cv-cap-score>span{color:#76838b;font-size:20px}.cv-cap-detail>[data-cap-note]{font-size:13px;line-height:1.9;color:#a8b3bb;min-height:52px;max-width:290px}.cv-related{display:flex;justify-content:space-between;gap:30px;background:none;border:0;border-bottom:1px solid #ffffff40;padding:12px 0;color:#e3eaee;font-size:12px;width:100%;text-align:left;margin:22px 0}.cv-related:hover{color:#fff;border-color:#fff}.cv-self-note{display:block;color:#8e979e;font-size:10px;line-height:1.9;margin:18px 0 0}
.cv-tools-content{min-width:0}.cv-tool-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--cv-line);padding-bottom:13px}.cv-tool-tabs button{background:transparent;border:0;color:#909da6;padding:10px 12px;font-size:12px;position:relative;white-space:nowrap}.cv-tool-tabs button[aria-selected=true]{color:#f6f8f9;background:#ffffff0a}.cv-tool-tabs button[aria-selected=true]:after{content:'';height:2px;background:var(--cv-accent);left:12px;right:12px;position:absolute;bottom:-14px}.cv-tool-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:28px 0 22px}.cv-tool-heading h3{font-size:18px;font-weight:500;margin:0}.cv-tool-heading p{font-size:10px;color:#88949d;margin:0}.cv-tools-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:38px;row-gap:24px;min-height:213px;align-content:start}.cv-tool{display:flex;gap:15px;align-items:center;padding:9px 0}.cv-tool-logo{width:46px;height:46px;display:grid;place-items:center;flex:none;background:#f5f5f2;border-radius:7px;padding:7px}.cv-tool-logo img{width:32px;height:32px;object-fit:contain;filter:grayscale(1);transition:filter .25s}.cv-tool:hover .cv-tool-logo img{filter:grayscale(0)}.cv-logo-text{font:600 12px Arial;color:#20252a;letter-spacing:-.03em}.cv-tool-body{min-width:0;flex:1}.cv-tool-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:13px;color:#d9dfe3}.cv-tool-score{font-variant-numeric:tabular-nums;font-size:16px;white-space:nowrap}.cv-tool-score small{color:#7e8b95;font-size:10px;margin-left:3px}.cv-meter{height:3px;background:#ffffff14;overflow:hidden}.cv-meter i{display:block;background:var(--cv-accent);height:100%;width:var(--level);transform-origin:left center}.cv-tool-context{color:#9aa6ae;font-size:12px;line-height:1.9;margin-top:22px;min-height:44px}
.cv-work-header{border-left:1px solid #ffffff40;padding:0 0 26px 25px;position:relative}.cv-work-header:before{content:'';position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--cv-accent)}.cv-work-header h3{font-size:25px;font-weight:500;line-height:1.65;margin:16px 0 10px}.cv-work-header p{color:#aab6be;font-size:13px}.cv-work-header p span{padding:0 9px;color:#6b7982}.cv-responsibilities{list-style:none;padding:0;margin:15px 0 0}.cv-responsibilities li{display:grid;grid-template-columns:35px 1fr;gap:18px;padding:25px 0;border-top:1px solid var(--cv-line)}.cv-work-number{font:11px Arial;color:#7f909c;padding-top:6px}.cv-responsibilities h4{font-size:19px;font-weight:500;margin:0 0 12px}.cv-responsibilities p{font-size:14px;line-height:1.95;color:#a3aeb6;margin:0;max-width:690px}
.cv-awards{list-style:none;margin:0;padding:0}.cv-awards li{display:grid;grid-template-columns:70px 1fr;gap:24px;border-bottom:1px solid var(--cv-line);padding:22px 0}.cv-awards li:first-child{padding-top:0}.cv-awards li[hidden]{display:none}.cv-awards time{font-size:12px;color:#8e9ba5;font-variant-numeric:tabular-nums;padding-top:4px}.cv-awards h3{font-size:18px;font-weight:500;line-height:1.6;margin:0 0 7px}.cv-awards p{color:#95a1aa;font-size:12px;margin:0}.cv-awards-toggle{color:#d5dfe5;border:1px solid #ffffff30;background:transparent;padding:11px 17px;font-size:12px;margin-top:28px}.cv-awards-toggle span{color:#9cabb5;padding-left:15px;font-size:11px}.cv-awards-toggle:hover{border-color:#d0dce4}
.cv-page .cv-contact{padding:90px 0 70px;border-bottom:0}.cv-page .cv-contact h2{font-size:clamp(38px,5.5vw,72px);font-weight:300;letter-spacing:-.05em;margin:20px 0}.cv-contact h2 strong{font-weight:650}.cv-contact-en{font:400 18px Arial;color:#929da5;margin-bottom:42px}.cv-contact-actions{display:flex;justify-content:space-between;align-items:center;gap:25px}.cv-email{font:clamp(18px,3vw,39px) Arial;letter-spacing:-.04em;overflow-wrap:anywhere}.cv-email>span{display:inline-block;margin-left:24px;color:#8395a2;transition:transform .25s}.cv-email:hover>span{transform:translate(3px,-3px)}.cv-copy{background:none;border:1px solid #ffffff35;color:#e1e8ec;padding:12px 18px;font-size:12px;white-space:nowrap}.cv-copy span{color:#8d9aa4;font-size:11px;margin-left:9px}.cv-copy:hover{border-color:#e1e8ec}.cv-copy-status{height:24px;color:#a8c4d4;font-size:12px;margin-top:17px}.cv-back{font-size:13px;display:inline-block;margin:0 0 70px;border-bottom:1px solid #ffffff40}.cv-contact-page{min-height:65vh}.cv-reveal-ready{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.cv-reveal-ready.cv-in-view{opacity:1;transform:none}
@media(max-width:1000px){.cv-intro{gap:35px;grid-template-columns:1fr 1fr}.cv-section{grid-template-columns:1fr 2fr;gap:35px}.cv-cap-layout{gap:30px}.cv-cap-detail{padding-left:25px}.cv-cap-detail h3{font-size:24px}.cv-tools-list{grid-template-columns:1fr;min-height:0}.cv-timeline-item{grid-template-columns:1fr;gap:12px}.cv-tool-heading{display:block}.cv-tool-heading p{margin-top:5px}}
@media(max-width:650px){.cv-page{padding-top:30px}.cv-intro{grid-template-columns:1fr;gap:35px;padding:18px 0 40px}.cv-intro h1{font-size:68px}.cv-intro h1>span{font-size:47px}.cv-direction{font-size:20px}.cv-personal a{font-size:17px}.cv-page .cv-section-nav{gap:18px;padding:18px 0;justify-content:flex-start}.cv-page .section{padding:54px 0}.cv-section{grid-template-columns:1fr;gap:32px}.cv-page .cv-section-label h2{font-size:30px}.cv-timeline{padding-left:26px}.cv-timeline-item:before{left:-30px}.cv-cap-heading{display:block}.cv-cap-heading>p{margin-top:20px}.cv-cap-layout{grid-template-columns:1fr;margin-top:15px;gap:24px}.cv-radar svg{width:100%}.cv-cap-detail{display:grid;grid-template-columns:1fr auto;border-left:0;border-top:1px solid var(--cv-line);padding:24px 0 0}.cv-detail-label{grid-column:1/-1}.cv-cap-detail h3{margin:15px 0 8px}.cv-cap-detail>[data-cap-cn]{grid-column:1}.cv-cap-score{grid-column:2;grid-row:2/4;margin:8px 0}.cv-cap-score strong{font-size:58px}.cv-cap-detail>[data-cap-note],.cv-cap-detail .cv-related,.cv-cap-detail .cv-self-note{grid-column:1/-1}.cv-cap-detail>[data-cap-note]{margin-top:16px;min-height:0;max-width:100%}.cv-radar-scale{font-size:9px;padding:0;gap:8px}.cv-tool-tabs{gap:0}.cv-tool-tabs button{padding:10px 9px;font-size:11px}.cv-tools-list{grid-template-columns:1fr;gap:12px}.cv-work-header h3{font-size:21px}.cv-work-header p{font-size:12px}.cv-responsibilities li{grid-template-columns:24px 1fr;gap:10px}.cv-responsibilities h4{font-size:17px}.cv-responsibilities p{font-size:13px}.cv-awards li{grid-template-columns:58px 1fr;gap:16px}.cv-awards h3{font-size:16px}.cv-contact-actions{align-items:flex-start;flex-direction:column}.cv-email{font-size:clamp(17px,4.8vw,28px)}.cv-email>span{margin-left:10px}.cv-contact-en{font-size:15px}}
@media(prefers-reduced-motion:reduce){.cv-page *, .cv-page *:before,.cv-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cv-reveal-ready{opacity:1;transform:none}.cv-radar-ready .cv-radar-shape{transform:none!important}}
@media(max-width:600px){.cv-page .cv-radar-cn{font-size:21px}.cv-page .cv-radar-en{font-size:15px}}
