:root{--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--secondary: #8b5cf6;--accent: #06b6d4;--accent-light: #22d3ee;--neon-cyan: #00fff5;--neon-purple: #bf00ff;--neon-blue: #00a8ff;--bg-primary: #030712;--bg-secondary: #0f172a;--bg-tertiary: #1e293b;--bg-card: rgba(15, 23, 42, .8);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%);--gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #06b6d4 100%);--gradient-neon: linear-gradient(90deg, #00fff5, #bf00ff, #00a8ff);--gradient-card: linear-gradient(145deg, rgba(99, 102, 241, .1), rgba(139, 92, 246, .05));--glass-bg: rgba(15, 23, 42, .7);--glass-border: rgba(99, 102, 241, .2);--glass-hover: rgba(99, 102, 241, .3);--shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, .5);--glow-primary: 0 0 30px rgba(99, 102, 241, .4);--glow-neon: 0 0 40px rgba(0, 255, 245, .3);--glow-purple: 0 0 40px rgba(139, 92, 246, .3);--section-padding: 7rem 0;--container-max: 1280px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-max);margin:0 auto;padding:0 2rem}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:linear-gradient(rgba(99,102,241,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.03) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%);mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%)}.bg-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.bg-glow:before{content:"";position:absolute;top:-50%;left:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 60%);animation:float 15s ease-in-out infinite}.bg-glow:after{content:"";position:absolute;bottom:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(6,182,212,.1) 0%,transparent 60%);animation:float 20s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(5%,5%) rotate(2deg)}50%{transform:translateY(10%) rotate(0)}75%{transform:translate(-5%,5%) rotate(-2deg)}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 0;transition:all var(--transition-normal)}.navbar.scrolled{background:#030712e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:.75rem 0}.nav-container{max-width:var(--container-max);margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:1.6rem;font-weight:800;display:flex;align-items:center;gap:.25rem}.logo-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-right:.5rem}.logo-plus{background:var(--gradient-neon);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-link{color:var(--text-primary)}.nav-menu{display:flex;gap:.5rem}.nav-menu a{font-size:.9rem;font-weight:500;color:var(--text-secondary);padding:.6rem 1.2rem;border-radius:var(--radius-full);transition:all var(--transition-fast);position:relative}.nav-menu a:hover,.nav-menu a.active{color:var(--text-primary);background:#6366f11a}.nav-menu a.active:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:20px;height:2px;background:var(--gradient-neon);border-radius:2px}.nav-cta{display:flex;align-items:center;gap:1rem}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px;z-index:1001}.nav-toggle span{display:block;width:24px;height:2px;background:var(--text-primary);transition:all var(--transition-fast);border-radius:2px}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translateY(10px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translateY(-10px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-normal);cursor:pointer;border:none;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--glow-primary)}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);transition:transform .5s}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 0 50px #6366f180}.btn-primary:hover:before{transform:translate(100%)}.btn-outline{background:transparent;color:var(--text-primary);border:2px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-outline:hover{border-color:var(--primary);background:#6366f11a;transform:translateY(-3px)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:.5rem 1rem}.btn-ghost:hover{color:var(--primary-light)}.btn-sm{padding:.5rem 1.25rem;font-size:.85rem}.btn-lg{padding:1rem 2.5rem;font-size:1.05rem}.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:6rem 0}.hero-particles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:var(--primary-light);border-radius:50%;opacity:.6;animation:particle-float 10s infinite ease-in-out}@keyframes particle-float{0%,to{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100vh) scale(1);opacity:0}}.hero-content{position:relative;z-index:1;max-width:800px}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#6366f11a;border:1px solid var(--glass-border);border-radius:var(--radius-full);font-size:.85rem;color:var(--primary-light);margin-bottom:1.5rem;animation:fadeInUp .8s ease-out}.hero-badge:before{content:"";width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:1.5rem;animation:fadeInUp .8s ease-out .1s both}.hero-title-line{display:block;color:var(--text-primary)}.hero-title-gradient{display:block;background:var(--gradient-neon);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientShift 5s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-subtitle{font-size:clamp(1rem,2vw,1.2rem);color:var(--text-secondary);max-width:600px;margin-bottom:2.5rem;line-height:1.8;animation:fadeInUp .8s ease-out .2s both}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeInUp .8s ease-out .3s both}.hero-visual{position:absolute;right:-10%;top:50%;transform:translateY(-50%);width:50%;height:80%;pointer-events:none}.hero-shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}.hero-shape-1{width:400px;height:400px;background:var(--primary);top:20%;right:10%;animation:morph 15s ease-in-out infinite}.hero-shape-2{width:300px;height:300px;background:var(--secondary);top:50%;right:30%;animation:morph 12s ease-in-out infinite reverse}.hero-shape-3{width:250px;height:250px;background:var(--accent);top:40%;right:5%;animation:morph 18s ease-in-out infinite}@keyframes morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:2px}.scroll-icon{width:24px;height:40px;border:2px solid var(--text-muted);border-radius:12px;position:relative}.scroll-icon:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:4px;height:8px;background:var(--text-muted);border-radius:2px;animation:scrollDown 1.5s infinite}@keyframes scrollDown{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section{padding:var(--section-padding);position:relative}.section-header{text-align:center;margin-bottom:4rem}.section-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:3px;color:var(--accent-light);margin-bottom:1rem}.section-tag:before,.section-tag:after{content:"";width:30px;height:1px;background:var(--gradient-neon)}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--text-primary);margin-bottom:1rem}.section-title span{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-desc{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2rem;transition:all var(--transition-normal);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-neon);opacity:0;transition:opacity var(--transition-normal)}.card:hover{transform:translateY(-8px);border-color:var(--glass-hover);box-shadow:var(--shadow-lg),var(--glow-primary)}.card:hover:before{opacity:1}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.service-card{text-align:center;padding:2.5rem 2rem}.service-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.service-icon svg{width:36px;height:36px;color:var(--primary-light)}.service-card:hover .service-icon{transform:scale(1.1) rotate(5deg);box-shadow:var(--glow-primary);border-color:var(--primary)}.service-card h3{font-size:1.2rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.service-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.7}.service-detail-card{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:3rem;margin-bottom:2rem}.service-detail-card:nth-child(2n){direction:rtl}.service-detail-card>*{direction:ltr}.service-detail-content h3{font-size:1.8rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.service-detail-content p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.8}.service-features{display:flex;flex-direction:column;gap:.75rem}.service-feature{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:.95rem}.service-feature svg{width:20px;height:20px;color:var(--accent);flex-shrink:0}.service-images{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.service-image{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--glass-border);transition:all var(--transition-normal)}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.service-image:hover{border-color:var(--primary);box-shadow:var(--glow-primary)}.service-image:hover img{transform:scale(1.05)}.portfolio-filter{display:flex;gap:.75rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text-secondary);padding:.6rem 1.5rem;border-radius:var(--radius-full);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{color:var(--text-primary);border-color:var(--primary)}.filter-btn.active{background:var(--gradient-primary);color:#fff;border-color:transparent;box-shadow:var(--glow-primary)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.portfolio-card{display:block;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-normal);position:relative}.portfolio-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-normal);z-index:1}.portfolio-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:var(--shadow-lg),var(--glow-primary);border-color:var(--primary)}.portfolio-card.hidden{display:none}.card-image{height:200px;overflow:hidden;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.portfolio-card:hover .card-image img{transform:scale(1.1)}.card-badge{position:absolute;top:1rem;right:1rem;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:.7rem;font-weight:600;padding:.4rem .8rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:1px;z-index:2}.card-content{padding:1.5rem;position:relative;z-index:2}.card-content h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.card-content p{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.card-link{font-size:.85rem;font-weight:600;color:var(--primary-light);display:inline-flex;align-items:center;gap:.5rem;transition:all var(--transition-fast)}.portfolio-card:hover .card-link{color:var(--accent-light);gap:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.stat-card{text-align:center;padding:2rem}.stat-number{font-size:3rem;font-weight:800;background:var(--gradient-neon);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:.5rem}.stat-label{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.timeline{position:relative;max-width:800px;margin:0 auto}.timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:2px;height:100%;background:var(--gradient-primary)}.timeline-item{display:flex;margin-bottom:3rem;position:relative}.timeline-item:nth-child(odd){justify-content:flex-start;padding-right:50%;padding-left:0}.timeline-item:nth-child(2n){justify-content:flex-end;padding-left:50%;padding-right:0}.timeline-content{padding:1.5rem;width:90%}.timeline-dot{position:absolute;left:50%;transform:translate(-50%);width:16px;height:16px;background:var(--primary);border:3px solid var(--bg-primary);border-radius:50%;box-shadow:var(--glow-primary)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition-normal)}.contact-item:hover{border-color:var(--primary);transform:translate(10px);box-shadow:var(--glow-primary)}.contact-icon{width:50px;height:50px;background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--primary-light);flex-shrink:0}.contact-text h4{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.contact-text p{font-size:1rem;color:var(--text-primary)}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group textarea{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:1rem;font-size:1rem;color:var(--text-primary);font-family:inherit;transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 20px #6366f133}.form-group textarea{resize:vertical;min-height:150px}.footer{padding:4rem 0 2rem;border-top:1px solid var(--glass-border);background:var(--bg-secondary)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer-brand p{color:var(--text-secondary);font-size:.95rem;margin-top:1rem;line-height:1.7}.footer-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text-primary);margin-bottom:1.5rem}.footer-links{display:flex;flex-direction:column;gap:.75rem}.footer-links a{color:var(--text-secondary);font-size:.9rem;transition:all var(--transition-fast)}.footer-links a:hover{color:var(--primary-light);padding-left:5px}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--glass-border)}.footer-bottom p{color:var(--text-muted);font-size:.85rem}.page-header{padding:10rem 0 5rem;text-align:center;position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(99,102,241,.1) 0%,transparent 70%)}.page-header-content{position:relative;z-index:1}.page-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;margin-bottom:1rem}.page-title span{background:var(--gradient-neon);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{font-size:1.2rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-40px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(40px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal-right.visible{opacity:1;transform:translate(0)}.stagger-children>*{opacity:0;transform:translateY(20px);transition:all .5s cubic-bezier(.4,0,.2,1)}.stagger-children.visible>*:nth-child(1){transition-delay:0s}.stagger-children.visible>*:nth-child(2){transition-delay:.1s}.stagger-children.visible>*:nth-child(3){transition-delay:.2s}.stagger-children.visible>*:nth-child(4){transition-delay:.3s}.stagger-children.visible>*:nth-child(5){transition-delay:.4s}.stagger-children.visible>*:nth-child(6){transition-delay:.5s}.stagger-children.visible>*{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.services-grid,.portfolio-grid,.stats-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}.service-detail-card{grid-template-columns:1fr;gap:2rem}.service-detail-card:nth-child(2n){direction:ltr}.hero-visual{display:none}}@media (max-width: 768px){.nav-toggle{display:flex}.nav-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:#030712fa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;transform:translate(100%);transition:transform var(--transition-normal)}.nav-menu.active{transform:translate(0)}.nav-menu a{font-size:1.3rem}.nav-cta{display:none}.services-grid,.portfolio-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;text-align:center}.timeline:before{left:0}.timeline-item{padding-left:30px!important;padding-right:0!important;justify-content:flex-start!important}.timeline-dot{left:0;transform:translate(-50%)}.timeline-content{width:100%}}@media (max-width: 480px){:root{--section-padding: 5rem 0}.container{padding:0 1.25rem}.hero-buttons{flex-direction:column;width:100%}.btn{width:100%}.stats-grid{grid-template-columns:1fr}.portfolio-filter{flex-direction:column;align-items:center}.filter-btn{width:100%;max-width:200px;text-align:center}}
