/* Warm editorial portfolio — the original cream / terracotta palette. */
:root{--bg:#faf6ee;--paper:#fffdf9;--ink:#2b2723;--sub:#6f675a;--faint:#8c806f;--line:#e7dece;--brand:#c05f2c;--brand2:#e08b4f;--gold:#c99a3b;--chip:#f2eadc;--green:#4e7657}
body{font-size:15px;line-height:1.8}a,button,summary{-webkit-tap-highlight-color:transparent}a{transition:color .18s,background .18s}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:5px}button{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}.skip-link{position:fixed;top:-70px;left:18px;background:var(--ink);color:#fff;padding:10px 18px;z-index:300}.skip-link:focus{top:14px}#prog{height:2px}#nav{height:76px;padding:0 max(28px,calc((100vw - 1180px)/2));background:rgba(250,246,238,.94);border-color:var(--line)}#nav .brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-size:17px;white-space:nowrap}#nav .brand small{font-size:10px;letter-spacing:1.6px;color:var(--faint);font-weight:500}#nav .links{gap:13px;align-items:center;flex-wrap:nowrap}#nav .links a{font-size:13px;padding:8px 6px;border-radius:0;white-space:nowrap}#nav .links a.active{color:var(--brand)}#nav .links .nav-download{padding:7px 14px;border:1px solid var(--line);border-radius:5px}.menu-toggle{display:none;border:1px solid var(--line);background:var(--paper);padding:6px 12px;border-radius:5px;font-size:13px}.reveal{opacity:1;transform:none}.hero{max-width:1180px!important;min-height:0;display:block;padding:142px 0 0!important;overflow:visible}.hero:before{display:none}.hero-inner{max-width:none}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:74px;align-items:center}.eyebrow{display:block;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;font-weight:600;color:var(--brand);margin-bottom:22px}.hero h1{font-size:64px;letter-spacing:2px;font-weight:750;line-height:1.12;margin:0 0 15px}.hero .english-name{display:block;font-size:20px;letter-spacing:1px;font-weight:400;color:var(--faint);margin-bottom:25px}.hero .role{font-size:21px;line-height:1.55;color:var(--ink);font-weight:600;margin:0 0 14px}.hero-intro{font-size:15px;line-height:1.9;color:var(--sub);max-width:490px}.hero-intro strong{color:var(--ink);font-weight:550}.hero-affiliation{display:flex;align-items:center;gap:13px;margin:24px 0}.hero-affiliation img{width:42px;height:42px;object-fit:contain}.hero-affiliation p{font-size:12px;line-height:1.65;color:var(--sub)}.hero-affiliation strong{display:block;color:var(--ink);font-size:14px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:5px;padding:11px 20px;font-size:13px;font-weight:600;line-height:1.7;min-height:44px}.button.primary{background:var(--brand);color:#fff}.button.primary:hover{background:#a64e22}.button.secondary{border:1px solid #d5c7b4;color:var(--ink);background:transparent}.button.secondary:hover{background:var(--chip)}.text-link{font-size:13px;color:var(--brand);display:inline-flex;gap:12px;align-items:center}.hero-visual{position:relative;margin:0;padding:0 0 18px 18px}.hero-visual:before{content:'';position:absolute;inset:30px 18px 0 0;border:1px solid #d9c6ac;border-radius:10px}.hero-visual .hero-photo{width:100%;height:390px;object-fit:cover;object-position:center 43%;border:0;border-radius:9px;filter:saturate(.78);position:relative}.hero-visual figcaption{position:absolute;left:18px;right:0;bottom:18px;padding:32px 24px 19px;background:linear-gradient(transparent,rgba(30,27,20,.9));color:white;font-style:normal;text-align:left;border-radius:0 0 9px 9px}.hero-visual figcaption span{display:block;font-size:10px;letter-spacing:1.6px;color:#f1dfbf}.hero-visual figcaption strong{font-size:15px;font-weight:550}.visual-index{position:absolute;top:17px;right:-14px;background:var(--paper);border:1px solid var(--line);padding:8px 13px;border-radius:4px;font-size:10px;letter-spacing:1.4px;z-index:2}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-top:48px;padding:20px 0 23px;gap:20px}.hero-bottom p{font-size:12px;color:var(--faint)}.hero-social{display:flex;gap:20px;align-items:center}.hero-social a{font-size:12px;color:var(--sub)}.hero-social img{width:24px;height:24px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:5px}.hero-social .social-text{display:inline-flex;align-items:center;font-size:12px;color:var(--sub)}
section{max-width:1180px;padding:78px 0 0;scroll-margin-top:96px}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.section-title .eyebrow{margin-bottom:10px}.section-title h2{font-size:32px;letter-spacing:-.5px;line-height:1.4;font-weight:700}.section-title>p{color:var(--faint);font-size:13px;max-width:400px}.experience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.experience-item{position:relative;border-top:1px solid var(--line);padding:25px 0 3px}.employer{display:flex;align-items:center;gap:13px;margin-bottom:19px}.employer-logo{width:56px;height:52px;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.employer-logo img{width:38px;height:38px;object-fit:contain}.employer-logo.anyverse img{width:46px;height:36px}.employer h3{font-size:17px;line-height:1.5;margin:0}.employer p{font-size:11px;color:var(--faint);margin:0}.experience-item time{font-size:11px;color:var(--brand);letter-spacing:.3px}.experience-item .experience-topic{font-size:14px;margin:8px 0;color:var(--ink)}.experience-item .experience-desc{font-size:12px;color:var(--sub);line-height:1.8}.experience-item .current{font-size:10px;color:var(--brand);border:1px solid #e3c7ac;padding:2px 7px;margin-left:6px;border-radius:10px;font-weight:400}.publication-list{border-top:1px solid var(--line)}.publication{display:grid;grid-template-columns:65px 1fr 168px;gap:21px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}.pub-number{font-size:12px;font-family:var(--mono);color:var(--faint);padding-top:3px}.publication h3{font-size:16px;font-weight:550;line-height:1.6;max-width:840px}.publication .pub-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:9px;font-size:11px;color:var(--sub)}.pub-badge{color:var(--brand);padding:0 7px;border:1px solid #e6ccb3;border-radius:3px}.pub-status{font-size:12px;text-align:right;color:var(--sub);padding-top:3px}.pub-status strong{font-weight:550;color:var(--ink)}.pub-status span{display:block;color:var(--brand);font-size:11px;margin-top:4px}.work-intro{padding-bottom:4px}.work-intro .section-title{margin-bottom:0}.project-section{padding-top:48px}.project-section+.project-section{padding-top:65px}.project-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:19px 0 22px}.project-topline .project-label{font-size:11px;letter-spacing:1.5px;color:var(--brand)}.project-topline time{font-size:11px;color:var(--faint)}.project-summary{display:grid;grid-template-columns:1.03fr 1fr;gap:46px;align-items:center}.project-summary.reverse .project-image{order:2}.project-copy h2{font-size:31px;line-height:1.45;letter-spacing:-.5px;margin-bottom:13px}.project-copy h2 em{font-style:normal;color:var(--brand)}.project-copy .project-description{font-size:14px;line-height:1.9;color:var(--sub)}.project-image{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.project-image img{border:none;border-radius:0;width:100%;height:290px;object-fit:contain;padding:13px;background:#fff}.project-image.photo img{padding:0;object-fit:cover}.project-image figcaption{margin:0;padding:10px 14px;text-align:left;font-size:11px;font-style:normal;background:var(--paper);border-top:1px solid var(--line);color:var(--faint)}.result-line{display:flex;gap:25px;margin-top:22px;flex-wrap:wrap}.result-item{border-left:2px solid #dfc4a9;padding-left:13px}.result-item strong{display:block;color:var(--brand);font-size:27px;line-height:1.25;letter-spacing:-.8px;font-weight:650}.result-item strong small{font-size:15px;letter-spacing:0;font-weight:500}.result-item span{display:block;font-size:11px;color:var(--sub);margin-top:5px}.method-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:19px;font-size:10px;letter-spacing:.4px;color:var(--faint)}.project-details{margin-top:23px;border-bottom:1px solid var(--line)}.project-details>summary{list-style:none;padding:15px 0;cursor:pointer;color:var(--brand);font-size:12px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.project-details>summary::-webkit-details-marker{display:none}.project-details>summary:after{content:'＋';font-size:19px;font-weight:400}.project-details[open]>summary:after{content:'−'}.project-details[open]>summary{border-bottom:1px solid var(--line);margin-bottom:22px}.project-details .card{border-radius:7px;padding:26px 30px;box-shadow:none;margin-bottom:20px}.card h3{font-size:17px}.card p{font-size:14px}.card .fig-grid{gap:20px}.card figure img{border-radius:5px}.card figcaption{font-style:normal;font-size:11px;line-height:1.6;margin-top:9px;color:var(--sub)}.fig-grid.g3 figure img{height:205px;object-fit:contain}.callout{border-radius:4px;border-left-width:2px}.flow .fstep{min-width:96px;border-radius:4px}.flow .fstep .ft{font-size:12px}.flow .fstep .fd{font-size:10px}.flow .conn{padding:0 5px}.flow .fstep.hot{background:#f8ecd9}.table-scroll{overflow-x:auto}table{font-size:12px;min-width:350px;border-radius:4px}th{font-size:11px}tr.total td{background:#f7eedf}.table-note{font-size:11px!important;color:var(--faint)!important}.card .feat li{font-size:13px}.pills{gap:6px}.pills span{font-size:10px;border-radius:4px;padding:3px 8px}.open-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.open-source-card{border-top:1px solid var(--line);padding-top:22px}.open-source-card .project-number{color:var(--faint);font-size:11px}.open-source-card h3{font-size:22px;margin:8px 0}.open-source-card p{font-size:13px;color:var(--sub);line-height:1.8}.open-source-card figure{margin-top:20px}.open-source-card figure img{height:260px;object-fit:contain;border-radius:6px;background:#fff}.open-source-card figcaption{font-style:normal;font-size:11px;text-align:left}.education-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px}.education-heading{display:flex;gap:21px;align-items:center}.education-heading img{width:70px;height:70px;object-fit:contain}.education-heading h3{font-size:23px;margin:0}.education-heading p{font-size:12px;color:var(--sub)}.education-facts{margin-top:25px}.education-facts>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.education-facts dt{color:var(--sub)}.education-facts dd{font-weight:550;color:var(--ink)}.award-block{display:grid;grid-template-columns:1fr 170px;gap:26px;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:24px;align-items:center}.award-block h3{font-size:17px;margin-bottom:8px}.award-block p{font-size:12px;color:var(--sub)}.award-block .award-result{font-size:29px;color:var(--brand);font-weight:650;margin-bottom:10px}.award-block figure{margin:0}.award-block figure img{max-height:240px;width:100%;object-fit:contain;border:none;border-radius:2px}.award-block figcaption{font-style:normal;font-size:10px}.background-details{margin-top:30px}.stack{gap:24px;margin-top:25px}.stack .col{background:transparent;border:0;border-top:1px solid var(--line);padding:21px 0}.stack .col h4{font-size:14px;border:0;padding:0;margin-bottom:13px;color:var(--ink)!important}.stack .col .tag{font-size:11px;border:0;background:var(--chip);border-radius:3px;padding:3px 8px;margin:4px 3px 0 0}.contact-section{padding:56px 0 64px;margin-top:55px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px}.contact-section h2{font-size:31px;line-height:1.5;margin:0 0 8px}.contact-section p{font-size:13px;color:var(--sub)}.contact-section .actions{margin:0}footer{max-width:1180px;margin:0 auto;padding:20px 0 30px;text-align:left;font-size:11px;display:flex;gap:20px;justify-content:space-between;color:var(--faint)}.image-zoom{cursor:zoom-in}.lightbox{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh;width:max-content;color:var(--ink);overflow:visible}.lightbox::backdrop{background:rgba(32,27,23,.85);backdrop-filter:blur(5px)}.lightbox-inner{background:var(--paper);border-radius:7px;overflow:hidden;position:relative;max-height:94vh;display:flex;flex-direction:column}.lightbox img{max-height:82vh;max-width:90vw;object-fit:contain;background:#fff}.lightbox-caption{font-size:12px;padding:12px 48px 12px 18px;max-width:850px}.lightbox-close{position:absolute;right:9px;top:9px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-size:21px;line-height:1;box-shadow:0 2px 10px #0001}.lightbox-open{overflow:hidden}.print-button{border:none;padding:0;background:none;font-size:11px;color:var(--faint)}
.hero-grid>*,.project-summary>*,.fig-grid>*,.education-layout>*,.publication>*,.open-source-grid>*{min-width:0}.table-scroll{max-width:100%}.publication h3{overflow-wrap:anywhere}.card .callout p{overflow-wrap:anywhere}.project-details .card{min-width:0}.project-details img{max-width:100%}
@media(min-width:921px){#nav .links{display:flex}}
@media(max-width:1250px){section,.hero,footer{margin-left:36px;margin-right:36px}.hero-grid{gap:45px}.hero h1{font-size:58px}.hero-visual .hero-photo{height:370px}#nav{padding:0 36px}.hero{padding-top:130px!important}}
@media(max-width:920px){#nav{height:68px;padding:0 24px}#nav .brand small{display:none}.menu-toggle{display:block}#nav .links{display:none;position:absolute;left:0;right:0;top:67px;padding:18px 24px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;gap:6px;flex-direction:column}#nav .links.is-open{display:flex}#nav .links a{padding:10px}.hero{padding-top:111px!important}.hero-grid{gap:28px;grid-template-columns:1.05fr .95fr}.hero h1{font-size:47px}.hero .role{font-size:18px}.hero .english-name{font-size:17px}.hero-intro{font-size:13px}.hero-visual .hero-photo{height:360px}.hero-affiliation{margin:20px 0}.hero-affiliation p{font-size:11px}.hero-affiliation strong{font-size:12px}.button{padding:10px 15px;gap:15px}.hero-bottom{margin-top:35px}.hero-social{gap:12px}.hero-bottom p{font-size:10px}section{padding-top:65px}.experience-list{gap:22px}.employer-logo{width:44px;height:44px}.employer-logo img{width:31px;height:31px}.employer-logo.anyverse img{width:38px;height:29px}.employer{gap:9px}.employer h3{font-size:15px}.employer p{font-size:10px}.project-summary{gap:28px}.project-copy h2{font-size:26px}.project-copy .project-description{font-size:13px}.project-image img{height:260px}.publication{grid-template-columns:34px 1fr 130px;gap:16px}.publication h3{font-size:14px}.education-layout{gap:30px;grid-template-columns:1fr}.award-block{grid-template-columns:1fr 170px}.award-block figure img{max-height:210px}.open-source-card figure img{height:220px}.contact-section h2{font-size:27px}}
@media(max-width:640px){section,.hero,footer{margin-left:22px;margin-right:22px}#nav{padding:0 22px}.hero{padding-top:110px!important}.hero-grid{grid-template-columns:1fr;gap:35px}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}.hero h1{font-size:52px}.hero .english-name{font-size:18px;margin-bottom:22px}.hero .role{font-size:19px}.hero-intro{font-size:14px;max-width:100%}.hero-affiliation strong{font-size:13px}.hero-affiliation p{font-size:11px}.hero-visual{padding-left:13px;padding-bottom:13px}.hero-visual:before{inset:19px 13px 0 0}.hero-visual .hero-photo{height:310px;object-position:center 38%}.hero-visual figcaption{left:13px;bottom:13px}.visual-index{right:-7px;top:13px}.hero-bottom{margin-top:25px;padding:13px 0 20px;align-items:flex-start;flex-direction:column;gap:10px}.hero-social{flex-wrap:wrap;gap:18px}.hero-bottom p{font-size:11px}.section-title{display:block;margin-bottom:25px}.section-title h2{font-size:28px}.section-title>p{font-size:12px;margin-top:12px}section{padding-top:53px}.experience-list{grid-template-columns:1fr;gap:0}.experience-item{padding:21px 0 22px;display:grid;grid-template-columns:1fr auto;gap:0 15px}.employer{margin:0 0 11px}.employer-logo{width:46px;height:46px}.employer h3{font-size:16px}.employer p{font-size:10px}.experience-item time{font-size:10px;padding-top:5px}.experience-item .experience-topic,.experience-item .experience-desc{grid-column:1/-1;margin:0}.experience-item .experience-topic{font-size:13px}.experience-item .experience-desc{font-size:12px;margin-top:6px}.publication{grid-template-columns:26px 1fr;gap:11px;padding:20px 0}.pub-status{grid-column:2;text-align:left;display:flex;gap:10px;align-items:center;padding:0;font-size:11px}.pub-status span{display:inline;margin:0}.publication h3{font-size:14px;line-height:1.65}.publication .pub-meta{font-size:10px;margin-top:7px}.project-section{padding-top:31px}.project-section+.project-section{padding-top:42px}.project-topline{padding:15px 0 19px;align-items:flex-start}.project-topline .project-label{font-size:9px;letter-spacing:.9px;max-width:64%}.project-topline time{font-size:9px;white-space:nowrap;padding-top:1px}.project-summary{grid-template-columns:1fr;gap:24px}.project-summary.reverse .project-image{order:0}.project-image img{height:230px}.project-copy h2{font-size:27px;line-height:1.4}.project-copy .project-description{font-size:13px}.result-line{gap:27px;margin-top:19px}.result-item strong{font-size:26px}.result-item span{font-size:10px}.method-tags{font-size:9px;gap:10px}.project-details>summary{font-size:11px;padding:14px 0}.project-details .card{padding:20px 16px;margin-bottom:15px}.card h3{font-size:15px;line-height:1.6}.card p{font-size:13px}.fig-grid.g2,.fig-grid.g3{grid-template-columns:1fr!important;gap:20px}.fig-grid.g3 figure img{height:auto;max-height:260px}.flow{padding-bottom:8px}.flow .fstep{min-width:97px}.callout{padding:14px}.callout .ct{font-size:13px}.card .feat li{font-size:12px}.open-source-grid{grid-template-columns:1fr;gap:34px}.open-source-card h3{font-size:21px}.open-source-card figure img{height:auto;max-height:280px}.open-source-card p{font-size:13px}.education-heading{gap:17px}.education-heading img{width:60px;height:60px}.education-heading h3{font-size:21px}.education-facts>div{font-size:12px}.education-layout{gap:26px}.award-block{padding:20px;grid-template-columns:1fr 105px;gap:15px}.award-block figure img{max-height:170px}.award-block h3{font-size:13px}.award-block p{font-size:11px}.award-block .award-result{font-size:25px}.stack{grid-template-columns:1fr;gap:0;margin-top:24px}.stack .col{padding:18px 0}.contact-section{padding:32px 0 38px;margin-top:33px;flex-direction:column;align-items:flex-start;gap:24px}.contact-section h2{font-size:27px}.contact-section p{font-size:12px}footer{flex-direction:column;gap:7px;font-size:10px;padding:18px 0 24px}.lightbox img{max-width:94vw}.lightbox-caption{font-size:11px}.lightbox{max-width:94vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Compact resume heading and the five resume sections. */
.hero.resume-header{padding:120px 0 0!important}
.resume-heading{display:flex;align-items:center;justify-content:space-between;gap:32px}
.resume-name{display:flex;align-items:baseline;gap:24px;margin-bottom:15px;flex-wrap:wrap}
.resume-header h1{font-size:48px;letter-spacing:1px;margin:0}
.resume-header .english-name{font-size:18px;margin:0}
.resume-header .role{font-size:20px;margin-bottom:5px}
.resume-header .hero-intro{font-size:14px}
.resume-heading .actions{margin:0;flex-shrink:0}
.resume-header .hero-bottom{margin-top:28px;padding:17px 0}
#bg{padding-top:44px}
.award-block{grid-template-columns:1fr 120px;gap:24px}
.award-block figure img{height:auto;max-height:170px}
.experience-link{font-size:12px;display:inline-block;margin-top:5px;grid-column:1/-1}
.project-section{scroll-margin-top:96px}
#skills .stack{margin-top:0}
/* Larger desktop type; keep the existing mobile and print scales. */
@media screen and (min-width:921px){
  body{font-size:17px}
  #nav .brand{font-size:19px}
  #nav .brand small{font-size:11px}
  #nav .links{gap:10px}
  #nav .links a,.button,.text-link{font-size:15px}
  .resume-header h1{font-size:54px}
  .resume-header .english-name{font-size:21px}
  .resume-header .role{font-size:23px}
  .resume-header .hero-intro{font-size:16px}
  .hero-bottom p,.hero-social a,.hero-social .social-text{font-size:14px}
  .hero-bottom{flex-wrap:wrap}
  .eyebrow{font-size:13px;letter-spacing:1.8px}
  .section-title h2{font-size:36px}
  .section-title>p{font-size:15px}
  .education-heading h3{font-size:26px}
  .education-heading p,.award-block p{font-size:14px}
  .education-facts>div{font-size:15px}
  .education-facts dt{flex:1}
  .education-facts dd{flex-shrink:0}
  .award-block h3,.employer h3{font-size:19px}
  .award-block .award-result{font-size:32px}
  .award-block figcaption{font-size:12px}
  .publication h3{font-size:18px}
  .publication .pub-meta,.pub-status span{font-size:13px}
  .pub-number,.pub-status{font-size:14px}
  .employer p,.experience-item time{font-size:13px}
  .experience-item .current{font-size:12px}
  .experience-item .experience-topic{font-size:16px}
  .experience-item .experience-desc,.experience-link{font-size:14px}
  .project-topline .project-label,.project-topline time{font-size:13px}
  .project-copy h2{font-size:35px}
  .project-copy .project-description,.card p{font-size:16px}
  .card p[style*="font-size"]{font-size:16px!important}
  .project-image figcaption,.card figcaption,.open-source-card figcaption{font-size:13px}
  .result-item strong{font-size:31px}
  .result-item strong small{font-size:17px}
  .result-item span{font-size:13px}
  .method-tags,.pills span{font-size:12px}
  .project-details>summary{font-size:14px}
  .card h3{font-size:19px}
  .card .feat li,.callout .ct{font-size:15px}
  .flow .fstep .ft{font-size:14px}
  .flow .fstep .fd{font-size:12px}
  table{font-size:14px}
  th{font-size:13px}
  .card .table-note{font-size:13px!important}
  .open-source-card .project-number{font-size:13px}
  .open-source-card h3{font-size:25px}
  .open-source-card p{font-size:15px}
  .stack .col h4{font-size:16px}
  .stack .col .tag{font-size:13px}
  .contact-section h2{font-size:35px}
  .contact-section p{font-size:15px}
  footer,.print-button{font-size:13px}
  .lightbox-caption{font-size:14px}
}
@media(max-width:920px){.hero.resume-header{padding-top:103px!important}.resume-heading{gap:20px}.resume-name{gap:15px}.resume-header h1{font-size:42px}.resume-header .english-name{font-size:16px}#bg{padding-top:35px}}
@media(max-width:640px){.resume-heading{align-items:flex-start;flex-direction:column;gap:21px}.resume-header h1{font-size:42px}.resume-header .role{font-size:18px}.resume-name{margin-bottom:12px}.resume-header .hero-bottom{margin-top:22px;gap:8px}.award-block{grid-template-columns:1fr 95px;gap:14px}.award-block figure img{max-height:145px}.project-section{scroll-margin-top:85px}}
@media print{.hero.resume-header{padding-top:0!important}.resume-header h1{font-size:30pt}.resume-heading{display:block}.resume-header .hero-bottom{margin-top:14px}#bg{padding-top:22px}.award-block figure img{max-height:140px}}
@media print{@page{size:A4;margin:15mm}body{background:white;color:#222;font-size:10pt;line-height:1.5}#nav,#prog,.skip-link,.menu-toggle,.actions,.hero-social,.visual-index,.lightbox,.print-button{display:none!important}section,.hero,footer{max-width:none;margin:0;padding-top:25px!important;scroll-margin:0}.hero{padding-top:0!important}.hero h1{font-size:34pt}.hero .english-name{font-size:15pt}.hero .role{font-size:14pt}.hero-grid{gap:25px;grid-template-columns:1.2fr .8fr}.hero-visual .hero-photo{height:230px}.hero-bottom{margin-top:15px;padding:12px 0}.hero-bottom p{font-size:9pt}.section-title h2{font-size:21pt}.section-title .eyebrow{font-size:8pt}.experience-list{gap:15px}.experience-item{break-inside:avoid}.publication{grid-template-columns:24px 1fr 110px;gap:12px;padding:15px 0;break-inside:avoid}.publication h3{font-size:10pt}.project-section{padding-top:25px!important}.project-topline{padding:13px 0}.project-summary{gap:25px;break-inside:avoid}.project-copy h2{font-size:20pt}.project-image img{height:180px}.project-description{font-size:9pt!important}.project-details{display:none}.result-item strong{font-size:20pt}.open-source-card figure img{height:175px}.open-source-grid{gap:25px}.education-layout{gap:25px}.award-block figure img{max-height:160px}.stack{gap:15px}.stack .col .tag{font-size:8pt}.contact-section{padding:20px 0!important;margin-top:20px}footer{padding:13px 0!important;font-size:8pt}a{color:inherit}img{max-width:100%}}
