@font-face{font-family:Areal;src:url(/fonts/areal-semi-mono-medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Heros;src:url(/fonts/heros-condensed.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Portfolio KR;src:url(/fonts/portfolio-kr-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+11??,U+3130-318F,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF,U+3000-303F,U+FF00-FFEF}:root{color-scheme:dark;--bg:#000;--fg:#fafafa;--hover:#888;--margin:24px;--gap:32px;--space-sm:16px;--space-md:24px;--space-lg:32px;--section-gap:96px;--page-top:100px;--interface:Areal,"Portfolio KR Core","Portfolio KR","Apple SD Gothic Neo","Malgun Gothic",monospace;--body:Heros,"Portfolio KR Core","Portfolio KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}:root[data-theme=light]{color-scheme:light;--bg:#fafafa;--fg:#000;--hover:#727272}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-synthesis:none;scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:60px}html.lenis{scroll-behavior:auto}body{font:400 14px/1.15 var(--body);margin:0;overflow-x:clip}body,button,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}a{text-decoration:none;transition:color .15s}button{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;transition:color .15s}@media (hover:hover){a:hover,button:hover{color:var(--hover)}}button:focus-visible,a:focus-visible,[tabindex="0"]:focus-visible{outline-offset:5px;outline:1px solid}h1,h2,p,figure{margin:0}h1,h2{font:500 14px/1.2 var(--interface)}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--bg);z-index:200;padding:12px;position:fixed;top:-100px;left:24px}.skip-link:focus{top:55px}.fixed-ui{z-index:100;pointer-events:none;height:0;font:500 14px/1.2 var(--interface);position:relative}.fixed-ui a,.fixed-ui button{pointer-events:auto}.languages{top:14px;left:var(--margin);white-space:nowrap;position:fixed}.languages a[aria-current=true]{text-underline-offset:4px;text-decoration:underline 1px}.home-link{white-space:nowrap;position:fixed;top:14px;left:50%;transform:translate(-50%)}.menu{top:14px;right:var(--margin);align-items:center;gap:16px;display:flex;position:fixed}.menu a[aria-current=page]{text-underline-offset:4px;text-decoration:underline 1px}.theme-toggle{place-items:center;width:12px;height:14px;margin-left:1px;display:grid;position:relative}.theme-toggle:before{content:"";position:absolute;inset:-12px}.theme-toggle span{background:currentColor;width:11px;height:11px;display:block}.hero{--intro-progress:1;height:200svh;position:relative}.js .hero{--intro-progress:0}.hero-stage{height:100svh;position:sticky;top:0;overflow:clip}.hero-composition{top:31.45svh;left:var(--margin);right:var(--margin);position:absolute}.logo{touch-action:pan-y pinch-zoom;width:100%;height:auto;display:block;overflow:visible}.logo-square{display:none}@media (width>=701px){.logo-wide{width:min(100%,204svh);margin-inline:auto}}.js .logo-letter{opacity:0}.js .logo.is-entered .logo-letter{animation:1.3s cubic-bezier(.333333,0,.666667,1) both logo-enter;animation-delay:var(--reveal-delay,0s)}@keyframes logo-enter{0%{opacity:0}to{opacity:1}}.letter-base{fill:var(--fg)}.letter-photo{opacity:0;pointer-events:none;transition:opacity .3s}.logo-letter,.logo-letter:focus-visible{outline:none}.logo-letter:focus-visible .letter-photo,.logo-letter.is-touching .letter-photo{opacity:1}@media (hover:hover){.logo-letter:hover .letter-photo{opacity:1}}.introduction{max-width:710px;transform:translateY(calc((1 - var(--intro-progress))*55svh));margin-top:20px;line-height:1.05}.selected-work{padding-top:clamp(160px,22svh,260px)}.project-preview{margin-bottom:var(--section-gap)}.preview-copy{padding:0 var(--margin);margin-bottom:16px}.project-meta{grid-template-columns:164px 70px minmax(0,1fr);align-items:baseline;gap:14px;display:grid}.project-meta p{font:400 14px/1.15 var(--body)}.project-summary{max-width:720px;margin-top:8px;line-height:1.05}.image-strip{gap:var(--gap);padding:0 var(--margin);scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scroll-behavior:smooth;display:flex;overflow:auto hidden}.image-strip::-webkit-scrollbar,.project-images::-webkit-scrollbar{display:none}.gallery-item{user-select:none;-webkit-user-drag:none;flex:none;width:auto;height:clamp(360px,39.2vw,720px);display:block}.gallery-item img{object-fit:contain;pointer-events:none;width:auto;max-width:none;height:100%}.is-dragging{user-select:none;cursor:grabbing!important;scroll-behavior:auto!important}.see-more{margin:var(--space-sm) var(--margin) 0;display:inline-block}.footer{padding:0 var(--margin) var(--space-md);font:500 10px/1.2 var(--interface)}.footer-large{border-top:1px solid var(--fg);margin-top:132px;padding-top:40px}.contact-display{font:400 clamp(24px,calc((100vw - 2 * var(--margin)) * .116),260px)/.95 var(--body);letter-spacing:-.055em;white-space:nowrap;width:max-content;max-width:100%;margin-bottom:48px;display:block}.footer-line{justify-content:space-between;align-items:center;display:flex}.footer-line nav{gap:26px;display:flex}.index-page{padding:var(--page-top) var(--margin) 0;min-height:80svh}.index-heading{align-items:baseline;gap:90px;margin-bottom:32px;display:flex}.index-heading h1{font-size:24px}.filters{flex-wrap:wrap;gap:28px;font-size:14px;display:flex}.filters [aria-pressed=true]{text-underline-offset:5px;text-decoration:underline}.project-grid{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.index-item h2{margin-bottom:8px}.index-item img{aspect-ratio:4/5;object-fit:cover;width:100%}.filter-empty{min-height:40svh;padding:50px 0}.project-page{grid-template-columns:40.35% minmax(0,1fr);align-items:start;min-height:100svh;display:grid}.mobile-project-lead{display:none}.project-text{scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:auto;flex-direction:column;grid-area:1/1;height:100svh;padding:64px 5.55vw;display:flex;position:sticky;top:0;overflow-y:auto}.project-text::-webkit-scrollbar{width:0;height:0;display:none}.project-text-inner{width:100%;max-width:420px;margin:auto}.project-text .project-meta{grid-template-columns:max-content max-content minmax(0,1fr);gap:20px;margin-bottom:32px}.project-text h1{white-space:normal;font-size:24px}.project-text .project-meta p{max-width:250px}.project-text .project-meta span{white-space:nowrap}.project-essay p{margin-bottom:16px;line-height:1.15}.project-essay p:last-child,.about-copy p:last-child,.education p:last-child{margin-bottom:0}.project-images{gap:var(--gap);margin-right:var(--margin);flex-direction:column;grid-area:1/2;min-width:0;display:flex}.project-images img{width:100%;height:auto}.project-ending{text-align:right;margin:var(--space-lg) var(--margin) 64px;font-family:var(--interface)}[data-page=about]{flex-direction:column;min-height:100svh;display:flex}[data-page=about]>.footer{flex-shrink:0}.about-page{min-height:0;padding:70.8px var(--margin) 40px;flex:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;display:grid}.about-text{gap:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.about-panel{overflow-wrap:anywhere;min-width:0}.about-appearances h2{margin-bottom:8px}.about-appearances p+p{margin-top:var(--space-sm)}.about-appearances section+section{margin-top:var(--space-md)}@media (width>=701px){.about-page{--about-portrait-height:max(120px,calc(100svh - 146.8px))}.about-panel{max-height:var(--about-portrait-height);scrollbar-width:none;overscroll-behavior-y:contain;overflow-y:auto}.about-page .about-portrait{width:min(32vw,calc(var(--about-portrait-height) * .8));height:var(--about-portrait-height)}.about-page .about-portrait img{object-fit:cover;height:100%}}.about-copy p{margin-bottom:var(--space-sm);line-height:1.15}.about-contact{flex-wrap:wrap;gap:12px 24px;margin-top:24px;display:flex}.education p{margin-bottom:var(--space-sm);line-height:1.15}.about-portrait{justify-self:end;margin:0}.about-portrait img{width:100%;height:auto;display:block}.legal-page{max-width:720px;min-height:85svh;padding:var(--page-top) var(--margin) var(--section-gap)}.legal-page h1{margin-bottom:36px;font-size:24px}.legal-page p{margin-bottom:24px;font-size:16px;line-height:1.4}.legal-copy{white-space:pre-line;overflow-wrap:anywhere}html:lang(ko) body{word-break:keep-all;line-height:1.3}html:lang(ko) .project-summary,html:lang(ko) .introduction,html:lang(ko) .project-essay p{line-height:1.3}@media (width>=701px) and (width<=1100px){.project-text{padding-left:4vw;padding-right:4vw}.project-text .project-meta{grid-template-columns:1fr auto}.project-text .project-meta p{grid-column:1/-1}.about-text{gap:24px}.menu{gap:12px}}@media (width<=700px){:root{--margin:20px;--gap:20px;--space-md:20px;--section-gap:48px;--page-top:110px}.fixed-ui{font-size:14px}.menu{top:max(30px,env(safe-area-inset-top));align-items:center;gap:16px;left:20px;right:20px}.theme-toggle{width:20px;height:20px;margin-left:auto}.theme-toggle span{width:19px;height:19px}.languages{top:auto;bottom:max(26px,env(safe-area-inset-bottom));left:20px}.home-link{top:auto;bottom:max(26px,env(safe-area-inset-bottom));left:auto;right:20px;transform:none}html{scrollbar-gutter:auto;overscroll-behavior-y:none}body{background:var(--bg)}.hero{height:185svh}.hero-composition{--hero-gutter:max(var(--margin),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));left:var(--hero-gutter);width:calc(100% - 2 * var(--hero-gutter));top:25.3svh;right:auto}.logo-wide{display:none}.logo-square{width:100%;max-width:54.3989svh;margin:0 auto;display:block}.introduction{max-width:100%;margin:20px 0 0;line-height:1.05}.selected-work{padding-top:64px;position:relative}.project-preview{margin-bottom:var(--section-gap)}.preview-copy{margin-bottom:16px}.project-meta{grid-template-columns:auto auto minmax(0,1fr);gap:18px}.project-meta h2{max-width:130px}.project-meta p{overflow-wrap:anywhere}.project-summary{max-width:none;margin-top:8px;line-height:1.05}.image-strip{gap:20px;padding:0}.gallery-item{height:clamp(270px,81vw,440px)}.footer{padding-bottom:80px}.footer-large{margin-top:60px;padding-top:28px}.contact-display{margin-bottom:28px}.footer-line{align-items:flex-start;gap:20px;font-size:10px}.footer-line nav{gap:14px}.index-heading{margin-bottom:28px;display:block}.filters{gap:14px 22px;margin-top:22px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.project-grid h2{font-size:12px}.index-item img{aspect-ratio:4/5}.project-page{padding-top:var(--page-top);flex-direction:column;display:flex}.mobile-project-lead{padding:0 var(--margin) var(--space-lg);display:block}.mobile-project-lead .project-meta{grid-template-columns:auto auto 1fr;gap:16px}.mobile-project-lead h1{font-size:14px}.project-text{padding:var(--space-lg) var(--margin);width:100%;height:auto;min-height:0;position:static;overflow:visible}.project-text-inner{max-width:none;margin:0}.project-text .desktop-project-meta{display:none}.project-text .project-meta{grid-template-columns:auto auto 1fr;gap:16px;margin-bottom:24px}.project-text h1,.project-essay{font-size:14px}.project-images{width:100%;padding:0 var(--margin);scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scroll-behavior:smooth;flex-direction:row;align-items:center;gap:20px;margin:0;overflow:auto hidden}.project-images figure{height:min(70svh,calc(70vw / var(--image-ratio)));flex:none;width:auto;min-width:0;max-height:none}.project-images img{object-fit:contain;user-select:none;width:auto;max-width:none;height:100%}.project-ending{margin-bottom:60px}.about-page{align-items:stretch;gap:var(--space-lg);padding:var(--page-top) var(--margin) 64px;flex-direction:column;min-height:0;display:flex}.about-portrait{width:100%}.about-text{display:contents}.about-copy{order:0}.about-portrait{order:1}.education{order:2}.about-appearances{order:3}}@media (width<=360px){.fixed-ui{font-size:12px}.menu{gap:12px}.project-meta{gap:10px}.footer-line{flex-direction:column;gap:14px}}@media (prefers-reduced-motion:reduce){html,.image-strip,.project-images{scroll-behavior:auto}.js .introduction{opacity:clamp(0,calc((var(--intro-progress) - .2) / .8),1);transform:none}a,button{transition:none}}.scroll-cue{opacity:0;pointer-events:none;width:64px;height:20px;transition:opacity .5s;position:fixed;top:auto;bottom:40px;left:50%;transform:translate(-50%)}.scroll-cue svg{width:100%;height:100%;display:block}.scroll-cue.is-ready{opacity:var(--cue-opacity,1)}.project-image-open{cursor:zoom-in;width:100%;line-height:0;display:block}.viewer-open,.viewer-open body{overflow:hidden!important}.image-viewer{background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--fg);border:0;margin:0;padding:48px 64px;position:fixed;inset:0;overflow:hidden}.image-viewer:not([open]){display:none}.image-viewer[open]{place-items:center;display:grid}.image-viewer::backdrop{background:var(--bg)}.viewer-frame{width:100%;min-width:0;height:100%;min-height:0}.viewer-frame img{object-fit:contain;width:100%;height:100%}.viewer-frame figcaption{font:500 12px/1.2 var(--interface);position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.viewer-close,.viewer-previous,.viewer-next{z-index:1;background:var(--bg);width:40px;height:40px;font:400 24px/1 var(--interface);position:absolute}.viewer-close{top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.viewer-previous{top:calc(50% - 20px);left:12px}.viewer-next{top:calc(50% - 20px);right:12px}@media (width<=700px){.project-image-open{width:auto;height:100%}.image-viewer{padding:56px 20px}.viewer-previous{left:0}.viewer-next{right:0}}.return-link{margin-top:var(--space-lg);font:400 14px/1.15 var(--body);display:inline-block}.restoring-view body{visibility:hidden}html.restoring-view{scroll-behavior:auto}
