@font-face{font-family:Boldonse;src:url('assets/Boldonse-Regular.ttf') format('truetype');font-display:swap}@font-face{font-family:Hanken;src:url('assets/Hanken.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#f2e6ee;--ink:#080808;--purple:#8844cc;--blue:#0033ff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Hanken,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}.wrap{max-width:1560px;margin:auto;padding-left:5vw;padding-right:5vw}.en{display:block;font-family:Hanken,Arial,sans-serif;font-weight:400;font-size:.76em;line-height:1.45;margin-top:9px;opacity:.78;letter-spacing:0;text-transform:none}.eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;margin:0 0 28px}.eyebrow .en{font-size:11px;margin-top:3px;letter-spacing:0}.purple{background:var(--purple);color:#fff}.blue{background:var(--blue);color:#fff}.pale{background:var(--paper);color:var(--ink)}.black{background:var(--ink);color:var(--paper)}header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid #08080822}nav{display:flex;align-items:center;justify-content:space-between;min-height:78px}.wordmark{font-weight:750;font-size:20px;letter-spacing:-.7px}.navlinks{display:flex;gap:32px;font-size:13px}.navlinks .en{font-size:10px;margin-top:1px}.hero{padding-top:65px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:7vw;align-items:center}.hero h1{font-family:Boldonse,sans-serif;font-size:clamp(37px,4.2vw,65px);font-weight:400;line-height:1.7;letter-spacing:-.035em;margin:0 0 20px}.hero-role{font-size:clamp(24px,2.6vw,38px);line-height:1.17;letter-spacing:-.025em;margin:0 0 22px;font-weight:600}.hero-role .en{font-size:17px;letter-spacing:0;margin-top:14px}.intro{font-size:16px;line-height:1.5;max-width:440px;margin-bottom:25px}.intro .en{font-size:13px}.hero-photo{margin:0;align-self:stretch;max-height:670px;overflow:hidden;background:#0033ff}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 36%;aspect-ratio:4/5}.textlink{display:inline-flex;align-items:center;gap:50px;border-bottom:1px solid #ffffff70;padding:10px 0 13px;font-size:13px}.textlink>span:last-child{font-size:32px}.textlink .en{font-size:11px;margin-top:3px}.hero-footer{display:flex;justify-content:space-between;align-items:end;padding-top:40px;padding-bottom:28px;font-size:12px}.hero-footer .en{font-size:10px;margin-top:3px}section.work,.career,.skills,.education{padding-top:85px;padding-bottom:95px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:7vw;margin-bottom:48px}.section-head h2,.closing h2{font-family:Boldonse;font-weight:400;font-size:clamp(24px,3.2vw,44px);line-height:1.7;letter-spacing:-.035em;margin:0}.section-head h2 .en,.closing h2 .en{font-size:17px;line-height:1.4;margin-top:14px}.section-note{font-size:17px;line-height:1.5;margin:0 0 5px;max-width:370px}.section-note .en{font-size:14px;margin-top:13px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.project{min-width:0}.project button{border:0;background:none;padding:0;text-align:left;width:100%;display:block}.visual{position:relative;overflow:hidden;background:#151515;aspect-ratio:1.8}.visual img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s}.ads .visual{aspect-ratio:1.6}.ads .visual img{object-fit:cover}.project button:hover img{transform:scale(1.025)}.project:hover h3{text-decoration:underline;text-underline-offset:5px}.expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;background:var(--paper);color:var(--ink);font-size:22px}.project-meta{display:flex;justify-content:space-between;gap:20px;padding-top:15px}.project h3{font-size:24px;line-height:1.1;font-weight:650;letter-spacing:-.6px;margin:0}.project p{font-size:13px;line-height:1.4;margin:7px 0 0}.project .en{font-size:11px;margin-top:4px}.project .number{font-size:10px;opacity:.65;padding-top:6px}.career-intro{max-width:480px;font-size:18px;line-height:1.6}.career-intro p{margin:0}.career-intro .en{font-size:14px}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:30% 1fr;border-top:1px solid #08080840;padding:25px 0;position:relative}.year{font-size:13px;line-height:1.5}.year .en{font-size:11px;margin:0}.timeline h3{font-size:28px;font-weight:600;letter-spacing:-.7px;margin:0 0 6px}.timeline p{font-size:15px;margin:0}.timeline .en{font-size:12px;margin-top:5px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 65px}.skills-grid article{border-top:1px solid #ffffff80;padding-top:20px}.skill-no{font-size:12px;opacity:.75}.skills h3{font-size:24px;font-weight:650;margin:24px 0 20px;letter-spacing:-.4px}.skills h3 .en{font-size:14px;letter-spacing:0}.skills p{font-size:18px;line-height:1.6;max-width:520px}.skills p .en{font-size:14px}.tools{display:grid;grid-template-columns:1fr 2fr;margin-top:55px;border-top:1px solid #ffffff80;padding-top:25px;gap:30px}.tools h3,.tools p{margin:0}.education-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.education article{border-top:1px solid #08080840;padding-top:20px}.education h3{font-size:21px;font-weight:650;margin:25px 0 10px}.education p{font-size:15px;line-height:1.6}.education .en{font-size:12px}.closing{padding-top:80px}.closing-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;align-items:start}.closing figure{margin:0}.closing img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.closing .bio{font-size:17px;line-height:1.6;max-width:620px;margin:25px 0}.closing .bio .en{font-size:13px}.contact-box{border-top:1px solid #f2e6ee55;margin-top:35px;padding-top:25px}.contact-box h3{font-size:23px;font-weight:500;margin:0 0 18px}.contact-box .en{font-size:15px}.email{font-size:clamp(18px,2.3vw,32px);border-bottom:1px solid #f2e6ee80;padding-bottom:6px;letter-spacing:-.03em}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:65px;padding-bottom:30px;font-size:12px}footer .en{font-size:10px;margin-top:3px}dialog{background:var(--paper);color:var(--ink);border:0;padding:32px;width:min(1320px,96vw);max-width:none;max-height:94vh;overscroll-behavior:contain}dialog::backdrop{background:#080808e8}.dialog-header{display:flex;justify-content:space-between;gap:25px;align-items:start;border-bottom:1px solid #08080830;padding-bottom:22px}.dialog-header .eyebrow{margin-bottom:10px}.dialog-header h2{font-family:Boldonse;font-weight:400;font-size:clamp(22px,3vw,38px);line-height:1.5;margin:0}.close{flex-shrink:0;padding:10px 15px;background:transparent;border:1px solid #08080840;font-size:12px}.close .en{font-size:10px;margin:2px 0 0}.case-intro{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;padding:28px 0;font-size:18px;line-height:1.5}.case-intro p{margin:0 0 18px}.case-intro .en{font-size:14px}.case-intro .role{font-size:13px}.case-intro .role .en{font-size:11px}.source{font-size:12px;text-decoration:underline;text-underline-offset:4px}.source .en{font-size:11px}#case-media img{display:block;width:100%;height:auto;margin:0 0 14px}.video-frame{position:relative;aspect-ratio:16/9;background:#111;margin-bottom:18px}.video-frame iframe{position:absolute;width:100%;height:100%;border:0}.video-note{font-size:12px;margin:12px 0 20px}.video-note .en{font-size:11px}details{border-top:1px solid #08080830;padding-top:20px;margin-top:25px;font-size:13px;line-height:1.8}summary{cursor:pointer;font-weight:650}summary .en{display:inline;margin-left:12px}.dialog-bottom{border-top:1px solid #08080830;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;margin-top:30px}.dialog-bottom button{background:none;border:1px solid #08080840;padding:12px;font-size:12px}.dialog-bottom button .en{font-size:10px;margin-top:3px}.dialog-bottom p{font-size:11px;max-width:350px}.dialog-bottom p .en{font-size:10px}a:hover{opacity:.8}[hidden]{display:none!important}
@media(max-width:900px){.hero-grid{gap:4vw}.hero h1{font-size:34px}.hero-role{font-size:27px}.hero .intro{font-size:15px}.hero-photo{min-height:550px}.education-grid{grid-template-columns:1fr 1fr}.section-head{align-items:start}.closing-grid{gap:35px}.closing h2{font-size:25px}.navlinks{gap:18px}.career-intro{font-size:16px}.section-note{font-size:15px}}
@media(max-width:650px){.wrap{padding-left:6vw;padding-right:6vw}nav{min-height:70px}.wordmark{font-size:17px}.navlinks{gap:17px;font-size:12px}.navlinks a:nth-child(3),.navlinks a:nth-child(4){display:none}.hero{padding-top:35px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:35px;line-height:1.65;margin-bottom:20px}.hero-role{font-size:26px}.hero-role br{display:initial}.hero-role .en{font-size:15px;max-width:300px}.hero .eyebrow{margin-bottom:18px}.hero .intro{max-width:100%}.hero-photo{min-height:0;max-height:460px}.hero-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center 35%;height:460px}.hero-footer{padding-top:25px}.section-head{display:block;margin-bottom:32px}.section-head h2{font-size:26px;line-height:1.65}.section-head h2 .en{font-size:15px}.section-note{margin-top:25px}.section-note br{display:none}.work,.career,.skills,.education{padding-top:50px!important;padding-bottom:55px!important}.project-grid{grid-template-columns:1fr;gap:30px}.project h3{font-size:23px}.project p{font-size:13px}.career-intro{margin-top:25px}.timeline li{grid-template-columns:30% 1fr;gap:10px;padding:22px 0}.timeline h3{font-size:22px}.timeline p{font-size:14px}.timeline .year{font-size:11px}.skills-grid{grid-template-columns:1fr;gap:22px}.skills h3{font-size:23px;margin:18px 0 13px}.skills p{font-size:17px}.tools{grid-template-columns:1fr;gap:20px;margin-top:30px}.education-grid{gap:25px 20px}.education h3{font-size:19px}.education p{font-size:14px}.closing{padding-top:50px}.closing-grid{grid-template-columns:1fr;gap:35px}.closing figure{order:2}.closing h2{font-size:27px}.closing .bio{font-size:16px}.email{font-size:24px}footer{padding-top:40px;flex-wrap:wrap;gap:25px}footer .wordmark{width:100%}dialog{padding:18px}.dialog-header h2{font-size:22px}.case-intro{grid-template-columns:1fr;gap:18px;padding-top:20px;font-size:17px}.case-intro .en{font-size:13px}.dialog-bottom{flex-wrap:wrap;gap:10px}.dialog-bottom p{order:3;width:100%}.dialog-bottom button{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.visual img{transition:none}}

/* Portfolio refinements */
.en{line-height:1.3!important}
.white{background:#fff;color:var(--ink)}header{background:#fff}
.hero{padding-top:55px}.hero-grid{display:block}.hero-copy{max-width:900px}.hero-identity{display:flex;align-items:center;gap:28px;margin-bottom:35px}.hero-identity h1{margin:0;font-size:clamp(28px,3vw,44px);line-height:1.65}.hero-photo{width:112px;height:138px;min-height:0;max-height:none;flex:0 0 112px;align-self:auto}.hero-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 33%}.hero-role{max-width:800px}.hero .intro{max-width:580px}.hero .textlink{border-color:#08080855}.hero-footer{padding-bottom:35px}
.section-note{max-width:none;flex:0 1 430px}.section-note br{display:initial!important}
.image-only:hover h3{text-decoration:none}.zoom-trigger{cursor:zoom-in}.explore-more{display:inline-block;margin-top:16px;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px}.explore-more .en{font-size:11px;margin-top:3px}.award-badges{position:absolute;left:12px;top:12px;right:48px;display:flex;flex-wrap:wrap;align-items:start;gap:6px}.award-badge{display:block;background:#fff;color:#080808;padding:9px 11px;font-size:11px;line-height:1.25;font-weight:650;box-shadow:0 2px 8px #0002}.award-badge .en{font-size:9px;margin-top:3px}
.closing-grid{display:block}.closing-grid>div{max-width:850px}.closing-identity{display:flex;align-items:center;gap:28px}.closing-identity .eyebrow{margin-bottom:16px}.closing .bio-thumb{width:100px;height:126px;object-fit:cover;object-position:center 33%;aspect-ratio:auto;flex:0 0 100px}.closing .bio{max-width:690px}.closing .contact-box{max-width:690px}
#credits-en{line-height:1.5}#zoom-viewer{padding:18px;background:#080808;width:min(1500px,97vw)}#zoom-close{display:block;position:sticky;top:0;margin:0 0 15px auto;background:#fff;color:#080808;z-index:1}#zoom-image{display:block;max-width:100%;width:100%;height:auto;object-fit:contain}
@media(max-width:650px){.hero{padding-top:32px}.hero-identity{gap:20px;margin-bottom:30px}.hero-identity h1{font-size:28px;line-height:1.7}.hero-photo{width:86px;height:108px;flex-basis:86px;max-height:none}.hero-photo img{height:100%;aspect-ratio:auto}.hero-role{font-size:26px}.section-note{max-width:100%;font-size:14px}.section-note .en{font-size:12px}.closing-identity{gap:18px}.closing .bio-thumb{width:76px;height:100px;flex-basis:76px}.closing-identity .eyebrow{font-size:10px;margin-bottom:10px}.closing-identity h2{font-size:21px;line-height:1.7}.closing-identity h2 .en{font-size:13px}.award-badge{font-size:10px;padding:7px 9px}}

.recognition{margin-top:60px;padding-top:30px;border-top:1px solid #08080840}.recognition>h3{font-size:25px;font-weight:600;margin:0 0 32px}.recognition>h3 .en{font-size:15px}.recognition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.recognition h4{font-size:17px;margin:0 0 20px}.recognition p{font-size:12px;line-height:1.6;margin:0 0 14px}.recognition p .en{font-size:11px;margin-top:4px}@media(max-width:650px){.recognition-grid{grid-template-columns:1fr;gap:24px}.recognition{margin-top:35px}}

/* Reference home: asymmetric portrait, name and disciplines */
.hero{padding-top:55px}.hero-copy{max-width:none}.hero .eyebrow{margin-bottom:30px}.hero-stage{display:grid;grid-template-columns:24% 17% 1fr;grid-template-rows:auto auto auto;column-gap:28px;row-gap:0;align-items:start;max-width:1190px;margin-bottom:28px}.hero-stage .hero-photo{grid-column:1;grid-row:1 / 3;width:100%;height:auto;aspect-ratio:1;min-height:0;max-height:none;margin:0;background:#ddd}.hero-stage .hero-photo img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:center}.hero-stage h1{grid-column:2 / 4;grid-row:1;margin:-10px 0 0;font-size:clamp(36px,4.1vw,64px);line-height:1.5;letter-spacing:-.04em}.hero-stage .hero-role{grid-column:3;grid-row:2;align-self:end;font-size:clamp(24px,2.6vw,40px);line-height:1.2;margin:24px 0 0;font-weight:600}.hero-stage .hero-translation{grid-column:1 / 3;grid-row:3;font-size:17px;line-height:1.35!important;margin:18px 0 0}.hero .intro{max-width:750px;margin:0 0 28px}.hero-footer{padding-top:32px}
@media(min-width:1500px){.hero-stage{grid-template-columns:24% 17% 1fr;max-width:1380px}.hero-stage h1{font-size:64px}.hero-stage .hero-role{font-size:36px}}
@media(max-width:650px){.hero{padding-top:32px}.hero .eyebrow{margin-bottom:25px}.hero-stage{grid-template-columns:minmax(0,42%) minmax(0,1fr);grid-template-rows:auto auto auto;gap:24px 20px;margin-bottom:27px}.hero-stage .hero-photo{grid-column:1;grid-row:1;width:100%;height:auto;aspect-ratio:1}.hero-stage .hero-photo img{width:100%;height:100%;aspect-ratio:1}.hero-stage h1{grid-column:2;grid-row:1;align-self:center;font-size:clamp(23px,6.6vw,37px);line-height:1.6;margin:0;letter-spacing:-.04em}.hero-stage .hero-role{grid-column:1 / 3;grid-row:2;font-size:27px;line-height:1.2;margin:0}.hero-stage .hero-translation{grid-column:1 / 3;grid-row:3;font-size:15px;margin:-10px 0 0;line-height:1.3!important}.hero .intro{font-size:15px}.hero-footer{padding-top:28px}}

/* Keep interface arrows in text presentation on iOS */
.explore-more,.expand,.textlink,.email,.source,.video-note,.dialog-bottom button{font-family:Hanken,Arial,sans-serif;font-variant-emoji:text}
