/* Personal editorial portfolio: portrait, capability index, alternating case spreads. */
.resume-page{--ink:#242821;--muted:#5c6258;--line:#d5d7cc;--paper:#fafaf6;--folio:#59634f;--sage:#e9eddf;--dark:#232923;--editorial:"PingFang SC","Helvetica Neue",Arial,"Microsoft YaHei",sans-serif;--td-text-color-primary:var(--ink);--td-text-color-secondary:var(--muted);--td-brand-color:var(--folio);--td-icon-size:24px;background:var(--paper);color:var(--ink);font-family:var(--editorial);font-weight:400}
.resume-page .wrap{width:min(1200px,calc(100% - 112px))}
.resume-page [id]{scroll-margin-top:0}
.resume-page h1,.resume-page h2,.resume-case h3{font-family:var(--editorial);font-weight:400;letter-spacing:-.025em;text-wrap:balance}
.resume-page .eyebrow{color:var(--folio);font-size:11px;letter-spacing:.12em;line-height:1.6}
.resume-page .topbar{background:var(--paper);padding:22px 4.1%;border-bottom:1px solid var(--line)}
.resume-signature{font-size:16px;font-weight:750;letter-spacing:.04em;line-height:1.2}
.resume-signature span{display:block;font-size:8px;letter-spacing:.14em;font-weight:500;margin-top:6px;color:var(--muted)}
.resume-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(36px,7vw,100px);align-items:center;padding-block:70px 60px;min-height:650px}
.resume-hero h1{font-size:clamp(44px,5.6vw,80px);line-height:1.08;margin:22px 0 28px;max-width:15ch}
html[lang^=zh] .resume-hero h1{font-size:clamp(40px,5.1vw,70px);line-height:1.24;max-width:10em}
.resume-position{font-size:clamp(16px,1.6vw,21px);font-weight:650;margin-bottom:15px}
.resume-lead{font-size:17px;line-height:1.9;max-width:57ch}
.resume-credentials{color:var(--muted);font-size:12px;line-height:1.9;margin-top:19px;max-width:63ch}
.resume-portrait{margin:0;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.resume-portrait>img{display:block;width:100%;height:auto;max-height:570px;aspect-ratio:4/5;object-fit:cover;object-position:center 35%}
.resume-portrait figcaption{text-align:right;letter-spacing:.08em;font-size:10px}
.resume-portrait-art{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/5;max-height:510px;background:transparent;container-type:inline-size}
.resume-portrait-type{position:absolute;inset:auto 3% 1%;display:flex;flex-direction:column;align-items:flex-start;color:#fff;font-family:Arial,"Helvetica Neue",sans-serif;font-size:24cqw;font-weight:900;letter-spacing:-.065em;line-height:.91;white-space:nowrap;text-shadow:0 1px 4px rgba(40,45,40,.25)}
.resume-portrait-type span:nth-child(3){margin-top:.07em}
.resume-portrait-art img{position:absolute;inset:auto 0 0;width:100%;height:auto;display:block;z-index:1;filter:grayscale(1);transition:opacity .45s ease}
.resume-portrait-art:hover img,.resume-portrait-art:focus-visible img{opacity:.15}
@media(prefers-reduced-motion:reduce){.resume-portrait-art img{transition:none}}
@media(max-width:760px){.resume-portrait-art{max-height:none}}
.resume-actions{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:28px}
.resume-actions .text-link{display:inline-flex;gap:9px;align-items:center;min-height:44px}
.resume-page .resume-icon-inline{width:var(--td-icon-size);height:var(--td-icon-size);font-size:var(--td-icon-size);border:0;border-radius:0;background:none;color:inherit;flex-shrink:0}
.resume-capabilities{padding-block:22px 74px}
.resume-capabilities>h2{font-family:inherit;font-size:12px;font-weight:550;line-height:1.5;letter-spacing:.08em;color:var(--muted);margin-bottom:25px}
.resume-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.resume-capability{border-top:1px solid var(--line);padding-top:24px;display:block}
.resume-capability .resume-icon-inline{--td-icon-size:34px;color:var(--td-brand-color);margin-bottom:16px}
.resume-capability h3{font-size:18px;font-weight:600;margin-bottom:10px}
.resume-capability p{font-size:13px;color:var(--muted);line-height:1.8;max-width:27ch}
.resume-capability:hover h3{text-decoration:underline;text-underline-offset:5px}
.resume-contents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}
.resume-contents a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;padding:24px 20px;align-content:start}
.resume-contents a:first-child{padding-left:0}
.resume-contents a+a{border-left:1px solid var(--line)}
.resume-contents strong{font-size:13px;font-weight:550;line-height:1.7}
.resume-contents small,.resume-contents a>span{color:var(--folio);font-size:11px;font-variant-numeric:tabular-nums}
.resume-contents small{grid-column:2;margin-top:7px}
.resume-contents a:hover{background:var(--sage)}
.resume-chapter{padding-top:100px}
.resume-chapter-head{display:grid;grid-template-columns:100px minmax(0,1fr);gap:38px;padding:0 0 70px;max-width:1000px}
.resume-folio{font:90px/.95 var(--editorial);color:var(--folio);font-variant-numeric:lining-nums}
.resume-chapter h2,.resume-manifesto h2{font-size:clamp(34px,4.4vw,58px);line-height:1.23;margin:12px 0 24px}
.resume-chapter-deck{font-size:17px;line-height:1.9;color:var(--muted);max-width:67ch}
.resume-case{position:relative;padding-block:80px 100px;border-top:1px solid var(--line)}
.resume-case h3{font-size:clamp(30px,3.4vw,46px);line-height:1.3;margin:17px 0 22px;max-width:28ch}
html[lang^=zh] .resume-case h3{max-width:22em}
.resume-tags{display:flex;gap:7px 12px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 34px}
.resume-tags li{font-size:11px;font-weight:550;line-height:1.6;border-left:2px solid var(--folio);padding:0 8px;color:var(--folio)}
.resume-case-body{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:56px;align-items:start}
.resume-case-text{min-width:0}
.resume-case-decision{font-size:18px;line-height:1.85;max-width:64ch}
.resume-case dl{margin:28px 0 0;display:grid;gap:7px}
.resume-case dt{font-size:11px;font-weight:650;color:var(--folio);letter-spacing:.05em}
.resume-case dd{margin:0 0 16px;font-size:14px;line-height:1.9;color:var(--muted)}
.resume-case-note{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.8}
.resume-case-note summary,.resume-career summary{cursor:pointer;min-height:30px}
.resume-case-note p{padding:8px 0 0;max-width:66ch}
.resume-case .text-link{display:inline-block;margin-top:8px;border-color:var(--line)}
.resume-evidence{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;align-items:start}
.resume-evidence figure,.resume-method{margin:0;min-width:0}
.resume-page figcaption{font-size:11px;color:var(--muted);line-height:1.7;padding-top:12px}
.resume-evidence a,.resume-method a{position:relative;display:block;overflow:hidden;cursor:zoom-in}
.resume-evidence a,.resume-evidence video{background:var(--sage)}
.resume-evidence img,.resume-evidence video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.resume-evidence [data-image-preview] .resume-icon-inline,.resume-method .resume-icon-inline{position:absolute;bottom:10px;right:10px;display:grid;place-items:center;width:40px;height:40px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.resume-evidence figure:only-child{grid-column:1/-1}
.resume-case--spread .resume-case-body,.resume-case--gallery .resume-case-body,#case-studio .resume-case-body,#case-evaluation .resume-case-body,#case-fusion .resume-case-body,#case-fit .resume-case-body{grid-template-columns:minmax(0,1fr);gap:50px}
.resume-case--spread .resume-case-text,.resume-case--gallery .resume-case-text,#case-studio .resume-case-text,#case-evaluation .resume-case-text,#case-fusion .resume-case-text,#case-fit .resume-case-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 72px}
.resume-case--spread dl,.resume-case--gallery dl,#case-studio dl,#case-evaluation dl,#case-fusion dl,#case-fit dl{margin-top:0}
.resume-case--spread .resume-case-note,.resume-case--gallery .resume-case-note,#case-studio .resume-case-note,#case-evaluation .resume-case-note,#case-fusion .resume-case-note,#case-fit .resume-case-note{grid-column:2}
.resume-case--spread .resume-evidence{grid-template-columns:1.25fr 1fr}
.resume-case--spread .resume-evidence img,.resume-case--spread .resume-evidence video{aspect-ratio:16/10}
#case-hunyuan .resume-evidence figure:nth-child(2){margin-top:90px}
#case-hunyuan .resume-evidence img{aspect-ratio:16/9}
#case-studio .resume-evidence{grid-template-columns:1.6fr .65fr;align-items:center}
#case-studio .resume-evidence img{aspect-ratio:auto}
#case-evaluation .resume-evidence img{aspect-ratio:16/10;object-position:top}
/* Featured stories alternate the media and narrative sides, as in an editorial spread. */
.resume-case--feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:min-content 1fr;gap:0 70px;align-items:start}
.resume-case--feature>.resume-case-body{display:contents}
.resume-case--feature>header{grid-column:2;grid-row:1}
.resume-case--feature .resume-case-text{grid-column:2;grid-row:2}
.resume-case--feature .resume-evidence{grid-column:1;grid-row:1 / span 2;align-self:center}
.resume-case--feature h3{font-size:clamp(29px,3vw,41px)}
.resume-case--reverse>header,.resume-case--reverse .resume-case-text{grid-column:1}
.resume-case--reverse .resume-evidence{grid-column:2}
.resume-case--dark{--ink:#f6f6ef;--muted:#c2c9bd;--folio:#cbd5bc;--line:#4b5548;--paper:#232923;--sage:#323c31;background:var(--paper);color:var(--ink);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax);border:0;padding-block:90px;margin-block:25px 40px}
#case-infinite-goose{--paper:#080a09;--sage:#080a09;--line:#454d45}
#case-infinite-goose .resume-evidence video{background:#080a09;object-fit:contain;aspect-ratio:16/9}
#case-workbuddy .resume-evidence img{aspect-ratio:auto}
#case-hardware .resume-evidence{grid-template-columns:minmax(0,1fr)}
#case-hardware .resume-evidence figure:first-child{width:83%}
#case-hardware .resume-evidence figure:last-child{width:80%;margin-top:-38px;justify-self:end;background:var(--paper);padding:12px 0 0 12px;z-index:1}
#case-hardware .resume-evidence figure:first-child img{aspect-ratio:4/5}
#case-hardware .resume-evidence figure:last-child img{aspect-ratio:16/10;object-position:center 35%}
#case-buddio .resume-evidence img,#case-buddio .resume-evidence video{aspect-ratio:4/5}
#case-buddio .resume-evidence img{object-position:center 24%}
#case-remit .resume-evidence,#case-timi .resume-evidence{grid-template-columns:1fr}
#case-remit .resume-evidence img{aspect-ratio:auto}
#case-timi .resume-evidence figure:last-child{width:84%;justify-self:end}
#case-timi .resume-evidence img{aspect-ratio:16/10}
#case-fusion .resume-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}
#case-fusion .resume-evidence figure:first-child{grid-column:1/-1;width:86%}
#case-fusion .resume-evidence figure:first-child img{aspect-ratio:auto}
#case-fusion .resume-evidence figure:nth-child(4){grid-column:1/-1;width:65%;justify-self:end}
#case-fit .resume-evidence{grid-template-columns:.44fr 1fr;gap:65px;align-items:center}
#case-fit .resume-evidence img{aspect-ratio:auto}
.resume-case--gallery .resume-evidence{grid-template-columns:1.3fr 1fr 1fr}
.resume-case--gallery .resume-evidence img{aspect-ratio:4/5}
#case-ip .resume-evidence figure:nth-child(2){margin-top:65px}
#case-ip .resume-evidence figure:nth-child(3){margin-top:130px}
#case-ip .resume-evidence figure:last-child{grid-column:1/-1;width:75%;margin-top:15px}
#case-ip .resume-evidence figure:last-child img{aspect-ratio:auto}
#case-publishing .resume-evidence img{aspect-ratio:3/4;object-position:top}
#case-publishing .resume-evidence figure:last-child{margin-top:65px}
.resume-career{border-block:1px solid var(--line);padding-block:24px;margin-block:20px 100px}
.resume-career summary{font-size:18px;font-weight:550}
.resume-career p{color:var(--muted)}
.resume-timeline{padding:0;list-style:none}
.resume-manifesto{padding-block:45px 80px}
.resume-manifesto h2{font-size:clamp(40px,5vw,70px)}
.resume-taste{font-family:var(--editorial);font-size:clamp(27px,4vw,50px);line-height:1.6;max-width:29ch;margin:25px 0}
.resume-method-intro{font-size:17px;line-height:1.9;max-width:66ch;color:var(--muted);margin-bottom:65px}
.resume-manifesto h3{font-size:18px;font-weight:550}
.resume-strategy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:0;margin:24px 0 55px;counter-reset:strategy}
.resume-strategy li{border-top:1px solid var(--line);padding-top:20px;counter-increment:strategy}
.resume-strategy li::before{content:"0" counter(strategy);font:32px/1.2 var(--editorial);color:var(--folio)}
.resume-strategy h4{font-size:16px;line-height:1.65;margin:18px 0 10px}
.resume-strategy p{font-size:14px;color:var(--muted);line-height:1.9}
.resume-method-plates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.resume-method img{display:block;width:100%;height:auto}
.resume-statement{padding:70px;margin-bottom:60px;background:var(--sage)}
.resume-statement-line{font-family:var(--editorial);font-size:clamp(30px,4.4vw,61px);line-height:1.3;letter-spacing:-.025em;margin:22px 0;text-wrap:balance}
.resume-statement p:last-child{max-width:62ch;color:var(--muted);font-size:16px}
.resume-footer{border-top:1px solid var(--line);margin-top:0}
.resume-preview{max-width:min(1400px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.resume-preview::backdrop{background:#18211ce6}
.resume-preview-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:10px 14px;font-size:13px}
.resume-preview-bar form{display:flex;gap:6px}
.resume-preview-bar button{min-height:44px;padding:6px 12px;border:1px solid var(--line);background:var(--paper)}
.resume-preview-bar button[aria-pressed=true]{background:var(--sage)}
.resume-preview-media{max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain}
.resume-preview img{display:block;max-width:100%;max-height:calc(100dvh - 120px);height:auto;margin:auto;object-fit:contain}
.resume-preview-media[data-full-size] img{max-width:none;max-height:none;margin:0}
.resume-evidence .resume-demo-link{cursor:pointer}
.resume-demo-link span{position:absolute;right:10px;bottom:10px;padding:9px 13px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:12px;font-weight:600}
.resume-demo-link:hover span{background:var(--sage)}
@media(max-width:1000px){
 .resume-page .wrap{width:calc(100% - 64px)}
 .resume-hero{gap:40px;min-height:0}
 .resume-case--feature{gap:0 36px}
 .resume-case-body,.resume-case--spread .resume-case-text,.resume-case--gallery .resume-case-text,#case-studio .resume-case-text,#case-evaluation .resume-case-text,#case-fusion .resume-case-text,#case-fit .resume-case-text{column-gap:36px}
 .resume-capability-grid{gap:22px}
}
@media(max-width:760px){
 .resume-page .wrap{width:calc(100% - 40px)}
 .resume-page .topbar{padding:18px 20px}
 .resume-signature{font-size:13px}.resume-signature span{font-size:7px}
 .resume-hero{grid-template-columns:1fr;gap:12px;padding-block:50px 45px}
 .resume-hero-copy{grid-row:1}
 .resume-hero h1{font-size:clamp(42px,8.4vw,66px);max-width:18ch}
 html[lang^=zh] .resume-hero h1{font-size:clamp(39px,7.8vw,61px)}
 .resume-portrait{width:100%;max-width:480px;justify-self:center}
 .resume-portrait-art{aspect-ratio:1/1}
 .resume-portrait>img{max-height:none;aspect-ratio:4/5}
 .resume-lead{font-size:16px}.resume-credentials{font-size:12px}
 .resume-capabilities{padding-bottom:50px}
 .resume-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
 .resume-capability h3{font-size:17px}.resume-capability p{font-size:13px}
 .resume-contents a{padding:18px 12px;display:flex;flex-direction:column;gap:5px}.resume-contents strong{font-size:12px}
 .resume-chapter{padding-top:65px}.resume-chapter-head{grid-template-columns:45px minmax(0,1fr);gap:20px;padding-bottom:40px}.resume-folio{font-size:47px}
 .resume-chapter h2{font-size:34px}.resume-chapter-deck{font-size:15px}
 .resume-case{padding-block:55px 65px}.resume-case--feature{display:block}.resume-case--feature>.resume-case-body{display:flex;flex-direction:column;gap:32px}
 .resume-case h3,.resume-case--feature h3{font-size:32px}.resume-tags{margin-bottom:24px}
 .resume-case .resume-case-body,.resume-case--spread .resume-case-text,.resume-case--gallery .resume-case-text,#case-studio .resume-case-text,#case-evaluation .resume-case-text,#case-fusion .resume-case-text,#case-fit .resume-case-text{grid-template-columns:1fr;gap:20px}
 .resume-case .resume-case-note{grid-column:1}.resume-case .resume-evidence{width:100%;gap:24px 14px}
 .resume-case-decision{font-size:17px}.resume-case dd{font-size:14px}
 .resume-case--feature .resume-evidence{order:2}.resume-case--dark{padding-block:55px}
 #case-hardware .resume-evidence{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 #case-hardware .resume-evidence figure:first-child,#case-hardware .resume-evidence figure:last-child{width:100%;padding:0;margin:0}
 #case-hardware .resume-evidence figure img{aspect-ratio:4/5}
 #case-hunyuan .resume-evidence{grid-template-columns:1fr}#case-hunyuan .resume-evidence figure:nth-child(2){margin-top:0;width:87%;justify-self:end}
 #case-studio .resume-evidence{grid-template-columns:1fr}#case-studio .resume-evidence figure:last-child{width:75%;justify-self:end}
 #case-fit .resume-evidence{grid-template-columns:.5fr 1fr;gap:22px}
 #case-fusion .resume-evidence figure:first-child,#case-fusion .resume-evidence figure:nth-child(4){width:100%}
 .resume-case--gallery .resume-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}
 #case-ip .resume-evidence figure:first-child{grid-column:1/-1;width:85%}
 #case-ip .resume-evidence figure:nth-child(2),#case-ip .resume-evidence figure:nth-child(3){margin-top:0}
 #case-ip .resume-evidence figure:last-child{width:100%;margin-top:0}
 #case-publishing .resume-evidence{max-width:480px;align-self:center}
 .resume-career{margin-bottom:60px}.resume-manifesto{padding-block:20px 55px}
 .resume-method-plates{grid-template-columns:1fr}.resume-strategy{grid-template-columns:1fr;gap:25px}.resume-strategy li{padding-top:18px}
 .resume-method-intro{font-size:16px;margin-bottom:40px}.resume-statement{padding:32px 24px}.resume-statement p:last-child{font-size:14px}
}
@media(max-width:380px){.resume-signature span{display:none}.resume-page .header-actions{gap:8px}.resume-page .topbar{gap:12px}.resume-evidence{grid-template-columns:1fr}.resume-contents strong{font-size:11px}.resume-hero h1,html[lang^=zh] .resume-hero h1{font-size:38px}.resume-case h3,.resume-case--feature h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.resume-page{background:white}.resume-page .wrap{width:100%}.resume-case--dark{box-shadow:none;clip-path:none;padding:24px;print-color-adjust:exact}.resume-case figure,.resume-portrait,.resume-manifesto li{break-inside:avoid}.resume-case h3,.resume-chapter h2{break-after:avoid}.resume-actions,.resume-preview,.resume-evidence .resume-icon-inline{display:none}.resume-case{padding-block:35px}.resume-chapter{padding-top:35px}.resume-hero{min-height:0}}
/* The cover is Billie's original photography; the portrait begins the personal introduction. */
.resume-photo-banner{position:relative;min-height:510px;height:clamp(430px,42vw,680px);display:flex;align-items:center;background:#303a3a;color:#fff;isolation:isolate}
.resume-photo-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2}
.resume-photo-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,26,26,.68),rgba(15,26,26,.25) 47%,rgba(15,26,26,.05) 75%),linear-gradient(0deg,rgba(15,26,26,.33),transparent 32%);z-index:-1}
.resume-banner-copy{padding-block:50px}
.resume-photo-banner .eyebrow{color:#f0f3e9;margin-bottom:28px}
.resume-photo-banner h1{font-size:clamp(40px,4.6vw,66px);line-height:1.22;max-width:16ch;letter-spacing:-.035em;margin:0 0 26px}
html[lang^=en] .resume-photo-banner h1{max-width:22ch}
html[lang^=zh] .resume-photo-banner h1{font-size:clamp(39px,4.7vw,68px);max-width:9em;line-height:1.3}
.resume-banner-copy>p:last-child{font-size:15px;letter-spacing:.04em;color:#edf1e9}
.resume-page .resume-position,.resume-page .resume-capability h3,.resume-page .resume-signature,.resume-page .resume-case dt,.resume-page .resume-tags li{font-weight:500}
.resume-photo-credit{position:absolute;right:4.2%;bottom:22px;font-size:10px;letter-spacing:.08em;color:#fff}
.resume-hero{padding-block:90px 65px;min-height:0;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr)}
.resume-hero h2{font-size:clamp(35px,3.8vw,53px);line-height:1.28;margin:18px 0 24px;max-width:18ch}
.resume-portrait>img{max-height:510px}
@media(max-width:760px){.resume-photo-banner{height:480px;min-height:0;align-items:flex-end}.resume-photo-banner>img{object-position:50% center}.resume-photo-banner::after{background:linear-gradient(0deg,rgba(15,26,26,.85),rgba(15,26,26,.35) 65%,rgba(15,26,26,.08))}.resume-banner-copy{padding-block:40px 70px}.resume-photo-banner h1{font-size:clamp(36px,7vw,52px);max-width:18ch}.resume-photo-banner .eyebrow{margin-bottom:16px}.resume-photo-credit{right:20px;bottom:18px;font-size:9px}.resume-banner-copy>p:last-child{font-size:13px}.resume-hero{grid-template-columns:1fr;padding-block:60px 40px}.resume-hero h2{font-size:36px}.resume-portrait>img{max-height:none}}
@media print{.resume-photo-banner{height:350px;min-height:0;print-color-adjust:exact}.resume-hero{padding-block:35px}}
/* WorkBuddy hardware: original interface plate leads; the isolated hand crosses its frame. */
#case-hardware{--paper:#11110e;--sage:#1c1c15;--line:#635a22;--folio:#f3d641;--muted:#c9c6b6;--ink:#f9f7e9}
#case-hardware h3{color:#f6df50}
#case-hardware .resume-evidence{position:relative;display:block;padding:16px 28px 70px 0;align-self:center}
#case-hardware .resume-evidence figure:last-child{width:100%;margin:0;padding:0;background:transparent}
#case-hardware .resume-evidence figure:last-child a{border:1px solid #6a5d22;background:#171713}
#case-hardware .resume-evidence figure:last-child img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
#case-hardware .resume-evidence figure:first-child{position:absolute;z-index:2;width:45%;right:-20px;top:clamp(150px,25vw,300px);filter:drop-shadow(0 18px 18px #0009)}
#case-hardware .resume-evidence figure:first-child a{background:transparent;overflow:visible}
#case-hardware .resume-evidence figure:first-child img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
#case-hardware .resume-evidence figure:first-child figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#case-hardware .resume-evidence figure:first-child .resume-icon-inline{bottom:18%;right:5%;background:#f3d641;color:#11110e;border-color:#f3d641}
#case-hardware .resume-evidence figure:last-child figcaption{max-width:55%;color:var(--muted)}
@media(max-width:760px){#case-hardware .resume-evidence{display:block;padding:0 18px 54px 0}#case-hardware .resume-evidence figure:first-child{position:absolute;width:43%;right:-8px;top:26%;bottom:auto;margin:0;padding:0}#case-hardware .resume-evidence figure:last-child{width:100%;margin:0;padding:0}#case-hardware .resume-evidence figure:last-child img,#case-hardware .resume-evidence figure:first-child img{aspect-ratio:auto}#case-hardware .resume-evidence figure:last-child figcaption{max-width:58%}}
/* The hardware photograph sits beneath the explanatory copy. */
#case-hardware .resume-evidence{padding:16px 0 0}
#case-hardware .resume-hardware-highlights{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:8px;color:var(--muted);font-size:13px;line-height:1.65}
#case-hardware .resume-hardware-highlights li{padding-left:14px;border-left:2px solid var(--folio)}
#case-hardware .resume-evidence figure + figure{margin-top:24px}
#case-hardware .resume-evidence figure:last-child figcaption{max-width:none}
#case-hardware .resume-evidence figure:first-child{position:static;width:100%;margin:0;padding:0;filter:none}
#case-hardware .resume-evidence figure:first-child a{overflow:hidden;background:#171713}
#case-hardware .resume-evidence figure:first-child img{width:100%;height:auto;aspect-ratio:auto}
#case-hardware .resume-evidence figure:first-child figcaption{position:static;width:auto;height:auto;overflow:visible;clip-path:none;max-width:none}
#case-hardware .resume-evidence figure:first-child .resume-icon-inline{bottom:9px;right:9px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.resume-hardware-hand{width:min(72%,330px);margin:32px auto 0}
.resume-hardware-hand figure{margin:0}
.resume-hardware-hand a{position:relative;display:block}
.resume-hardware-hand img{width:100%;height:auto;display:block;filter:drop-shadow(0 16px 20px #0009)}
.resume-hardware-hand .resume-icon-inline{position:absolute;bottom:10%;right:3%;display:grid;place-items:center;width:40px;height:40px;background:#f3d641;color:#11110e;border:1px solid #f3d641}
.resume-hardware-hand figcaption{color:var(--muted)}
@media(max-width:760px){#case-hardware .resume-evidence{padding:0}#case-hardware .resume-evidence figure:first-child{position:static;width:100%;margin:0;padding:0}#case-hardware .resume-evidence figure:first-child figcaption{max-width:none}.resume-hardware-hand{width:min(66%,260px);margin-top:28px}}
.resume-career h2{font-size:clamp(28px,3.5vw,44px);line-height:1.3;margin:18px 0}
.resume-career>p{font-size:14px;line-height:1.8}
.resume-distinctions{border-top:1px solid var(--line);padding:32px 0 12px;max-width:75ch}
.resume-distinctions h3{font-size:18px;font-weight:500;margin-bottom:14px}
.resume-distinctions p{font-size:14px;line-height:1.85}
.resume-distinctions .resume-distinction-note{font-size:12px;margin-top:10px}
/* Closing brand statement echoes the photographic opening. */
.resume-statement{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(420px,43vw,600px);padding:0;margin:0 0 60px;background:#303936;color:#fff;overflow:hidden}
.resume-statement-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.resume-statement::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,25,24,.77),rgba(17,25,24,.48) 46%,rgba(17,25,24,.12) 100%);z-index:-1}
.resume-statement-copy{padding-block:80px}
.resume-statement .eyebrow{color:#e3e9df}
.resume-statement-line{font-family:var(--editorial);font-weight:400;color:#fff;max-width:15em}
.resume-statement .resume-statement-copy p:last-of-type{max-width:52ch;color:#edf1ec;font-size:16px;line-height:1.9}
.resume-statement-signature{display:block;width:clamp(100px,11vw,145px);height:auto;margin-top:26px;filter:brightness(0) invert(1);opacity:.88}
@media(max-width:760px){.resume-statement{min-height:410px;margin-bottom:36px}.resume-statement-image{object-position:65% center}.resume-statement::before{background:linear-gradient(90deg,rgba(17,25,24,.83),rgba(17,25,24,.35))}.resume-statement-copy{padding-block:60px}.resume-statement .resume-statement-copy p:last-of-type{font-size:14px}.resume-statement-signature{width:100px;margin-top:20px}}
@media print{.resume-statement{print-color-adjust:exact}}
.resume-photo-particles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.resume-banner-copy,.resume-photo-credit{position:relative;z-index:1}
.resume-photo-credit{position:absolute}
@media(prefers-reduced-motion:reduce){.resume-photo-particles{display:none}}
@media(max-width:760px){.resume-statement-image{object-position:85% center}}
/* Consistent editorial rhythm and media alignment. */
.resume-capability{border-top:0;padding-top:0}
.resume-contents{border:0;border-top:1px solid var(--line)}
.resume-contents a+a{border-left:0}
.resume-chapter{padding-top:clamp(72px,8vw,110px)}
.resume-case{border-top:0;padding-block:clamp(56px,6vw,82px)}
.resume-case-note{margin-top:8px}
.resume-case--spread .resume-case-body,.resume-case--gallery .resume-case-body,#case-studio .resume-case-body,#case-evaluation .resume-case-body,#case-fusion .resume-case-body,#case-fit .resume-case-body{gap:36px}
.resume-case--spread .resume-evidence,#case-studio .resume-evidence,#case-evaluation .resume-evidence{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.resume-evidence{gap:24px 20px}
.resume-evidence img,.resume-evidence video,.resume-case--spread .resume-evidence img,.resume-case--spread .resume-evidence video,#case-hunyuan .resume-evidence img,#case-studio .resume-evidence img,#case-evaluation .resume-evidence img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#e9ede6}
.resume-case--dark .resume-evidence img,.resume-case--dark .resume-evidence video{background:#171a16}
#case-hunyuan .resume-evidence figure:nth-child(2),#case-ip .resume-evidence figure:nth-child(2),#case-ip .resume-evidence figure:nth-child(3),#case-publishing .resume-evidence figure:last-child{margin-top:0}
#case-fusion .resume-evidence figure:first-child,#case-fusion .resume-evidence figure:nth-child(4){width:100%}
#case-fit .resume-evidence{gap:24px;align-items:start}
#case-ip .resume-evidence figure:last-child{width:100%;margin-top:0}
#case-infinite-goose .resume-evidence video{aspect-ratio:16/9;background:#080a09}
#case-buddio .resume-evidence img,#case-buddio .resume-evidence video{aspect-ratio:4/5;object-fit:cover}
#case-hardware .resume-evidence figure:first-child img{height:auto;aspect-ratio:auto}
#case-timi .resume-evidence figure:last-child{width:100%}
.resume-career{border:0;padding-block:0;margin-block:60px 90px}
.resume-strategy li{border-top:0;padding-top:0}
.resume-distinctions{border-top:0;padding-top:26px}
@media(max-width:760px){
 .resume-capability-grid{gap:28px 20px}
 .resume-contents{gap:16px;padding-top:20px}
 .resume-contents a{padding:0;min-width:0}
 .resume-contents a:first-child{padding:0}
 .resume-chapter{padding-top:65px}
 .resume-chapter-head{padding-bottom:26px}
 .resume-case{padding-block:45px 55px}
 .resume-case--dark{padding-block:55px}
 .resume-case .resume-case-body{gap:26px}
 .resume-case--spread .resume-evidence,#case-studio .resume-evidence,#case-evaluation .resume-evidence{grid-template-columns:1fr}
 #case-hunyuan .resume-evidence figure:nth-child(2),#case-studio .resume-evidence figure:last-child{width:100%;margin-top:0}
 #case-ip .resume-evidence figure:first-child{width:100%}
 #case-ip .resume-evidence figure:nth-child(2),#case-ip .resume-evidence figure:nth-child(3){margin-top:0}
 .resume-career{margin-block:45px 65px}
 .resume-strategy{gap:30px}
}
/* A quieter typographic scale keeps the work and photography in focus. */
.resume-page{--td-icon-size:20px}
.resume-photo-banner h1,html[lang^=zh] .resume-photo-banner h1{font-size:clamp(36px,4vw,58px)}
.resume-hero h2{font-size:clamp(31px,3.3vw,45px)}
.resume-position{font-size:clamp(16px,1.4vw,19px)}
.resume-lead{font-size:16px}
.resume-capability .resume-icon-inline{--td-icon-size:27px;margin-bottom:13px}
.resume-capability h3{font-size:16px}
.resume-folio{font-size:clamp(50px,6vw,76px)}
.resume-chapter h2{font-size:clamp(30px,3.8vw,50px)}
.resume-chapter-deck{font-size:16px}
.resume-case h3{font-size:clamp(27px,3vw,40px)}
.resume-case--feature h3{font-size:clamp(27px,2.65vw,36px)}
.resume-case-decision{font-size:16px}
.resume-manifesto h2{font-size:clamp(34px,4.2vw,58px)}
.resume-taste{font-size:clamp(24px,3.4vw,43px)}
.resume-method-intro{font-size:16px}
.resume-strategy li::before{font-size:27px}
.resume-career h2{font-size:clamp(27px,3vw,39px)}
.resume-statement-line{font-size:clamp(28px,3.9vw,53px)}
.resume-page .resume-evidence [data-image-preview] .resume-icon-inline,.resume-page .resume-method .resume-icon-inline,.resume-hardware-hand .resume-icon-inline{font-size:19px}
@media(max-width:760px){
 .resume-photo-banner h1,html[lang^=zh] .resume-photo-banner h1{font-size:clamp(32px,7.8vw,42px)}
 .resume-hero h2{font-size:31px}
 .resume-capability h3{font-size:16px}
 .resume-folio{font-size:40px}
 .resume-chapter h2{font-size:29px}
 .resume-case h3,.resume-case--feature h3{font-size:27px}
 .resume-case-decision{font-size:16px}
 .resume-manifesto h2{font-size:38px}
 .resume-taste{font-size:26px}
 .resume-statement-line{font-size:clamp(27px,7vw,36px)}
}
.resume-signature{display:inline-flex;align-items:center;width:116px;min-height:36px}
.resume-signature img{display:block;width:100%;height:auto;filter:brightness(0)}
@media(max-width:760px){.resume-signature{width:94px;min-height:36px}}
/* Personal signature accompanies the original wordmark. */
.resume-signature{width:auto;gap:14px;min-height:36px;flex-shrink:0}
.resume-signature .resume-wordmark{display:flex;flex-direction:column;gap:5px;margin:0;letter-spacing:normal;color:inherit}
.resume-wordmark strong{font-size:15px;font-weight:550;letter-spacing:.04em;line-height:1}
.resume-wordmark small{font-size:8px;letter-spacing:.12em;line-height:1;color:var(--muted)}
.resume-signature img{width:64px;height:auto;transform:none;opacity:.3}
@media(max-width:760px){.resume-signature{width:auto;gap:9px}.resume-wordmark strong{font-size:12px}.resume-wordmark small{font-size:6px}.resume-signature img{width:48px}}
@media(max-width:380px){.resume-signature .resume-wordmark{display:flex}.resume-signature{gap:6px}.resume-signature img{width:40px;transform:none}.resume-wordmark strong{font-size:11px}.resume-wordmark small{font-size:5.5px}}
#case-hardware .resume-evidence figure + figure{margin-top:24px}
#case-hardware .resume-evidence figure:last-child figcaption{max-width:none}
.resume-doc-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;flex:none}
.resume-doc-icon .resume-icon-inline{--td-icon-size:21px}
.resume-doc-badge{position:absolute;right:-3px;bottom:-1px;min-width:15px;padding:1px 2px;border-radius:3px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font:600 8px/1.1 var(--editorial);text-align:center;letter-spacing:0}
