@font-face{font-family:Pretendard;src:url('/assets/fonts/pretendard.woff2') format('woff2');font-display:swap;font-weight:100 900}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f4f2eb;color:#252723;font-family:Pretendard,Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,h4{margin:0}p{word-break:keep-all}h1,h2,h3{line-height:1.2;letter-spacing:-.045em}::selection{background:#ef6a40;color:#fff}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e25c34;outline-offset:5px}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:#252723;color:#fff;padding:12px}.skip:focus{top:12px}.eyebrow,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.eyebrow{color:#777b70;margin-bottom:24px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cccec3;position:relative;z-index:20}.wordmark{font-weight:800;font-size:24px;letter-spacing:-.07em}.wordmark i{color:#e4633e;font-style:normal}.topbar nav{display:flex;gap:28px;align-items:center;font-size:13px;font-weight:550}.topbar nav a{position:relative;padding:10px 0}.topbar nav a:after{content:'';position:absolute;left:0;right:100%;bottom:4px;height:1px;background:currentColor;transition:right .25s}.topbar nav a:hover:after{right:0}.menu-toggle{display:none;border:0;background:transparent;font-size:12px;padding:12px}.hero{padding:64px 0 0}.hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.hero-top .eyebrow{margin:0}.available{font-size:12px;display:flex;gap:8px;align-items:center;color:#666c61}.available:before{content:'';width:6px;height:6px;border-radius:50%;background:#e4633e}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:start}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(70px,8.5vw,128px);font-weight:400;line-height:.97;letter-spacing:-.065em}.hero h1 em{font-weight:400;color:#d9542f}.hero-summary{margin-top:32px;font-size:22px;font-weight:550;line-height:1.6;letter-spacing:-.04em;max-width:680px}.hero-sub{font-size:14px;color:#6c7166;max-width:590px;margin:15px 0 27px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:13px;font-weight:650;border-bottom:1px solid;padding:8px 0}.text-link span{font-size:20px;transition:transform .25s}.text-link:hover span{transform:translate(4px,-4px)}.portrait-stage{position:relative;padding:14px 0 0 14px}.portrait-stage:before{content:'';position:absolute;top:0;left:0;width:90px;height:90px;border-top:1px solid #adb3a4;border-left:1px solid #adb3a4}.portrait-stage:after{content:'01 / INHO LEE';position:absolute;bottom:65px;right:-26px;writing-mode:vertical-rl;font:10px ui-monospace,monospace;letter-spacing:.1em}.portrait-frame{height:385px;overflow:hidden;background:#e4e8e1;position:relative}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:grayscale(1);transition:filter .6s,transform 1s}.portrait-stage:hover img{filter:grayscale(0);transform:scale(1.02)}.portrait-caption{display:flex;justify-content:space-between;font-size:11px;margin-top:14px;color:#6c7166}.hero-rule{margin-top:60px;border-top:1px solid #cccec3;display:flex;justify-content:space-between;align-items:center;padding:19px 0;font-size:11px;color:#6c7166}.hero-rule svg{width:80px;height:32px}.section{padding:110px 0;border-top:1px solid #cccec3}.section-head{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:44px}.section-head h2{font:400 clamp(42px,4.5vw,66px)/1.05 Georgia,serif;letter-spacing:-.055em}.section-head h2 small{font:500 16px Pretendard,sans-serif;display:block;letter-spacing:-.025em;margin-top:16px}.section-head p{max-width:370px;font-size:14px;color:#6c7166}.featured{display:grid;grid-template-columns:1.05fr .95fr;background:#252c27;color:#f6f3e9;min-height:450px}.feature-copy{padding:48px;display:flex;flex-direction:column;align-items:start}.feature-copy .eyebrow{color:#b3bdb2;display:flex;gap:18px;align-items:center}.tag{display:inline-flex;font-size:10px;letter-spacing:.035em;border:1px solid #a9b59f;padding:4px 10px;border-radius:99px;line-height:1.4}.feature-copy h3{font:400 58px/1.1 Georgia,serif;letter-spacing:-.04em;margin-bottom:17px}.feature-copy p{font-size:15px;color:#cbd1c5;margin-bottom:22px;max-width:400px}.feature-copy .role{font-size:12px;color:#cbd1c5;margin-top:auto}.feature-copy .text-link{margin-top:20px}.feature-art{padding:35px;background:#dfe5d8;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.feature-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#bec7b555 1px,transparent 1px),linear-gradient(90deg,#bec7b555 1px,transparent 1px);background-size:28px 28px}.figure-label{font:11px ui-monospace,monospace;color:#53614b;letter-spacing:.06em;position:relative;margin-bottom:35px;display:flex;justify-content:space-between}.feature-art img{position:relative;width:100%;background:#fff;padding:15px;box-shadow:0 20px 45px #2d39201c;transition:transform .6s}.featured:hover .feature-art img{transform:translateY(-6px)}.figure-foot{position:relative;color:#53614b;font:10px ui-monospace,monospace;margin-top:30px}.paper-list{margin-top:35px}.paper-row{display:grid;grid-template-columns:100px 1fr 28px;gap:28px;padding:29px 0;border-bottom:1px solid #cccec3;transition:color .2s}.paper-year{font:italic 28px Georgia,serif;color:#7a8073}.paper-row h3{font-size:20px;letter-spacing:-.025em;line-height:1.4;max-width:840px}.paper-row:hover{color:#c24b28}.paper-row .venue{margin-top:8px;font-size:12px;color:#6c7166}.paper-row .role{font-size:11px;color:#7a8073;margin-top:7px}.paper-row .arrow{font-size:25px}.domestic{margin-top:32px;border-bottom:1px solid #cccec3;padding-bottom:15px}.domestic summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:13px;font-weight:650;padding:14px 0}.domestic summary:after{content:'+';font-size:20px;line-height:1}.domestic[open] summary:after{content:'−'}.compact-row{display:grid;grid-template-columns:75px 1fr;gap:20px;padding:17px 0;font-size:13px;border-top:1px solid #d8dacd}.compact-row time{color:#7a8073;font:12px ui-monospace,monospace;padding-top:3px}.compact-row span{display:block;color:#777e70;font-size:11px;margin-top:4px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 35px}.project-card .project-cover{height:370px;overflow:hidden;background:#e5e7df;position:relative}.project-card .project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.75,.2,1)}.project-card:hover img{transform:scale(1.035)}.project-card .project-cover.cpr img{object-position:center 48%}.project-card .project-cover.aily img{object-position:center 56%}.project-card .project-cover.topikup{padding:26px 30px;background:#e5e9e2}.project-card .project-cover.topikup img{object-fit:contain}.project-card .project-cover.codelearn{background:#dbd7ed;padding:25px}.project-card .project-cover.codelearn img{object-fit:contain}.project-card .project-year{position:absolute;top:16px;left:16px;padding:4px 9px;font:10px ui-monospace,monospace;background:#f6f4ec;color:#333c2d}.project-title{display:flex;justify-content:space-between;align-items:center;margin-top:21px}.project-title h3{font:400 32px Georgia,serif;letter-spacing:-.035em}.project-title span{font-size:26px}.project-card .category{font:10px ui-monospace,monospace;letter-spacing:.04em;color:#7a8073;margin:12px 0}.project-card p{font-size:14px;max-width:510px;color:#6c7166}.project-card .role{font-size:11px;color:#8b8e82;margin-top:12px}.ip-panel{background:#e9eadd;padding:70px 0}.ip-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:90px}.ip-intro h2{font:400 55px/1.08 Georgia,serif;letter-spacing:-.05em}.ip-intro p{font-size:14px;color:#6c7166;margin-top:22px;max-width:290px}.ip-numbers{display:flex;gap:30px;margin-top:35px}.ip-numbers strong{font:400 45px Georgia,serif;display:block}.ip-numbers span{font-size:11px;color:#737a69}.patent-row{border-top:1px solid #c7ccbb;padding:22px 0}.patent-row:first-child{border:0}.patent-row h3{font-size:15px;line-height:1.6;letter-spacing:-.025em}.patent-meta{display:flex;flex-wrap:wrap;gap:15px;margin-top:9px;font:10px ui-monospace,monospace;color:#737a69}.patent-meta .transferred{color:#bd4a29;font-family:Pretendard,sans-serif;font-weight:650}.software-note{font-size:11px;border-top:1px solid #c7ccbb;padding-top:20px;color:#737a69}.experience-layout{display:grid;grid-template-columns:280px 1fr;gap:90px}.experience-nav{position:sticky;top:30px;align-self:start}.experience-nav h2{font:400 53px/1.08 Georgia,serif;letter-spacing:-.05em}.experience-nav p{margin-top:25px;color:#6c7166;font-size:14px}.experience-groups{display:grid;gap:50px}.group-title{font:11px ui-monospace,monospace;letter-spacing:.07em;color:#c15130;margin-bottom:20px;display:flex;align-items:center;gap:15px}.group-title:after{content:'';height:1px;flex:1;background:#cccec3}.timeline-row{display:grid;grid-template-columns:145px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid #dedfd5}.timeline-row time{font:11px ui-monospace,monospace;color:#7a8073;padding-top:6px}.timeline-row h3{font-size:17px;letter-spacing:-.025em;line-height:1.5}.timeline-row .org{font-size:12px;color:#6c7166;margin-top:4px}.timeline-row p{font-size:12px;color:#858b7c;margin-top:8px}.book-link{display:flex;justify-content:space-between;background:#252c27;color:#f4f2eb;padding:24px;margin-top:24px;font-size:14px}.book-link small{display:block;font-size:11px;color:#bbc2b3;margin-top:6px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-grid h2{font:400 52px Georgia,serif;letter-spacing:-.05em;margin-bottom:22px}.about-grid .intro{font-size:19px;line-height:1.9;letter-spacing:-.03em;max-width:490px}.about-grid .sub{font-size:14px;color:#6c7166;margin:20px 0 30px;max-width:490px}.skill-row{display:grid;grid-template-columns:110px 1fr;gap:20px;font-size:12px;padding:17px 0;border-top:1px solid #cccec3}.skill-row strong{font-weight:600}.skill-row span{color:#7a8073}.edu-row{padding:25px 0;border-bottom:1px solid #cccec3}.edu-row time{font:10px ui-monospace,monospace;color:#7a8073;display:block;margin-bottom:10px}.edu-row h3{font-size:19px}.edu-row p{font-size:13px;margin-top:8px}.edu-row small{font-size:11px;color:#858b7c;display:block;margin-top:5px}.awards{padding-top:65px}.awards h3{font:400 30px Georgia,serif;margin-bottom:22px}.awards-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.award-row{display:grid;grid-template-columns:55px 1fr;gap:15px;padding:18px 0;border-top:1px solid #cccec3;font-size:12px}.award-row time{font:11px ui-monospace,monospace;color:#7a8073;padding-top:3px}.award-row strong{font-weight:500;display:block}.award-row span{display:block;font-size:11px;color:#7a8073;margin-top:5px}.gallery-grid{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:20px}.gallery-grid figure{margin:0}.gallery-grid img{height:240px;width:100%;object-fit:cover;filter:saturate(.8);transition:filter .4s}.gallery-grid a:hover img{filter:saturate(1)}.gallery-grid figcaption{font-size:10px;color:#7a8073;margin-top:12px;display:flex;justify-content:space-between;gap:10px}.gallery-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.gallery-head h2{font:400 32px Georgia,serif}.contact{background:#252c27;color:#f4f2eb;padding:90px 0 0}.contact .eyebrow{color:#abb5a2}.contact h2{font:400 clamp(50px,7vw,94px)/1.08 Georgia,serif;letter-spacing:-.055em}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.contact-button{font-size:55px;width:106px;height:106px;border:1px solid #717b65;border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s}.contact-button:hover{background:#ef6a40;color:#fff;border-color:#ef6a40}.contact-email{font-size:clamp(18px,3.3vw,43px);letter-spacing:-.04em;display:inline-block;margin:35px 0 50px;color:#e38a67;border-bottom:1px solid #815e46}.contact-links{display:flex;gap:30px;font-size:12px;padding-bottom:55px}.footer{border-top:1px solid #56604c;padding:23px 0 30px;display:flex;justify-content:space-between;gap:20px;color:#a4ad9c;font-size:10px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(17px);transition:opacity .7s ease,transform .7s ease}.js .reveal.seen{opacity:1;transform:none}.detail-hero{padding:60px 0 50px}.breadcrumb{font-size:12px;color:#7a8073;display:inline-block;margin-bottom:50px}.detail-hero h1{font:400 clamp(60px,7vw,100px)/1.05 Georgia,serif;letter-spacing:-.055em}.detail-hero .subtitle{font-size:22px;letter-spacing:-.035em;margin-top:17px}.detail-meta{display:flex;gap:60px;margin-top:36px;font-size:12px}.detail-meta small{font:10px ui-monospace,monospace;display:block;color:#7a8073;margin-bottom:5px}.detail-body{display:grid;grid-template-columns:.7fr 1.3fr;gap:95px;padding:60px 0}.detail-body h2{font-size:24px}.detail-body p{font-size:16px;margin-bottom:25px;color:#6c7166}.detail-body ul{padding-left:19px;font-size:14px;color:#6c7166}.detail-body li{margin-bottom:14px}.stack{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.stack span{font:10px ui-monospace,monospace;border:1px solid #c7ccbb;padding:6px 11px}.detail-photo{background:#e5e7df;padding:35px;display:flex;justify-content:center;max-height:720px}.detail-photo img{max-height:650px;object-fit:contain;width:100%}.detail-photo.wide{max-height:none}.detail-photo.wide img{max-height:none}.detail-caption{font-size:11px;color:#7a8073;margin:12px 0 45px}.project-next{border-top:1px solid #cccec3;padding:40px 0 70px;display:flex;justify-content:space-between}.legal{max-width:750px;margin:70px auto 100px}.legal h1{font-size:40px;margin-bottom:30px}.legal h2{font-size:20px;margin:30px 0 15px}.legal p{font-size:14px;margin-bottom:16px;color:#6c7166}@media(min-width:1600px){.portrait-frame{height:420px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero-grid{gap:40px;grid-template-columns:1.2fr .8fr}.hero h1{font-size:85px}.hero-summary{font-size:19px}.portrait-frame{height:350px}.featured{grid-template-columns:1fr 1fr}.feature-copy{padding:32px}.feature-copy h3{font-size:46px}.feature-art{padding:25px}.project-card .project-cover{height:310px}.ip-grid{gap:45px}.experience-layout{grid-template-columns:220px 1fr;gap:45px}.timeline-row{grid-template-columns:120px 1fr;gap:15px}.about-grid{gap:50px}.gallery-grid img{height:190px}.detail-body{gap:45px}}@media(max-width:720px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.topbar{height:72px}.wordmark{font-size:22px}.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:71px;left:-20px;right:-20px;background:#f4f2eb;border-bottom:1px solid #cccec3;padding:18px 20px;gap:12px;flex-wrap:wrap}.topbar nav.open{display:flex}.topbar nav a{padding:10px;font-size:13px}.hero{padding-top:30px}.hero-top{margin-bottom:30px;gap:20px}.hero-top .eyebrow{font-size:9px}.available{font-size:10px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(66px,15vw,100px);letter-spacing:-.065em}.hero-summary{font-size:19px;margin-top:25px}.hero-sub{font-size:13px;margin-top:15px}.portrait-stage{max-width:100%;padding-left:10px;margin-right:17px}.portrait-frame{height:340px}.portrait-frame img{object-position:center 27%}.portrait-stage:after{right:-20px;font-size:9px}.portrait-caption{font-size:10px}.hero-rule{margin-top:30px;font-size:9px;gap:10px}.hero-rule span:nth-child(2){display:none}.section{padding:65px 0}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:44px}.section-head h2 small{font-size:14px;margin-top:13px}.section-head p{margin-top:22px;font-size:13px;max-width:100%}.eyebrow{font-size:10px;margin-bottom:19px}.featured{grid-template-columns:1fr}.feature-copy{padding:30px 25px}.feature-copy h3{font-size:49px}.feature-copy p{font-size:14px}.feature-copy .role{margin-top:10px;font-size:11px}.feature-art{min-height:250px;padding:25px}.figure-label{margin-bottom:20px;font-size:9px}.figure-foot{font-size:8px;margin-top:20px}.paper-row{grid-template-columns:42px 1fr 18px;gap:15px;padding:25px 0}.paper-year{font-size:20px}.paper-row h3{font-size:16px}.paper-row .venue{font-size:11px}.paper-row .role{font-size:10px;line-height:1.7}.compact-row{grid-template-columns:40px 1fr;font-size:12px;gap:15px}.projects-grid{grid-template-columns:1fr;gap:36px}.project-card .project-cover{height:330px}.project-title h3{font-size:30px}.project-card p{font-size:13px}.ip-panel{padding:55px 0}.ip-grid{grid-template-columns:1fr;gap:30px}.ip-intro h2{font-size:44px}.ip-intro p{max-width:none;font-size:13px}.ip-numbers{gap:35px;margin-top:25px}.ip-numbers strong{font-size:39px}.patent-row{padding:19px 0}.patent-row h3{font-size:14px}.patent-meta{font-size:9px;gap:10px}.experience-layout{grid-template-columns:1fr;gap:35px}.experience-nav{position:static}.experience-nav h2{font-size:44px}.experience-nav p{font-size:13px;margin-top:20px}.experience-groups{gap:35px}.timeline-row{grid-template-columns:1fr;gap:8px;padding:20px 0}.timeline-row h3{font-size:16px}.timeline-row p{font-size:12px}.timeline-row time{font-size:10px}.about-grid{grid-template-columns:1fr;gap:40px}.about-grid h2{font-size:44px}.about-grid .intro{font-size:18px}.about-grid .sub{font-size:13px}.skill-row{grid-template-columns:100px 1fr;font-size:11px;gap:15px}.awards{padding-top:45px}.awards-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-grid img{height:240px}.gallery-head h2{font-size:29px}.gallery-head .text-link{font-size:11px;gap:15px}.contact{padding-top:60px}.contact-top{align-items:end}.contact h2{font-size:48px}.contact-button{width:65px;height:65px;font-size:35px;flex-shrink:0}.contact-email{font-size:22px;margin:28px 0 35px}.contact-links{gap:22px;padding-bottom:35px;font-size:11px;flex-wrap:wrap}.footer{font-size:9px;display:block;line-height:2}.footer span{display:block}.detail-hero{padding:30px 0}.breadcrumb{margin-bottom:35px}.detail-hero h1{font-size:58px}.detail-hero .subtitle{font-size:18px}.detail-meta{display:grid;grid-template-columns:1fr;gap:18px;margin-top:25px}.detail-body{grid-template-columns:1fr;gap:25px;padding:35px 0}.detail-body p{font-size:14px}.detail-body h2{font-size:21px}.detail-body ul{font-size:13px}.detail-photo{padding:15px;max-height:600px}.detail-photo img{max-height:570px}.detail-caption{font-size:10px}.project-next{font-size:12px}.legal h1{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}
.portrait-stage{margin:0}
@media(max-width:720px){.portrait-stage{margin-right:17px}}

