@font-face{font-family:Pretendard Variable;font-style:normal;font-display:swap;font-weight:45 920;src:url(/fonts/pretendard-latin-v1.3.9.woff2)format("woff2-variations")}:root{--bg:#f2efe6;--ink:#111;--accent:#355cff;--accent-text:#2648cc;--on-accent:#fff;--acid:#d7ff48;--coral:#ff6b54;--panel:#fbf9f3;--chrome:var(--bg);--muted:color-mix(in srgb, var(--ink) 62%, transparent);--edge:1px solid color-mix(in srgb, var(--ink) 76%, transparent);--mono:"Pretendard Variable", Pretendard, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--ease:cubic-bezier(.2, .75, .25, 1);--header-h:3.25rem;--content-pad:clamp(1.25rem, 6.2vw, 6rem);--section-space:clamp(4.5rem, 8vw, 7rem)}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%;scroll-padding-top:calc(var(--header-h) + .75rem);background:var(--bg)}body{background:var(--bg);min-width:20rem;min-height:100svh;color:var(--ink);font-family:var(--sans);letter-spacing:-.025em;text-rendering:optimizelegibility;margin:0;overflow-x:clip}main,.footer{width:100%;max-width:100%}section[id]{scroll-margin-top:calc(var(--header-h) + .75rem)}a,button,input{color:inherit;font:inherit}a{text-underline-offset:.16em;text-decoration-thickness:.075em}button{border-radius:0}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent-text);outline-offset:4px}::selection{background:var(--accent);color:var(--on-accent)}.skip-link{z-index:100;background:var(--ink);color:var(--bg);font:700 .75rem / 1 var(--mono);text-transform:uppercase;transition:transform .2s var(--ease);padding:.7rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-progress{z-index:80;background:var(--accent);transform-origin:0;pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.scroll-progress{animation:linear both page-progress;animation-timeline:scroll()}@keyframes page-progress{to{transform:scaleX(1)}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto;transition-duration:.001ms;animation-duration:.001ms;animation-iteration-count:1}}
.topbar{z-index:50;min-height:var(--header-h);border-bottom:var(--edge);background:var(--chrome);color:var(--ink);font:700 .68rem / 1 var(--mono);letter-spacing:.055em;text-transform:uppercase;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:0 1rem;display:grid;position:sticky;top:0}.nav-brand{min-height:2rem;font:900 .73rem / 1 var(--sans);letter-spacing:-.035em;text-transform:lowercase;align-items:center;padding:.35rem 0;text-decoration:none;display:inline-flex}.nav{justify-content:flex-end;align-items:center;gap:clamp(.8rem,1.8vw,1.35rem);min-width:0;display:flex}.nav a{padding-block:.45rem;text-decoration:none;position:relative}.nav a:after{content:"";transform-origin:100%;height:1px;transition:transform .18s var(--ease);background:currentColor;position:absolute;bottom:.16rem;left:0;right:0;transform:scaleX(0)}.nav a:hover:after,.nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.command-trigger{cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.command-trigger kbd,.command-list kbd{font:700 .62rem / 1 var(--mono)}.command-trigger kbd{border:1px solid color-mix(in srgb, currentColor 50%, transparent);text-align:center;min-width:2.3rem;padding:.28rem .35rem}.command-dialog{border:var(--edge);background:var(--bg);width:min(42rem,100vw - 2rem);max-height:min(44rem,100dvh - 2rem);color:var(--ink);box-shadow:.65rem .65rem 0 var(--ink);padding:0}.command-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#11111185}.command-panel{max-height:inherit;grid-template-rows:auto auto minmax(0,1fr) auto;display:grid}.command-head,.command-foot{justify-content:space-between;align-items:center;gap:1rem;display:flex}.command-head{border-bottom:var(--edge);padding:1rem}.command-head>div>span,.command-foot{font:700 .62rem / 1.2 var(--mono);letter-spacing:.055em;text-transform:uppercase}.command-head h2{letter-spacing:-.065em;margin:.35rem 0 0;font-size:clamp(2rem,5vw,3.6rem);font-weight:900;line-height:.86}.command-head>button{border:var(--edge);cursor:pointer;background:0 0;align-self:start;padding:.45rem .55rem}.command-search{border-bottom:var(--edge);display:block}.command-search input{background:var(--panel);border:0;outline:0;width:100%;min-height:4rem;padding:.9rem 1rem;font-size:1.05rem;font-weight:750}.command-search input::placeholder{color:var(--muted)}.command-list{overflow-y:auto}.command-list>button{border:0;border-bottom:var(--edge);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:3.6rem;padding:.85rem 1rem;font-weight:800;display:flex}.command-list>button:hover,.command-list>button:focus-visible{background:var(--accent);color:var(--on-accent);outline-offset:-3px}.command-list>p{color:var(--muted);font:700 .68rem / 1.3 var(--mono);text-align:center;text-transform:uppercase;margin:0;padding:2rem 1rem}.command-foot{border-top:var(--edge);color:var(--muted);padding:.8rem 1rem}.footer{min-height:3.25rem;padding:.8rem var(--content-pad) max(.8rem, env(safe-area-inset-bottom));border-top:var(--edge);background:var(--bg);color:var(--ink);justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-brand{font:900 .72rem / 1 var(--sans);letter-spacing:-.03em;text-transform:uppercase;text-decoration:none}.footer-copy{color:var(--muted);font:700 .62rem / 1 var(--mono);letter-spacing:.04em;text-transform:uppercase;margin:0}@media (max-width:44rem){.topbar{padding-inline:.8rem}.nav{gap:.72rem}.nav-secondary{display:none}.command-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);box-shadow:.3rem .3rem 0 var(--ink)}.command-foot span:last-child{display:none}.footer{padding-inline:1rem}}
.hero{border-bottom:var(--edge);background:var(--bg)}.hero-main{min-height:max(42rem, calc(100svh - var(--header-h)));background:var(--bg);grid-template-rows:minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.wordmark-stage{z-index:3;align-self:stretch;place-items:center;width:100%;min-height:0;padding:clamp(3rem,7vh,5rem) 1rem clamp(3.5rem,8vh,6rem);display:grid;position:relative}.hero-wordmark-flat{color:var(--ink);letter-spacing:-.087em;white-space:nowrap;pointer-events:none;text-shadow:.018em .018em 0 var(--bg), .04em .04em 0 color-mix(in srgb, var(--ink) 18%, transparent);justify-content:center;align-items:baseline;font-size:clamp(5.3rem,14.8vw,12.6rem);font-weight:900;line-height:.8;display:flex}.hero-wordmark-slash{color:var(--accent);text-shadow:.018em .018em 0 var(--bg), .04em .04em 0 color-mix(in srgb, var(--accent-text) 24%, transparent);margin-inline:.018em .03em;font-weight:850}.hero-ball-pit{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-ball-pit canvas{width:100%;height:100%;display:block}.hero-caption{z-index:4;padding:1rem var(--content-pad) 1.15rem;background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--bg) 96%, transparent) 34%, var(--bg) 100%);grid-template-columns:minmax(15rem,1.2fr) minmax(14rem,.8fr);align-items:end;gap:clamp(1.5rem,4vw,4rem);display:grid;position:relative}.hero-copy,.hero-note{margin:0}.hero-copy{letter-spacing:-.048em;max-width:36rem;padding-left:.72rem;font-size:clamp(1.45rem,2.7vw,2.2rem);font-weight:850;line-height:1;position:relative}.hero-copy:before{content:"";background:var(--accent);width:.16rem;position:absolute;top:.05em;bottom:.02em;left:0}.hero-note{max-width:24rem;color:var(--muted);font:700 .76rem / 1.4 var(--mono);letter-spacing:.015em;text-align:right;justify-self:end}.hero-note a{color:var(--ink);-webkit-text-decoration-color:color-mix(in srgb, currentColor 48%, transparent);text-decoration-color:color-mix(in srgb, currentColor 48%, transparent)}@media (min-width:72.001rem) and (max-aspect-ratio:4/3){.hero-main{min-height:max(42rem, calc(100svh - var(--header-h)))}}@media (max-width:62rem){.hero-wordmark-flat{font-size:clamp(5rem,16.5vw,8.8rem)}}@media (max-width:44rem){.hero-main{min-height:max(38rem, calc(100svh - var(--header-h)))}.wordmark-stage{padding:clamp(3rem,10vw,4.25rem) .7rem clamp(3rem,9vw,4.5rem)}.hero-wordmark-flat{letter-spacing:-.092em;font-size:clamp(4rem,18.8vw,6.2rem)}.hero-caption{grid-template-columns:1fr;gap:.7rem;padding:.9rem 1rem 1rem}.hero-copy{font-size:clamp(1.45rem,6.3vw,1.95rem)}.hero-note{text-align:left;justify-self:start;max-width:none;font-size:.7rem}}
.section{border-bottom:var(--edge);background:var(--bg)}.section-body{width:100%;max-width:100rem;padding:var(--section-space) var(--content-pad);margin-inline:auto}.section-heading{color:var(--muted);font:800 .72rem / 1 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 clamp(2rem,4vw,3rem)}.about-copy{letter-spacing:-.062em;text-wrap:balance;max-width:68rem;margin:0 0 clamp(3rem,6vw,5rem);font-size:clamp(2.3rem,5vw,4.7rem);font-weight:900;line-height:.93}.about-copy em{color:var(--accent-text);font-style:normal}.about-list,.now-list{border-top:var(--edge);margin:0}.about-row,.now-row{border-bottom:var(--edge);align-items:baseline;gap:clamp(1rem,3vw,2.5rem);display:grid}.about-row{grid-template-columns:minmax(7rem,.2fr) minmax(0,1fr);padding:1rem 0}.about-row dt,.now-row dt{font:750 .64rem / 1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.about-row dt{color:var(--muted)}.about-row dd,.now-row dd{min-width:0;margin:0}.about-row dd{letter-spacing:-.038em;overflow-wrap:anywhere;font-size:clamp(1.25rem,2.35vw,2rem);font-weight:800;line-height:1.05}.about-row a{text-underline-offset:.12em;text-decoration-thickness:.075em}.project-list{border-top:var(--edge)}.project-link{border-bottom:var(--edge);min-height:clamp(9rem,15vw,12.5rem);color:inherit;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.35rem,2.5vw,2rem) 0;text-decoration:none;display:grid}.project-link-main{gap:.55rem;min-width:0;display:grid}.project-meta{color:var(--muted);font:750 .62rem / 1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.project-link-main strong{letter-spacing:-.064em;overflow-wrap:anywhere;max-width:18ch;font-size:clamp(2.2rem,5vw,4.8rem);font-weight:900;line-height:.9;display:block}.project-description{max-width:52rem;color:var(--muted);letter-spacing:-.02em;font-size:clamp(.95rem,1.6vw,1.2rem);font-weight:650;line-height:1.35;display:block}.project-arrow{color:var(--muted);transition:transform .18s var(--ease), color .18s var(--ease);align-self:end;padding-bottom:.15rem;font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1}.project-link:hover .project-arrow,.project-link:focus-visible .project-arrow{color:var(--accent-text);transform:translate(.2rem)}.project-link:hover .project-description,.project-link:focus-visible .project-description{color:var(--ink)}.now-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);display:flex}.now-head .section-heading{margin-bottom:0}.now-updated{color:var(--muted);font:750 .62rem / 1 var(--mono);letter-spacing:.05em;text-transform:uppercase;margin:0}.now-row{grid-template-columns:minmax(8rem,.22fr) minmax(0,1fr);padding:clamp(1.25rem,2.2vw,1.8rem) 0}.now-row dt{color:var(--muted)}.now-row dd{letter-spacing:-.055em;overflow-wrap:anywhere;font-size:clamp(1.8rem,4vw,3.65rem);font-weight:900;line-height:.94}.exits-body{padding-bottom:clamp(3.5rem,6vw,5rem)}.exits{border-top:var(--edge);flex-wrap:wrap;align-items:center;gap:clamp(1.25rem,3vw,2.75rem);padding:1rem 0;display:flex}.exit{min-height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;text-decoration:none;display:inline-flex}.exit-name{letter-spacing:-.04em;white-space:nowrap;font-size:clamp(1.05rem,1.7vw,1.4rem);font-weight:850;line-height:1}.exit:hover .exit-name,.exit:focus-visible .exit-name{color:var(--accent-text)}[data-palette-button] .exit-name:after{content:"●";color:var(--accent);vertical-align:.1em;margin-left:.42rem;font-size:.6em;display:inline-block}@media (max-width:44rem){.section-body{padding:3.25rem 1rem 3.75rem}.section-heading{margin-bottom:2rem;font-size:.68rem}.about-copy{margin-bottom:3rem;font-size:clamp(2.1rem,10vw,3.7rem)}.about-row,.now-row{grid-template-columns:1fr;gap:.6rem}.about-row{padding:1rem 0 1.1rem}.about-row dd{font-size:clamp(1.35rem,6.4vw,2rem)}.project-link{gap:1rem;min-height:10rem;padding:1.35rem 0}.project-link-main strong{font-size:clamp(2.15rem,10.2vw,3.65rem)}.project-description{max-width:30rem;font-size:.92rem}.project-arrow{align-self:center;font-size:1.55rem}.now-head{flex-direction:column;align-items:flex-start;gap:.7rem}.now-row{padding:1.2rem 0 1.3rem}.now-row dd{font-size:clamp(2rem,9.4vw,3.4rem)}.exits{border-bottom:var(--edge);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid}.exit{border-bottom:var(--edge);justify-content:flex-start;min-height:3.75rem;padding:.75rem 0}.exit:nth-last-child(-n+2){border-bottom:0}}
@keyframes reveal-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline:view()){[data-reveal]{animation:both reveal-in;animation-timeline:view();animation-range:entry cover 18%}.hero [data-reveal]{animation-duration:.55s;animation-timeline:auto;animation-timing-function:var(--ease)}}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;animation:none;transform:none}}
