@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,800&family=Noto+Sans+KR:wght@400;500;700&family=Space+Mono:wght@700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}html,body{margin:0;padding:0}body{place-items:normal;min-width:0;display:block}#root{text-align:left;width:100%;max-width:none;margin:0;padding:0}.kc{--ketchup:#e23016;--ketchup-deep:#b21d0c;--maroon:#2a0a06;--kakao:#fee500;--cream:#f7f0e2;--cream2:#fbf6ec;--ink:#1c1512;--muted:#8a7b6e;--soft:#5b4f47;--line:#1c15121f;--field:#fff;--chip-bg:#f1e7d5;--nav-bg:#fbf6ecd9;--dot:#1c15120d;--btn-solid:#1c1512;--btn-solid-fg:#f7f0e2;--disp:"Bricolage Grotesque","Pretendard","Noto Sans KR",sans-serif;--body:"Pretendard","Noto Sans KR",system-ui,sans-serif;--mono:"Space Mono",monospace;font-family:var(--body);color:var(--ink);background-color:var(--cream2);background-image:radial-gradient(var(--dot) 1px, transparent 1.4px);-webkit-font-smoothing:antialiased;background-size:24px 24px;line-height:1.6;overflow-x:hidden}.kc.dark{--cream2:#141010;--ink:#f0e7d8;--muted:#9b8d7f;--soft:#f0e7d8b8;--line:#f0e7d824;--field:#201917;--chip-bg:#241b18;--nav-bg:#120e0dd9;--dot:#f0e7d80d;--btn-solid:#f0e7d8;--btn-solid-fg:#1c1512}.kc *{box-sizing:border-box;margin:0;padding:0}.kc .wrap{max-width:1140px;margin:0 auto;padding:0 24px}.kc .wrap-narrow{max-width:840px}.kc a{color:inherit;text-decoration:none}.kc h1,.kc h2,.kc h3{font-family:var(--disp);letter-spacing:-.02em;font-weight:800;line-height:1.1}.kc .sec,.kc .card,.kc .nav,.kc .work,.kc .chip,.kc input,.kc select,.kc textarea{transition:background-color .3s,border-color .3s,color .3s}.kc .btn{cursor:pointer;font-size:15px;font-weight:700;font-family:var(--body);border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 24px;transition:transform .18s,background .18s,box-shadow .18s,filter .18s;display:inline-flex}.kc .btn:hover{transform:translateY(-2px)}.kc .btn:active{transform:translateY(0)}.kc .btn-red{background:var(--ketchup);color:#fff;box-shadow:0 8px 22px #e2301652}.kc .btn-red:hover{background:var(--ketchup-deep)}.kc .btn-dark{background:var(--btn-solid);color:var(--btn-solid-fg)}.kc .btn-dark:hover{filter:brightness(1.08)}.kc .btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.kc .btn-kakao{background:var(--kakao);color:#3a1d1d}.kc .btn-sm{padding:10px 18px;font-size:14px}.kc .btn-block{justify-content:center;width:100%;margin-top:4px}.kc .btn[disabled]{opacity:.6;cursor:default;transform:none}.kc .tag{font-family:var(--mono);letter-spacing:.18em;color:var(--ketchup);border:1px solid var(--line);border-radius:999px;margin-bottom:22px;padding:6px 12px;font-size:12px;display:inline-block}.kc .tag-cream{color:var(--cream);border-color:#f7f0e259}.kc .nav{z-index:50;background:var(--nav-bg);-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line);transition:transform .35s,background-color .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.kc .nav.nav-hidden{transform:translateY(-100%)}.kc section{scroll-margin-top:76px}.kc .nav-in{justify-content:space-between;align-items:center;height:68px;display:flex}.kc .brand{font-family:var(--disp);letter-spacing:-.02em;align-items:center;gap:8px;font-size:20px;font-weight:800;display:inline-flex}.kc .brand-dot{background:var(--ketchup);border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 3px #e230162e}.kc .brand-soft{color:var(--muted);font-weight:600}.kc .links{align-items:center;gap:24px;display:flex}.kc .links a{color:var(--ink);font-size:15px;font-weight:600}.kc .links a:not(.btn):hover{color:var(--ketchup)}.kc .nav-tools{align-items:center;gap:10px;display:flex}.kc .langs{background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:flex}.kc .lang{cursor:pointer;font-family:var(--mono);color:var(--muted);background:0 0;border:none;border-radius:999px;padding:5px 7px;font-size:11px;font-weight:700;line-height:1}.kc .lang.on{background:var(--ketchup);color:#fff}.kc .theme{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.kc .theme:hover{border-color:var(--ketchup);color:var(--ketchup)}.kc .hamb{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:6px;display:none}.kc .hero{background:radial-gradient(115% 90% at 88% -20%, #e230161f, transparent 55%), var(--cream);padding:96px 0 0;position:relative}.kc.dark .hero{background:radial-gradient(115% 90% at 88% -20%,#e2301633,#0000 55%),#141010}.kc .eyebrow{font-family:var(--mono);letter-spacing:.16em;color:var(--ketchup);margin-bottom:26px;font-size:12.5px}.kc .hero h1{font-size:clamp(40px,7.5vw,88px)}.kc.dark .hero h1{color:var(--cream)}.kc .hero h1 .hl{color:var(--ketchup)}.kc .hero .lead{max-width:540px;color:var(--soft);margin:30px 0 34px;font-size:clamp(17px,2.2vw,20px)}.kc .hero-cta{flex-wrap:wrap;gap:14px;padding-bottom:70px;display:flex}.kc .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream2);padding:14px 0;overflow:hidden}.kc .marquee-in{white-space:nowrap;font-family:var(--mono);color:var(--muted);font-size:14px;animation:28s linear infinite scroll;display:inline-flex}@keyframes scroll{to{transform:translate(-50%)}}.kc .kc-drip{width:100%;height:46px;fill:var(--ketchup);margin-top:-1px;display:block}.kc .kc-drip--flip{transform:scaleY(-1)}.kc .sec{padding:96px 0}.kc .sec-red{background:var(--ketchup);color:var(--cream);margin-top:-1px}.kc .sec-dark{background:var(--maroon);color:var(--cream)}.kc .sec-head{margin-bottom:52px}.kc .sec-head h2{color:var(--ink);font-size:clamp(30px,4.5vw,46px)}.kc .sec-red .sec-head h2{color:#fff}.kc .sec-dark .sec-head h2{color:var(--cream)}.kc .inq-intro h2{color:#fff}.kc .sec .tag:not(.tag-cream){color:var(--ketchup)}.kc .grid{gap:18px;display:grid}.kc .grid-svc{grid-template-columns:repeat(4,1fr)}.kc .card{background:var(--cream2);color:var(--ink);border-radius:20px;padding:28px}.kc .svc{transition:transform .2s,box-shadow .2s}.kc .svc:hover{transform:translateY(-4px);box-shadow:0 18px 40px #2a0a0638}.kc .svc-top{color:var(--ketchup);justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.kc .idx{font-family:var(--mono);color:var(--muted);font-size:13px}.kc .svc h3{color:var(--ink);margin-bottom:10px;font-size:20px}.kc .svc p{color:var(--soft);font-size:14.5px}.kc .svc-cta{background:var(--maroon);color:var(--cream);flex-direction:column;justify-content:center;display:flex}.kc .svc-cta h3{color:#fff;margin-bottom:8px;font-size:20px}.kc .svc-cta p{color:#f7f0e2bf;margin-bottom:16px;font-size:14.5px}.kc .link-arrow{color:var(--ketchup);align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.kc .grid-work{grid-template-columns:repeat(2,1fr);gap:18px}.kc .sec-sub{color:var(--soft);max-width:600px;margin-top:14px;font-size:16px}.kc .case{background:var(--cream2);border:1px solid var(--line);border-radius:18px;padding:26px 26px 22px;transition:transform .2s,border-color .2s}.kc .case:hover{border-color:var(--ketchup);transform:translateY(-3px)}.kc .case-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.kc .case-cat{font-family:var(--mono);letter-spacing:.06em;color:var(--ketchup);font-size:12px}.kc .case-lock{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11.5px}.kc .case h3{color:var(--ink);margin-bottom:16px;font-size:20px;line-height:1.35}.kc .case-scope{flex-wrap:wrap;gap:7px;display:flex}.kc .case-chip{background:var(--chip-bg);color:var(--soft);border-radius:999px;padding:5px 11px;font-size:12.5px}.kc .own{border:1.5px dashed var(--line);border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-top:34px;padding:32px;display:grid}.kc .own-head h3{color:var(--ink);margin:6px 0 8px;font-size:23px}.kc .own-head p{color:var(--soft);max-width:520px;font-size:15px}.kc .own-soon{font-family:var(--mono);color:var(--ketchup);border:1px solid var(--ketchup);white-space:nowrap;border-radius:999px;padding:11px 20px;font-size:13px}.kc .career-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:44px;margin-bottom:34px;padding:26px 0 30px;display:flex}.kc .career-stats b{font-family:var(--disp);color:var(--ketchup);font-size:34px;line-height:1;display:block}.kc .career-stats span{color:var(--muted);font-size:13px}.kc .career{padding-left:22px;position:relative}.kc .career:before{content:"";background:linear-gradient(var(--ketchup), var(--line));width:2px;position:absolute;top:6px;bottom:6px;left:4px}.kc .career-row{grid-template-columns:120px 1fr;gap:22px;padding:16px 0;display:grid;position:relative}.kc .career-row:before{content:"";background:var(--ketchup);width:10px;height:10px;box-shadow:0 0 0 4px var(--cream2);border-radius:50%;position:absolute;top:24px;left:-22px}.kc .career-year{font-family:var(--mono);color:var(--muted);white-space:nowrap;padding-top:3px;font-size:13px}.kc .career-body h3{color:var(--ink);margin-bottom:5px;font-size:19px;line-height:1.4}.kc .career-role{color:var(--soft);margin-bottom:10px;font-size:14px}.kc .career-tech{flex-wrap:wrap;gap:6px;display:flex}.kc .career-tech span{font-family:var(--mono);background:var(--chip-bg);color:var(--soft);border-radius:999px;padding:4px 10px;font-size:12px}.kc .note{color:var(--muted);font-size:13px;font-family:var(--mono);margin-top:26px}.kc .steps{flex-direction:column;display:flex}.kc .step{border-top:1px solid #f7f0e224;align-items:baseline;gap:26px;padding:26px 0;display:flex}.kc .step:last-child{border-bottom:1px solid #f7f0e224}.kc .step-n{font-family:var(--mono);color:var(--ketchup);flex:0 0 40px;font-size:15px}.kc .step h3{color:#fff;margin-bottom:6px;font-size:21px}.kc .step p{color:#f7f0e2b8;font-size:15px}.kc .stack{flex-direction:column;display:flex}.kc .stack-row{border-top:1px solid var(--line);grid-template-columns:180px 1fr;align-items:center;gap:20px;padding:22px 0;display:grid}.kc .stack-row:last-child{border-bottom:1px solid var(--line)}.kc .stack-cat{font-family:var(--disp);color:var(--ink);font-size:17px;font-weight:700}.kc .chips{flex-wrap:wrap;gap:8px;display:flex}.kc .chip{font-family:var(--mono);background:var(--chip-bg);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:7px 14px;font-size:13px}.kc .about-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:60px;display:grid}.kc .about-h{color:#fff;font-size:clamp(32px,5vw,56px)}.kc .about-body p{color:#f7f0e2d1;margin-bottom:18px;font-size:16.5px}.kc .stats{flex-wrap:wrap;gap:36px;margin-top:34px;display:flex}.kc .stats b{font-family:var(--disp);color:var(--ketchup);font-size:34px;line-height:1;display:block}.kc .stats span{color:#f7f0e299;font-size:13px}.kc .faq{flex-direction:column;display:flex}.kc .faq-item{border-top:1px solid var(--line)}.kc .faq-item:last-child{border-bottom:1px solid var(--line)}.kc .faq-q{cursor:pointer;text-align:left;width:100%;font-family:var(--disp);color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:18px;font-weight:700;display:flex}.kc .faq-chev{color:var(--ketchup);flex:none;transition:transform .25s}.kc .faq-item.open .faq-chev{transform:rotate(180deg)}.kc .faq-a{animation:.25s faqIn;overflow:hidden}.kc .faq-a p{color:var(--soft);padding-bottom:22px;font-size:15.5px;line-height:1.7}@keyframes faqIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.kc .inq-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:52px;display:grid}.kc .inq-intro h2{font-size:clamp(32px,4.5vw,52px)}.kc .inq-intro p{color:#ffffffe6;margin:22px 0 24px;font-size:16.5px}.kc .inq-direct{font-family:var(--mono);color:#fff;border-bottom:1px solid #fff6;align-items:center;gap:8px;padding-bottom:3px;font-size:14px;display:inline-flex}.kc .form{padding:32px}.kc .form label{color:var(--ink);margin-bottom:14px;font-size:13px;font-weight:700;display:block}.kc .row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.kc .form input,.kc .form select,.kc .form textarea{border:1.5px solid var(--line);width:100%;font-family:var(--body);color:var(--ink);background:var(--field);border-radius:12px;outline:none;margin-top:7px;padding:12px 14px;font-size:15px;font-weight:400;transition:border-color .15s}.kc .form input:focus,.kc .form select:focus,.kc .form textarea:focus{border-color:var(--ketchup)}.kc .form ::placeholder{color:var(--muted)}.kc .form textarea{resize:vertical}.kc .err{color:var(--ketchup);margin-bottom:12px;font-size:13.5px;font-weight:700}.kc .btn-block{margin-top:2px}.kc .form-cta-sub{align-items:center;gap:10px;margin-top:14px;display:flex}.kc .form-cta-sub span{color:var(--muted);font-size:13px}.kc .form-cta-sub .btn{flex:1;justify-content:center}.kc .hp{opacity:0;width:1px;height:1px;position:absolute!important;left:-9999px!important}.kc .done{text-align:center;padding:22px 8px}.kc .done-badge{background:var(--ketchup);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 18px;display:flex}.kc .done h3{color:var(--ink);margin-bottom:10px;font-size:22px}.kc .done p{color:var(--soft);margin-bottom:20px;font-size:14.5px}.kc .foot{color:var(--cream);background:#17110e;padding:64px 0 26px}.kc .foot-grid{border-bottom:1px solid #f7f0e21f;grid-template-columns:1.4fr 1fr 1fr;gap:36px;padding-bottom:40px;display:grid}.kc .brand-lg{color:var(--cream);font-size:26px}.kc .foot-tag{color:#f7f0e299;margin-top:12px;font-size:14.5px}.kc .foot-col h4{font-family:var(--disp);color:#fff;align-items:center;gap:6px;margin-bottom:14px;font-size:15px;display:flex}.kc .foot-col p{color:#f7f0e2b8;margin-bottom:6px;font-size:14px}.kc .foot-col a:hover{color:var(--ketchup)}.kc .foot-bot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:22px;display:flex}.kc .foot-bot span{color:#f7f0e280;font-size:13px}.kc .foot-legal{gap:20px;display:flex}.kc .foot-legal a{color:#f7f0e299;font-size:13px}.kc .foot-legal a:hover{color:var(--cream)}.kc .reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(22px)}.kc .reveal.in{opacity:1;transform:none}@media (width<=900px){.kc .grid-svc{grid-template-columns:repeat(2,1fr)}.kc .about-grid,.kc .inq-grid{grid-template-columns:1fr;gap:36px}.kc .foot-grid{grid-template-columns:1fr 1fr}}@media (width<=680px){.kc .hamb{display:block}.kc .links{background:var(--cream2);border-bottom:1px solid var(--line);z-index:40;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;transition:transform .3s;position:fixed;inset:68px 0 auto;transform:translateY(-130%)}.kc .links.open{transform:translateY(0)}.kc .links a{border-bottom:1px solid var(--line);padding:14px 0}.kc .links a.btn{border-bottom:none;justify-content:center;margin-top:12px}.kc .nav-tools{border-bottom:1px solid var(--line);justify-content:space-between;padding:14px 0}.kc .grid-svc,.kc .grid-work{grid-template-columns:1fr}.kc .own{text-align:left;grid-template-columns:1fr;padding:26px}.kc .foot-grid,.kc .row2{grid-template-columns:1fr}.kc .form-cta-sub{flex-wrap:wrap}.kc .stack-row{grid-template-columns:1fr;gap:10px}.kc .career-row{grid-template-columns:1fr;gap:6px}.kc .career-stats{gap:26px}.kc .step{gap:16px}.kc .sec{padding:72px 0}.kc .hero{padding-top:64px}}@media (prefers-reduced-motion:reduce){.kc .reveal{opacity:1;transition:none;transform:none}.kc .marquee-in{animation:none}.kc .btn:hover,.kc .svc:hover,.kc .work:hover{transform:none}}
