@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500&display=swap");

:root { --black:#000; --rule:#222; --text:#aaa; --dim:#666; --green:#c8e052; --orange:#eb471f; --orange-dark:#9b2d14; }
* { box-sizing:border-box; }
html { min-height:100%; }
body { margin:0; padding:0 0 30px; background:var(--black); color:var(--text); font:12px/1.6 Verdana,Arial,sans-serif; }
button,a { font:inherit; }
a { color:var(--green); text-decoration:none; }
a:hover { color:var(--orange); }
a:focus-visible,button:focus-visible,input:focus-visible { outline:1px solid var(--green); outline-offset:3px; }
[data-language="en"] .lang-ko,[data-language="ko"] .lang-en { display:none!important; }
.site-shell { position:relative; width:550px; margin:20px auto 0; text-align:left; }
.language-switcher { position:absolute; top:0; right:50px; color:#444; font:9px/1 Verdana,Arial,sans-serif; }
.language-switcher button { padding:2px 1px; border:0; background:transparent; color:#555; cursor:pointer; }
.language-switcher button:hover,.language-switcher button.active { color:var(--green); }
.masthead { height:112px; padding-top:14px; text-align:center; }
.masthead h1 { margin:0; font:bold 24px/1.3 Arial,sans-serif; text-transform:uppercase; letter-spacing:3px; }
.masthead h1 a { color:var(--green); }
.masthead h1 a:hover { color:var(--orange); }
.masthead p { margin:1px 0 0; font-size:11px; letter-spacing:2px; }
.exhibition-strip { width:450px; margin:0 auto 10px; color:#777; font:10px/1.65 "IBM Plex Sans",Arial,sans-serif; }
.exhibition-strip a,.exhibition-strip>div { display:block; padding:7px 0; border-top:1px solid #1c1c1c; border-bottom:1px solid #1c1c1c; color:#777; }
.exhibition-strip article+article,.exhibition-strip a+a,.exhibition-strip div+div { border-top:0; }
.exhibition-strip a:hover { color:var(--orange); }
.exhibition-strip strong { color:#aaa; font-weight:400; }
.exhibition-strip a:hover strong { color:var(--orange); }
.exhibition-state { color:var(--green); font-size:9px; }
.exhibition-info { color:#555; }
.content { width:450px; margin:5px 0 0 50px; padding:10px 0 20px; }
.tabs { display:grid; grid-template-columns:1fr 1fr; width:100%; margin:0 0 20px; }
.tabs a { border-top:1px solid #202020; border-bottom:1px solid #202020; padding:10px 0; color:var(--orange-dark); font-weight:bold; text-align:center; }
.tabs a:hover,.tabs a.active { color:var(--orange); }
.archive-tabs,.works-tabs { display:flex; flex-direction:column; width:50%; margin:-20px 0 20px; }
.works-tabs { margin-left:50%; }
.archive-tabs a,.works-tabs a { padding:6px 0; border-bottom:1px solid #151515; color:#555; font-size:10px; text-align:center; }
.archive-tabs a.active,.works-tabs a.active { color:var(--green); }
.archive-tabs a:hover,.works-tabs a:hover { color:var(--orange); }
.page-panel { min-height:318px; animation:panel-enter 180ms ease-out both; }
@keyframes panel-enter { from{opacity:0;transform:translateY(3px)} to{opacity:1;transform:translateY(0)} }
.article-list,.works-list,.index-page,.post-page { padding:15px; }
.archive-title { margin:0 0 18px; padding:0 0 8px; border-bottom:1px solid var(--rule); color:var(--orange); font:500 13px/1.4 "IBM Plex Sans",Arial,sans-serif; }
.archive-sort { display:flex; justify-content:flex-end; align-items:center; gap:7px; margin:0 0 9px; color:#333; font:9px/1.4 Verdana,Arial,sans-serif; }
.archive-sort a { color:#555; }
.archive-sort a.active { color:var(--green); }
.archive-sort a:hover { color:var(--orange); }
.index-page { font-family:"IBM Plex Sans",Arial,sans-serif; }
.index-page section { margin-bottom:34px; }
.index-page h2 { margin:0; padding:8px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); color:var(--green); font:bold 12px/1.4 Arial,sans-serif; }
.category-run { margin:9px 0 0; line-height:2.15; }
.category-run .separator { color:#444; }
.index-page a { color:#777; }
.index-page a:hover { color:var(--green); }
.post-row { margin:0; padding:10px 0 11px; border-top:1px solid var(--rule); }
.post-row p { margin:0; }
.post-row time { color:var(--text); }
.post-row a { color:var(--green); }
.post-row a:hover { color:var(--orange); }
.cv-row>p>span { color:#777; }
.cv-page .content-text { margin-top:0; }
.empty,.works-empty { padding-top:10px; border-top:1px solid var(--rule); color:var(--dim); }
.pagination { display:flex; justify-content:space-between; margin:8px 0 45px; padding-top:8px; border-top:1px solid var(--rule); }
.pagination .next { margin-left:auto; }
.work-entry { margin:0 0 42px; }
.work-entry h2 { margin:0; color:var(--green); font:500 12px/1.6 "IBM Plex Sans",Arial,sans-serif; }
.work-entry>p { margin:0 0 3px; color:#777; }
.works-wide-shell { width:550px; }
.works-carousel { position:relative; }
.work-slide-nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin:0 0 16px; padding:7px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); color:#666; }
.work-slide-nav a { color:#777; font-size:16px; line-height:1; }
.work-slide-nav a:last-child { text-align:right; }
.work-slide-nav a:hover { color:var(--green); }
.work-slide-nav span { font:10px/1.4 Verdana,Arial,sans-serif; }
.work-slide { margin-bottom:22px; }
.work-gallery { display:flex; gap:14px; align-items:center; margin:18px 0 24px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; scrollbar-color:#444 #111; }
.work-gallery .content-image-open { margin:0; scroll-snap-align:center; }
.work-gallery-multiple { --gallery-height:clamp(340px,48vw,590px); align-items:stretch; }
.work-gallery-multiple .content-image-open { flex:0 0 auto; width:auto; height:var(--gallery-height); }
.work-gallery-multiple .content-image { width:auto; height:100%; max-width:none; object-fit:contain; }
.work-gallery-single { display:flex; justify-content:center; overflow:visible; }
.work-gallery-single .content-image-open { width:min(58%,680px); }
.works-filter-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:row; gap:10px; align-items:start; }
.work-grid-card { display:block; grid-column:span var(--work-column-span,6); min-width:0; margin:0; }
.work-grid-card .content-image-open { margin:0; }
.content-blocks { margin-top:18px; }
.content-image-open { display:block; width:100%; margin:0 0 18px; padding:0; border:0; background:transparent; cursor:zoom-in; }
.content-image { display:block; width:100%; height:auto; margin:0; }
.video-cover-open { position:relative; }
.video-cover-open>span { position:absolute; right:8px; bottom:6px; color:rgba(255,255,255,.8); font-size:12px; text-shadow:0 1px 4px #000; }
.content-video { display:block; width:100%; height:auto; margin:0 0 18px; background:#050505; }
.content-video-frame { position:relative; width:100%; margin:0 0 18px; padding-top:56.25%; background:#050505; }
.content-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.lightbox-open { overflow:hidden; background:#fff; }
.image-lightbox { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; overflow:hidden; padding:34px; background:#fff; color:#222; }
.image-lightbox::backdrop { background:#fff; }
.image-lightbox:fullscreen,.image-lightbox:-webkit-full-screen { width:100%; height:100%; background:#fff!important; }
.image-lightbox:fullscreen::backdrop,.image-lightbox:-webkit-full-screen::backdrop { background:#fff!important; }
.browser-lightbox { background:rgba(0,0,0,.82); }
.browser-lightbox .lightbox-close { color:#fff; }
.browser-lightbox .lightbox-step { color:#d0d0d0; }
.browser-lightbox .lightbox-step:hover,.browser-lightbox .lightbox-step:focus-visible { color:#fff; }
.browser-lightbox .lightbox-zoom-controls button,.browser-lightbox .lightbox-original { color:#ddd; }
.browser-lightbox .lightbox-caption { color:#ddd; }
.lightbox-media { position:relative; width:100%; height:calc(100vh - 142px); overflow:hidden; touch-action:none; }
.lightbox-slide { position:absolute; inset:0; display:grid; place-items:center; will-change:transform,opacity; }
.lightbox-slide>img,.lightbox-slide>.content-video { display:block; max-width:calc(100vw - 68px); max-height:calc(100vh - 142px); width:auto; height:auto; margin:0; object-fit:contain; }
.lightbox-zoom-image { cursor:zoom-in; transform-origin:center; will-change:transform; backface-visibility:hidden; user-select:none; -webkit-user-drag:none; }
.zoom-active .lightbox-zoom-image { cursor:grab; }
.zoom-active .lightbox-zoom-image:active,.zoom-dragging .lightbox-zoom-image { cursor:grabbing; }
.lightbox-zoom-controls { position:fixed; top:15px; left:18px; z-index:1002; display:flex; align-items:center; gap:8px; }
.lightbox-zoom-controls[hidden] { display:none; }
.lightbox-zoom-controls button { min-width:18px; padding:0; border:0; background:transparent; color:#777; font:10px/1.4 Verdana,Arial,sans-serif; cursor:pointer; }
.lightbox-zoom-controls button:first-child,.lightbox-zoom-controls button:last-child { font-size:17px; line-height:1; }
.lightbox-zoom-controls button:hover,.lightbox-zoom-controls button:focus-visible { color:#111; }
.lightbox-zoom-controls button:disabled { opacity:.28; cursor:default; }
.lightbox-slide>.content-video-frame { width:min(1180px,calc(100vw - 110px)); margin:0; padding-top:min(56.25%,calc(100vh - 142px)); }
.lightbox-close { position:fixed; top:13px; right:18px; z-index:1001; padding:0; border:0; background:transparent; color:#111; font:32px/1 Arial,sans-serif; cursor:pointer; }
.lightbox-step { position:fixed; top:50%; z-index:1001; width:54px; height:100px; margin-top:-50px; padding:0; border:0; background:transparent; color:#aaa; font:46px/1 Arial,sans-serif; cursor:pointer; }
.lightbox-step:hover { color:#111; }
.lightbox-previous { left:8px; }
.lightbox-next { right:8px; }
.single-image-lightbox .lightbox-step { display:none; }
.lightbox-original { position:fixed; right:18px; bottom:12px; color:#777; font:10px/1.4 Verdana,Arial,sans-serif; }
.lightbox-original:hover { color:#111; }
.lightbox-caption { position:fixed; right:90px; bottom:12px; left:90px; color:#555; text-align:center; font:10px/1.55 "IBM Plex Sans",Arial,sans-serif; }
.lightbox-caption strong,.lightbox-caption span { display:block; font-weight:400; }
.lightbox-caption strong { color:#111; }
.lightbox-caption small { display:block; margin-top:2px; color:#999; font:9px/1.3 Verdana,Arial,sans-serif; }
.lightbox-text-slide { width:min(680px,70vw); max-height:calc(100vh - 190px); overflow:auto; color:#333; text-align:left; font:12px/1.8 "IBM Plex Sans",Arial,sans-serif; scrollbar-width:thin; }
.lightbox-work-text { width:100%; margin:0 0 18px; color:#333; }
.lightbox-related { display:flex; justify-content:center; flex-wrap:wrap; gap:0 6px; color:#777; }
.lightbox-related>span { color:#666; }
.lightbox-related i { color:#aaa; font-style:normal; }
.lightbox-related a { color:#555; }
.lightbox-related a:hover { color:#111; }
.content-text { margin:0 0 22px; color:#b5b5b5; font:13px/1.85 "IBM Plex Sans",Arial,sans-serif; }
.related-posts { margin-top:13px; padding-top:8px; border-top:1px solid var(--rule); }
.related-posts h3 { margin:0 0 4px; color:var(--green); font:500 10px/1.6 "IBM Plex Sans",Arial,sans-serif; }
.post-page time { color:#777; }
.post-page h2 { margin:8px 0 24px; color:var(--green); font:500 18px/1.45 "IBM Plex Sans",Arial,sans-serif; }
.site-search { margin:36px auto 0; padding:5px 3px; text-align:center; }
.site-search input { width:155px; padding:2px; margin:5px 5px 1px 0; border:1px solid #fff; border-radius:0; background:#222; color:#b0b0b0; font:11px/1.4 Verdana,Arial,sans-serif; }
.site-search button { padding:2px 5px; margin:5px 0 1px; border:0; border-radius:0; background:var(--orange); color:#fff; cursor:pointer; font:11px/1.4 Verdana,Arial,sans-serif; }
.site-search button:hover { background:var(--orange-dark); }
.site-contact { width:450px; margin:42px auto 0; padding:12px 0 0; border-top:1px solid #171717; color:#555; text-align:center; font:9px/1.7 Verdana,Arial,sans-serif; }
.site-contact span,.site-contact a { display:block; }
.site-contact a { color:#777; }
.site-contact a:hover { color:var(--green); }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.landing-shell .masthead { height:78px; }
.landing-shell .masthead .landing-title { font:bold 24px/1.3 Arial,sans-serif; text-transform:uppercase; letter-spacing:3px; }
.landing-shell .content { margin-top:0; padding-top:0; padding-bottom:20px; }
.landing-shell .site-search { margin:0 auto 22px; }
.landing-shell .tabs { margin:0; }
.landing-shell .site-search input { width:210px; padding:5px 7px; }
.landing-shell .site-search button { padding:5px 9px; }
.landing-shell .tabs a { border:0; }
.landing-shell .site-contact { margin-top:34px; }
@media (max-width:900px) { .work-gallery-multiple{--gallery-height:clamp(300px,58vw,500px)} }
@media (max-width:620px) { body{padding:0 18px 24px}.site-shell,.works-wide-shell{width:100%}.language-switcher{right:0}.content,.site-contact,.exhibition-strip{width:100%;margin-left:0}.content{margin-top:5px}.masthead{height:108px}.masthead h1{font-size:21px}.article-list,.works-list,.index-page,.post-page{padding:15px 4px}.works-wide-shell .tabs{width:100%}.works-wide-shell .works-tabs{width:50%;margin-left:50%}.works-filter-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.work-grid-card{grid-column:span var(--work-mobile-span,5)}.work-gallery{gap:10px}.work-gallery-multiple{--gallery-height:clamp(260px,74vw,430px)}.work-gallery-single .content-image-open{width:100%}.image-lightbox{padding:18px 18px 78px;background:#fff}.image-lightbox::backdrop{background:#fff}.lightbox-media{height:calc(100vh - 116px)}.lightbox-slide>img,.lightbox-slide>.content-video{max-width:calc(100vw - 74px);max-height:calc(100vh - 116px)}.lightbox-slide>.content-video-frame{width:calc(100vw - 74px)}.lightbox-text-slide{width:calc(100vw - 94px);max-height:calc(100vh - 160px)}.lightbox-caption{right:48px;bottom:13px;left:48px}.lightbox-step{width:38px;height:80px;margin-top:-40px;font-size:38px}.lightbox-previous{left:0}.lightbox-next{right:0}.lightbox-original{display:none} }
@media (prefers-reduced-motion:reduce) { *{scroll-behavior:auto!important}.page-panel{animation:none}.lightbox-slide{will-change:auto} }
