/* About Yu — a compact introduction followed by an open, editorial résumé. */
.profile-page{font-family:var(--font-site);--profile-rule:#d9d5df;--profile-muted:#686370;--profile-accent:#827296}
.profile-page>.section{max-width:1280px}
.profile-intro{padding-top:36px}
.profile-intro>.eyebrow{margin-bottom:27px}
.profile-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7%;align-items:stretch}
.profile-content{min-width:0;padding:0}
.profile-greeting{font-size:14px;line-height:1.5;color:var(--profile-muted);margin-bottom:19px}
/* Allow the final glyph to paint beyond its negative tracking advance. */
.profile-identity h1{width:max-content;max-width:100%;font-size:clamp(76px,8.5vw,122px);font-weight:200;letter-spacing:-.075em;line-height:.86;padding-top:8px;padding-inline-end:.1em;color:#7c7698;background:linear-gradient(100deg,#7e7296 7%,#9c8dba 48%,#718fba 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.profile-role{margin-top:21px;font-size:clamp(23px,2.3vw,33px);font-weight:400;letter-spacing:-.035em;line-height:1.15}
.profile-bio{margin-top:27px;max-width:540px}
.profile-bio p{font-size:16px;line-height:1.65;letter-spacing:-.01em}
.profile-bio p+p{margin-top:15px;color:var(--profile-muted)}
.profile-at-a-glance{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;padding-top:21px;margin:27px 0 0;border-top:1px solid var(--profile-rule)}
.profile-at-a-glance dt,.profile-link-label{font-size:10px;line-height:1.5;letter-spacing:.065em;text-transform:uppercase;color:var(--profile-muted)}
.profile-at-a-glance dd{font-size:14px;line-height:1.6;margin:8px 0 0}
.profile-intro-footer{margin-top:28px}
.profile-availability{display:flex;align-items:baseline;gap:8px;font-size:11px;line-height:1.65;color:var(--profile-muted);max-width:440px}
.profile-availability>span{display:block;width:6px;height:6px;flex:none;border-radius:50%;background:#8e9f7e}
.profile-quick-links{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:21px}
.profile-quick-links .text-link{font-size:10px;gap:18px}

/* Keep the original person and the existing blue-violet photographic treatment. */
.profile-portrait.profile-portrait-full{position:relative;isolation:isolate;min-height:0;aspect-ratio:auto;background:#ada8de url('assets/about-background-expanded.png') center/cover no-repeat;overflow:hidden;container-type:inline-size}
.profile-portrait-full::before{content:'';position:absolute;inset:0 0 auto;height:max(0px,calc(100% - 88.125cqw));z-index:0;background:url('assets/about-portrait-photo.jpg') center top/125% 4000% no-repeat;mask-image:linear-gradient(to bottom,transparent,#000 85%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 85%);pointer-events:none}
.profile-portrait-full .profile-photo{position:absolute;display:block;left:50%;bottom:0;width:125%;height:auto;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;transform:translateX(-50%);mask-image:linear-gradient(to bottom,transparent,#000 6%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 6%);z-index:1}
.profile-portrait-full .profile-photo-caption{position:absolute;z-index:2;left:6%;right:auto;top:5%;bottom:auto;margin:0;color:#fff;font-size:clamp(24px,10cqw,52px);line-height:.98;letter-spacing:-.035em;font-weight:200;text-transform:none;text-shadow:0 1px 12px #0004}
.profile-portrait-full .profile-photo-caption span{display:block;white-space:nowrap}

.profile-background{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:9%;margin-top:76px!important;padding-top:40px;border-top:1px solid var(--profile-rule);align-items:start}
.profile-section-heading{margin-bottom:26px}
.profile-section-heading>.eyebrow{font-size:9px;letter-spacing:.08em;color:var(--profile-accent);margin-bottom:13px}
.profile-section-heading h2{font-size:32px;line-height:1.12;letter-spacing:-.035em;font-weight:400}
.profile-timeline,.profile-education-list,.profile-awards{list-style:none;margin:0;padding:0}
.profile-timeline>li{display:grid;grid-template-columns:114px minmax(0,1fr);gap:21px;padding:24px 0;border-top:1px solid var(--profile-rule)}
.profile-timeline>li:last-child{padding-bottom:0}
.profile-date{font-size:10px;line-height:1.55;letter-spacing:.025em;text-transform:uppercase;color:var(--profile-muted);margin:3px 0 0}
.profile-timeline h3,.profile-education-list h3{font-size:21px;line-height:1.2;font-weight:400;letter-spacing:-.025em}
.profile-organization{font-size:12px;line-height:1.65;color:var(--profile-muted);margin-top:7px}
.profile-description{font-size:14px;line-height:1.65;margin-top:10px;max-width:420px}
.profile-education-list>li{padding:22px 0;border-top:1px solid var(--profile-rule)}
.profile-education-list>li:last-child{padding-bottom:0}
.profile-education-list .profile-date{margin:0 0 10px}
.profile-honours{font-size:11px;line-height:1.5;color:var(--profile-accent);margin-top:8px}
.profile-recognition{margin-top:42px}
.profile-awards>li{display:grid;grid-template-columns:43px minmax(0,1fr);gap:20px;padding:15px 0;border-top:1px solid var(--profile-rule)}
.profile-awards>li:last-child{padding-bottom:0}
.profile-awards h3{font-size:17px;line-height:1.2;letter-spacing:-.02em}
.profile-awards p{font-size:12px;line-height:1.55;color:var(--profile-muted);margin-top:5px}
.profile-capabilities{margin-top:76px!important;padding-top:40px;border-top:1px solid var(--profile-rule)}
.profile-skill-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6%;margin-top:30px}
.profile-skill-groups h3{font-size:22px;line-height:1.15;letter-spacing:-.025em;margin-bottom:13px}
.profile-skill-groups p{font-size:14px;line-height:1.9;color:var(--profile-muted);max-width:330px}
.profile-tools{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--profile-rule)}
.profile-tools h3{font-size:14px;line-height:1.6;color:var(--profile-muted);padding-top:14px}
.profile-tools ul{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0}
.profile-tools li{display:flex;align-items:center;justify-content:center;min-width:0;font-size:20px;line-height:1.5;padding:12px 10px;border:1px solid #d8d2df;border-radius:2px;color:#5b5266}
.profile-page .company-strip-about{margin-top:65px}
.profile-connect{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:65px 0 80px;border-top:1px solid var(--profile-rule)}
.profile-connect h2{font-size:clamp(38px,4.2vw,60px);font-weight:200;line-height:1.05;letter-spacing:-.045em;margin:21px 0 26px}
.profile-connect .text-link{font-size:11px}
.profile-contact-links{display:flex;flex-direction:column;gap:0;justify-content:center;min-width:0}
.profile-contact-links>a{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid var(--profile-rule);font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.profile-contact-links>a>span:last-child{transition:color .2s}
.profile-contact-links>a:hover>span:last-child{color:var(--profile-accent)}
.profile-contact-links>a>span:last-child>span{display:inline-block;margin-left:8px}

@media(max-width:1100px){
 .profile-layout{gap:5%;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .profile-identity h1{font-size:90px}
 .profile-greeting{font-size:12px;margin-bottom:15px}
 .profile-role{font-size:25px;margin-top:17px}
 .profile-bio{margin-top:22px}
 .profile-bio p{font-size:14px;line-height:1.6}
 .profile-at-a-glance{margin-top:21px;padding-top:18px}
 .profile-intro-footer{margin-top:21px}
 .profile-background{gap:6%;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
 .profile-timeline>li{grid-template-columns:1fr;gap:9px;padding:21px 0}
 .profile-timeline h3,.profile-education-list h3{font-size:20px}
 .profile-description{font-size:13px}
 .profile-skill-groups{gap:4%}
 .profile-skill-groups h3{font-size:20px}
 .profile-skill-groups p{font-size:13px}
 .profile-tools{grid-template-columns:1fr;gap:14px}
 .profile-tools h3{padding-top:0}
}
@media(max-width:760px){
 .profile-intro{padding-top:27px}
 .profile-layout{grid-template-columns:1fr;gap:32px}
 .profile-content{padding:0}
 .profile-portrait.profile-portrait-full{width:100%;max-width:480px;aspect-ratio:4/5;justify-self:center}
 .profile-identity h1{font-size:clamp(80px,15vw,110px)}
 .profile-greeting{font-size:14px}
 .profile-role{font-size:28px}
 .profile-bio{max-width:620px}
 .profile-bio p{font-size:16px;line-height:1.6}
 .profile-at-a-glance{grid-template-columns:1fr 1fr}
 .profile-at-a-glance dd{font-size:14px}
 .profile-quick-links{gap:22px 30px}
 .profile-background{grid-template-columns:1fr;gap:45px;margin-top:48px!important;padding-top:28px}
 .profile-section-heading h2{font-size:30px}
 .profile-timeline>li{grid-template-columns:114px minmax(0,1fr);gap:20px}
 .profile-education-list{display:grid;grid-template-columns:1fr;gap:0}
 .profile-education-list h3{font-size:21px}
 .profile-recognition{margin-top:38px}
 .profile-capabilities{margin-top:48px!important;padding-top:28px}
 .profile-skill-groups{grid-template-columns:1fr;gap:24px;margin-top:26px}
 .profile-skill-groups h3{font-size:23px;margin-bottom:9px}
 .profile-skill-groups p{font-size:14px;max-width:560px;line-height:1.75}
 .profile-tools{grid-template-columns:1fr;gap:14px;margin-top:26px;padding-top:19px}
 .profile-tools ul{grid-template-columns:repeat(2,minmax(0,1fr))}
 .profile-tools li{font-size:18px}
 .profile-connect{grid-template-columns:1fr;gap:32px;padding:38px 0 56px}
 .profile-connect h2{font-size:44px;margin:17px 0 22px}
 .profile-contact-links>a{padding:18px 0;font-size:16px}
 .profile-page .company-strip-about{margin-top:45px}
}
@media(max-width:460px){
 .profile-intro>.eyebrow{margin-bottom:21px}
 .profile-layout{gap:29px}
 .profile-greeting{font-size:13px}
 .profile-role{font-size:26px}
 .profile-availability{font-size:11px;max-width:290px}
 .profile-quick-links{gap:20px}
 .profile-timeline>li{grid-template-columns:1fr;gap:9px}
 .profile-section-heading{margin-bottom:21px}
 .profile-timeline h3{font-size:21px}
 .profile-organization{font-size:12px}
 .profile-description{font-size:14px}
 .profile-contact-links>a{font-size:14px;gap:14px}
 .profile-link-label{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.profile-page a span{transition:none}}