.detail-hero h1.research-title{font-size:clamp(36px,5vw,68px);line-height:1.15;max-width:1100px}.research-steps article{border-top:1px solid #cccec3;padding:22px 0}.research-steps h3{font-size:17px;margin-bottom:10px}.research-steps p{font-size:14px;margin:0}.contribution{border-top:1px solid #cccec3}
/* A quiet portrait, with the work taking the foreground. */
.portrait-stage{width:210px;justify-self:end;align-self:end;margin:0 12px 25px 0;padding:10px 0 0 10px}.portrait-frame{height:238px}.portrait-caption{display:block;line-height:1.8}.portrait-caption span{display:block}.portrait-stage:after{right:-20px;bottom:75px;font-size:9px}.portrait-stage:before{width:55px;height:55px}
@media(min-width:1600px){.portrait-frame{height:238px}}
@media(max-width:1000px){.portrait-stage{width:180px}.portrait-frame{height:210px}}
@media(max-width:720px){.portrait-stage{width:160px;margin:0 18px 0 auto;padding:8px 0 0 8px}.portrait-frame{height:180px}.portrait-stage:after{font-size:8px;bottom:68px}.portrait-caption{font-size:9px}}

.project-card .project-cover.careercard{height:auto;aspect-ratio:16/9;background:#4938d6}.project-card .project-cover.careercard img{object-fit:contain}

.project-card .project-cover.topikup{padding:0;height:auto;aspect-ratio:1512/767;background:#f4f4ed}.project-card .project-cover.topikup img{object-fit:contain}

.book-link .book-stat{font-size:12px;color:#e5b997;margin-top:13px;line-height:1.7}.book-stat span{display:inline-block;font-size:10px;color:#bbc2b3}
