@layer base,layout,components,responsive;
@layer base {
:root{color-scheme:dark;--bg:#06070a;--panel:#101217;--ink:#f5f6fa;--muted:#a5abb8;--line:#30343e;--accent:#c8d9ff;--orange:#367dff;font-family:Arial,Helvetica,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,summary,input,select{-webkit-tap-highlight-color:transparent}button,select{color:inherit;background:transparent}button,select,summary{cursor:pointer}button{min-height:44px}button:disabled{opacity:.4;cursor:not-allowed}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange);outline-offset:5px}button:hover,a:hover{color:#fff}p{margin:0 0 20px;color:var(--muted)}h1,h2,h3,h4{font-weight:400;line-height:1.07;letter-spacing:-.05em;margin:0}img,canvas{display:block;max-width:100%}small{font-size:12px}input[type=range]{width:100%;accent-color:var(--accent);height:30px;cursor:ew-resize}select{border:1px solid #687173;border-radius:6px;padding:9px 38px 9px 12px;min-height:44px;max-width:100%;background:#151b1d}option,optgroup{background:#151b1d;color:#fff}[hidden]{display:none!important}::selection{background:#367dff;color:#06070a}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:black;padding:12px}.skip:focus{top:12px}
}
@layer layout {
.header{height:92px;padding:0 4.4vw;display:flex;align-items:center;gap:36px;border-bottom:1px solid #ffffff19;position:absolute;top:0;width:100%;z-index:20;background:linear-gradient(#06070a80,transparent)}.brand{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.15em;white-space:nowrap}.monogram{font-size:22px;letter-spacing:-.15em;border:1px solid #b6bebb;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;padding-right:3px}.nav{display:flex;gap:30px;margin-left:auto;font-size:13px}.languages{display:flex;gap:2px}.languages button{font-size:11px;border:0;padding:0 7px;color:#a2acac}.languages [aria-pressed=true]{color:#fff;border-bottom:1px solid #fff}.hero{min-height:760px;height:min(100svh,1050px);position:relative;overflow:hidden;display:flex;align-items:center;padding:120px 6.2vw 120px}.hero-scene{position:absolute;inset:0 0 0 24%;z-index:0}.hero-scene canvas{width:100%;height:100%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06070a 0%,#06070aef 19%,#06070a55 55%,transparent 80%);pointer-events:none}.hero-content{position:relative;z-index:2;max-width:900px;pointer-events:none}.hero-content a{pointer-events:auto}.hero h1{font-size:clamp(68px,7.8vw,132px);letter-spacing:-.065em;line-height:1.02;margin:36px 0}.hero h1 .soft{color:#a0a8ba}.hero-summary{max-width:450px;font-size:17px;line-height:1.65}.hero-foot{position:absolute;bottom:27px;left:4.4vw;right:4.4vw;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.13em;color:#adb8b7;gap:20px}.hero-tools{display:flex;gap:18px}.hero-tools button{font-size:10px;letter-spacing:.04em;border:0;border-bottom:1px solid #7a8585;padding:5px 0;min-height:36px}.quick-index{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 4.4vw}.quick-index a{padding:30px 28px;border-right:1px solid var(--line)}.quick-index a:first-child{padding-left:0}.quick-index a:last-child{border:0}.quick-index small{font-size:9px;letter-spacing:.12em;color:var(--muted)}.quick-index a>span{display:flex;justify-content:space-between;font-size:28px;letter-spacing:-.04em;margin-top:6px}.quick-index b{font-weight:400;color:#929c9a}.work>.section-intro,.section{margin:0 6.2vw}.section-intro{padding:140px 0 90px;display:grid;grid-template-columns:1fr 1.15fr;gap:20px 6vw}.section-intro .eyebrow{grid-column:1/-1}.section-intro h2{font-size:clamp(38px,4.6vw,74px)}.section-intro>p{max-width:390px;align-self:end;margin-bottom:0}.case{margin:0 4.4vw 140px}.case-heading{display:flex;align-items:end;justify-content:space-between;padding:35px 2vw 35px;border-top:1px solid var(--line);gap:40px}.case-heading h3{font-size:clamp(52px,6vw,90px);margin-top:18px}.case-heading>p{max-width:300px;margin:0}.hangul{display:inline-block;margin-left:20px;font-size:12px;letter-spacing:.12em;vertical-align:middle;color:#9ba7a4}.case-body{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;padding:40px 2vw 0}.case-body>div{min-width:0}.case-body .lead{font-size:23px;line-height:1.4;letter-spacing:-.03em;color:var(--ink)}.case-body p:not(.lead){font-size:14px}.case-body details{margin-top:0}.asset-stage{height:min(62vw,690px);min-height:420px;position:relative;background:#172025;overflow:hidden;border-radius:2px}.viewport{position:relative;width:100%;height:100%;overflow:hidden;outline-offset:-5px!important}.viewport canvas{width:100%;height:100%;touch-action:pan-y}.asset-poster{width:100%;height:100%;object-fit:cover;opacity:.63}.stage-top{position:absolute;top:25px;left:26px;right:26px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.12em;color:#e2e6e3;pointer-events:none;text-shadow:0 1px 5px #000}.stage-center{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);text-align:center;max-width:90%;width:max-content;pointer-events:none}.stage-center button{pointer-events:auto}.stage-center p{font-size:11px;background:#06070ace;padding:3px 10px;margin:12px auto 0;border-radius:10px;color:#e9eee9;width:max-content;max-width:100%}.stage-center:has(button[hidden]){bottom:14px}.viewer-controls{border-bottom:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:18px 2vw}.asset-picker{display:flex;align-items:center;gap:15px}.asset-picker label{font-size:12px;color:var(--muted)}.viewer-controls .orbit-buttons{margin-left:auto}.ratro-layout{display:grid;grid-template-columns:1.7fr 1fr;background:#090e17;border:1px solid #26364e}.ratro-stage{position:relative;min-height:570px}.ratro-panel{padding:40px 34px;background:#0e1727;border-left:1px solid #26364e;min-width:0}.ratro-panel h4,.decision-copy h4{font-size:39px;white-space:pre-line;line-height:1.12;margin:20px 0 25px}.ratro-panel>p{font-size:13px}.coordinate-tag{position:absolute;bottom:24px;left:25px;font:10px/1.8 monospace;color:#899c9c;pointer-events:none}.ratro-load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.viewport-fallback{position:absolute;left:10%;right:10%;top:35%;text-align:center;color:#aabbbb;pointer-events:none;opacity:.4}.ratro-stage:has(.ratro-load:not([hidden])) .viewport-fallback{top:25%}.play-row{display:flex;align-items:center;gap:20px;margin-top:30px}.play-row label{font-size:11px;flex:1;display:flex;justify-content:space-between}.play-row button{padding:8px 18px;border:1px solid #819190;border-radius:30px;font-size:12px;min-width:84px}.gait-events{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:25px 0;font:10px/1.5 monospace;color:#8b9f9f}.gait-events div{display:flex;justify-content:space-between;border-bottom:1px solid #324144;padding:5px}.gait-events span{color:#c8d9ff}.decision-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:6vw;background:#0c1018;border:1px solid #313a3c;padding:65px 4vw}.decision-copy>p{max-width:350px;font-size:14px}.decision-copy label{font-size:12px;color:#adb7b7;margin-right:16px}.decision-chart{min-width:0}.chart-label{font:10px monospace;letter-spacing:.09em;display:flex;justify-content:space-between;color:#a3adad;margin-bottom:36px}.fail-dots{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin:12px 0 25px}.fail-dots span{aspect-ratio:1;max-width:64px;border-radius:50%;display:grid;place-items:center;border:1px solid #6e778b;color:#b5bfbc;background:#131923}.fail-dots b{font:10px monospace}.fail-dots .found-dot{background:#367dff;border-color:#84aeff;color:#ffffff;box-shadow:0 0 24px #b9e3cd12}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:32px;border-top:1px solid #47514f;padding-top:22px;gap:12px}.metric{font-size:10px;color:#b6c1bf;display:flex;flex-direction:column}.metric strong{font-size:49px;line-height:1.2;font-weight:400;color:#f0f3ee;letter-spacing:-.06em;margin-bottom:8px}.decision-chart>.fineprint{margin-top:22px}.experience{margin-bottom:100px}.experience .section-intro{padding-top:0;padding-bottom:60px}.experience-row{display:grid;grid-template-columns:1fr 2.2fr .8fr;gap:3vw;border-top:1px solid var(--line);padding:35px 0}.experience-row h3{font-size:27px;line-height:1.25;margin-bottom:10px}.experience-row p{font-size:14px;max-width:640px}.experience-row .lead{font-size:17px}.date{font-size:11px;letter-spacing:.07em;color:#dde4e0}.date span{display:block;color:var(--muted);margin-top:10px;font-size:10px;letter-spacing:0}.evidence-label{font-size:10px;justify-self:end;color:#b2bdb9}.about{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:70px 0 140px}.about h2{font-size:clamp(36px,3.8vw,60px);margin-top:24px}.about .lead{font-size:22px;color:#e5ebff;line-height:1.5}.about>div>p{font-size:15px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px;margin:35px 0}.skills-grid h3{font-size:14px;letter-spacing:0;line-height:1.4;margin-bottom:10px}.skills-grid p{font-size:12px}.contact{padding:100px 6.2vw 90px;border-top:1px solid var(--line);background:#0a101d}.contact h2{font-size:clamp(54px,8vw,120px);margin:30px 0 45px}.contact-bottom{display:flex;justify-content:space-between;align-items:start;gap:40px}.contact-bottom p{max-width:470px}.contact-links{display:flex;gap:30px;margin-top:45px;font-size:13px}.footer{padding:30px 4.4vw;display:flex;justify-content:space-between;gap:30px;font-size:10px;color:var(--muted)}.footer p{max-width:470px;margin:0}.resume{max-width:970px;margin:40px auto;padding:30px}.resume-top{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:50px}.resume h1{font-size:56px;margin-bottom:20px}.resume h1 span{font-size:24px}.resume h2{font-size:28px;margin:35px 0 25px;border-bottom:1px solid var(--line);padding-bottom:15px}.resume h3{font-size:19px;margin:23px 0 12px}.resume p{font-size:14px}.resume footer{font-size:11px;color:var(--muted);margin-top:35px}.resume .languages{margin-left:auto}
}
@layer components {
.eyebrow{font-size:10px;letter-spacing:.14em;display:block;color:#bdc6dc;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:11px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#498aff;box-shadow:0 0 15px #498aff55}.actions{display:flex;align-items:center;gap:30px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:40px;border:1px solid #b9c2bd;border-radius:40px;padding:15px 24px;font-size:13px;line-height:1.35;min-height:52px;white-space:nowrap}.button.primary{background:#f5f7ff;color:#090e1a;border-color:#f5f7ff}.button:hover{background:#fff;color:#101713}.button.secondary{background:transparent;color:var(--ink)}.text-link{font-size:13px;border-bottom:1px solid #6d7877;padding:8px 0}.tags{display:flex;flex-wrap:wrap;gap:9px 16px;font-size:10px;color:#acb8d0;margin:26px 0}.tags span{border-top:1px solid #48524f;padding-top:7px}.switches{display:flex;gap:8px;flex-wrap:wrap}.switches button,.orbit-buttons button,.capacity-buttons button{font-size:11px;border:1px solid #56635f;border-radius:30px;padding:6px 13px;min-height:38px}.switches [aria-pressed=true],.capacity-buttons [aria-pressed=true]{background:#c8d9ff;color:#ffffff;border-color:#c8d9ff}.orbit-buttons{display:flex;gap:6px;flex-wrap:wrap}.orbit-buttons button{min-width:37px;padding:5px 10px}.ratro-panel .orbit-buttons{margin:24px 0}.fineprint{font-size:11px!important;line-height:1.7}.interaction-note{color:#9eaaa8;font-size:11px!important;margin-top:22px}.source-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;margin:23px 0}.source-links a{border-bottom:1px solid #6d7976;padding-bottom:3px}details{border-top:1px solid #58625e;border-bottom:1px solid #343b38}summary{padding:20px 28px 20px 0;list-style:none;font-size:14px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:20px;top:15px;color:#cfdaff}details[open] summary:after{content:'−'}details p{font-size:13px!important}details h4{font-size:14px;letter-spacing:0;margin:20px 0 10px}.legend{display:flex;gap:25px;font-size:10px;color:#bec7c3}.legend span{display:flex;align-items:center;gap:8px}.legend i{width:8px;height:8px;border:1px solid #b1c2b9;border-radius:50%;background:#367dff}.legend span+span i{background:#131923}.capacity-buttons{display:flex;gap:9px;margin-top:20px}.capacity-buttons button{min-width:68px}.sculpture-fallback{position:absolute;width:450px;height:450px;top:20%;right:10%;border:35px solid #90a4a0;border-radius:45% 55% 37% 63%;transform:rotate(30deg);box-shadow:inset 0 0 30px #d3e1dd,0 0 100px #6c8e8740;opacity:.35}
}
@layer responsive {
@media(min-width:1800px){.case,.quick-index{max-width:1700px;margin-left:auto;margin-right:auto}.section,.work>.section-intro{max-width:1620px;margin-left:auto;margin-right:auto}}
@media(max-width:1100px){.header{gap:20px}.nav{gap:20px}.hero h1{font-size:clamp(62px,8.4vw,100px)}.hero-number{display:none}.viewer-controls{gap:15px}.viewer-controls .orbit-buttons{margin-left:0}.ratro-layout{grid-template-columns:1.2fr 1fr}.ratro-panel{padding:30px 22px}.ratro-panel h4{font-size:32px}.ratro-stage{min-height:580px}.decision-layout{gap:4vw;padding:45px 3vw}.fail-dots{gap:9px}.case-heading>p{font-size:14px}.hangul{display:block;margin:14px 0 0}.evidence-label{grid-column:2;justify-self:start}.experience-row{grid-template-columns:1fr 2.8fr;gap:15px 30px}}
@media(max-width:700px){:root{scroll-padding-top:20px}.header{height:100px;padding:20px 6vw;flex-wrap:wrap;gap:8px;align-content:space-between}.brand{font-size:9px;gap:10px}.monogram{width:30px;height:30px;font-size:19px}.languages{margin-left:auto}.nav{width:100%;order:3;margin:0;justify-content:space-between;gap:12px;font-size:11px}.languages button{min-height:30px}.hero{min-height:730px;height:calc(100svh - 20px);max-height:900px;align-items:flex-end;padding:155px 6vw 110px}.hero-content{width:100%}.hero-scene{inset:40px -26% 15% 0;opacity:.82}.hero-shade{background:linear-gradient(0deg,#06070a 3%,#06070aee 25%,#06070a88 60%,#06070a10 95%)}.hero h1{font-size:clamp(50px,11.6vw,80px);margin:24px 0}.hero .eyebrow{font-size:8px;letter-spacing:.08em}.hero-summary{font-size:14px;max-width:330px}.hero-foot{left:6vw;right:6vw;bottom:20px;flex-wrap:wrap;gap:7px}.hero-foot>span{font-size:8px;letter-spacing:.04em}.hero-tools{margin-left:auto;gap:14px}.hero-tools button{font-size:9px;min-height:34px}.actions{gap:22px;margin-top:25px}.button{font-size:12px;padding:13px 20px;gap:22px;min-height:47px}.text-link{font-size:12px}.quick-index{margin:0 6vw;grid-template-columns:1fr}.quick-index a{padding:18px 0;border-right:0;border-bottom:1px solid #30343e;display:flex;align-items:center;justify-content:space-between;gap:10px}.quick-index a>span{font-size:23px;min-width:140px;margin:0;gap:25px}.quick-index small{font-size:8px;max-width:145px}.section-intro{padding:85px 0 55px;display:block}.section-intro h2{font-size:42px;margin:22px 0}.section-intro>p{font-size:14px;max-width:400px}.case{margin:0 5vw 85px}.case-heading{display:block;padding:25px 1vw}.case-heading h3{font-size:56px;margin:12px 0 20px}.case-heading .hangul{display:inline-block;font-size:9px;margin-left:15px}.case-heading>p{max-width:100%}.asset-stage{height:440px;min-height:0}.asset-poster{object-fit:cover}.stage-top{left:16px;right:16px;top:18px;font-size:8px}.stage-center{bottom:24px}.stage-center p{font-size:9px}.viewer-controls{padding:17px 1vw;gap:15px 10px}.asset-picker{width:100%;justify-content:space-between;gap:10px}.asset-picker label{font-size:10px}.asset-picker select{font-size:12px;max-width:210px}.switches button,.orbit-buttons button{min-height:40px}.case-body{grid-template-columns:1fr;gap:30px;padding:30px 1vw 0}.case-body .lead{font-size:23px}.case-body p:not(.lead){font-size:14px}.ratro-layout{grid-template-columns:1fr}.ratro-stage{min-height:360px;height:360px}.ratro-panel{padding:25px 22px;border-left:0;border-top:1px solid #26364e}.ratro-panel h4{font-size:32px;white-space:normal;margin:15px 0}.ratro-panel>p{font-size:13px}.ratro-panel .eyebrow{font-size:8px}.play-row{margin-top:18px}.gait-events{grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.gait-events div{display:block}.gait-events span{display:block;font-size:8px}.ratro-panel .orbit-buttons{margin:15px 0}.decision-layout{display:block;padding:30px 22px}.decision-copy h4{font-size:42px;margin:20px 0}.decision-copy>p{font-size:13px}.decision-chart{margin-top:38px;padding-top:25px;border-top:1px solid #364541}.chart-label{font-size:8px;margin-bottom:22px}.fail-dots{gap:10px;grid-template-columns:repeat(6,1fr)}.fail-dots b{font-size:8px}.metrics{margin-top:25px}.metric strong{font-size:43px}.metric{font-size:9px}.experience{margin-bottom:55px}.experience .section-intro{padding-bottom:25px}.experience-row{grid-template-columns:1fr;gap:16px;padding:28px 0}.date{display:flex;gap:15px;align-items:center;font-size:10px}.date span{margin:0;font-size:9px}.experience-row h3{font-size:24px}.evidence-label{grid-column:auto;font-size:9px}.about{grid-template-columns:1fr;gap:30px;padding:25px 0 70px}.about h2{font-size:38px}.about .lead{font-size:21px}.skills-grid{gap:15px}.skills-grid h3{font-size:12px}.skills-grid p{font-size:11px}.contact{padding:65px 6vw 55px}.contact h2{font-size:52px;margin:25px 0 35px}.contact-bottom{display:block}.contact-bottom p{font-size:14px}.contact-links{gap:22px;font-size:11px;flex-wrap:wrap;margin-top:32px}.footer{flex-wrap:wrap;font-size:9px;padding:25px 6vw;gap:15px}.footer p{order:3;width:100%}.footer>a{margin-left:auto}.resume{padding:22px;margin:0}.resume h1{font-size:41px}.resume h1 span{font-size:19px}.resume-top{gap:15px}.resume h2{font-size:26px}.resume .button{font-size:10px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{:root{color-scheme:light}body{background:#fff;color:#111}p,.resume p,.resume footer{color:#333}.resume{max-width:none;margin:0;padding:0}.resume-top{display:none}.resume h1{font-size:30px}.resume h2{font-size:18px;margin:20px 0 15px}.resume h3{font-size:14px;margin-top:15px}.resume p{font-size:10px;margin-bottom:10px}.resume footer{font-size:8px}a{color:#111}.resume section{break-inside:auto}.resume h2,.resume h3{break-after:avoid}.resume p{orphans:3;widows:3}}
}

.hero h1 .soft{color:#d2d8e6}.hero h1 span:first-child{color:#fff}.hero-tools [aria-pressed=true]{color:#7baaff}.quick-index a:hover b{color:#5e97ff}.case-heading .eyebrow{color:#7ca9ff}.status-dot{background:#3b82ff;box-shadow:0 0 20px #3b82ff99}.found-dot{box-shadow:0 0 28px #367dff20!important}.asset-stage{background:#111723}

.switches [aria-pressed=true],.capacity-buttons [aria-pressed=true]{background:#255eca;color:#fff;border-color:#4f83f1}.fail-dots .found-dot{background:#255eca;border-color:#6e9eff;color:#fff}.hero-tools button{background:#06070a88;padding:5px 8px}.ratro-load{box-shadow:0 0 45px #377fff19}

.personal-note{margin:35px 0;border-left:2px solid #367dff;padding:8px 0 8px 23px}.personal-note h3{font-size:25px;margin:15px 0}.personal-note p{font-size:14px;margin-bottom:8px}.personal-note .fineprint{color:#929fb9}.personal-note .eyebrow{font-size:9px;color:#81abff}

.viewport-fallback{opacity:1;color:#aebacf}

.monogram{font-family:monospace;font-weight:700;font-size:30px;border:0;border-radius:0;letter-spacing:-.14em;position:relative;width:34px}.monogram:after{content:'';width:4px;height:4px;background:#367dff;border-radius:50%;position:absolute;right:-4px;bottom:8px}.brand>span:last-child{letter-spacing:.16em}
