:root{--ink: #0c0d10;--muted: #5d6573;--bg: #ffffff;--soft: #f6f7f9;--border: #e7e9ee;--border-strong: #d7dae2;--card-bg: #ffffff;--nav-bg: rgba(255,255,255,.8);--accent: #6366f1;--accent-link: #6d28d9;--grad: linear-gradient(120deg, #6366f1 0%, #8b5cf6 50%, #d946a6 100%)}html[data-theme=dark]{--ink: #e7e8ea;--muted: #9aa1ab;--bg: #0f1011;--soft: #17181b;--border: #2a2d33;--border-strong: #3a3d44;--card-bg: #1c1d21;--nav-bg: rgba(15,16,17,.78);--accent-link: #b69bff}html[data-theme=light]{--ink: #0c0d10;--muted: #5d6573;--bg: #ffffff;--soft: #f6f7f9;--border: #e7e9ee;--border-strong: #d7dae2;--card-bg: #ffffff;--nav-bg: rgba(255,255,255,.8);--accent-link: #6d28d9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,-apple-system,Segoe UI,Roboto,Helvetica Neue,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}a{color:inherit}.theme-toggle{background:none;border:1px solid var(--border);border-radius:999px;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);padding:0;margin-left:.5rem;transition:color .15s,border-color .15s}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-toggle svg{width:1rem;height:1rem}html[data-theme=dark] .theme-toggle .sun{display:none}html:not([data-theme=dark]) .theme-toggle .moon{display:none}.nav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.25rem,5vw,3rem);background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.brand{font-weight:800;font-size:1.15rem;letter-spacing:-.02em;text-decoration:none}.brand-dot{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 1px}.nav-links{display:flex;gap:1.6rem;align-items:center}.nav-links a{color:var(--muted);text-decoration:none;font-size:.92rem;transition:color .15s}.nav-links a:hover{color:var(--ink)}.nav-links .lang{border:1px solid var(--border);border-radius:999px;padding:.25rem .75rem;font-size:.82rem}.hero{position:relative;overflow:hidden;padding:clamp(4rem,12vw,9rem) clamp(1.25rem,5vw,3rem) clamp(3.5rem,8vw,6rem);text-align:center;background:radial-gradient(60% 60% at 50% 0%,rgba(139,92,246,.1),transparent 70%),radial-gradient(40% 40% at 85% 10%,rgba(217,70,166,.08),transparent 70%)}.hero-inner{max-width:880px;margin:0 auto}.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.35rem .85rem;margin-bottom:1.6rem}.hero h1{font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.08;letter-spacing:-.03em;font-weight:820;margin:0 0 1.4rem}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.lede{font-size:clamp(1.05rem,2.2vw,1.3rem);color:var(--muted);max-width:660px;margin:0 auto 2.4rem}.cta-row{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;border-radius:999px;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}.btn.primary{color:#fff;background:var(--grad);box-shadow:0 8px 24px #6366f14d}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #6366f166}.btn.ghost{color:var(--ink);border:1px solid var(--border);background:var(--card-bg)}.btn.ghost:hover{border-color:var(--ink)}.work{padding:clamp(3.5rem,8vw,6rem) clamp(1.25rem,5vw,3rem);background:var(--soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.work-inner{max-width:1080px;margin:0 auto}.work h2{font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.02em;margin:0 0 .5rem;text-align:center}.work-intro{color:var(--muted);text-align:center;margin:0 auto 3rem;max-width:540px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:18px;padding:1.8rem;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0c0d1014;border-color:var(--border-strong)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem;gap:.5rem}.card-name{font-size:1.3rem;font-weight:750;letter-spacing:-.01em}.card-tag{font-size:.72rem;font-weight:600;color:var(--muted);background:var(--soft);border:1px solid var(--border);border-radius:999px;padding:.22rem .6rem;white-space:nowrap}.card-desc{color:var(--muted);font-size:.97rem;margin:0 0 1.5rem;flex:1}.card-link{font-weight:650;text-decoration:none;color:var(--accent-link);align-self:flex-start}.card-link:hover{text-decoration:underline}.badge{font-size:.8rem;font-weight:600;color:var(--muted);border:1px dashed var(--border);border-radius:999px;padding:.3rem .8rem;align-self:flex-start}.closing{padding:clamp(3.5rem,8vw,6rem) clamp(1.25rem,5vw,3rem);text-align:center}.closing p{max-width:720px;margin:0 auto;font-size:clamp(1.3rem,3vw,1.9rem);font-weight:600;letter-spacing:-.02em;line-height:1.35}.footer{max-width:1080px;margin:0 auto;padding:2.2rem clamp(1.25rem,5vw,3rem) 3rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-links{display:flex;gap:1.4rem}.footer-links a{color:var(--muted);text-decoration:none;font-size:.9rem}.footer-links a:hover{color:var(--ink)}.footer-meta{color:var(--muted);font-size:.85rem}@media(max-width:760px){.cards{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}}
