@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--teal-50: #0d3d38;--teal-100: #115e59;--teal-200: #0f766e;--teal-300: #0d9488;--teal-400: #14b8a6;--teal-500: #2dd4bf;--teal-600: #5eead4;--teal-700: #99f6e4;--teal-800: #ccfbf1;--teal-900: #f0fdfa;--bg-primary: #0a0f0f;--bg-secondary: #0f1717;--bg-tertiary: #141e1e;--bg-card: #1a2626;--bg-card-hover: #1f2e2e;--text-primary: #e8f5f3;--text-secondary: #a3c4c0;--text-muted: #6b8a86;--border-color: #1f3333;--border-light: #2a4040}html{scroll-behavior:smooth}body{font-family:Noto Sans KR,Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden}h1,h2,h3,h4{font-family:Inter,Noto Sans KR,sans-serif;font-weight:600}.portfolio{position:relative;overflow-x:hidden;background:var(--bg-primary)}.glow-orb{position:fixed;border-radius:50%;background:radial-gradient(circle,#14b8a626,#14b8a600 70%);pointer-events:none;z-index:0;filter:blur(80px)}.container{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:1}.hero{min-height:100vh;display:flex;align-items:center;justify-content:space-between;padding:80px 24px;max-width:1400px;margin:0 auto;position:relative;background:var(--bg-primary)}.hero-content{flex:1;max-width:600px}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg-tertiary);color:var(--teal-500);padding:8px 16px;border-radius:50px;font-size:14px;font-weight:500;margin-bottom:24px;border:1px solid var(--border-color)}.hero h1{font-size:clamp(3rem,8vw,6rem);font-weight:700;background:linear-gradient(135deg,var(--teal-500) 0%,var(--teal-400) 50%,var(--teal-600) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;letter-spacing:2px;font-family:Inter,sans-serif}.hero-subtitle{font-size:clamp(1.5rem,3vw,2rem);color:var(--text-primary);margin-bottom:16px;font-weight:300}.hero-description{font-size:1.125rem;color:var(--text-secondary);line-height:1.8;margin-bottom:32px}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);color:var(--teal-400)}.hero-visual{flex:1;display:flex;justify-content:center;align-items:center}.gallery-preview{perspective:1000px}.preview-frame{background:var(--bg-card);border-radius:16px;box-shadow:0 25px 80px #0006;overflow:hidden;width:400px;transform:rotateY(-5deg) rotateX(5deg);border:1px solid var(--border-color)}.preview-header{display:flex;gap:8px;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.preview-dot{width:12px;height:12px;border-radius:50%;background:var(--text-muted)}.preview-dot:first-child{background:#ef4444}.preview-dot:nth-child(2){background:#f59e0b}.preview-dot:nth-child(3){background:#22c55e}.preview-content{padding:20px}.artwork-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.artwork-placeholder{aspect-ratio:1;background:linear-gradient(135deg,var(--teal-100),var(--teal-200));border-radius:8px;cursor:pointer}.section{padding:100px 0;position:relative}.section-header{text-align:center;margin-bottom:60px}.section-label{display:inline-block;font-size:14px;font-weight:600;color:var(--teal-400);text-transform:uppercase;letter-spacing:2px;margin-bottom:16px}.section-header h2{font-size:clamp(2rem,4vw,3rem);color:var(--text-primary);margin-bottom:16px}.section-description{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.about{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.about-text h3{font-size:1.5rem;color:var(--teal-400);margin-bottom:16px;margin-top:32px}.about-text h3:first-child{margin-top:0}.about-text p{color:var(--text-secondary);line-height:1.8}.value-list{list-style:none;margin-top:16px}.value-list li{padding:12px 0;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.value-list .highlight{color:var(--teal-500);font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.stat-card{background:var(--bg-card);padding:32px;border-radius:16px;text-align:center;box-shadow:0 4px 20px #0003;border:1px solid var(--border-color);transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #14b8a626;border-color:var(--teal-400)}.stat-icon{color:var(--teal-400);margin-bottom:16px}.stat-number{font-size:3rem;font-weight:700;color:var(--teal-500);font-family:Inter,sans-serif}.stat-label{color:var(--text-muted);font-size:14px;margin-top:8px}.features{background:var(--bg-secondary)}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:1000px;margin:0 auto}.feature-card{background:var(--bg-card);padding:48px 40px;border-radius:24px;border:1px solid var(--border-color);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal-400),var(--teal-600));opacity:0;transition:opacity .3s ease}.feature-card:hover{border-color:var(--teal-400);transform:translateY(-8px);box-shadow:0 20px 40px #14b8a626}.feature-card:hover:before{opacity:1}.feature-icon{width:72px;height:72px;background:linear-gradient(135deg,var(--bg-tertiary),var(--teal-50));border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--teal-400);margin-bottom:28px;border:1px solid var(--border-color);transition:all .3s ease}.feature-card:hover .feature-icon{transform:scale(1.1);background:linear-gradient(135deg,var(--teal-100),var(--teal-200))}.feature-card h3{font-size:1.375rem;color:var(--text-primary);margin-bottom:6px;font-weight:600}.feature-title-ko{display:block;font-size:15px;color:var(--teal-400);margin-bottom:20px;font-weight:500}.feature-card p{color:var(--text-secondary);line-height:1.8;font-size:15px}.gallery{background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%)}.gallery-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:60px}.artwork-card{background:var(--bg-card);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0003;cursor:pointer;border:1px solid var(--border-color);transition:all .3s ease}.artwork-card:hover{border-color:var(--teal-400)}.artwork-image{aspect-ratio:1;background:linear-gradient(135deg,var(--teal-200),var(--teal-300));position:relative;overflow:hidden}.artwork-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;color:var(--teal-400);opacity:0;transition:opacity .3s ease}.artwork-card:hover .artwork-overlay{opacity:1}.artwork-info{padding:20px}.artwork-info h4{font-size:1.125rem;color:var(--text-primary);margin-bottom:4px}.artwork-info p{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.artwork-style{display:inline-block;font-size:12px;color:var(--teal-400);background:var(--bg-tertiary);padding:4px 12px;border-radius:20px;border:1px solid var(--border-color)}.focus-mode-demo{background:var(--bg-primary);border-radius:24px;padding:40px;overflow:hidden;border:1px solid var(--border-color)}.demo-title{display:flex;align-items:center;gap:12px;color:var(--text-primary);margin-bottom:32px}.demo-title svg{color:var(--teal-400)}.demo-title h3{font-size:1.5rem;margin:0}.demo-container{display:flex;gap:40px;height:300px}.demo-artwork{flex:1;background:linear-gradient(135deg,var(--teal-300),var(--teal-400));border-radius:16px;position:relative;overflow:hidden}.demo-spotlight{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.7) 100%)}.demo-credits{width:250px;overflow:hidden;position:relative}.demo-credits:before,.demo-credits:after{content:"";position:absolute;left:0;right:0;height:60px;z-index:1;pointer-events:none}.demo-credits:before{top:0;background:linear-gradient(to bottom,var(--bg-primary),transparent)}.demo-credits:after{bottom:0;background:linear-gradient(to top,var(--bg-primary),transparent)}.credits-scroll{color:var(--text-primary)}.credit-title{font-size:1.5rem;font-weight:600;margin-bottom:8px;color:var(--teal-400)}.credit-artist{font-size:1.125rem;margin-bottom:4px;color:var(--text-primary)}.credit-year{font-size:14px;color:var(--text-muted);margin-bottom:24px}.credit-bio{font-size:14px;line-height:1.8;color:var(--text-secondary);margin-bottom:16px}.credit-awards{font-size:13px;color:var(--teal-500)}.tech{background:var(--bg-tertiary)}.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:60px;max-width:1000px;margin-left:auto;margin-right:auto}.tech-card{background:var(--bg-card);padding:28px 20px;border-radius:16px;text-align:center;border:2px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.tech-card:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:var(--teal-400);transition:width .3s ease}.tech-card:hover{border-color:var(--teal-400);background:var(--bg-card-hover);transform:translateY(-4px)}.tech-card:hover:after{width:60%}.tech-category{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;color:var(--teal-400)}.tech-card h4{font-size:.95rem;color:var(--text-primary);font-family:Noto Sans KR,sans-serif;font-weight:500}.architecture{background:var(--bg-card);border-radius:24px;padding:48px;border:1px solid var(--border-color)}.architecture h3{text-align:center;font-size:1.5rem;color:var(--text-primary);margin-bottom:40px}.arch-diagram{display:flex;flex-direction:column;align-items:center;gap:16px}.arch-layer{width:100%;max-width:600px;background:var(--bg-tertiary);border-radius:16px;padding:24px;border:1px solid var(--border-color)}.layer-label{display:block;font-size:12px;font-weight:600;color:var(--teal-400);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.layer-items{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.arch-item{background:var(--bg-card);color:var(--teal-500);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;border:1px solid var(--border-color)}.arch-arrow{font-size:24px;color:var(--teal-400)}.footer{background:var(--bg-primary);color:var(--text-primary);padding:60px 0 30px;border-top:1px solid var(--border-color)}.footer-content{display:flex;justify-content:center;align-items:center;margin-bottom:40px}.footer-logo{text-align:center}.footer-logo h3{font-size:1.5rem;color:var(--teal-400);margin-bottom:8px;letter-spacing:2px}.footer-logo p{color:var(--text-muted);font-size:14px}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid var(--border-color)}.footer-bottom p{color:var(--text-muted);font-size:14px}@media(max-width:1024px){.hero{flex-direction:column;text-align:center;gap:60px}.hero-content{max-width:100%}.preview-frame{width:320px;transform:none}.about-content{grid-template-columns:1fr;gap:40px}.stats-grid{grid-template-columns:repeat(4,1fr)}.features-grid{gap:24px}.feature-card{padding:36px 28px}.tech-grid{grid-template-columns:repeat(4,1fr);gap:16px}}@media(max-width:768px){.section{padding:60px 0}.stats-grid{grid-template-columns:repeat(2,1fr)}.features-grid{grid-template-columns:1fr;gap:20px}.feature-card{padding:32px 24px}.tech-grid{grid-template-columns:repeat(2,1fr);gap:16px}.demo-container{flex-direction:column;height:auto}.demo-artwork{height:200px}.demo-credits{width:100%;height:200px}.architecture{padding:24px}.footer-content{flex-direction:column;text-align:center;gap:24px}}@media(max-width:480px){.preview-frame{width:280px}.artwork-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(2,1fr)}.arch-layer{padding:16px}.layer-items{flex-direction:column}}.access-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden}.access-bg-orb{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.15) 0%,transparent 70%);filter:blur(80px);pointer-events:none}.orb-1{width:500px;height:500px;top:-20%;left:-10%;animation:float 8s ease-in-out infinite}.orb-2{width:400px;height:400px;bottom:-20%;right:-10%;animation:float 8s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,30px)}}.access-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;padding:48px 40px;width:100%;max-width:400px;margin:20px;text-align:center;position:relative;z-index:1}.access-icon{width:72px;height:72px;background:linear-gradient(135deg,var(--teal-100),var(--teal-200));border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--teal-400);margin:0 auto 24px;border:1px solid var(--border-color)}.access-container h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--teal-500),var(--teal-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;letter-spacing:2px}.access-subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:32px}.input-wrapper{position:relative;margin-bottom:16px}.input-wrapper input{width:100%;padding:16px 50px 16px 20px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:16px;font-family:inherit;outline:none;transition:all .3s ease}.input-wrapper input::placeholder{color:var(--text-muted)}.input-wrapper input:focus{border-color:var(--teal-400);box-shadow:0 0 0 3px #14b8a626}.toggle-visibility{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.toggle-visibility:hover{color:var(--teal-400)}.error-message{display:flex;align-items:center;justify-content:center;gap:8px;color:#ef4444;font-size:14px;margin-bottom:16px;padding:12px;background:#ef44441a;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.submit-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,var(--teal-400),var(--teal-300));border:none;border-radius:12px;color:var(--bg-primary);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s ease}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #14b8a64d}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.access-hint{margin-top:24px;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}
