@font-face{font-family:Commit Mono;src:url(../media/CommitMono-400-Regular.08ne5assz_mf3.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}.portfolio-site,.portfolio-site *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.portfolio-site img{-webkit-user-drag:none;pointer-events:none}.portfolio-site :is(input,textarea,select,[contenteditable]:not([contenteditable=false])),.portfolio-site [contenteditable]:not([contenteditable=false]) *{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.portfolio-site{--landing-pad:clamp(22px,3.3vw,64px);isolation:isolate;--portfolio-gap:18px;--portfolio-font:"Commit Mono", "Apple SD Gothic Neo", "Noto Sans KR", monospace;color:#191919;font-family:var(--portfolio-font);letter-spacing:0;background:#fff;min-height:100svh;font-size:14px;font-weight:400;line-height:1.4}.portfolio-site button{cursor:pointer;background:0 0;border:0;border-radius:0;padding:0}.portfolio-site button:disabled{cursor:default;opacity:.35}.portfolio-header{z-index:50;gap:var(--portfolio-gap);background:linear-gradient(#fffffffa 65%,#fff0);grid-template-columns:repeat(8,minmax(0,1fr));align-items:start;min-height:58px;padding:12px 18px;display:grid;position:fixed;inset:0 0 auto}.portfolio-header-note{overflow-wrap:anywhere;grid-column:1/4;max-width:100%;font-size:13px;line-height:1.45}.portfolio-brand{font-family:var(--portfolio-font);grid-column:4/7;justify-self:start;font-size:16px;line-height:1.3}.portfolio-header nav{font-family:var(--portfolio-font);grid-column:7/9;justify-content:space-between;gap:18px;font-size:16px;display:flex}.portfolio-header nav a,.portfolio-header nav button{white-space:nowrap;min-height:28px}.portfolio-header nav a:hover,.portfolio-header nav button:hover{opacity:.55}.portfolio-main{min-height:100svh;padding:96px 18px 48px}.portfolio-image-grid{--image-grid-gap:18px;column-gap:var(--image-grid-gap);grid-template-columns:repeat(8,minmax(0,1fr));align-items:stretch;row-gap:clamp(34px,5vw,82px);display:grid}.portfolio-photo-cell{isolation:isolate;min-width:0;margin:0;position:relative}.portfolio-image-grid:is(.highlight-outline,.highlight-dividers){position:relative}.portfolio-image-grid:is(.highlight-outline,.highlight-dividers) .portfolio-photo-cell:before{display:none}.photo-outline-overlay{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.portfolio-photo-cell:before{content:"";inset:calc(var(--image-grid-gap) / -2);z-index:-1;background:var(--project-highlight,#e8e6e2);opacity:0;pointer-events:none;position:absolute}.portfolio-photo-cell.is-highlighted:before{opacity:1}.portfolio-photo-content{margin:0;position:relative}.portfolio-photo{align-self:start;width:100%;display:block}.portfolio-photo img{width:100%;height:auto}.portfolio-photo:focus-visible{outline-offset:3px;outline:2px solid #191919}.portfolio-photo img{display:block}.portfolio-project-label{visibility:hidden;font:11px/1.4 var(--portfolio-font);overflow-wrap:anywhere;margin-top:12px;position:absolute;top:100%;left:0;right:0}.portfolio-project-label.is-visible{visibility:visible}.portfolio-project-label span{display:block}.portfolio-empty{color:#666;margin:10vh 0}:is(html:has(.portfolio-about[open]),html:has(.portfolio-viewer[open])){overflow:hidden}.portfolio-about{color:#191919;width:100%;max-width:none;height:100dvh;max-height:none;font:14px/1.5 var(--portfolio-font);letter-spacing:0;background:#ffffffb8;border:0;margin:0;padding:0 18px 70px;position:fixed;inset:0}.portfolio-about::backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff24}.portfolio-about[open]{animation:.22s both portfolio-fade}.portfolio-about-top{font:16px/1.4 var(--portfolio-font);z-index:1;justify-content:space-between;padding:12px 0 22px;display:flex;position:sticky;top:0}.portfolio-about-top button{padding:0 0 12px 20px}.portfolio-about-content{max-width:1120px;margin-left:calc(25% + 4.5px);padding:38px 0 0}.portfolio-about-intro{font:clamp(24px,2.5vw,40px)/1.23 var(--portfolio-font);max-width:1000px}.portfolio-about-intro p{margin:0 0 1em}.portfolio-about-columns{grid-template-columns:1.3fr 1fr 1fr;gap:36px;margin-top:90px;display:grid}.portfolio-about-columns h2{font:inherit;color:#767676;margin:0 0 24px}.portfolio-about-columns p{margin:0 0 8px}.portfolio-about-columns ul{margin:0;padding:0;list-style:none}.portfolio-about-columns a:hover{text-underline-offset:3px;text-decoration:underline}.portfolio-inquiry{max-width:330px;padding-top:24px}.portfolio-viewer{color:#191919;width:100%;max-width:none;height:100dvh;max-height:none;font:14px/1.4 var(--portfolio-font);letter-spacing:0;background:#fff;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.portfolio-viewer::backdrop{background:#fff}.portfolio-viewer-top{z-index:3;pointer-events:none;justify-content:space-between;align-items:start;gap:24px;display:flex;position:absolute;inset:12px 18px auto}.portfolio-viewer-top a,.portfolio-viewer-top button{pointer-events:auto;background:#fffc}.portfolio-viewer-top a{max-width:35%;font-family:var(--portfolio-font)}.portfolio-viewer-top span{color:#777;font-family:var(--portfolio-font);margin-left:8px}.portfolio-viewer-top button{font:16px var(--portfolio-font);min-height:32px}.portfolio-viewer-top [data-viewer-close]:is(:focus,:focus-visible,:hover,:active){box-shadow:none;outline:none;text-decoration:none}.portfolio-viewer-stage{touch-action:pan-y;place-items:center;width:100%;height:100%;display:grid;position:relative}.portfolio-viewer-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100dvh;animation:.2s portfolio-fade}.portfolio-viewer-hit{z-index:1;width:50%;position:absolute;inset-block:62px}.portfolio-viewer-hit.previous{cursor:w-resize;left:0}.portfolio-viewer-hit.next{cursor:e-resize;right:0}.portfolio-viewer-bottom{z-index:3;pointer-events:none;justify-content:space-between;align-items:end;gap:20px;display:flex;position:absolute;bottom:10px;left:18px;right:18px}.portfolio-viewer-bottom>*{pointer-events:auto;background:#fffc}.portfolio-viewer-bottom button{width:44px;height:32px;font-size:18px}.portfolio-viewer-caption{text-align:center;max-width:60%}@keyframes portfolio-fade{0%{opacity:0}to{opacity:1}}@media (max-width:1000px){.portfolio-image-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-header-note{grid-column:1/4}.portfolio-brand{grid-column:4/6}.portfolio-header nav{grid-column:6/9}.portfolio-about-content{margin-left:12%}}@media (max-width:600px){.portfolio-header{background:#fff;grid-template-columns:1fr auto auto;gap:12px;padding:12px}.portfolio-brand{grid-area:1/1;font-size:15px}.portfolio-header nav{grid-area:1/2/auto/4;gap:22px;font-size:15px}.portfolio-header-note{grid-area:2/1/auto/-1;min-height:18px;font-size:12px}.portfolio-main{padding:92px 12px 36px}.portfolio-image-grid{--image-grid-gap:12px;gap:52px var(--image-grid-gap);grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-about{padding-inline:12px}.portfolio-about-content{margin-left:0;padding-top:28px}.portfolio-about-columns{grid-template-columns:1fr 1fr;gap:40px 24px;margin-top:56px}.portfolio-about-columns section:first-child{grid-column:1/-1}.portfolio-about-columns h2{margin-bottom:14px}.portfolio-viewer-top{inset:12px 12px auto}.portfolio-viewer-top a{max-width:75%}.portfolio-viewer-top span{margin-left:0;display:block}.portfolio-viewer-stage{padding:76px 0 58px}.portfolio-viewer-image{max-height:calc(100dvh - 134px)}.portfolio-viewer-bottom{left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.portfolio-site *,.portfolio-site :before,.portfolio-site :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.portfolio-index{display:flow-root;position:relative}.portfolio-index-nav{float:left;flex-direction:column;width:calc(33.333% + 32px);height:calc(100dvh - 92px);padding-right:8px;display:flex;position:sticky;top:76px}.portfolio-index-nav .portfolio-filters{flex:none}.portfolio-index-list{overscroll-behavior-y:auto;scrollbar-width:none;flex:1;min-height:0;margin:30px 0 0;padding:0;list-style:none;overflow-y:auto}.portfolio-index-list::-webkit-scrollbar{display:none}.portfolio-index-nav li{opacity:.44;margin-bottom:7px;transition:opacity .22s}.portfolio-index-nav li.is-reached,.portfolio-index-nav li:hover,.portfolio-index-nav li:focus-within{opacity:1}.portfolio-index-nav a{font:15px/1.35 var(--portfolio-font)}.portfolio-index-nav a span{color:#707070;font:12px/1.45 var(--portfolio-font);margin-left:6px}.portfolio-index-nav a[aria-current=true]{text-underline-offset:3px;text-decoration:underline}.portfolio-index-images{width:33.333%;margin-left:calc(33.333% + 32px)}.portfolio-index-images section{margin:0 0 76px;scroll-margin-top:90px}.portfolio-index-images button,.portfolio-project-gallery button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.portfolio-index-images img,.portfolio-project-gallery img{width:100%;height:auto;display:block}.portfolio-index-images h2{display:none}.portfolio-filters{font:12px/1.5 var(--portfolio-font)}.portfolio-filters summary{cursor:pointer;width:fit-content;list-style:none}.portfolio-filters summary::-webkit-details-marker{display:none}.portfolio-filters label{align-items:center;gap:14px;max-width:260px;margin:12px 0;display:flex}.portfolio-filters select{min-width:0;font:inherit;color:#171717;background:#fff;border:0;border-bottom:1px solid #ccc;border-radius:0;flex:1;padding:4px 0}.portfolio-project{grid-template-columns:repeat(8,minmax(0,1fr));gap:18px;display:grid}.portfolio-project-info{grid-column:1/3;align-self:start;font-size:13px;line-height:1.5;position:sticky;top:86px}.portfolio-project-info h1{font:18px/1.2 var(--portfolio-font);margin:0 0 8px}.portfolio-project-info p{color:#666;margin:4px 0}.portfolio-project-info .portfolio-project-description{color:#222;margin:25px 0}.portfolio-project-info>a{margin-top:24px;display:inline-block}.portfolio-project-gallery{grid-column:4/8}.portfolio-project-gallery figure{margin:0 0 76px}.portfolio-project-gallery figcaption{color:#777;margin-top:10px;font-size:12px}.portfolio-project-neighbours{font:15px/1.4 var(--portfolio-font);justify-content:space-between;gap:25px;display:flex}.portfolio-site .text-page{padding-top:0}.portfolio-site .text-page .text-section-title{font:16px var(--portfolio-font)}@media (max-width:1000px){.portfolio-index-nav{width:36%}.portfolio-index-nav a span{margin-left:0;display:block}.portfolio-index-images{width:50%;margin-left:42%}.portfolio-project-info{grid-column:1/4}.portfolio-project-gallery{grid-column:4/9}}@media (max-width:600px){.portfolio-index-nav{z-index:20;float:none;background:0 0;width:100%;height:auto;max-height:none;padding:0;position:sticky}.portfolio-index-nav ol{display:none}.portfolio-index-images{width:84%;margin:30px auto 0}.portfolio-index-images section{margin-bottom:48px}.portfolio-index-images h2{font:14px/1.3 var(--portfolio-font);margin:10px 0 0;display:block}.portfolio-index-images h2 span{font:11px/1.5 var(--portfolio-font);color:#777;display:block}.portfolio-project{display:block}.portfolio-project-info{max-width:360px;margin:0 0 36px;position:static}.portfolio-project-gallery figure{margin-bottom:38px}.portfolio-project-neighbours{font-size:13px}}.portfolio-main.is-landing{padding:0}.portfolio-landing{--landing-pad:clamp(22px,3.3vw,64px);isolation:isolate;min-height:100svh;font:400 clamp(11px,.9vw,14px)/1.28 var(--portfolio-font);letter-spacing:.015em;background:#e7e5df;position:relative}html:has(.portfolio-landing){scroll-behavior:auto}.landing-frame{height:100svh;min-height:650px;display:block;position:relative}.landing-frame img{object-fit:cover}.landing-ink{pointer-events:none}.landing-ink a,.landing-ink button,.landing-info{pointer-events:auto}.portfolio-landing.has-info:after{content:"";z-index:2;pointer-events:none;background:#ffffffd4;position:fixed;inset:0}.landing-ink{z-index:3;color:#fff;mix-blend-mode:difference;position:fixed}.landing-header{top:var(--landing-pad);left:var(--landing-pad);right:var(--landing-pad);text-transform:uppercase;grid-template-columns:40% 35% 25%;display:grid}.landing-header>*{justify-self:start}.landing-header button{text-transform:uppercase}.landing-header a,.landing-header button,.landing-footer a,.landing-footer button{align-items:center;min-height:32px;display:inline-flex}.portfolio-landing a:hover,.portfolio-landing button:hover{text-underline-offset:4px;text-decoration:underline}.portfolio-landing :focus-visible{outline-offset:5px;outline:1px solid}.landing-copy{pointer-events:auto;top:20%;left:var(--landing-pad);width:min(24%,300px)}.landing-location{max-width:230px;margin-bottom:24px}.landing-contact{flex-direction:column;margin-bottom:24px;font-style:normal;display:flex}.landing-contact a{overflow-wrap:anywhere;width:fit-content;max-width:100%}.landing-introduction p{margin:0 0 1.3em}.landing-info{top:20%;left:calc(var(--landing-pad) + (100% - 2 * var(--landing-pad)) * .4);right:var(--landing-pad);max-width:700px}.landing-info[hidden]{display:none}.landing-info p{max-width:580px;margin:0 0 2.2em}.landing-info-columns{grid-template-columns:1fr 1fr;gap:28px;display:grid}.landing-info h3{font:inherit;margin:0 0 1.2em}.landing-info ul{margin:0;padding:0;list-style:none}.landing-info nav a{width:fit-content;display:block}.landing-footer{bottom:calc(var(--landing-pad) - 8px);left:var(--landing-pad);right:var(--landing-pad);grid-template-columns:40% 35% 25%;align-items:end;gap:0;display:grid}.landing-footer-links{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.landing-counter{align-items:center;gap:14px;display:flex}.landing-project-name{text-transform:uppercase;overflow-wrap:anywhere}.portfolio-cursor{z-index:10;pointer-events:none;opacity:0;color:#fff;mix-blend-mode:difference;width:28px;height:28px;margin:-14px;position:fixed;top:0;left:0}.portfolio-cursor span{box-sizing:border-box;border:2px solid;border-radius:50%;width:100%;height:100%;transition:border-radius .16s;display:block}.portfolio-cursor[data-interactive=true] span{border-radius:0}@media (pointer:fine) and (prefers-reduced-motion:no-preference){:is(.portfolio-site:has(.portfolio-cursor[data-visible=true]),.portfolio-site:has(.portfolio-cursor[data-visible=true]) *){cursor:none!important}}@media (pointer:coarse){.portfolio-cursor{display:none}}@media (max-width:900px){.portfolio-landing{font-size:12px}.landing-copy{width:min(32%,280px)}.landing-footer-links{gap:12px}}@media (max-width:600px){.portfolio-landing{--landing-pad:20px;font-size:11px;line-height:1.35}.landing-frame{min-height:620px}.landing-header{grid-template-columns:1fr auto auto;gap:24px}.landing-copy{width:min(66%,260px);top:112px}.landing-location,.landing-contact{margin-bottom:22px}.landing-footer{grid-template-columns:1fr auto;align-items:center;row-gap:8px;bottom:18px}.landing-project-name{grid-area:1/1/auto/-1;max-width:80%}.landing-counter{gap:4px}.landing-footer-links{gap:16px}.landing-info{top:112px;left:var(--landing-pad);right:var(--landing-pad)}.has-info .landing-copy{visibility:hidden}.has-info .landing-info{max-height:calc(100% - 230px);overflow-y:auto}.landing-info-columns{gap:18px}.landing-contact a{padding-block:3px}}@media (max-height:700px) and (min-width:601px){.portfolio-landing{font-size:11px}.landing-copy,.landing-info{top:120px}.landing-copy{width:min(30%,320px)}.landing-location,.landing-contact{margin-bottom:18px}}@media (prefers-reduced-motion:reduce){.portfolio-cursor{display:none}.portfolio-landing,.portfolio-landing a,.portfolio-landing button{cursor:auto}}.landing-info{color:#171717;mix-blend-mode:normal}.portfolio-cursor[data-visible=true]{opacity:1}.portfolio-cursor{z-index:100}.portfolio-navigation,.portfolio-view-switch{z-index:60;font:400 clamp(11px,.9vw,14px)/1.28 var(--portfolio-font);letter-spacing:.015em}.portfolio-navigation button{font:inherit}.portfolio-navigation a:hover,.portfolio-navigation button:hover,.portfolio-view-switch a:hover{text-underline-offset:4px;text-decoration:underline}.portfolio-view-switch>a{justify-self:start}.portfolio-info-panel{z-index:55;color:#191919;padding:110px var(--landing-pad) 110px;font:14px/1.5 var(--portfolio-font);background:#fff;position:fixed;inset:0;overflow-y:auto}.portfolio-info-panel .portfolio-about-content{margin:0;padding:0}.portfolio-main:not(.is-landing){padding:max(110px,calc(var(--landing-pad) + 60px)) var(--landing-pad) 100px}.portfolio-index-nav,.portfolio-project-info{top:max(110px,calc(var(--landing-pad) + 60px))}.portfolio-viewer-top{inset:100px var(--landing-pad) auto}.portfolio-viewer{--viewer-bottom-space:calc(var(--landing-pad) + 110px)}.portfolio-viewer-stage{padding:145px 0 var(--viewer-bottom-space)}.portfolio-viewer-image{max-height:calc(100dvh - 145px - var(--viewer-bottom-space))}.portfolio-viewer-hit{inset-block:145px var(--viewer-bottom-space)}.portfolio-viewer-bottom{bottom:calc(var(--landing-pad) + 48px);left:var(--landing-pad);right:var(--landing-pad)}@media (max-width:900px){.portfolio-navigation,.portfolio-view-switch{font-size:12px}}@media (max-width:600px){.portfolio-site{--landing-pad:20px}.portfolio-navigation,.portfolio-view-switch{font-size:11px;line-height:1.35}.portfolio-main:not(.is-landing){padding:92px 20px 95px}.portfolio-index-nav{top:92px}.portfolio-index-images section{scroll-margin-top:140px}.portfolio-index:has(.portfolio-filters[open]) .portfolio-index-images section{scroll-margin-top:240px}.portfolio-info-panel{padding-top:92px}.portfolio-info-panel .portfolio-about-intro{font-size:20px}.portfolio-viewer-top{top:80px}.portfolio-viewer-stage{padding:130px 0 var(--viewer-bottom-space)}.portfolio-viewer-image{max-height:calc(100dvh - 130px - var(--viewer-bottom-space))}.portfolio-viewer-hit{inset-block:130px var(--viewer-bottom-space)}.portfolio-project-label{font-size:10px}}@media (min-width:601px){.portfolio-index-nav{height:calc(100dvh - max(110px,calc(var(--landing-pad) + 60px)) - 100px)}}
