/* v4 identity: personal typography, open compositions, thematic line drawings. */
:root{--paper:#ffffff;--white:#ffffff;--ink:#20282b;--muted:#5d686b;--line:#cdd9d3;--accent:#116b65;--soft:#f4f7f5;--tint:#e8f0ec;--focus:#116b65;--serif:'Portfolio Serif','Noto Serif CJK KR',serif;--sans:'Portfolio Sans','Noto Sans CJK KR',sans-serif}
body{font-family:var(--sans);line-height:1.9;background:var(--paper)}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.8px;line-height:1.5}
h3,h4{letter-spacing:-.3px}a{transition:color .16s ease}a:hover{color:var(--accent)}
.wrap{width:min(1180px,calc(100% - 96px))}.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:1.3px;font-weight:400;color:var(--muted)}
.site-header{height:86px;padding-inline:48px;border:0;background:var(--paper)}
.brand{font-family:var(--serif);font-size:25px;letter-spacing:-1.1px;font-weight:400;display:block}.brand-period{color:var(--accent)}
.site-header nav{gap:32px}.site-header nav a{font-size:13px}.header-link{font-size:12px;border-bottom:1px solid var(--ink);height:34px;min-height:34px}
.portfolio-cover{min-height:0;padding:25px 0 55px;display:block}.portfolio-cover:before{display:none}.cover-kicker{font-family:var(--sans);font-size:10px;font-weight:400;color:var(--muted);letter-spacing:1.5px}
.cover-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;padding-top:65px}
.web-cover-title{margin:0;padding:0}.web-cover-title .name-en{font-family:var(--serif);font-size:24px;color:var(--ink);margin:0 0 8px}
.web-cover-title h1{font-family:var(--serif);font-weight:400;font-size:clamp(80px,8.5vw,122px);letter-spacing:-7px;line-height:1.5}
.web-cover-title .cover-statement{font-size:20px;color:var(--ink);margin:26px 0 16px;line-height:1.9}
.web-cover-title .cover-affiliation{font-size:12px;color:var(--muted);margin:0 0 30px}
.cover-download{display:inline-flex;align-items:center;gap:40px;padding:12px 22px;background:var(--ink);color:#ffffff;border-radius:30px;font-size:12px;min-height:48px}.cover-download:hover{color:#fff;background:var(--accent);text-decoration:none}
.cover-art{position:relative;aspect-ratio:1;display:grid;place-items:center}.cover-art img{width:100%;height:auto}.cover-art>span{position:absolute;right:-3px;bottom:18px;font:18px/1.55 var(--serif);color:var(--muted)}
.contents-section{display:block;padding:70px 0 36px}.contents-heading{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}.contents-heading .eyebrow{margin:0}.contents-heading h2{font-size:30px}.contents-heading>p:last-child{margin-left:auto;font-size:12px;margin-top:0}
.web-contents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.web-contents>a{display:flex;position:relative;flex-direction:column;gap:15px;align-items:flex-start;border:0!important;padding:26px;background:var(--soft);border-radius:16px;min-height:190px}.web-contents>a>span{font-size:9px;font-weight:400;color:var(--accent);letter-spacing:.4px}.web-contents h3{font-family:var(--serif);font-size:21px;font-weight:400}.web-contents p{font-size:11px;line-height:1.8;padding-right:10px}.web-contents b{position:absolute;bottom:20px;right:23px}.contents-shortcuts{grid-column:1/-1;border:0;padding:10px 0 0;font-size:12px}
.snapshot{background:var(--ink);color:#ffffff;border:0;border-radius:18px;padding:30px 36px}.snapshot>div{border-color:#596265;padding-left:30px}.snapshot strong{font-family:var(--serif);font-size:42px;font-weight:400;letter-spacing:-1px;color:#e8f0ec}.snapshot strong span{font:12px var(--sans)}.snapshot h3{font-size:13px;font-weight:400}.snapshot p{color:#d0d6d2;font-size:10px;margin-top:5px}.snapshot-note{font-size:11px;margin-top:4px}
.section{padding-block:90px}.section-heading{margin-bottom:38px}.section-heading h2{font-size:38px}.section-heading>p{font-size:13px}.section-heading .eyebrow{margin-bottom:9px}.arrow-link{font-size:12px;font-weight:400}
.case-card{display:grid;grid-template-columns:310px minmax(0,1fr);gap:56px;padding:0;margin:0 0 70px;border:0}.case-card:last-child{margin-bottom:0}.case-art{display:flex;flex-direction:column;justify-content:center;align-items:center;align-self:stretch;background:#f4f7f5;border-radius:150px 150px 18px 18px;padding:35px 20px 25px;min-height:430px;position:relative}.case-art img{width:100%;height:auto}.case-art>span{font-size:9px;letter-spacing:1px;margin-top:20px;color:var(--muted)}.theme-industry .case-art{background:#f4f7f5;border-radius:18px}.theme-qec .case-art{background:#f4f7f5;border-radius:18px 18px 150px 150px}.case-copy{padding-block:4px}.case-card-heading h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.6;letter-spacing:-.8px}.case-card-heading>p:not(.eyebrow){font-size:14px;margin-top:15px}.case-card-heading .eyebrow{font-size:10px;color:var(--accent)}
.case-metadata{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:11px;background:var(--soft);padding:12px 17px;margin-top:22px;border:0;border-radius:8px}.case-metadata b{font-weight:400;color:var(--muted);margin-right:6px}.case-facts{margin-top:20px}.case-facts>div{display:block;border:0;padding:8px 0 12px}.case-facts dt{font-size:11px;color:var(--muted);font-weight:400;margin-bottom:6px}.case-facts dd{font-size:13px;line-height:1.9}.case-facts>div:first-child dd{font-size:15px;color:var(--ink)}.case-facts>div:last-child dd{color:var(--accent);font-size:12px}.case-open{margin:12px 0 0;text-decoration:underline;text-underline-offset:5px}
.publication-preview{background:#f4f7f5}.selected-publication,.related-publication{padding:25px 0;border-color:#cdd9d3}.selected-publication h3{font-size:17px;font-weight:400}.selected-publication .eyebrow,.related-publication .eyebrow{color:var(--accent);letter-spacing:.3px}.selected-publication p:last-child{font-size:12px}
.filter-group button{font-size:12px;border-radius:24px;background:transparent;min-height:44px;padding:9px 19px}.project-grid{gap:22px}.project-card{padding:28px;background:var(--white);border:0;border-radius:16px}.project-card h3{font-size:20px;font-weight:400;line-height:1.65}.project-card .eyebrow{font-size:10px;color:var(--accent)}.project-card>p:not(.eyebrow){font-size:13px}.project-link{font-size:12px}.project-image{font-size:12px}
.experience-section{border:0;background:#f4f7f5}.experience-layout{gap:65px}.column-title{font-family:var(--serif);font-weight:400;font-size:23px;border:0}.award-list article{border-color:#cdd9d3;padding-block:23px}.award-list h4,.experience-list h4{font-size:15px;font-weight:400;line-height:1.8}.award-list p,.experience-list p{font-size:12px}.experience-list article{border-color:#cdd9d3}.certificate-box{border:0;background:var(--paper);padding:20px 25px;border-radius:12px}.certificate-box h4{font-size:14px}.certificate-box p{font-size:12px}.timeline-disclosure{border-color:#cdd9d3}.timeline-disclosure>summary{font-weight:400;font-size:15px}.timeline-item{grid-template-columns:130px 1fr}.timeline-item h3{font-size:14px;font-weight:400}.timeline-item p{font-size:12px}.badge{border:0;background:var(--soft);border-radius:4px;padding:2px 7px;color:var(--ink)}.first-badge{background:#e8f0ec;color:#0e5b56}
.about-section{gap:70px}.about-intro{font-size:16px;line-height:2}.skills-list>div{border-color:var(--line)}.skills-list h3{font-size:14px}.skills-list p{font-size:13px}.skills-list small{font-size:11px}.contact-section{background:var(--ink)}.contact-layout h2{font-family:var(--serif);font-weight:400;font-size:33px}.contact-layout .eyebrow{color:#cdd9d3}.contact-links a{font-size:13px}.contact-links a:hover{color:#c4dfd1}.footer{padding-block:35px}.footer-brand{font-family:var(--serif);font-size:22px;letter-spacing:-1px;font-weight:400}.footer p{font-size:10px}.footer-links{font-size:11px}
.breadcrumb{font-size:12px;margin-block:30px}.document-heading{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:45px;align-items:center;padding:35px 0}.document-heading h1{font-family:var(--serif);font-size:43px;font-weight:400;line-height:1.55;letter-spacing:-1.3px}.document-intro{font-size:14px;color:var(--muted);line-height:2;margin-top:22px}.chapter-art{width:100%;height:auto}.document-case>.case-metadata{margin:0 0 35px}.document-row{display:block;border:0;padding:28px 0}.row-label{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--accent);letter-spacing:.5px;margin-bottom:18px}.row-content>p{font-size:14px;line-height:2}.row-content>.row-lead{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.9;max-width:900px;margin-bottom:15px}.outcome-rule{display:block;background:var(--soft);padding:20px 24px;border:0;border-radius:12px;margin-top:25px}.outcome-rule>span{display:block;font-size:11px;margin-bottom:7px}.outcome-rule strong{font-size:14px;line-height:2;font-weight:400}
.study-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:35px;margin-block:15px 25px;align-items:start}.study-grid>.document-row{padding:0;min-width:0}.study-grid>[data-section=contribution]{padding:24px;background:var(--soft);border-radius:18px}.study-grid .row-lead{font-family:var(--sans);font-size:15px;font-weight:700}.contribution-list{list-style:none;padding:0;margin:20px 0}.contribution-list li{padding:12px 0 12px 18px;border-left:1px solid #cdd9d3;position:relative}.contribution-list li:before{content:'';position:absolute;left:-3px;top:23px;border-radius:50%;width:5px;height:5px;background:var(--accent)}.contribution-list h3{font-size:14px;font-weight:400}.contribution-list p{font-size:12px;color:var(--muted);margin-top:5px}.row-content .note{font-size:11px}
.diagram-canvas{border:0;border-radius:18px;padding:28px 23px;background:#f4f7f5}.diagram-box{border:1px solid #cdd9d3;border-radius:10px;background:#ffffff;padding:22px 10px}.diagram-box small{font-size:8px;letter-spacing:.5px;font-weight:400;color:var(--muted)}.diagram-box strong{font-size:14px;font-weight:400}.diagram-box p{font-size:10px;line-height:1.9}.diagram-flow{gap:12px}.diagram-arrow{font-size:18px;color:var(--accent)}.accent-box{background:#e8f0ec;border-color:#cdd9d3}.diagram-foundation{border-color:#cdd9d3;display:block;text-align:center}.diagram-foundation>span{font-size:10px}.diagram-foundation p{font-size:11px;margin-top:10px}.diagram-foundation b{color:var(--accent);padding:0 5px}.diagram-branch{gap:15px;padding-top:18px}.diagram-model{background:var(--ink);color:#ffffff;border:0;border-radius:9px;padding:17px;font-size:13px;font-weight:400}.diagram-model span{color:#d6dcd7;font-size:10px}.diagram-scope{border-color:#cdd9d3;border-radius:8px;font-size:9px}.system-diagram figcaption{font-size:10px;line-height:1.8;margin-top:10px}
.case-detail-section{padding-top:45px}.case-detail-section>header{padding-bottom:18px;border:0}.case-detail-section>header h2{font-size:33px}.approach-list{display:grid;gap:18px}.problem-row{display:block;border:0;padding:28px;background:var(--white);border-radius:16px}.problem-topic{font-size:11px;color:var(--accent);margin-bottom:8px}.problem-row header h3{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.65}.explanation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:24px 0 0}.detail-value{display:block;font-size:13px;line-height:1.95;padding:0;border:0}.detail-value dt{font-size:11px;color:var(--muted);margin-bottom:8px}.detail-value dd{color:var(--ink);font-weight:400}.detail-value:last-child dt{color:var(--accent);font-weight:400}.detail-value:last-child dd{color:var(--accent);font-weight:400}
.validation-highlights{background:var(--ink);border:0;border-radius:16px;padding:26px;margin-bottom:25px}.validation-highlights strong{font-family:var(--serif);font-size:36px;color:#e8f0ec;letter-spacing:-1px;font-weight:400}.validation-highlights strong span{font-family:var(--sans);font-size:12px}.validation-highlights p{color:#d5dad6;font-size:11px}.validation-highlights>div+div{border-color:#5c6669}.evidence-table{font-size:13px}.evidence-table th,.evidence-table td{border:0;padding:14px 17px}.evidence-table thead th{background:#cdd9d3;border:0;font-weight:400;font-size:12px}.evidence-table tbody tr:nth-child(even){background:#f4f7f5}.evidence-caption{font-size:11px}.source-links{font-size:11px;gap:14px}.output-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 36px}.output-timeline li{border:0;padding:0}.output-timeline time{font-size:11px;color:var(--accent)}.output-timeline h3{font-size:15px;font-weight:400;line-height:1.8}.output-timeline p{font-size:12px}.source-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:22px}.source-pair .document-row{padding:25px;background:var(--soft);border-radius:14px}.source-pair .row-content>p{font-size:12px}.case-related{margin-top:55px}.case-related>h2{font-size:29px}.related-publication h3{font-weight:400;font-size:15px}.related-publication p:last-child{font-size:11px}.next-case{border:0;padding:28px;background:var(--soft);border-radius:14px}.next-case strong{font-weight:400;font-size:17px}.next-case span{font-size:12px}
.page-heading{border:0;padding-block:20px 35px}.page-heading h1{font-size:48px;font-weight:400}.page-heading>p:not(.eyebrow):not(.note){font-size:15px}.archive-downloads{font-size:12px}.archive-search input,.archive-search select{border-color:var(--line);border-radius:8px;background:var(--white);font-size:13px;min-height:48px}.archive-search label{font-size:12px}.archive-status{font-size:12px}.publication{grid-template-columns:35px 1fr;padding-block:28px;border-color:var(--line)}.publication h2{font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.8}.pub-index{font:12px/1.8 monospace;color:var(--accent)}.pub-meta{font-size:11px}.authors,.venue,.track-label{font-size:12px}.pub-actions{font-size:12px}.publication details{font-size:11px}.sources-page section{margin-bottom:40px}.sources-page section h2{font-size:29px}.sources-page section p{font-size:14px}.sources-page li{font-size:13px}.table-scroll{max-width:100%}img{max-width:100%}
[hidden]{display:none!important}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.site-header{padding-inline:32px}.cover-layout{gap:25px}.web-cover-title h1{font-size:100px}.web-cover-title .cover-statement{font-size:18px}.cover-art>span{font-size:15px}.case-card{grid-template-columns:240px minmax(0,1fr);gap:35px}.case-card-heading h3{font-size:27px}.web-contents>a{padding:21px}.web-contents h3{font-size:18px}.document-heading{grid-template-columns:1fr 150px;gap:25px}.document-heading h1{font-size:37px}.study-grid{grid-template-columns:1fr}.study-grid>[data-section=contribution]{padding:26px}.contribution-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 25px}.study-grid .row-lead{font-size:16px}.diagram-box strong{font-size:15px}.diagram-box p{font-size:11px}.explanation-grid{gap:22px}.experience-layout{gap:35px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:auto;min-height:108px;padding:13px 20px 10px;display:grid;grid-template-columns:1fr auto;gap:8px 15px}.brand{font-size:23px}.site-header nav{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:12px}.site-header nav a{font-size:11px;min-height:30px}.header-link{grid-row:1;grid-column:2;font-size:10px;min-height:30px}.portfolio-cover{padding-top:20px;padding-bottom:5px}.cover-kicker{font-size:8px;letter-spacing:.7px}.cover-kicker>span:last-child{display:inline}.cover-layout{grid-template-columns:1fr;padding-top:40px;gap:20px}.web-cover-title .name-en{font-size:19px;max-width:none}.web-cover-title h1{font-size:84px;letter-spacing:-5px;line-height:1.4}.web-cover-title .cover-statement{font-size:18px;max-width:none;margin-top:22px;margin-bottom:13px}.web-cover-title .cover-affiliation{font-size:11px;max-width:none;margin-bottom:23px}.cover-download{font-size:11px;padding:10px 20px;gap:36px}.cover-art{width:260px;justify-self:end;margin-top:-10px;aspect-ratio:1}.cover-art>span{font-size:14px;bottom:12px;right:0}.contents-section{padding-top:35px}.contents-heading{display:block}.contents-heading h2{font-size:27px;margin-top:12px}.contents-heading>p:last-child{margin-top:15px}.web-contents{grid-template-columns:1fr;gap:10px;margin-top:22px}.web-contents>a{min-height:0;padding:20px;gap:8px}.web-contents h3{font-size:20px}.web-contents p{font-size:11px;margin-top:8px}.contents-shortcuts{gap:17px;font-size:11px;flex-wrap:wrap}.snapshot{padding:24px;gap:25px 0;border-radius:15px}.snapshot>div{padding-left:20px}.snapshot strong{font-size:34px}.snapshot h3{font-size:12px}.snapshot p{font-size:9px}.snapshot-note{font-size:10px;line-height:1.9}.section{padding-block:55px}.section-heading h2{font-size:31px}.section-heading>p{font-size:12px}.case-card{grid-template-columns:1fr;gap:25px;margin-bottom:52px}.case-art{min-height:0;height:235px;border-radius:100px 100px 16px 16px;padding:15px;overflow:hidden}.case-art img{width:205px;max-height:205px}.case-art>span{position:absolute;bottom:14px;left:20px;font-size:8px;margin:0}.theme-industry .case-art,.theme-qec .case-art{border-radius:16px}.case-card-heading h3{font-size:28px}.case-card-heading>p:not(.eyebrow){font-size:13px}.case-metadata{font-size:10px;padding:12px;gap:7px 15px}.case-facts dd{font-size:13px}.case-facts>div:first-child dd{font-size:15px}.case-facts dt{font-size:10px}.case-open{font-size:11px}.selected-publication h3{font-size:15px}.selected-publication p:last-child{font-size:11px}.project-grid{gap:15px}.project-card{padding:23px}.project-card h3{font-size:19px}.project-card>p:not(.eyebrow){font-size:13px}.filter-group button{font-size:11px;padding:8px 14px}.experience-layout{gap:35px}.column-title{font-size:22px}.award-list h4,.experience-list h4{font-size:14px}.award-list p,.experience-list p{font-size:11px}.timeline-item{grid-template-columns:1fr}.about-intro{font-size:14px}.contact-layout h2{font-size:28px}.footer-brand{font-size:22px}.footer p{font-size:9px}.document-heading{display:block;padding:20px 0}.document-heading h1{font-size:32px;letter-spacing:-1px}.document-heading .eyebrow{font-size:10px}.document-intro{font-size:13px;margin-top:17px}.chapter-art{display:none}.document-case>.case-metadata{margin-bottom:15px}.document-row{padding:22px 0}.row-label{font-size:11px;margin-bottom:13px}.row-content>p{font-size:13px}.row-content>.row-lead{font-size:20px;line-height:1.85}.outcome-rule{padding:17px}.outcome-rule strong{font-size:12px}.study-grid{gap:22px}.study-grid>[data-section=contribution]{padding:21px}.contribution-list h3{font-size:13px}.contribution-list p{font-size:11px}.diagram-canvas{padding:20px 16px}.diagram-box{padding:18px 14px}.diagram-flow{flex-direction:column}.diagram-box strong{font-size:15px}.diagram-box p{font-size:11px}.diagram-branch{grid-template-columns:1fr}.diagram-scope{font-size:10px}.diagram-foundation p{font-size:11px}.case-detail-section>header h2{font-size:28px}.problem-row{padding:22px}.problem-row header h3{font-size:21px}.explanation-grid{grid-template-columns:1fr;gap:19px;margin-top:20px}.detail-value{font-size:13px}.detail-value dt{font-size:11px;margin-bottom:5px}.validation-highlights{padding:18px;gap:15px}.validation-highlights strong{font-size:26px}.validation-highlights strong span{font-size:10px;margin-top:8px}.validation-highlights>div{padding:0}.validation-highlights>div+div{padding-left:15px}.validation-highlights p{font-size:9px}.evidence-table{font-size:11px}.evidence-table thead th{font-size:10px}.evidence-table th,.evidence-table td{padding:11px 8px}.evidence-caption{font-size:10px}.source-links{font-size:10px;gap:12px}.output-timeline{grid-template-columns:1fr;gap:22px}.output-timeline h3{font-size:14px}.source-pair{grid-template-columns:1fr;gap:15px}.case-related>h2{font-size:26px}.related-publication h3{font-size:14px}.next-case{padding:20px}.next-case strong{font-size:15px}.page-heading h1{font-size:37px}.archive-downloads{font-size:11px;gap:17px}.archive-search label{font-size:11px}.archive-search input,.archive-search select{font-size:12px}.archive-status{font-size:11px}.publication{grid-template-columns:22px 1fr;gap:12px}.publication h2{font-size:15px;line-height:1.8}.authors,.venue,.track-label{font-size:11px}.pub-meta{font-size:10px;gap:8px}.pub-actions{font-size:11px;flex-wrap:wrap}.sources-page section h2{font-size:25px}.sources-page section p{font-size:13px}}
@media print{@page{size:A4;margin:15mm}body{background:#fff;color:#20282b}.page-heading h1{font-size:29px}.page-heading{padding:0 0 16px;margin-bottom:16px}.publication{grid-template-columns:24px 1fr;padding:13px 0;gap:12px}.publication h2{font-size:12px;line-height:1.65}.authors,.venue,.track-label,.pub-meta{font-size:9px}.badge{font-size:8px}.pub-index{font-size:9px}.page-heading .note{font-size:9px}.publication:target{background:none;box-shadow:none}.publication[hidden]{display:grid!important}}
@media(prefers-reduced-motion:reduce){a{transition:none}html{scroll-behavior:auto}}

@media(max-width:700px){.cover-art{display:block;aspect-ratio:auto;height:auto}.cover-art>span{position:static;display:block;font-size:12px;line-height:1.7;text-align:right;margin-top:7px;white-space:nowrap}.cover-art>span br{display:none}}
