@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100;200;300;400;500;600;700;800&display=swap";@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap";@import"https://websfont.github.io/nanumSquareNeo/nanumSquareNeo.css";@import"https://websfont.github.io/gmarket/gmarket.css";.inter{font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.roboto{font-family:Roboto,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.jetbrains{font-family:JetBrains Mono,Fira Code,Consolas,monospace}.pretendard{font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.mont{font-family:Montserrat,sans-serif}.nanum{font-family:nanumSquareNeo,sans-serif}.gmarket{font-family:gmarket,sans-serif}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.font-thin{font-weight:100}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}:root{--mainEng-font: "Inter", "Roboto";--mainKor-font: "Pretendard", "Apple SD Gothic Neo";--mainNum-font: "JetBrains Mono", "Fira Code";--code-font: "JetBrains Mono", "Fira Code", monospace;--mainBg-color: #0a0a0a;--secondaryBg-color: #111111;--cardBg-color: #1a1a1a;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-tech: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--subBg100: #1e1e1e;--subBg200: #2d2d2d;--subBg300: #3d3d3d;--subBg400: #4d4d4d;--subBg500: #5d5d5d;--primary-color: #00d4ff;--secondary-color: #ff6b6b;--accent-color: #4ecdc4;--warning-color: #ffd93d;--success-color: #6bcf7f;--white: #ffffff;--black: #000000;--text-primary: #f8f9fa;--text-secondary: #adb5bd;--text-muted: #6c757d;--text-dark: #212529;--black100: #2b2b2b;--black200: #434343;--black300: #686868;--black400: #e0e0e0;font-family:var(--mainEng-font),var(--mainKor-font),-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:16px;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (max-width: 800px){:root{font-size:14px;line-height:1.5}}@media (max-width: 480px){:root{font-size:13px;line-height:1.4}}body{background:var(--mainBg-color);color:var(--text-primary);overflow-x:hidden;font-feature-settings:"liga" 1,"kern" 1}html{overflow-x:hidden}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,select,table,td,textarea,th,ul,figure,figcaption{margin:0;padding:0}body,button,input,select,table,textarea{font-family:var(--mainEng-font),var(--mainKor-font),"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",helvetica,sans-serif}a,a:hover,a:focus{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:400}ul{list-style:none}em,address{font-style:normal}strong{font-weight:400}img{vertical-align:top;width:100%;height:auto;max-width:100%}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}@media (max-width: 480px){.container{padding:0 12px}}.text-responsive{font-size:clamp(1rem,2.5vw,1.5rem)}section{scroll-margin-top:95px}#skip a{position:absolute;left:10px;top:-92px;z-index:100000;font-size:1rem;padding:10px 30px;color:var(--white);background:var(--black)}#skip a:focus,#skip a:active{top:10px}#header{position:fixed;left:0;top:0;width:100%;z-index:10000}.header__inner{display:flex;align-items:center;justify-content:space-between;background:#0a0a0af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,212,255,.1);padding:1rem 2rem;transition:all .3s ease}.header__inner .header__logo{font-size:1.2rem;font-weight:700;text-align:center;text-transform:uppercase;line-height:1;color:var(--primary-color);letter-spacing:.5px}.header__inner .header__logo a{background:var(--gradient-tech);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .3s ease}.header__inner .header__logo a:hover{filter:brightness(1.2);transform:scale(1.05)}.header__inner .header__logo em{font-size:.6rem;display:block;color:var(--text-secondary);font-weight:400;margin-top:2px;opacity:.8}@media (max-width: 800px){.header__inner .header__nav{display:none}.header__inner .header__nav.show{display:block}.header__inner .header__nav.show ul{display:block;position:absolute;right:0;top:68px;background:#0a0a0af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,212,255,.2);border-radius:12px;z-index:10000;min-width:200px;padding:16px 0;box-shadow:0 8px 32px #0000004d}.header__inner .header__nav.show ul li{display:block;text-align:right}.header__inner .header__nav.show ul li a{display:inline-block;padding:10px}.header__inner .header__nav.show+.header__nav__mobile span:before{width:20px}.header__inner .header__nav.show+.header__nav__mobile span:after{width:20px}}.header__inner .header__nav li{display:inline}.header__inner .header__nav li a{text-transform:uppercase;font-size:.9rem;font-weight:500;padding:12px 16px;position:relative;color:var(--text-secondary);transition:all .3s ease;border-radius:6px;letter-spacing:.5px}.header__inner .header__nav li a:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--gradient-tech);transition:all .3s ease;transform:translate(-50%)}.header__inner .header__nav li a:hover{color:var(--primary-color);background:#00d4ff1a}.header__inner .header__nav li a:hover:before{width:80%}.header__inner .header__nav li a .hover-text{display:none;position:absolute;left:50%;transform:translate(-50%);bottom:-35px;font-size:.75rem;white-space:nowrap;background:var(--cardBg-color);color:var(--text-primary);padding:6px 12px;border-radius:8px;border:1px solid var(--primary-color);box-shadow:0 4px 12px #00d4ff33;z-index:1000}.header__inner .header__nav li a:hover .hover-text{display:block}.header__inner .header__nav__mobile{display:none;width:44px;height:44px;cursor:pointer;border-radius:8px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.2);transition:all .3s ease}.header__inner .header__nav__mobile:hover{background:#00d4ff33;transform:scale(1.05)}@media (max-width: 800px){.header__inner .header__nav__mobile{display:flex;align-items:center;justify-content:center}}.header__inner .header__nav__mobile span{display:block;width:20px;height:2px;background-color:var(--primary-color);position:relative;transition:all .3s ease}.header__inner .header__nav__mobile span:before{content:"";width:20px;height:2px;background-color:var(--primary-color);position:absolute;right:0;top:-6px;transition:all .3s ease}.header__inner .header__nav__mobile span:after{content:"";width:20px;height:2px;background-color:var(--primary-color);position:absolute;left:0;bottom:-6px;transition:all .3s ease}#intro[data-v-e9ce2967]{height:100vh}.intro__inner[data-v-e9ce2967]{width:100%;height:100%;display:flex;align-items:flex-start;justify-content:flex-end;flex-direction:column;padding:16px;overflow:hidden;max-width:100vw;box-sizing:border-box}@media (max-width: 800px){.intro__inner[data-v-e9ce2967]{justify-content:center;padding:12px}}.intro__inner .intro__title[data-v-e9ce2967]{font-size:clamp(2rem,7vw,8rem);text-transform:uppercase;line-height:.9;font-weight:800;text-indent:-.5vw;letter-spacing:-.3vw;max-width:100%;overflow:hidden}@media (min-width: 768px){.intro__inner .intro__title[data-v-e9ce2967]{white-space:nowrap}}@media (max-width: 767px){.intro__inner .intro__title[data-v-e9ce2967]{white-space:normal;word-break:break-word;font-size:clamp(1.8rem,8vw,4rem);text-align:center;text-indent:0}}@media (max-width: 480px){.intro__inner .intro__title[data-v-e9ce2967]{font-size:clamp(1.5rem,9vw,3rem);letter-spacing:-.1vw;line-height:.8}}@media (max-width: 320px){.intro__inner .intro__title[data-v-e9ce2967]{display:none}}.intro__inner .intro__text[data-v-e9ce2967]{width:100%;height:40vh;background:var(--gradient-primary);color:var(--white);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;padding:0 2rem;border-radius:20px;margin:0 16px;box-shadow:0 20px 40px #0000004d}.intro__inner .intro__text[data-v-e9ce2967]:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);pointer-events:none}@media (max-width: 800px){.intro__inner .intro__text[data-v-e9ce2967]{flex-direction:column;justify-content:center;padding:1rem}}.intro__inner .intro__text .text[data-v-e9ce2967]{font-size:3vw;line-height:1.1;font-weight:800;text-transform:uppercase;text-align:center;position:relative;z-index:100;transition:all .3s ease;cursor:pointer;flex:1;max-width:60%;text-shadow:2px 2px 8px rgba(0,0,0,.3)}.intro__inner .intro__text .text div[data-v-e9ce2967]{opacity:0;transform:translateY(20px);animation:fadeInUp-e9ce2967 .6s ease forwards}.intro__inner .intro__text .text div[data-v-e9ce2967]:nth-child(1){animation-delay:.1s}.intro__inner .intro__text .text div[data-v-e9ce2967]:nth-child(2){animation-delay:.3s}.intro__inner .intro__text .text div[data-v-e9ce2967]:nth-child(3){animation-delay:.5s}.intro__inner .intro__text .text div[data-v-e9ce2967]:nth-child(4){animation-delay:.7s}.intro__inner .intro__text .text div[data-v-e9ce2967]:nth-child(5){animation-delay:.9s}@media (max-width: 800px) and (min-width: 481px){.intro__inner .intro__text .text[data-v-e9ce2967]{font-size:28px;max-width:100%;margin-bottom:1rem}}@media (max-width: 480px){.intro__inner .intro__text .text[data-v-e9ce2967]{font-size:22px;max-width:100%;margin-bottom:1rem}}@media (max-width: 320px){.intro__inner .intro__text .text[data-v-e9ce2967]{font-size:18px}}.intro__inner .intro__text .textcontent[data-v-e9ce2967]{font-size:1.5vw;text-align:left;text-decoration:none;text-transform:none;font-weight:900;line-height:1.5;flex:1;max-width:60%;display:flex;flex-direction:column;justify-content:center}.intro__inner .intro__text .textcontent .contact-item[data-v-e9ce2967]{margin-bottom:1rem;display:flex;flex-direction:column}.intro__inner .intro__text .textcontent .contact-item .contact-label[data-v-e9ce2967]{font-weight:700;font-size:1.2vw;margin-bottom:.2rem;opacity:.8}.intro__inner .intro__text .textcontent .contact-item .contact-value[data-v-e9ce2967]{font-weight:900;letter-spacing:.05rem}@media (max-width: 800px){.intro__inner .intro__text .textcontent[data-v-e9ce2967]{font-size:16px;max-width:100%;text-align:center;margin-bottom:1rem}.intro__inner .intro__text .textcontent .contact-item[data-v-e9ce2967]{margin-bottom:.8rem}.intro__inner .intro__text .textcontent .contact-item .contact-label[data-v-e9ce2967]{font-size:14px}.intro__inner .intro__text .textcontent .contact-item .contact-value[data-v-e9ce2967]{font-size:16px}}.intro__inner .intro__text .img[data-v-e9ce2967]{width:30vh;height:30vh;border-radius:25%;overflow:hidden;flex-shrink:0;margin-left:2rem;transition:all .3s ease;position:relative;border:3px solid var(--primary-color);box-shadow:0 10px 30px #00d4ff4d;animation:float-e9ce2967 3s ease-in-out infinite}.intro__inner .intro__text .img[data-v-e9ce2967]:before{content:"";position:absolute;inset:-3px;background:var(--gradient-tech);border-radius:25%;z-index:-1;opacity:0;transition:opacity .3s ease}.intro__inner .intro__text .img[data-v-e9ce2967]:hover:before{opacity:1}@media (min-width: 1200px){.intro__inner .intro__text .img[data-v-e9ce2967]{width:35vh;height:35vh}}@media (max-width: 800px) and (min-width: 481px){.intro__inner .intro__text .img[data-v-e9ce2967]{width:25vh;height:25vh;margin-left:0;margin-top:1rem}}@media (max-width: 480px){.intro__inner .intro__text .img[data-v-e9ce2967]{width:20vh;height:20vh;margin-left:0;margin-top:1rem}}@media (max-width: 320px){.intro__inner .intro__text .img[data-v-e9ce2967]{width:15vh;height:15vh}}.intro__inner .intro__text .img img[data-v-e9ce2967]{width:100%;height:100%;object-fit:cover}.intro__inner .intro__text:hover .img[data-v-e9ce2967]{transform:scale(1.05)}@media (max-width: 800px){.intro__inner .intro__text:hover .img[data-v-e9ce2967]{transform:scale(1.02)}}.intro__inner .intro__lines[data-v-e9ce2967]{width:100%}.intro__inner .intro__lines .line[data-v-e9ce2967]{display:block;width:100%;height:1px;background-color:var(--black);margin-bottom:.5vw}.intro__inner .intro__lines .line[data-v-e9ce2967]:nth-child(1){height:1px}.intro__inner .intro__lines .line[data-v-e9ce2967]:nth-child(2){height:2px}.intro__inner .intro__lines .line[data-v-e9ce2967]:nth-child(3){height:5px}.intro__inner .intro__lines .line[data-v-e9ce2967]:nth-child(4){height:9px}.intro__inner .intro__lines .line[data-v-e9ce2967]:nth-child(5){height:13px}.intro__inner .intro__lines .line[data-v-e9ce2967]:nth-child(6){height:17px}.intro__inner .intro__lines .line[data-v-e9ce2967]:nth-child(7){height:25px}.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]{margin-top:.5vw;margin-bottom:0;display:none}@media (max-width: 800px){.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]{display:block}}.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]:nth-child(1){height:25px}.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]:nth-child(2){height:17px}.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]:nth-child(3){height:13px}.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]:nth-child(4){height:9px}.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]:nth-child(5){height:5px}.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]:nth-child(6){height:2px}.intro__inner .intro__lines.bottom .line[data-v-e9ce2967]:nth-child(7){height:1px}@keyframes fadeInUp-e9ce2967{to{opacity:1;transform:translateY(0)}}@keyframes float-e9ce2967{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow-e9ce2967{0%,to{box-shadow:0 20px 40px #0000004d}50%{box-shadow:0 25px 50px #00d4ff33}}#skill[data-v-34a9ec19]{padding:120px 0 80px}.skill__inner[data-v-34a9ec19]{padding:0 16px;max-width:1400px;margin:0 auto}.skill__title[data-v-34a9ec19]{position:sticky;top:70px;z-index:10;font-size:4vw;font-weight:900;line-height:1.2;font-family:var(--mainEng-font);text-transform:uppercase;color:var(--text-primary);background:var(--mainBg-color);border-bottom:3px solid var(--primary-color);margin-bottom:60px;padding:20px 16px}@media (max-width: 800px){.skill__title[data-v-34a9ec19]{font-size:2rem;top:60px;margin-bottom:40px;padding:16px}}.skill__title em[data-v-34a9ec19]{font-size:1.25rem;font-weight:400;line-height:2;display:block}.skill__content[data-v-34a9ec19]{display:flex;flex-direction:column;gap:32px}.skill__row[data-v-34a9ec19]{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media (max-width: 800px){.skill__row[data-v-34a9ec19]{grid-template-columns:1fr}}.skill__block[data-v-34a9ec19]{background:var(--cardBg-color);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:28px;transition:all .3s ease}.skill__block[data-v-34a9ec19]:hover{border-color:#ffffff1f;box-shadow:0 8px 30px #0003}.block__label[data-v-34a9ec19]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--primary-color);margin-bottom:20px;font-family:var(--mainEng-font);padding-bottom:10px;border-bottom:1px solid var(--subBg300)}.certs-grid[data-v-34a9ec19]{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.certs-grid[data-v-34a9ec19]{grid-template-columns:1fr}}.cert-card[data-v-34a9ec19]{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--subBg100);border-radius:12px;border:1px solid var(--subBg300);transition:all .2s ease}.cert-card[data-v-34a9ec19]:hover{background:var(--subBg200);border-color:var(--primary-color);transform:translateY(-2px)}.cert-icon[data-v-34a9ec19]{font-size:1.5rem;flex-shrink:0}.cert-info[data-v-34a9ec19]{display:flex;flex-direction:column}.cert-name[data-v-34a9ec19]{font-size:.9rem;font-weight:600;color:var(--text-primary);font-family:var(--mainKor-font)}.cert-date[data-v-34a9ec19]{font-size:.75rem;color:var(--text-muted);font-family:var(--code-font)}.summary-list[data-v-34a9ec19]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.summary-list li[data-v-34a9ec19]{position:relative;padding-left:20px;font-size:.92rem;color:var(--text-secondary);line-height:1.6;font-family:var(--mainKor-font)}.summary-list li[data-v-34a9ec19]:before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--primary-color);opacity:.5}.tech-categories[data-v-34a9ec19]{display:flex;flex-direction:column;gap:16px}.tech-category[data-v-34a9ec19]{display:flex;align-items:flex-start;gap:16px}@media (max-width: 600px){.tech-category[data-v-34a9ec19]{flex-direction:column;gap:8px}}.tech-category-name[data-v-34a9ec19]{flex-shrink:0;width:130px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-family:var(--mainEng-font);padding-top:5px}@media (max-width: 600px){.tech-category-name[data-v-34a9ec19]{width:auto}}.tech-badges[data-v-34a9ec19]{display:flex;flex-wrap:wrap;gap:6px}.tech-badge[data-v-34a9ec19]{font-size:.75rem;font-weight:500;padding:4px 12px;border-radius:20px;background:var(--subBg200);color:var(--text-secondary);border:1px solid var(--subBg300);font-family:var(--code-font);transition:all .2s ease}.tech-badge[data-v-34a9ec19]:hover{background:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.exp-timeline[data-v-34a9ec19]{position:relative;display:flex;flex-direction:column;gap:12px}.exp-timeline[data-v-34a9ec19]:before{content:"";position:absolute;left:10px;top:20px;bottom:20px;width:2px;background:var(--subBg300)}.exp-card[data-v-34a9ec19]{position:relative;margin-left:32px;background:var(--subBg100);border:1px solid var(--subBg300);border-radius:14px;cursor:pointer;transition:all .3s ease;overflow:hidden}.exp-card[data-v-34a9ec19]:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--exp-color);opacity:0;transition:opacity .3s ease}.exp-card[data-v-34a9ec19]:hover,.exp-card.active[data-v-34a9ec19]{border-color:var(--exp-color);box-shadow:0 4px 20px #0003}.exp-card[data-v-34a9ec19]:hover:before,.exp-card.active[data-v-34a9ec19]:before{opacity:1}.exp-header[data-v-34a9ec19]{display:flex;align-items:center;gap:12px;padding:16px 20px}.exp-dot[data-v-34a9ec19]{position:absolute;left:-27px;width:12px;height:12px;border-radius:50%;background:var(--exp-color);border:2px solid var(--cardBg-color);z-index:1}.exp-title[data-v-34a9ec19]{flex:1;font-size:1rem;font-weight:700;color:var(--text-primary);font-family:var(--mainKor-font)}.exp-toggle[data-v-34a9ec19]{font-size:1.2rem;font-weight:300;color:var(--text-muted);font-family:var(--code-font)}.exp-body[data-v-34a9ec19]{padding:0 20px 16px;animation:slideDown-34a9ec19 .3s ease}.exp-body ul[data-v-34a9ec19]{list-style:none;padding:0;margin:0}.exp-body li[data-v-34a9ec19]{position:relative;padding-left:16px;margin-bottom:6px;font-size:.88rem;color:var(--text-secondary);line-height:1.6;font-family:var(--mainKor-font)}.exp-body li[data-v-34a9ec19]:before{content:"›";position:absolute;left:0;color:var(--exp-color);font-weight:700}.exp-integrations[data-v-34a9ec19]{margin-top:12px;padding-top:12px;border-top:1px solid var(--subBg300)}.exp-integrations .int-label[data-v-34a9ec19]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:8px;display:block;font-family:var(--mainKor-font)}@keyframes slideDown-34a9ec19{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}#site[data-v-e14217c2]{padding:120px 0 80px;position:relative}.site__inner[data-v-e14217c2]{padding:0 16px;max-width:1400px;margin:0 auto}.site__title[data-v-e14217c2]{position:sticky;top:70px;z-index:10;font-size:4vw;font-weight:900;line-height:1.2;font-family:var(--mainEng-font);text-transform:uppercase;color:var(--text-primary);background:var(--mainBg-color);border-bottom:3px solid var(--primary-color);margin-bottom:60px;padding:20px 16px}@media (max-width: 800px){.site__title[data-v-e14217c2]{font-size:2rem;top:60px;margin-bottom:40px;padding:16px}}.site__title em[data-v-e14217c2]{font-size:1.25rem;font-weight:400;line-height:2;display:block}.site__grid[data-v-e14217c2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:40px}@media (max-width: 800px){.site__grid[data-v-e14217c2]{grid-template-columns:1fr;gap:32px}}@media (min-width: 801px) and (max-width: 1200px){.site__grid[data-v-e14217c2]{grid-template-columns:repeat(2,1fr)}}.site__card[data-v-e14217c2]{background:var(--cardBg-color);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:28px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.site__card[data-v-e14217c2]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-gradient);opacity:0;transition:opacity .3s ease}.site__card[data-v-e14217c2]:after{content:"";position:absolute;inset:0;background:var(--card-gradient);opacity:0;transition:opacity .3s ease;z-index:0;pointer-events:none}.site__card[data-v-e14217c2]:hover{transform:translateY(-4px);border-color:var(--card-color);box-shadow:0 16px 40px #0000004d,0 0 30px color-mix(in srgb,var(--card-color) 20%,transparent)}.site__card[data-v-e14217c2]:hover:before{opacity:1}.site__card[data-v-e14217c2]:hover:after{opacity:.03}.site__card:hover .card__icon-bg[data-v-e14217c2]{transform:scale(1.1) rotate(5deg)}.site__card:hover .card__num[data-v-e14217c2]{color:var(--card-color)}.site__card.active[data-v-e14217c2]{border-color:var(--card-color);box-shadow:0 20px 50px #0006,0 0 40px color-mix(in srgb,var(--card-color) 15%,transparent)}.site__card.active[data-v-e14217c2]:before{opacity:1}.site__card.active[data-v-e14217c2]:after{opacity:.05}.site__card[data-v-e14217c2]>*{position:relative;z-index:1}.card__header[data-v-e14217c2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card__num[data-v-e14217c2]{font-size:2.5rem;font-weight:900;font-family:var(--mainNum-font);color:var(--text-muted);line-height:1;transition:color .3s ease}.card__category[data-v-e14217c2]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--card-color);background:color-mix(in srgb,var(--card-color) 12%,transparent);padding:4px 12px;border-radius:20px;border:1px solid color-mix(in srgb,var(--card-color) 25%,transparent)}.card__visual[data-v-e14217c2]{position:relative;width:64px;height:64px;margin-bottom:20px;display:flex;align-items:center;justify-content:center}.card__icon-bg[data-v-e14217c2]{position:absolute;inset:0;border-radius:16px;opacity:.15;transition:transform .4s ease}.card__icon-img[data-v-e14217c2]{width:48px;height:48px;border-radius:10px;object-fit:contain;z-index:1}.card__icon-text[data-v-e14217c2]{font-size:1.8rem;font-weight:900;font-family:var(--mainEng-font);color:var(--card-color);z-index:1}.card__title[data-v-e14217c2]{font-size:1.4rem;font-weight:800;color:var(--text-primary);margin-bottom:6px;font-family:var(--mainEng-font);letter-spacing:-.02em}.card__subtitle[data-v-e14217c2]{font-size:.95rem;color:var(--text-secondary);margin-bottom:16px;font-family:var(--mainKor-font);line-height:1.5}.card__techstack[data-v-e14217c2]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tech-badge[data-v-e14217c2]{font-size:.72rem;font-weight:500;padding:3px 10px;border-radius:12px;background:var(--subBg200);color:var(--text-secondary);border:1px solid var(--subBg300);font-family:var(--code-font);transition:all .2s ease}.tech-badge[data-v-e14217c2]:hover{background:var(--subBg300);color:var(--text-primary)}.card__period[data-v-e14217c2]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.period-label[data-v-e14217c2]{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-family:var(--mainKor-font)}.period-value[data-v-e14217c2]{font-size:.82rem;color:var(--card-color);font-weight:600;font-family:var(--code-font)}.card__detail[data-v-e14217c2]{margin-top:16px;padding-top:16px;border-top:1px solid var(--subBg300);animation:slideDown-e14217c2 .3s ease}.card__desc[data-v-e14217c2]{font-size:.95rem;line-height:1.7;color:var(--text-secondary);margin-bottom:20px;font-family:var(--mainKor-font)}.card__actions[data-v-e14217c2]{display:flex;gap:12px}.action-btn[data-v-e14217c2]{padding:10px 24px;border-radius:12px;font-size:.88rem;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;text-decoration:none;text-align:center;border:1px solid}.action-btn.primary[data-v-e14217c2]{background:var(--card-color);color:var(--white);border-color:var(--card-color)}.action-btn.primary[data-v-e14217c2]:hover{transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--card-color) 30%,transparent)}.action-btn.outline[data-v-e14217c2]{background:transparent;color:var(--text-secondary);border-color:var(--subBg400)}.action-btn.outline[data-v-e14217c2]:hover{color:var(--card-color);border-color:var(--card-color);transform:translateY(-2px)}.card__footer[data-v-e14217c2]{margin-top:16px;text-align:center}.card__expand-hint[data-v-e14217c2]{font-size:.8rem;color:var(--text-muted);font-family:var(--mainKor-font);transition:color .2s ease}.site__card:hover .card__expand-hint[data-v-e14217c2]{color:var(--card-color)}@keyframes slideDown-e14217c2{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}#aiproject[data-v-57e9b3ab]{padding:120px 0 80px;position:relative}.aiproject__inner[data-v-57e9b3ab]{padding:0 16px;max-width:1400px;margin:0 auto}.aiproject__title[data-v-57e9b3ab]{position:sticky;top:70px;z-index:10;font-size:4vw;font-weight:900;line-height:1.2;font-family:var(--mainEng-font);text-transform:uppercase;color:var(--text-primary);background:var(--mainBg-color);border-bottom:3px solid var(--primary-color);padding:20px 16px}@media (max-width: 800px){.aiproject__title[data-v-57e9b3ab]{font-size:2rem;top:60px;padding:16px}}.aiproject__title em[data-v-57e9b3ab]{font-size:1.25rem;font-weight:400;line-height:2;display:block}.aiproject__spacer[data-v-57e9b3ab]{height:60px}@media (max-width: 800px){.aiproject__spacer[data-v-57e9b3ab]{height:40px}}.aiproject__grid[data-v-57e9b3ab]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:40px}@media (max-width: 800px){.aiproject__grid[data-v-57e9b3ab]{grid-template-columns:1fr;gap:32px}}@media (min-width: 801px) and (max-width: 1200px){.aiproject__grid[data-v-57e9b3ab]{grid-template-columns:repeat(2,1fr)}}.aiproject__card[data-v-57e9b3ab]{background:var(--cardBg-color);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:28px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.aiproject__card[data-v-57e9b3ab]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-gradient);opacity:0;transition:opacity .3s ease}.aiproject__card[data-v-57e9b3ab]:after{content:"";position:absolute;inset:0;background:var(--card-gradient);opacity:0;transition:opacity .3s ease;z-index:0;pointer-events:none}.aiproject__card[data-v-57e9b3ab]:hover{transform:translateY(-4px);border-color:var(--card-color);box-shadow:0 16px 40px #0000004d,0 0 30px color-mix(in srgb,var(--card-color) 20%,transparent)}.aiproject__card[data-v-57e9b3ab]:hover:before{opacity:1}.aiproject__card[data-v-57e9b3ab]:hover:after{opacity:.03}.aiproject__card:hover .card__icon-bg[data-v-57e9b3ab]{transform:scale(1.1) rotate(5deg)}.aiproject__card:hover .card__num[data-v-57e9b3ab]{color:var(--card-color)}.aiproject__card.active[data-v-57e9b3ab]{border-color:var(--card-color);box-shadow:0 20px 50px #0006,0 0 40px color-mix(in srgb,var(--card-color) 15%,transparent)}.aiproject__card.active[data-v-57e9b3ab]:before{opacity:1}.aiproject__card.active[data-v-57e9b3ab]:after{opacity:.05}.aiproject__card[data-v-57e9b3ab]>*{position:relative;z-index:1}.card__header[data-v-57e9b3ab]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card__num[data-v-57e9b3ab]{font-size:2.5rem;font-weight:900;font-family:var(--mainNum-font);color:var(--text-muted);line-height:1;transition:color .3s ease}.card__category[data-v-57e9b3ab]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--card-color);background:color-mix(in srgb,var(--card-color) 12%,transparent);padding:4px 12px;border-radius:20px;border:1px solid color-mix(in srgb,var(--card-color) 25%,transparent)}.card__visual[data-v-57e9b3ab]{position:relative;width:64px;height:64px;margin-bottom:20px;display:flex;align-items:center;justify-content:center}.card__icon-bg[data-v-57e9b3ab]{position:absolute;inset:0;border-radius:16px;opacity:.15;transition:transform .4s ease}.card__icon-text[data-v-57e9b3ab]{font-size:1.8rem;font-weight:900;font-family:var(--mainEng-font);color:var(--card-color);z-index:1}.card__body[data-v-57e9b3ab]{flex:1}.card__title[data-v-57e9b3ab]{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:6px;font-family:var(--mainEng-font);letter-spacing:-.02em}.card__subtitle[data-v-57e9b3ab]{font-size:.95rem;color:var(--text-secondary);margin-bottom:16px;font-family:var(--mainKor-font);line-height:1.5}.card__techstack[data-v-57e9b3ab]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.tech-badge[data-v-57e9b3ab]{font-size:.72rem;font-weight:500;padding:3px 10px;border-radius:12px;background:var(--subBg200);color:var(--text-secondary);border:1px solid var(--subBg300);font-family:var(--code-font);letter-spacing:.02em;transition:all .2s ease}.tech-badge[data-v-57e9b3ab]:hover{background:var(--subBg300);color:var(--text-primary)}.tech-badge.more[data-v-57e9b3ab]{background:transparent;border-color:var(--card-color);color:var(--card-color)}.card__detail[data-v-57e9b3ab]{margin-top:20px;padding-top:20px;border-top:1px solid var(--subBg300);animation:slideDown-57e9b3ab .3s ease}@keyframes slideDown-57e9b3ab{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.card__desc[data-v-57e9b3ab]{font-size:.95rem;line-height:1.7;color:var(--text-secondary);margin-bottom:20px;font-family:var(--mainKor-font)}.card__features[data-v-57e9b3ab]{margin-bottom:20px}.card__features h4[data-v-57e9b3ab]{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--card-color);margin-bottom:10px;font-family:var(--mainEng-font)}.card__features ul[data-v-57e9b3ab]{list-style:none;padding:0;margin:0}.card__features li[data-v-57e9b3ab]{position:relative;padding-left:18px;margin-bottom:8px;font-size:.88rem;color:var(--text-secondary);line-height:1.5;font-family:var(--mainKor-font)}.card__features li[data-v-57e9b3ab]:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--card-color);opacity:.7}.card__arch h4[data-v-57e9b3ab]{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--card-color);margin-bottom:10px;font-family:var(--mainEng-font)}.arch-flow[data-v-57e9b3ab]{font-family:var(--code-font);font-size:.82rem;color:var(--text-secondary);background:var(--subBg100);padding:12px 16px;border-radius:10px;border:1px solid var(--subBg300);letter-spacing:.5px;overflow-x:auto;white-space:nowrap}@media (max-width: 480px){.arch-flow[data-v-57e9b3ab]{font-size:.72rem;padding:10px 12px}}.card__footer[data-v-57e9b3ab]{margin-top:16px;text-align:center}.card__expand-hint[data-v-57e9b3ab]{font-size:.8rem;color:var(--text-muted);font-family:var(--mainKor-font);transition:color .2s ease}.aiproject__card:hover .card__expand-hint[data-v-57e9b3ab]{color:var(--card-color)}#contact[data-v-6ccdc6a2]{height:100vh}@media (max-width: 800px){#contact[data-v-6ccdc6a2]{min-height:100vh;height:auto;padding-bottom:50px}}.contact__inner[data-v-6ccdc6a2]{width:100%;height:100%;padding:16px;display:flex;align-items:flex-start;justify-content:flex-end;flex-direction:column}@media (max-width: 800px){.contact__inner[data-v-6ccdc6a2]{justify-content:flex-start;align-items:flex-start}}.contact__inner .contact__title[data-v-6ccdc6a2]{font-size:10vw;text-transform:uppercase;line-height:1;font-weight:800;white-space:nowrap;text-indent:-.5vw;letter-spacing:-.3vw}@media (max-width: 800px){.contact__inner .contact__title[data-v-6ccdc6a2]{position:sticky;top:68px;left:0;width:48%;font-size:30px;height:auto;background-color:var(--mainBg-color);color:var(--white);text-align:left!important;margin-bottom:10vw;text-shadow:2px 2px 4px rgba(0,0,0,.8);border-bottom:3px solid var(--white);padding-bottom:0;padding-left:16px!important;margin-left:0!important;line-height:1.2;display:block;text-transform:uppercase;font-weight:900;text-indent:0!important;letter-spacing:0!important;white-space:normal!important}}@media (max-width: 480px){.contact__inner .contact__title[data-v-6ccdc6a2]{width:100%;font-size:2rem;margin-bottom:1.5rem;border-bottom:3px solid var(--white);padding-bottom:0;text-align:center}}.contact__inner .contact__text[data-v-6ccdc6a2]{width:100%;height:40vh;background-color:var(--black);color:var(--white);display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}.contact__inner .contact__text .text[data-v-6ccdc6a2]{font-size:3vw;line-height:1;font-weight:900;text-transform:uppercase;text-decoration:underline;text-align:center;position:relative;z-index:100;transition:all .3s;cursor:all-scroll}@media (max-width: 800px) and (min-width: 481px){.contact__inner .contact__text .text[data-v-6ccdc6a2]{font-size:28px;padding:0 20px}}@media (max-width: 480px){.contact__inner .contact__text .text[data-v-6ccdc6a2]{font-size:20px;padding:0 16px;word-break:break-all;line-height:1.2}}@media (max-width: 320px){.contact__inner .contact__text .text[data-v-6ccdc6a2]{font-size:18px;padding:0 12px}}.contact__inner .contact__lines[data-v-6ccdc6a2]{width:100%}.contact__inner .contact__lines .line[data-v-6ccdc6a2]{display:block;width:100%;height:1px;background-color:var(--black);margin-bottom:.5vw}.contact__inner .contact__lines .line[data-v-6ccdc6a2]:nth-child(1){height:25px}.contact__inner .contact__lines .line[data-v-6ccdc6a2]:nth-child(2){height:17px}.contact__inner .contact__lines .line[data-v-6ccdc6a2]:nth-child(3){height:13px}.contact__inner .contact__lines .line[data-v-6ccdc6a2]:nth-child(4){height:9px}.contact__inner .contact__lines .line[data-v-6ccdc6a2]:nth-child(5){height:5px}.contact__inner .contact__lines .line[data-v-6ccdc6a2]:nth-child(6){height:2px}.contact__inner .contact__lines .line[data-v-6ccdc6a2]:nth-child(7){height:1px}.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]{margin-top:.5vw;margin-bottom:0;display:none}@media (max-width: 800px){.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]{display:block;margin-top:20px}}@media (max-width: 480px){.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]{margin-top:30px}}.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]:nth-child(1){height:1px}.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]:nth-child(2){height:2px}.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]:nth-child(3){height:5px}.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]:nth-child(4){height:9px}.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]:nth-child(5){height:13px}.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]:nth-child(6){height:17px}.contact__inner .contact__lines.top .line[data-v-6ccdc6a2]:nth-child(7){height:25px}
