@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_18cc3f9a-module__YP9MLq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_18cc3f9a-module__YP9MLq__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#f7f9f7;--bg-elevated:#fff;--bg-warm:#eef2ee;--ink:#1a1f1c;--ink-soft:#3d4a42;--ink-muted:#6b766f;--ink-faint:#9ba69f;--line:#d6ddd7;--line-soft:#e5ebe5;--green:#1a3a2e;--green-deep:#0f2a20;--green-mid:#2d5a47;--green-soft:#e8f0ea;--green-accent:#4a8a6e;--moss:#3a6b52;--sand:#d9c8a3;--cream:#f5efe1;--rust:#b85c3a;--blush:#e8d5c4;--radius-sm:6px;--radius:12px;--radius-lg:20px;--font-serif:"Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Helvetica Neue", sans-serif;--font-sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Helvetica Neue", sans-serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, "SF Mono", Menlo, monospace;--container:1240px;--shadow-sm:0 1px 2px #1a3a2e0a;--shadow:0 8px 24px -10px #1a3a2e1f, 0 2px 6px #1a3a2e0a;--shadow-lg:0 24px 60px -20px #1a3a2e2e, 0 8px 16px -8px #1a3a2e14}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:-.005em;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}img{max-width:100%;display:block}.container{max-width:var(--container);margin:0 auto;padding:0 32px}.nav{z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);background:#f7f9f7d9;position:sticky;top:0}.nav-inner{max-width:var(--container);justify-content:space-between;align-items:center;gap:32px;margin:0 auto;padding:18px 32px;display:flex}.brand{font-family:var(--font-serif);color:var(--green);letter-spacing:-.01em;align-items:baseline;font-size:26px;font-style:italic;display:flex}.brand .dot{color:var(--rust);margin-left:1px;font-style:normal}.brand .mark{background:var(--green);border-radius:50%;width:10px;height:10px;margin-right:10px;display:inline-block;position:relative;top:-2px}.nav-links{color:var(--ink-soft);gap:28px;font-size:14px;display:flex}.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--green)}.nav-links a.active{color:var(--green);font-weight:500}.nav-cta{align-items:center;gap:10px;display:flex}.lang-toggle{border:1px solid var(--line);font-size:12px;font-family:var(--font-mono);border-radius:999px;padding:3px;display:flex}.lang-toggle button{color:var(--ink-muted);border-radius:999px;padding:4px 10px;transition:all .2s}.lang-toggle button.active{background:var(--green);color:#fff}.btn{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .18s;display:inline-flex}.btn-primary{background:var(--green);color:#fff;border:1px solid var(--green)}.btn-primary:hover{background:var(--green-deep);transform:translateY(-1px)}.btn-ghost{color:var(--green);border:1px solid var(--line);background:0 0}.btn-ghost:hover{border-color:var(--green);background:#fff}.btn-outline{color:var(--green);border:1px solid var(--green);background:0 0}.btn-outline:hover{background:var(--green);color:#fff}.btn svg{width:14px;height:14px}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--moss);align-items:center;gap:8px;font-size:11px;display:inline-flex}.eyebrow:before{content:"";background:var(--moss);width:18px;height:1px;display:block}h1,h2,h3{font-family:var(--font-serif);color:var(--ink);letter-spacing:-.015em;font-weight:400;line-height:1.08}h1{font-size:clamp(32px,4.6vw,68px)}h2{font-size:clamp(32px,4.2vw,54px)}h3{font-size:clamp(22px,2vw,28px);line-height:1.2}.kr-h1,.kr-h2{font-family:var(--font-sans);letter-spacing:-.025em;font-weight:700;line-height:1.18}.kr-h1{font-size:clamp(34px,4.8vw,60px)}.kr-h2{font-size:clamp(24px,3.2vw,40px)}.lead{color:var(--ink-soft);max-width:640px;font-size:18px;line-height:1.6}.frame{border:1px solid var(--green);border-radius:var(--radius-lg);background:#fff;position:relative;overflow:hidden}.win{border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;overflow:hidden}.win-bar{border-bottom:1px solid var(--line-soft);background:#f3f5f3;align-items:center;gap:6px;padding:10px 14px;display:flex}.win-bar .dot-r{background:#ff5f57;border-radius:50%;width:11px;height:11px}.win-bar .dot-y{background:#febc2e;border-radius:50%;width:11px;height:11px}.win-bar .dot-g{background:#28c840;border-radius:50%;width:11px;height:11px}.win-bar .url{font-family:var(--font-mono);color:var(--ink-muted);border:1px solid var(--line-soft);background:#fff;border-radius:6px;margin-left:auto;margin-right:auto;padding:4px 12px;font-size:11px}section{padding:120px 0}section.tight{padding:72px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px;display:flex}.section-head .title{max-width:640px}.section-head .title .eyebrow{margin-bottom:14px}.section-head .title h2{margin-top:4px}.section-head .aside{max-width:380px;color:var(--ink-muted);font-size:15px}.grid{gap:24px;display:grid}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:920px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}.badge{border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-soft);letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.badge.green{border-color:var(--green);color:var(--green);background:var(--green-soft)}.badge.rust{border-color:var(--rust);color:var(--rust)}.badge.sand{background:var(--cream);border-color:var(--sand);color:#7a5a2a}footer{border-top:1px solid var(--line-soft);background:var(--bg);color:var(--ink-soft);padding:80px 0 40px}footer .footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:60px;display:grid}footer h4{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.01em;margin-bottom:16px;font-size:13px;font-weight:600}footer ul{color:var(--ink-muted);flex-direction:column;gap:10px;font-size:13px;list-style:none;display:flex}footer ul a:hover{color:var(--green)}footer .foot-meta{border-top:1px solid var(--line-soft);color:var(--ink-faint);font-size:12px;font-family:var(--font-mono);justify-content:space-between;padding-top:24px;display:flex}@media (max-width:920px){footer .footer-grid{grid-template-columns:1fr 1fr}}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.dot-bg{background-image:radial-gradient(#1a3a2e14 1px,#0000 1px);background-size:18px 18px}
