@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--ink:#17202a;--muted:#66717d;--line:#dce1e6;--soft:#f3f5f7;--paper:#fff;--accent:#3157d5;--accent-soft:#edf1ff;--green:#167652;--green-soft:#e9f6f0;--orange:#9a5a12;--orange-soft:#fff3df;--content:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),"Pretendard","Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;text-rendering:optimizeLegibility;margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:4px;outline:3px solid #3157d559}::selection{background:#dfe6ff}.skip-link{z-index:10;background:var(--ink);color:#fff;border-radius:.45rem;padding:.7rem .9rem;font-size:.82rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{width:min(calc(100% - 3rem),var(--content));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:82px;margin:0 auto;display:flex}.wordmark{align-items:center;gap:.7rem;display:inline-flex}.wordmark>span{background:var(--ink);color:#fff;border-radius:9px;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-size:1.05rem;display:grid}.wordmark strong{flex-direction:column;font-size:.86rem;line-height:1.1;display:flex}.wordmark small{color:var(--muted);font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem;font-size:.56rem;font-weight:500}.site-header nav{gap:clamp(1rem,3vw,2rem);display:flex}.site-header nav a{color:var(--muted);font-size:.78rem;font-weight:650}.site-header nav a:hover{color:var(--ink)}.hero{width:min(calc(100% - 3rem),var(--content));margin:0 auto;padding:clamp(5rem,11vw,9rem) 0 clamp(4.5rem,9vw,7rem)}.eyebrow,.section-intro>p{color:var(--accent);font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.4rem;font-size:.66rem;font-weight:650}.hero h1{letter-spacing:-.075em;word-break:keep-all;max-width:980px;margin:0;font-size:clamp(3.15rem,7vw,6.8rem);font-weight:680;line-height:1.02}.hero-bottom{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-top:clamp(3rem,6vw,5rem);padding-top:1.5rem;display:grid}.hero-bottom p{max-width:570px;color:var(--muted);word-break:keep-all;margin:0;font-size:clamp(.98rem,1.4vw,1.14rem);line-height:1.75}.hero-bottom a{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:1.2rem;min-height:44px;padding:0 1.25rem;font-size:.8rem;font-weight:700;display:inline-flex}.projects{padding:clamp(4.5rem,9vw,7rem)max(1.5rem,calc((100vw - var(--content))/2));background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-intro{grid-template-columns:.5fr 1fr;align-items:end;gap:1rem 3rem;display:grid}.section-intro>p{grid-column:1/-1;margin-bottom:0}.section-intro h2,.about h2{letter-spacing:-.06em;word-break:keep-all;margin:0;font-size:clamp(2.35rem,5vw,4.7rem);font-weight:680;line-height:1.08}.section-intro>span{max-width:390px;color:var(--muted);justify-self:end;font-size:.9rem;line-height:1.7}.project-groups{gap:4rem;margin-top:clamp(3.5rem,7vw,5.5rem);display:grid}.project-group>header{grid-template-columns:.5fr 1fr;align-items:baseline;gap:2rem;margin-bottom:1rem;display:grid}.project-group>header h3,.project-group>header p{margin:0}.project-group>header h3{letter-spacing:-.03em;font-size:1.05rem}.project-group>header p{color:var(--muted);font-size:.78rem}.project-list{border-top:1px solid #bfc7cf}.project-row{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:54px minmax(170px,.72fr) minmax(260px,1.28fr) 180px;align-items:center;gap:1.5rem;min-height:126px;padding:1.5rem 1.35rem;display:grid}.project-row:hover{background:#fbfcff}.project-index{color:#9aa4ae;font-family:var(--font-geist-mono),monospace;font-size:.68rem}.project-title h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.15rem,2vw,1.55rem)}.project-title>span{color:var(--muted);font-family:var(--font-geist-mono),monospace;margin-top:.28rem;font-size:.63rem;display:block}.project-row>p{color:#58636e;word-break:keep-all;margin:0;font-size:.86rem;line-height:1.7}.project-meta{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.status{border-radius:999px;padding:.28rem .58rem;font-size:.64rem;font-weight:700}.status-운영-중{background:var(--green-soft);color:var(--green)}.status-개발-중{background:var(--accent-soft);color:var(--accent)}.status-공개-안내{background:var(--orange-soft);color:var(--orange)}.project-meta a,.no-link{font-size:.72rem;font-weight:650}.project-meta a:hover{color:var(--accent)}.no-link{color:#9aa4ae;font-weight:500}.about{width:min(calc(100% - 3rem),var(--content));grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,8rem);margin:0 auto;padding:clamp(5rem,10vw,8rem) 0;display:grid}.about .eyebrow{margin-bottom:1rem}.about-copy>p{color:var(--muted);word-break:keep-all;margin:0;font-size:1rem;line-height:1.85}.about-copy dl{border-top:1px solid var(--line);margin:2.5rem 0 0}.about-copy dl>div{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr;gap:1rem;padding:1rem 0;display:grid}.about-copy dt,.about-copy dd{margin:0;font-size:.78rem}.about-copy dt{color:var(--muted)}.about-copy dd{font-weight:650}.about-copy dd a{text-underline-offset:.2rem;text-decoration:underline}footer{min-height:110px;padding:2rem max(1.5rem,calc((100vw - var(--content))/2));background:var(--ink);color:#fff;justify-content:space-between;align-items:center;display:flex}footer p,footer a{color:#b8c0c8;font-family:var(--font-geist-mono),monospace;margin:0;font-size:.64rem}@media (max-width:920px){.section-intro,.project-group>header,.about{grid-template-columns:1fr}.section-intro>span{justify-self:start}.project-row{grid-template-columns:42px minmax(150px,.8fr) minmax(220px,1.2fr)}.project-meta{flex-direction:row;grid-column:2/-1;justify-content:space-between;align-items:center}}@media (max-width:640px){.site-header{width:min(calc(100% - 2rem),var(--content));min-height:70px}.site-header nav{gap:.9rem}.site-header nav a{font-size:.7rem}.wordmark strong{display:none}.hero,.about{width:min(calc(100% - 2rem),var(--content))}.hero h1{font-size:clamp(2.7rem,15vw,4.1rem)}.hero-bottom{grid-template-columns:1fr;align-items:start}.hero-bottom a{width:max-content}.projects{padding-left:1rem;padding-right:1rem}.project-groups{gap:3rem}.project-group>header{gap:.35rem}.project-row{grid-template-columns:32px 1fr;gap:.75rem 1rem;min-height:0;padding:1.25rem 1rem}.project-title{align-self:center}.project-row>p,.project-meta{grid-column:2}.project-meta{margin-top:.25rem}.about{gap:2.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
