:root{--color-bg: #0a0a0a;--color-surface: #141414;--color-surface-alt: #111111;--color-text: #eeeeee;--color-text-secondary: #888888;--color-text-tertiary: #555555;--color-border: #222222;--font-sans: "Inter", "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;--max-width: 1080px;--nav-height: 64px;--radius: 12px;--radius-sm: 8px;--transition: .25s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);overflow-x:hidden}a{color:var(--color-text);text-decoration:none;transition:opacity var(--transition)}a:hover{opacity:.6}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:1000;background:#0a0a0acc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color var(--transition)}.nav.scrolled{border-bottom-color:var(--color-border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.logo{display:flex;align-items:center;gap:10px;color:var(--color-text);font-weight:600;font-size:17px}.logo:hover{color:var(--color-text);opacity:1}.logo-img{width:64px;height:64px;object-fit:contain}.logo-text{letter-spacing:-.03em}.nav-links{display:flex;list-style:none;gap:28px}.nav-links a{color:var(--color-text-secondary);font-size:14px;font-weight:450}.nav-links a:hover{color:var(--color-text);opacity:1}.nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--color-text);border-radius:2px;transition:var(--transition)}.hero{min-height:100vh;display:flex;align-items:center;padding-top:var(--nav-height)}.hero-content{max-width:680px;padding:100px 0 120px}.hero-title{font-size:clamp(48px,8vw,80px);font-weight:700;line-height:1.05;letter-spacing:-.04em;margin-bottom:28px;color:var(--color-text)}.hero-title-em{color:var(--color-text-tertiary)}.hero-subtitle{font-size:18px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:40px;max-width:460px}.hero-buttons{display:flex;gap:12px}.hero-title{animation:heroReveal .7s ease both}.hero-subtitle{animation:heroReveal .7s ease both;animation-delay:.15s}.hero-buttons{animation:heroReveal .7s ease both;animation-delay:.3s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-family:var(--font-sans);font-size:14px;font-weight:500;border-radius:10px;border:none;cursor:pointer;transition:all var(--transition)}.btn-primary{background:var(--color-text);color:var(--color-bg)}.btn-primary:hover{background:#ccc;color:var(--color-bg);opacity:1}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-text-tertiary);opacity:1}.section{padding:100px 0}.section-alt{background:var(--color-surface-alt)}.section-header-left{margin-bottom:56px}.section-title{font-size:clamp(26px,3.5vw,36px);font-weight:700;letter-spacing:-.03em;line-height:1.2;margin-bottom:12px}.section-desc{font-size:16px;color:var(--color-text-secondary);line-height:1.6}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.work-card{border-radius:var(--radius);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.work-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #0006;border-color:var(--color-text-tertiary)}.work-card-preview{height:200px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-alt)}.work-card-icon{width:100px;height:100px;border-radius:22px;object-fit:cover}.work-card-info{padding:24px}.work-card-category{font-size:12px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.work-card-info h3{font-size:17px;font-weight:600;margin:6px 0 8px;letter-spacing:-.01em}.work-card-info p{font-size:14px;color:var(--color-text-secondary);line-height:1.5}.work-card-links{display:flex;gap:16px;margin-top:14px}.work-card-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--color-text)}.work-card-link:hover{opacity:.6}.about-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}.about-text{font-size:17px;color:var(--color-text-secondary);line-height:1.75;margin-bottom:24px}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;padding-top:32px;border-top:1px solid var(--color-border)}.about-value h4{font-size:14px;font-weight:600;margin-bottom:6px;letter-spacing:-.01em}.about-value p{font-size:13px;color:var(--color-text-tertiary);line-height:1.5}.services-list{border-top:1px solid var(--color-border)}.service-row{display:grid;grid-template-columns:48px 200px 1fr;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--color-border);transition:padding var(--transition)}.service-row:hover{padding-left:8px}.service-row-num{font-size:13px;font-weight:500;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.service-row-title{font-size:17px;font-weight:600;letter-spacing:-.01em}.service-row-desc{font-size:15px;color:var(--color-text-secondary)}.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}.contact-item{padding:20px 0;border-bottom:1px solid var(--color-border)}.contact-item:first-child{border-top:1px solid var(--color-border)}.contact-label{display:block;font-size:12px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.contact-link{font-size:16px;font-weight:500;color:var(--color-text)}.contact-address{font-size:15px;color:var(--color-text-secondary);line-height:1.6}.footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding:40px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer .logo{color:var(--color-text)}.footer .logo-img{width:32px;height:32px}.footer-links{display:flex;gap:24px}.footer-links a{color:var(--color-text-tertiary);font-size:13px}.footer-links a:hover{color:var(--color-text);opacity:1}.footer-bottom{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border);text-align:center}.footer-bottom p{font-size:12px;color:var(--color-text-tertiary)}.legal-page{padding-top:calc(var(--nav-height) + 60px);padding-bottom:80px;min-height:100vh}.legal-content{max-width:640px;margin:0 auto}.legal-content h1{font-size:28px;font-weight:700;margin-bottom:8px;letter-spacing:-.02em}.legal-content .legal-date{font-size:14px;color:var(--color-text-tertiary);margin-bottom:48px}.legal-content h2{font-size:18px;font-weight:600;margin-top:36px;margin-bottom:12px}.legal-content p,.legal-content ul,.legal-content ol{font-size:15px;color:var(--color-text-secondary);line-height:1.8;margin-bottom:16px}.legal-content ul,.legal-content ol{padding-left:20px}.legal-content li{margin-bottom:6px}.legal-content a{color:var(--color-text);text-decoration:underline;text-underline-offset:3px}@keyframes heroReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media(max-width:768px){.nav-links{display:none;position:absolute;top:var(--nav-height);left:0;right:0;background:#0a0a0af2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;padding:20px 24px;gap:0;border-bottom:1px solid var(--color-border)}.nav-links.open{display:flex}.nav-links li a{display:block;padding:10px 0;font-size:15px}.nav-toggle{display:flex}.hero-content{padding:60px 0 80px}.section{padding:72px 0}.work-grid{grid-template-columns:1fr}.about-layout,.contact-layout{grid-template-columns:1fr;gap:32px}.about-values{grid-template-columns:1fr;gap:16px}.service-row{grid-template-columns:40px 1fr;gap:12px}.service-row-desc{grid-column:1 / -1;padding-left:40px}.footer-inner{flex-direction:column;gap:16px;text-align:center}.footer-links{justify-content:center}}
