:root{--bg: #09172b;--bg-soft: #0e2035;--text: #f4f1ea;--muted: #a7adba;--muted-2: #687080;--line: rgba(244, 241, 234, .12);--line-strong: rgba(244, 241, 234, .22);--accent: #586170;--accent-soft: rgba(88, 97, 112, .18);--accent-dim: rgba(88, 97, 112, .42);--warm: #c9b88d;--surface: rgba(9, 23, 43, .58);--surface-strong: rgba(10, 27, 48, .82);--surface-line: rgba(167, 173, 186, .2);--focus-ring: rgba(167, 173, 186, .34);--ease-premium: cubic-bezier(.19, 1, .22, 1);--ease-ui: cubic-bezier(.22, 1, .36, 1);--duration-fast: .18s;--duration-medium: .26s;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font-2xs: .6875rem;--font-xs: .825rem;--font-sm: .9625rem;--font-m: 1.1rem;--font-md: var(--font-m);--font-lg: 1.2375rem;--font-xl: 1.375rem;--font-2xl: 1.7875rem;--font-3xl: 2.0625rem;--font-4xl: 2.3375rem;--font-display-sm: 2.8875rem;--font-display-md: 3.3rem;--font-display-lg: 3.575rem;--font-section-title: clamp(3.3rem, 3.74vw, 4.015rem);--font-hero: 4.25rem;--font-hero-ko: 4.45rem;--type-2xs: var(--font-2xs);--type-xs: var(--font-xs);--type-sm: var(--font-sm);--type-base: var(--font-m);--type-lg: var(--font-lg);--type-xl: var(--font-xl);--type-2xl: var(--font-2xl);--type-3xl: var(--font-3xl);--type-4xl: var(--font-4xl);--type-display-sm: var(--font-display-sm);--type-display-md: var(--font-display-md);--type-display-lg: var(--font-display-lg);--type-section-title: var(--font-section-title);--type-hero: var(--font-hero);--type-hero-ko: var(--font-hero-ko);font-family:Inter,Geist,Neue Haas Grotesk Text,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:100%;color:var(--text);background:var(--bg)}:root{--app-height: 100dvh;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html{height:100%;min-height:100%;background:var(--bg);color-scheme:dark;scrollbar-width:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{height:100%;min-height:100%;margin:0;overflow:hidden;background:var(--bg);user-select:none;-webkit-user-select:none}@media (pointer: fine) and (prefers-reduced-motion: no-preference){body,body *{cursor:none!important}}button,a{font:inherit}input,textarea,select,[contenteditable=true]{user-select:text;-webkit-user-select:text}img,svg,a,button{-webkit-user-drag:none}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:4px}::selection{color:var(--bg);background:var(--accent)}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}.page{position:relative;min-height:100svh;min-height:var(--app-height, 100dvh);color:var(--text);background:linear-gradient(132deg,#748eb22e,#09172b00 38%),linear-gradient(212deg,#c9b88d13,#09172b00 31%),linear-gradient(180deg,#0c1a32,#0d2038 58%,#081427);isolation:isolate}.page:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;content:"";opacity:.42;background-image:linear-gradient(rgba(244,241,234,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,234,.048) 1px,transparent 1px);background-size:84px 84px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 78%,transparent)}.sidebar,.main,.global-bottom{position:relative;z-index:2}.page[data-intro=boot]:before{opacity:0}.page[data-intro=running]:before{opacity:0}.page[data-intro=boot] .intro-scene{opacity:0}.page[data-intro=running] .intro-scene{opacity:.92}.intro-wordmark{position:fixed;right:50%;bottom:clamp(34px,5vh,58px);z-index:2;pointer-events:none;color:#f4f1eae0;font-size:var(--type-xs);font-weight:850;line-height:1;letter-spacing:0;opacity:0;text-shadow:0 0 24px rgba(244,241,234,.12);transform:translate(50%) translateY(8px)}.page[data-intro=boot] .intro-wordmark{animation:intro-wordmark-in .72s cubic-bezier(.19,1,.22,1) both 80ms}.page[data-intro=running] .intro-wordmark{opacity:1;transform:translate(50%) translateY(0)}.page[data-intro=complete] .intro-wordmark{animation:intro-wordmark-out .76s cubic-bezier(.19,1,.22,1) both}.page[data-intro=boot] .sidebar,.page[data-intro=boot] .main,.page[data-intro=boot] .global-bottom,.page[data-intro=boot] .shortcut-hint,.page[data-intro=running] .sidebar,.page[data-intro=running] .main,.page[data-intro=running] .global-bottom,.page[data-intro=running] .shortcut-hint{pointer-events:none;visibility:hidden;opacity:0}.page[data-intro=boot] .cursor-ring,.page[data-intro=boot] .cursor-dot,.page[data-intro=boot] .cursor-pulse,.page[data-intro=running] .cursor-ring,.page[data-intro=running] .cursor-dot,.page[data-intro=running] .cursor-pulse{opacity:0!important}.page[data-intro=complete] .intro-scene{transition:opacity .9s cubic-bezier(.19,1,.22,1)}.page[data-intro=complete] .sidebar{animation:intro-sidebar-in .98s cubic-bezier(.19,1,.22,1) both}.page[data-intro=complete] .main{animation:intro-main-in .98s cubic-bezier(.19,1,.22,1) both .15s}.page[data-intro=complete] .global-bottom{animation:intro-footer-in .76s cubic-bezier(.19,1,.22,1) both .38s}.page[data-intro=complete] .shortcut-hint{animation:intro-footer-in .76s cubic-bezier(.19,1,.22,1) both .52s}.page[data-intro=complete] .identity,.page[data-intro=complete] .language-toggle,.page[data-intro=complete] .section-nav,.page[data-intro=complete] .connect{animation:intro-element-in .76s cubic-bezier(.19,1,.22,1) both}.page[data-intro=complete] .identity{animation-delay:90ms}.page[data-intro=complete] .language-toggle{animation-delay:.19s}.page[data-intro=complete] .section-nav{animation-delay:.27s}.page[data-intro=complete] .connect{animation-delay:.43s}.page[data-intro=complete] .hero-copy,.page[data-intro=complete] .intro-copy,.page[data-intro=complete] .focus-block,.page[data-intro=complete] .section-heading,.page[data-intro=complete] .active-panel{animation:intro-content-in .9s cubic-bezier(.19,1,.22,1) both}.page[data-intro=complete] .hero-copy,.page[data-intro=complete] .section-heading{animation-delay:.25s}.page[data-intro=complete] .intro-copy,.page[data-intro=complete] .focus-block,.page[data-intro=complete] .active-panel{animation-delay:.43s}.page[data-intro=complete] .profile-column,.page[data-intro=complete] .work-row,.page[data-intro=complete] .music-story,.page[data-intro=complete] .music-side,.page[data-intro=complete] .music-link-card,.page[data-intro=complete] .music-project{animation:intro-card-in .82s cubic-bezier(.19,1,.22,1) both}.page[data-intro=complete] .work-row:nth-child(1),.page[data-intro=complete] .profile-column:nth-child(1),.page[data-intro=complete] .music-story{animation-delay:.5s}.page[data-intro=complete] .work-row:nth-child(2),.page[data-intro=complete] .profile-column:nth-child(2),.page[data-intro=complete] .music-side{animation-delay:.58s}.page[data-intro=complete] .work-row:nth-child(3),.page[data-intro=complete] .profile-column:nth-child(3),.page[data-intro=complete] .music-link-card:nth-child(1),.page[data-intro=complete] .music-project:nth-child(1){animation-delay:.66s}.page[data-intro=complete] .work-row:nth-child(4),.page[data-intro=complete] .music-link-card:nth-child(2),.page[data-intro=complete] .music-project:nth-child(2){animation-delay:.74s}.sidebar{display:grid;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:clamp(30px,5.2vh,52px) clamp(24px,3vw,42px);border-right:1px solid var(--line-strong);grid-template-rows:auto auto auto minmax(min-content,1fr);gap:clamp(22px,3.2vh,36px);scrollbar-width:none;animation:fade-up .72s ease both .12s}.sidebar::-webkit-scrollbar{display:none;width:0}.identity{display:grid;gap:clamp(22px,3.2vh,36px)}.monogram{position:relative;display:block;width:4.25rem;height:3.5rem;color:var(--text)}.monogram-mark{position:relative;display:block;width:100%;height:100%;transform:skew(-7deg)}.monogram-mark:before,.monogram-mark:after{position:absolute;content:"";background:var(--accent);opacity:.52}.monogram-mark:before{right:.25rem;bottom:.35rem;left:.25rem;height:1px}.monogram-mark:after{top:.2rem;bottom:.15rem;left:50%;width:1px;transform:rotate(28deg);transform-origin:center}.monogram-letter{position:absolute;font-family:Cormorant Garamond,"Instrument Serif",Georgia,Times New Roman,serif;font-size:var(--type-display-md);font-weight:700;line-height:.78;letter-spacing:-.08em;text-shadow:0 14px 32px rgba(0,0,0,.35)}.monogram-letter-outline{top:.1rem;left:0;color:transparent;-webkit-text-stroke:1px rgba(244,241,234,.72)}.monogram-letter-fill{right:.1rem;bottom:.1rem;color:var(--text)}.identity-copy h2,.hero h1,.detail-panel h2{margin:0}.identity-copy h2{font-size:var(--type-display-sm);line-height:1;letter-spacing:-.035em}.role{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--type-xl)}.tagline{margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--type-sm);line-height:1.4}.language-toggle{display:inline-grid;width:max-content;cursor:pointer;align-items:center;padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:var(--muted-2);background:#f4f1ea09;font-size:var(--type-xs);font-weight:800;line-height:1;grid-template-columns:auto auto auto;gap:6px;transition:color .18s ease,border-color .18s ease,background .18s ease}.language-toggle:hover,.language-toggle:focus-visible{color:var(--text);border-color:var(--line-strong);background:#f4f1ea0e}.language-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.language-toggle span{transition:color .18s ease}.language-toggle .active{color:var(--text)}.language-divider{color:var(--muted-2)}.flip-text{display:inline}.flip-char{display:inline-block;transform-origin:50% 62%;backface-visibility:hidden}.flip-char-animated{animation:text-flip-in 1.12s cubic-bezier(.19,1,.22,1) both;animation-delay:var(--char-delay, 0ms)}.flip-space{width:.28em}.flip-text-block{display:inline;animation:text-block-in .62s cubic-bezier(.19,1,.22,1) both}.section-nav{display:grid;gap:var(--space-3);align-content:start;padding-top:var(--space-5);border-top:1px solid var(--line)}.section-nav button,.section-nav a{display:inline-flex;width:max-content;max-width:100%;align-items:center;padding:1px 0;cursor:pointer;color:var(--muted);background:transparent;font-size:var(--type-base);font-weight:680;line-height:1.1;text-align:left;transition:color .18s ease,opacity .18s ease}.section-nav button:hover,.section-nav button.active,.section-nav a:hover{color:var(--text);opacity:1}.section-nav button:focus-visible,.section-nav a:focus-visible{outline:0;color:var(--text);box-shadow:inset 0 -1px 0 var(--accent)}.connect{align-self:end;padding-top:var(--space-5);transition:filter .2s ease,transform .2s ease}.mobile-connect{display:none}.eyebrow{margin:0;color:var(--accent);font-size:var(--type-xs);font-weight:700;line-height:1.1;letter-spacing:.22em}.contact-links{display:grid;gap:var(--space-3);margin-top:0}.contact-links a{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:var(--space-3);color:var(--muted);font-size:var(--type-sm);line-height:1.3;transition:color .18s ease,transform .18s ease}.contact-links a:hover,.contact-links a:focus-visible{color:var(--text);transform:translate(2px)}.contact-links a:focus-visible{outline:0;box-shadow:inset 0 -1px 0 var(--accent)}.contact-links svg{color:#586170;flex:0 0 auto}.main{min-width:0;min-height:0;height:100%}.section-main{height:100%;overflow-x:hidden;overflow-y:hidden;overscroll-behavior-y:contain;scrollbar-width:none;touch-action:pan-x}.section-main::-webkit-scrollbar{display:none}.section-track{display:grid;height:100%;min-height:0;grid-template:minmax(0,1fr) / minmax(0,1fr)}.snap-section{position:relative;display:grid;grid-area:1 / 1;height:100%;min-height:0;min-width:0;overflow:hidden;contain:paint;padding:clamp(42px,7vh,76px) clamp(32px,3.8vw,56px) clamp(28px,4vh,40px);align-content:center;opacity:0;pointer-events:none;transform:translate3d(0,10px,0) scale(.996);visibility:hidden;transition:opacity .42s var(--ease-ui),transform .52s var(--ease-premium),visibility 0s linear .42s}.snap-section.active-section{opacity:1;pointer-events:auto;transform:translateZ(0) scale(1);visibility:visible;transition:opacity .42s var(--ease-ui),transform .56s var(--ease-premium),visibility 0s linear 0s}.page[data-transition=running] .snap-section{will-change:opacity,transform}.content-snap-section{align-content:center}.section-panel{display:grid;height:100%;max-height:100%;min-height:0;overflow:hidden;align-self:center;grid-template-rows:auto minmax(0,1fr);gap:clamp(22px,3.2vh,34px);animation:fade-up var(--duration-medium) var(--ease-ui) both}.home-panel{align-items:center;grid-template-rows:minmax(0,1fr)}.home-panel .hero{animation:none}.section-heading{display:grid;max-width:1040px;gap:10px}.section-heading p{margin:0;color:var(--muted-2);font-size:var(--type-2xs);font-weight:800;line-height:1;letter-spacing:.16em;text-transform:uppercase}.section-heading h1{margin:0;color:#fff;font-size:var(--type-section-title);font-weight:860;line-height:.86;letter-spacing:0}.section-heading h1 .flip-text,.section-heading h1 .flip-char{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}.section-heading span{max-width:600px;color:var(--muted);font-size:var(--type-sm);line-height:1.48}.active-panel{min-height:0;overflow-x:hidden;overflow-y:auto;padding-top:22px;border-top:1px solid var(--line);scrollbar-gutter:auto}.active-panel>.work-section>h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.active-panel .work-list{--work-row-height: clamp(7rem, 12vh, 8.125rem);--work-marker-height: 4.75rem;margin-top:0}.active-panel .work-row{padding:var(--space-4);grid-template-columns:72px minmax(0,1fr) 42px}.active-panel .work-row:hover{padding-left:var(--space-5)}.active-panel .number{font-size:var(--type-sm);font-weight:700}.active-panel .type{font-size:var(--type-xs);color:var(--muted-2)}.active-panel .work-copy{gap:.45rem}.active-panel .work-copy strong{font-size:clamp(var(--type-2xl),2.25vw,var(--type-3xl));font-weight:780;line-height:1.02;letter-spacing:0}.active-panel .description{max-width:700px;font-size:var(--type-sm);line-height:1.36}.active-panel .work-copy .role{font-size:var(--type-sm)}.active-panel .work-techs{display:flex}.profile-panel{display:grid;height:auto;max-height:100%;min-height:0;grid-template-columns:minmax(420px,.88fr) minmax(300px,1.12fr);gap:clamp(24px,3vw,42px)}.profile-stack{display:grid;max-width:520px;min-width:0;align-content:start;gap:clamp(24px,3.6vh,38px)}.profile-column{min-width:0}.profile-column h2{margin:0 0 var(--space-3);color:var(--accent);font-size:var(--type-2xs);font-weight:800;line-height:1;letter-spacing:.16em}.profile-list{display:grid}.profile-list article{padding:9px 0;border-bottom:1px solid var(--line);transition:border-color .18s ease,color .18s ease}.profile-list.compact article{padding:8px 0}.profile-list.compact article.has-logo{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-3);align-items:center}.profile-list article:hover{border-color:var(--line-strong)}.education-logo-frame{display:grid;width:40px;height:40px;overflow:hidden;place-items:center;border:0;border-radius:999px;background:transparent}.education-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.education-logo-upenn .education-logo{width:170.5%;height:170.5%;object-fit:contain;transform:translateY(0)}.education-logo-yonsei .education-logo{transform:translate(0) translateY(1px) scale(1.04)}.education-logo-usc .education-logo{width:85.05%;height:85.05%;object-fit:contain;transform:translateY(0)}.education-copy{min-width:0}.profile-list strong{display:block;color:var(--text);font-size:var(--type-base);font-weight:760;line-height:1.12;letter-spacing:0}.profile-list p{max-width:660px;margin:6px 0 0;color:var(--muted);font-size:var(--type-xs);line-height:1.42}.profile-list:not(.compact) strong{font-size:var(--type-base)}.profile-list:not(.compact) p{font-size:var(--type-xs);line-height:1.46}.profile-panel>.profile-column .profile-list article{padding:.875rem 0}.profile-title-link{display:inline-flex;max-width:100%;align-items:center;gap:var(--space-2);color:var(--text)}.profile-title-link svg{flex:0 0 auto;color:var(--muted-2);opacity:.76;transition:color var(--duration-fast) var(--ease-ui),opacity var(--duration-fast) var(--ease-ui),transform var(--duration-fast) var(--ease-ui)}.profile-title-link:hover,.profile-title-link:focus-visible{color:var(--text)}.profile-title-link:focus-visible{outline:0;box-shadow:inset 0 -1px 0 var(--accent)}.profile-title-link:hover svg,.profile-title-link:focus-visible svg{color:var(--accent);opacity:1;transform:translate(1px,-1px)}.hero{display:grid;width:100%;min-width:0;align-items:end;grid-template-columns:minmax(0,1fr) minmax(190px,240px);gap:clamp(28px,5vw,80px);opacity:.94;animation:fade-up .76s ease both 1.05s;transition:opacity .2s ease}.hero-copy,.focus-block{min-width:0}.hero.focused{opacity:1}.hero h1{max-width:980px;font-family:Cormorant Garamond,"Instrument Serif",Georgia,Times New Roman,serif;font-size:var(--type-hero);font-weight:500;line-height:.96;letter-spacing:-.04em}.intro-copy{display:grid;max-width:380px;margin-top:clamp(16px,2.4vh,22px);row-gap:var(--space-3)}.intro-copy p{margin:0;color:var(--muted);font-size:var(--type-sm);line-height:1.5}.focus-block{align-self:center}.focus-block p{margin:0 0 var(--space-5);color:var(--muted);font-size:var(--type-xs);font-weight:700;letter-spacing:.22em}.focus-block ul{display:grid;gap:var(--space-3);margin:0;padding:0;color:var(--muted);font-size:var(--type-sm);line-height:1.2;list-style:none}.work-section{min-width:0}.work-section.focused .work-list{border-left-color:transparent}.work-list{--work-row-height: 3.75rem;--work-marker-height: 2rem;display:grid;min-height:0;margin-top:var(--space-4);gap:.625rem;border-left:0;perspective:1200px}.work-row{position:relative;display:grid;width:100%;height:var(--work-row-height);min-height:0;overflow:hidden;cursor:pointer;align-items:center;padding:10px var(--space-3);border:1px solid var(--line);border-radius:8px;color:var(--muted);background:linear-gradient(135deg,#f4f1ea0c,#58617007),var(--surface);text-align:left;grid-template-columns:42px minmax(0,1fr) 28px;gap:var(--space-2);transform:translateZ(0);transition:background var(--duration-medium) var(--ease-ui),border-color var(--duration-fast) var(--ease-ui),box-shadow var(--duration-medium) var(--ease-ui),color var(--duration-fast) var(--ease-ui),opacity var(--duration-fast) var(--ease-ui),padding-left var(--duration-fast) var(--ease-ui),transform var(--duration-medium) var(--ease-premium)}.work-row:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;content:"";background:radial-gradient(circle at 18% 0%,rgba(244,241,234,.1),transparent 32%),linear-gradient(90deg,rgba(88,97,112,.18),transparent 44%);opacity:0;transition:opacity .22s ease;pointer-events:none}.work-row:before{position:absolute;top:50%;left:0;z-index:1;width:2px;height:var(--work-marker-height);content:"";background:#a7adbad1;border-radius:999px;opacity:0;transform:translateY(-50%);transition:opacity .18s ease}.work-list:has(.work-row:hover) .work-row:not(:hover),.work-list:has(.work-row:focus-visible) .work-row:not(:focus-visible){opacity:.58}.work-row:hover{padding-left:var(--space-3);border-color:var(--surface-line);color:var(--text);background:linear-gradient(135deg,#f4f1ea13,#5861700d),var(--surface-strong);box-shadow:0 18px 44px #0000003d,inset 0 0 0 1px #f4f1ea0b;transform:translate3d(6px,0,0) scale(1.006)}.work-row.work-row-active:not(:hover):not(:focus-visible){border-color:#a7adba3d;color:var(--text);background:linear-gradient(135deg,#f4f1ea10,#5861700f),#070d19b3;box-shadow:inset 0 0 0 1px #f4f1ea0a}.work-row:focus-visible{padding-left:var(--space-3);outline:0;border-color:var(--focus-ring);color:var(--text);background:linear-gradient(135deg,#f4f1ea13,#5861700d),var(--surface-strong);box-shadow:0 18px 44px #0000003d,0 0 0 3px #a7adba14,inset 0 0 0 1px #f4f1ea13;transform:translate3d(6px,0,0) scale(1.006)}.work-row:hover:after,.work-row:focus-visible:after,.work-row:hover:before,.work-row:focus-visible:before{opacity:1}.work-row.work-row-active:not(:hover):not(:focus-visible):after{opacity:.62}.work-row.work-row-active:not(:hover):not(:focus-visible):before{opacity:.76}.work-surface,.number,.work-copy,.row-arrow{position:relative;z-index:1}.work-surface{position:absolute;inset:auto 12% -22px auto;width:40%;height:1px;background:linear-gradient(90deg,transparent,rgba(244,241,234,.24),transparent);opacity:0;transform:rotate(-3deg);transition:opacity .22s ease,transform .22s ease}.work-row:hover .work-surface,.work-row:focus-visible .work-surface{opacity:1;transform:rotate(-3deg) translate(-12px)}.number{align-self:center;color:var(--muted);font-size:var(--type-2xs);font-weight:800;letter-spacing:.1em;transition:color var(--duration-fast) var(--ease-ui)}.work-row:hover .number,.work-row:focus-visible .number,.work-row.work-row-active:not(:hover):not(:focus-visible) .number{color:var(--muted)}.work-copy{position:relative;display:grid;min-width:0;overflow:hidden;gap:.35rem}.work-card-header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3)}.type{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--type-2xs);font-weight:700;line-height:1;letter-spacing:.14em;text-overflow:ellipsis;white-space:nowrap}.work-copy strong{min-width:0;overflow:hidden;color:var(--text);font-size:var(--type-base);line-height:1.1;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.work-summary{display:flex;min-width:0;align-items:baseline;gap:var(--space-2);transition:opacity .18s ease,transform .18s ease}.work-copy .role{flex:0 1 auto;min-width:0;overflow:hidden;margin:0;color:var(--accent);font-size:var(--type-2xs);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.work-summary .description{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--type-xs);line-height:1.32;text-overflow:ellipsis;white-space:nowrap}.work-preview{flex:0 1 auto;min-width:0;overflow:hidden;color:var(--muted-2);font-size:var(--type-2xs);font-weight:800;letter-spacing:.055em;line-height:1.25;text-overflow:ellipsis;text-transform:uppercase;opacity:.74;transition:color .18s ease,opacity .18s ease,transform .18s ease;white-space:nowrap}.work-techs{display:none;flex-wrap:wrap;gap:6px;min-width:0;opacity:0;transform:translateY(5px);transition:opacity var(--duration-fast) var(--ease-ui),transform var(--duration-fast) var(--ease-ui)}.work-techs span{color:var(--muted-2);font-size:var(--type-2xs);font-weight:800;line-height:1;letter-spacing:.03em;transition:color var(--duration-fast) var(--ease-ui)}.work-row:hover .work-preview,.work-row:focus-visible .work-preview{color:var(--muted);opacity:1;transform:translate(-2px)}.work-row.work-row-active:not(:hover):not(:focus-visible) .work-preview{color:var(--muted);opacity:.92}.work-row:hover .work-techs,.work-row:focus-visible .work-techs{opacity:1;transform:translateY(0)}.work-row.work-row-active:not(:hover):not(:focus-visible) .work-techs{opacity:.86;transform:translateY(0)}.work-row:hover .work-techs span,.work-row:focus-visible .work-techs span,.work-row.work-row-active:not(:hover):not(:focus-visible) .work-techs span{color:#f4f1eab8}.row-arrow{justify-self:end;color:var(--muted);transition:color var(--duration-fast) var(--ease-ui),transform var(--duration-fast) var(--ease-premium)}.work-row:hover .row-arrow,.work-row:focus-visible .row-arrow{color:var(--muted);transform:translate(4px)}.work-row.work-row-active:not(:hover):not(:focus-visible) .row-arrow{color:var(--muted);opacity:.88}.music-panel{display:grid;max-height:100%;min-height:0;min-width:0;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:clamp(28px,4vw,64px)}.music-story{display:grid;min-width:0;align-content:start;gap:var(--space-4)}.music-story p{max-width:640px;margin:0;color:var(--muted);font-size:var(--type-sm);line-height:1.52}.music-side{display:grid;min-width:0;align-content:start;gap:clamp(24px,3vh,34px)}.music-link-group,.music-links,.music-strengths,.music-projects{min-width:0}.music-link-group h2,.music-links h2,.music-strengths h2,.music-projects h2{margin:0 0 var(--space-3);color:var(--accent);font-size:var(--type-2xs);font-weight:800;line-height:1;letter-spacing:.16em}.music-link-list{display:grid;gap:.625rem}.music-link-card{position:relative;display:grid;min-width:0;overflow:hidden;align-items:center;padding:.875rem var(--space-4);border:1px solid var(--line);border-radius:8px;color:var(--muted);background:linear-gradient(135deg,#f4f1ea0e,#58617009),#09172b94;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);transition:border-color .18s ease,background .18s ease,transform .18s ease}.music-link-card:hover,.music-link-card:focus-visible{border-color:var(--line-strong);background:linear-gradient(135deg,#f4f1ea14,#5861700e),#060a15b8;transform:translateY(-1px)}.music-link-card:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.static-credit{cursor:default}.static-credit:hover{transform:none}.music-link-copy{display:grid;min-width:0;gap:.3rem}.music-link-copy strong{overflow:hidden;color:var(--text);font-size:var(--type-sm);font-weight:760;line-height:1.12;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.music-link-copy small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:var(--type-2xs);line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:2}.music-link-card svg{color:var(--muted);transition:color .18s ease,transform .18s ease}.music-link-card:hover svg,.music-link-card:focus-visible svg{color:var(--accent);transform:translate(2px,-2px)}.artist-link-list{display:flex;flex-wrap:wrap;gap:var(--space-3)}.artist-link-list a{position:relative;display:inline-grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:linear-gradient(135deg,#f4f1ea0e,#58617006),#09172b7a;line-height:1;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.artist-link-list a span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.brand-icon{display:block;width:1.15rem;height:1.15rem}.artist-link-list a:hover,.artist-link-list a:focus-visible{border-color:var(--line-strong);background:linear-gradient(135deg,#f4f1ea14,#5861700d),#060a15ad;transform:translateY(-1px)}.artist-link-list a:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.artist-link-site{color:var(--muted)}.artist-link-spotify{color:#1ed760}.artist-link-instagram{color:#ff0069}.artist-link-tiktok{color:var(--text)}.artist-link-youtube{color:red}.artist-link-suno{color:var(--warm)}.music-strengths ul{display:flex;flex-wrap:wrap;gap:10px 12px;margin:0;padding:0;list-style:none}.music-strengths li{padding:0;color:var(--text);font-size:var(--type-xs);font-weight:700;line-height:1.15}.music-project-list{display:grid;border-left:1px solid var(--accent-dim)}.music-project{position:relative;display:grid;min-height:8.25rem;align-items:center;padding:var(--space-4) 0 var(--space-4) var(--space-4);border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);transition:border-color .18s ease,color .18s ease,padding-left .18s ease}.music-project:before{position:absolute;top:50%;left:-1px;width:1px;height:4rem;content:"";background:var(--accent);opacity:0;transform:translateY(-50%);transition:opacity .18s ease}.music-project:hover,.music-project:focus-visible{padding-left:var(--space-5);border-color:var(--line-strong);color:var(--text)}.music-project:focus-visible{outline:0}.music-project:hover:before,.music-project:focus-visible:before{opacity:1}.music-project-copy{display:grid;min-width:0;gap:.35rem}.music-project strong{overflow:hidden;color:var(--text);font-size:var(--type-lg);font-weight:760;line-height:1.12;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.music-project .description{display:-webkit-box;max-width:680px;overflow:hidden;color:var(--muted);font-size:var(--type-xs);line-height:1.42;text-overflow:clip;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.music-stack{display:flex;flex-wrap:wrap;gap:6px}.music-stack span{color:var(--muted-2);font-size:var(--type-2xs);font-weight:700;line-height:1;letter-spacing:.03em}.music-project svg{color:var(--muted);transition:color .18s ease,transform .18s ease}.music-project:hover svg,.music-project:focus-visible svg{color:var(--accent);transform:translate(2px,-2px)}.global-bottom{display:grid;min-width:0;gap:var(--space-4);padding:0 clamp(32px,3.8vw,56px) clamp(14px,2vh,22px)}.global-bottom>.mobile-connect{display:none}.site-footer{display:flex;align-items:center;justify-content:space-between;padding-top:clamp(8px,1.2vh,12px);border-top:1px solid var(--line);color:var(--muted-2);font-size:var(--type-2xs);line-height:1.2;animation:fade-up .7s ease both 1.62s}.shortcut-hint{position:fixed;right:clamp(28px,3.4vw,58px);bottom:calc(clamp(42px,5vh,64px) + 6px);z-index:2;display:inline-flex;align-items:center;gap:var(--space-3);color:var(--muted-2);font-size:var(--type-2xs);font-weight:700;letter-spacing:.04em;line-height:1;opacity:.78;pointer-events:none}.shortcut-hint span{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}.shortcut-hint kbd{min-width:1.25rem;padding:3px 5px;border:1px solid rgba(104,112,128,.42);border-radius:5px;color:var(--muted);background:#f4f1ea09;font:inherit;font-size:var(--type-2xs);text-align:center}.shortcut-hint kbd.wide-key{min-width:2.875rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:var(--space-5);background:#040d1a9e;animation:fade-in .18s var(--ease-ui) both;-webkit-backdrop-filter:blur(10px) saturate(112%);backdrop-filter:blur(10px) saturate(112%)}.modal-backdrop.modal-closing{pointer-events:none;animation:modal-backdrop-out .24s var(--ease-ui) both}.pdf-backdrop{padding:clamp(8px,1.4vw,18px);background:#040d1ac7}.modal-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;cursor:default;background:transparent}.detail-panel{--detail-panel-padding: clamp(24px, 4vw, 42px);position:relative;z-index:1;width:min(980px,100%);max-height:min(840px,calc(100svh - 48px));max-height:min(840px,calc(100dvh - 48px));overflow:auto;padding:var(--detail-panel-padding);border:1px solid var(--line-strong);border-radius:8px;background:radial-gradient(circle at 18% 0%,rgba(244,241,234,.078),transparent 34%),linear-gradient(135deg,#5861702e,#a7adba07),#060a15f7;outline:0;box-shadow:0 34px 110px #00000085,0 0 0 1px #f4f1ea09;transform-origin:center;animation:modal-project-in .52s var(--ease-premium) both;will-change:transform,opacity}.detail-panel.modal-closing{animation:modal-project-out .26s var(--ease-premium) both}.detail-panel:before{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;content:"";box-shadow:inset 0 1px #f4f1ea17,inset 0 -1px #58617014}.close-button{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;display:grid;width:34px;height:34px;cursor:pointer;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:#f4f1ea09;transition:color .18s ease,border-color .18s ease}.close-button:hover{color:var(--text);border-color:var(--line-strong)}.close-button:focus-visible,.external-link:focus-visible,.work-media:focus-visible,.research-doc:focus-visible{outline:2px solid rgba(167,173,186,.78);outline-offset:3px}.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);gap:clamp(28px,4vw,54px);align-items:end}.detail-header{min-width:0}.detail-side{display:grid;min-width:0;align-content:end;gap:var(--space-4)}.work-media{position:relative;display:block;min-width:0;aspect-ratio:16 / 9;overflow:hidden;margin:0;border:1px solid rgba(244,241,234,.13);border-radius:8px;color:var(--text);background:linear-gradient(135deg,#f4f1ea0e,#58617009),#09172b7a;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.work-media img{display:block;width:100%;height:100%;object-fit:cover}a.work-media:hover{border-color:var(--line-strong);box-shadow:0 18px 54px #00000038;transform:translateY(-1px)}.work-media-caption{position:absolute;right:10px;bottom:10px;display:inline-flex;max-width:calc(100% - 20px);align-items:center;gap:var(--space-2);padding:7px 9px;border:1px solid rgba(244,241,234,.12);border-radius:999px;color:var(--text);background:#09172bb8;font-size:var(--type-2xs);font-weight:800;line-height:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.work-media-caption svg{flex:0 0 auto;color:var(--accent)}.detail-panel h2{margin-top:var(--space-3);font-size:var(--type-display-sm);line-height:.98;letter-spacing:0}.detail-description{color:var(--muted)}.detail-description{margin:var(--space-5) 0 0;font-size:var(--type-base);line-height:1.5}.detail-meta{display:grid;min-width:0;gap:var(--space-4);align-content:end;padding:var(--space-4);border:1px solid rgba(244,241,234,.1);border-radius:8px;background:linear-gradient(135deg,#f4f1ea0b,#58617009),#f4f1ea05}.detail-meta p{margin:0;color:var(--muted);font-size:var(--type-sm);font-weight:700;line-height:1.35}.detail-meta p:first-child{color:var(--text);font-size:var(--type-base)}.detail-meta .stack{margin-top:0}.case-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-6);margin-top:var(--space-6);border-top:1px solid var(--line)}.case-study-section{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.case-study-section h3,.detail-notes h3{margin:0 0 var(--space-2);color:var(--accent);font-size:var(--type-2xs);font-weight:800;letter-spacing:.16em;line-height:1.1;text-transform:uppercase}.case-study-section p{margin:0;color:var(--muted);font-size:var(--type-sm);line-height:1.55}.stack{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.stack span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#f4f1ea09;font-size:var(--type-xs);line-height:1}.detail-notes{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.detail-notes ul{display:grid;gap:var(--space-3);margin:0;padding-left:18px;color:var(--muted)}.detail-notes li{padding-left:var(--space-1);font-size:var(--type-sm);line-height:1.5}.detail-actions{display:flex;justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line)}.external-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.625rem;padding:0 var(--space-4);border:1px solid var(--line);border-radius:999px;color:var(--text);background:#f4f1ea09;font-size:var(--type-sm);font-weight:700;transition:background .18s ease,border-color .18s ease,transform .18s ease}.external-link:hover{border-color:var(--line-strong);background:#f4f1ea0f;transform:translateY(-1px)}.research-docs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.research-doc{display:inline-flex;max-width:100%;align-items:center;gap:var(--space-2);padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#f4f1ea09;font-size:var(--type-xs);line-height:1;cursor:pointer;text-align:left;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.research-doc:hover,.research-doc:focus-visible{color:var(--text);border-color:var(--line-strong);background:#f4f1ea0e;transform:translateY(-1px)}.research-doc svg{flex:0 0 auto;color:var(--accent)}.research-doc span{min-width:0;overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.pdf-panel{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--space-3);width:100%;height:100%;padding:clamp(12px,1.8vw,22px);border:1px solid var(--line-strong);border-radius:8px;background:linear-gradient(135deg,#5861701f,#a7adba06),#060a15;box-shadow:0 30px 90px #00000073;transform-origin:top left;animation:pdf-panel-pop .52s cubic-bezier(.18,1,.22,1) both}.pdf-header{display:flex;min-height:2.25rem;align-items:center;padding-right:46px;animation:pdf-content-in .26s ease both .17s}.pdf-panel .close-button{top:clamp(7px,1vw,12px);right:clamp(8px,1.1vw,14px)}.pdf-title{min-width:0;overflow:hidden;margin:0;color:var(--text);font-size:var(--type-lg);font-weight:700;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.pdf-frame{flex:1;width:100%;min-height:0;border:0;border-radius:6px;background:#fff;animation:pdf-content-in .26s ease both .19s}.pdf-frame-placeholder{opacity:.16}.pdf-panel .external-link{margin-top:0;animation:pdf-content-in .26s ease both .21s}.page[data-locale=ko]{font-family:Pretendard Variable,Pretendard,SUIT,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Inter,ui-sans-serif,system-ui,sans-serif;word-break:keep-all}.page[data-locale=ko] .hero h1,.page[data-locale=ko] .section-heading h1,.page[data-locale=ko] .detail-panel h2{letter-spacing:0}.page[data-locale=ko] .hero h1{font-family:Pretendard Variable,Pretendard,SUIT,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--type-hero-ko);font-weight:760;line-height:1.02}.page[data-locale=ko] .identity-copy h2,.page[data-locale=ko] .section-heading h1,.page[data-locale=ko] .work-copy strong,.page[data-locale=ko] .detail-panel h2{font-weight:760}.page[data-locale=ko] .identity-copy h2{font-size:var(--type-display-lg)}.page[data-locale=ko] .section-heading h1{color:#fff;font-weight:780;line-height:.98}.page[data-locale=ko] .intro-copy p,.page[data-locale=ko] .profile-list p,.page[data-locale=ko] .description,.page[data-locale=ko] .detail-description,.page[data-locale=ko] .case-study-section p,.page[data-locale=ko] .detail-panel li{line-height:1.54}.page[data-locale=ko] .section-heading span,.page[data-locale=ko] .music-story p{line-height:1.56}.page[data-locale=ko] .eyebrow,.page[data-locale=ko] .focus-block p,.page[data-locale=ko] .profile-column h2,.page[data-locale=ko] .section-heading p,.page[data-locale=ko] .case-study-section h3,.page[data-locale=ko] .detail-notes h3,.page[data-locale=ko] .music-link-group h2,.page[data-locale=ko] .music-links h2,.page[data-locale=ko] .music-strengths h2,.page[data-locale=ko] .music-projects h2,.page[data-locale=ko] .type{letter-spacing:0}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes intro-sidebar-in{0%{opacity:0;transform:perspective(1200px) translate(-42px) rotateY(10deg)}58%{opacity:1;transform:perspective(1200px) translate(4px) rotateY(-1.2deg)}to{opacity:1;transform:perspective(1200px) translate(0) rotateY(0)}}@keyframes intro-main-in{0%{opacity:0;transform:translateY(18px) scale(.985)}64%{opacity:1;transform:translateY(-2px) scale(1.002)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes intro-footer-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-element-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-wordmark-in{0%{opacity:0;transform:translate(50%) translateY(8px)}to{opacity:1;transform:translate(50%) translateY(0)}}@keyframes intro-wordmark-out{0%{opacity:1;transform:translate(50%) translateY(0)}to{opacity:0;transform:translate(50%) translateY(-10px)}}@keyframes intro-content-in{0%{opacity:0;transform:perspective(900px) translateY(24px) rotateX(10deg) scale(.985)}62%{opacity:1;transform:perspective(900px) translateY(-2px) rotateX(-1deg) scale(1.002)}to{opacity:1;transform:perspective(900px) translateY(0) rotateX(0) scale(1)}}@keyframes intro-card-in{0%{opacity:0;transform:translate3d(18px,18px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes text-flip-in{0%{opacity:0;transform:perspective(560px) rotateX(84deg) translateY(.18em) scale(.96)}58%{opacity:1;transform:perspective(560px) rotateX(-8deg) translateY(-.02em) scale(1.01)}to{opacity:1;transform:perspective(560px) rotateX(0) translateY(0) scale(1)}}@keyframes text-block-in{0%{opacity:0;transform:translateY(.28em)}to{opacity:1;transform:translateY(0)}}@keyframes pdf-panel-pop{0%{opacity:.08;border-radius:14px;transform:translate3d(var(--pdf-start-x, 48vw),var(--pdf-start-y, 48vh),0) scale(var(--pdf-start-scale-x, .035),var(--pdf-start-scale-y, .035))}62%{opacity:1;transform:translate3d(-4px,-3px,0) scale(1.006)}to{opacity:1;border-radius:8px;transform:translateZ(0) scale(1)}}@keyframes pdf-content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-project-in{0%{opacity:0;filter:blur(2px);transform:translate3d(var(--modal-open-x, 0),var(--modal-open-y, 14px),0) scale(var(--modal-open-scale-x, .92),var(--modal-open-scale-y, .92))}66%{opacity:1;filter:blur(0);transform:translate3d(-2px,-2px,0) scale(1.004)}to{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}}@keyframes modal-project-out{0%{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}to{opacity:0;filter:blur(2px);transform:translate3d(var(--modal-open-x, 0),var(--modal-open-y, 14px),0) scale(var(--modal-open-scale-x, .92),var(--modal-open-scale-y, .92))}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@media (min-width: 1024px){body{overflow:hidden}.page{display:grid;height:100svh;height:var(--app-height, 100dvh);overflow:hidden;grid-template-columns:clamp(280px,20.5vw,340px) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.sidebar{grid-column:1;grid-row:1 / span 2}.main{grid-column:2;grid-row:1;height:100%;min-height:0}.global-bottom{grid-column:2;grid-row:2}.snap-section,.content-snap-section{align-content:center}.snap-section{padding-top:clamp(36px,5vh,56px);padding-bottom:clamp(36px,5vh,56px)}.section-panel{align-self:center}.home-panel{align-items:center}}@media (max-width: 1320px) and (min-width: 1024px){:root{--font-hero: 4.05rem;--font-hero-ko: 4.25rem;--font-section-title: 3.685rem}.main,.global-bottom{padding-right:36px;padding-left:36px}}@media (max-width: 1180px) and (min-width: 1024px){.sidebar{padding-right:26px;padding-left:26px}}@media (max-height: 860px) and (min-width: 1024px){:root{--font-hero: 3.8rem;--font-hero-ko: 4.05rem;--font-section-title: 3.355rem}.snap-section{padding-top:24px;padding-bottom:24px}.intro-copy{margin-top:18px}.work-row{--work-row-height: 3.875rem;padding-top:9px;padding-bottom:9px}.active-panel .work-list{--work-row-height: 6.5rem;--work-marker-height: 3.625rem}.active-panel .work-techs{display:none}.description{font-size:var(--type-xs)}.music-panel{gap:var(--space-6)}.music-story{gap:var(--space-3)}.music-story p{font-size:var(--type-sm);line-height:1.45}.music-project{min-height:7rem;padding-top:var(--space-3);padding-bottom:var(--space-3)}.music-project .description{font-size:var(--type-xs)}}@media (max-width: 1023px){:root{--font-hero: 3.3rem;--font-hero-ko: 3.5rem;--font-section-title: 2.875rem;--font-2xl: 1.5625rem;--font-3xl: 1.8125rem;--font-4xl: 2.0625rem;--font-display-sm: 2.375rem;--font-display-md: 2.75rem;--font-display-lg: 3rem}body{overflow:hidden}.page{display:grid;height:100svh;height:100dvh;overflow:hidden;padding:var(--safe-area-top) var(--safe-area-right) var(--safe-area-bottom) var(--safe-area-left);grid-template-rows:auto minmax(0,1fr) auto}.sidebar{position:sticky;top:var(--safe-area-top);z-index:4;padding:18px 20px 0;border-right:0;border-bottom:0;background:linear-gradient(180deg,#09172bfa,#09172be6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);grid-template-rows:auto auto;gap:var(--space-3)}.identity{gap:var(--space-4)}.identity-copy{max-width:620px}.identity-copy h2{font-size:var(--type-3xl)}.role{font-size:var(--type-base)}.section-nav{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:center;margin:0 -20px;padding:11px 20px 12px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.connect{display:none}.global-bottom{padding:0 20px 20px;gap:var(--space-3)}.global-bottom>.mobile-connect{display:grid;align-self:stretch;gap:var(--space-2);padding-top:0;border-top:1px solid var(--line)}.global-bottom .contact-links{margin-top:0}.shortcut-hint{display:none}.contact-links{grid-template-columns:repeat(2,minmax(0,max-content));gap:var(--space-3) var(--space-5)}.section-main{height:100%;min-height:0;overflow-y:hidden;touch-action:pan-y}.section-track{height:100%;min-height:0}.snap-section{height:100%;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:18px 22px 30px;align-content:start;-webkit-overflow-scrolling:touch;touch-action:pan-y}.snap-section:not(.active-section){position:absolute;top:0;right:0;bottom:0;left:0;width:100%}.content-snap-section{align-content:start}.section-panel{height:auto;max-height:none;overflow:visible;align-self:start;grid-template-rows:auto;gap:var(--space-6)}.home-panel{align-items:start}.active-panel{min-height:auto;overflow:visible;scrollbar-gutter:auto}.profile-panel{height:auto;max-height:none;grid-template-columns:1fr;gap:var(--space-6)}.music-panel{max-height:none;grid-template-columns:1fr;gap:var(--space-5)}.music-story{gap:var(--space-3)}.music-story p{font-size:var(--type-sm);line-height:1.45}.music-side{gap:var(--space-4)}.music-project{min-height:6.5rem;padding:var(--space-3) 0 var(--space-3) var(--space-3)}.music-project strong{font-size:var(--type-lg)}.music-project .description{font-size:var(--type-xs);-webkit-line-clamp:2}.profile-column:nth-child(1),.profile-column:nth-child(2){grid-row:auto}.active-panel .work-list{--work-row-height: 6.45rem;--work-marker-height: 3.75rem}.active-panel .work-row{padding:var(--space-3);grid-template-columns:44px minmax(0,1fr) 36px}.work-row:hover,.work-row:focus-visible{transform:none}.active-panel .work-techs{display:none}.active-panel .work-copy strong{font-size:var(--type-xl)}.active-panel .description{font-size:var(--type-sm)}.hero{align-items:center;gap:var(--space-6)}.intro-copy{max-width:none}.focus-block{padding-top:var(--space-5);border-top:1px solid var(--line)}}@media (max-width: 767px){:root{--font-hero: 2.25rem;--font-hero-ko: 2.375rem;--font-section-title: 1.875rem;--mobile-page-x: 18px;--mobile-description-size: var(--type-sm);--font-2xs: .625rem;--font-xs: .6875rem;--font-sm: .75rem;--font-m: .875rem;--font-lg: .9375rem;--font-xl: 1rem;--font-2xl: 1.125rem;--font-3xl: 1.3125rem;--font-4xl: 1.4375rem;--font-display-sm: 1.8125rem;--font-display-md: 2rem;--font-display-lg: 2.25rem;--space-5: 18px;--space-6: 24px;--space-7: 34px;--space-8: 46px}.page:before{opacity:.24;background-size:48px 48px}.sidebar{padding:14px var(--mobile-page-x) 0}.sidebar>.language-toggle{position:absolute;top:14px;right:var(--mobile-page-x)}.monogram{display:none}.identity{gap:0}.identity-copy{padding-right:6rem}.tagline{display:none}.section-nav{gap:var(--space-4) var(--space-5);justify-content:space-between;flex-wrap:nowrap;margin-right:calc(-1 * var(--mobile-page-x));margin-left:calc(-1 * var(--mobile-page-x));padding:10px var(--mobile-page-x) 11px}.identity-copy h2{font-size:1.625rem}.role{font-size:var(--type-base)}.contact-links{grid-template-columns:1fr}.global-bottom{padding:0 var(--mobile-page-x) var(--mobile-page-x);gap:var(--space-3)}.global-bottom>.mobile-connect{align-items:center;grid-template-columns:1fr;padding-top:0}.global-bottom .contact-links{align-items:center;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-4) var(--space-3)}.global-bottom .contact-links a:first-child{grid-column:auto}.global-bottom .contact-links a{min-width:0;gap:var(--space-3);font-size:var(--type-xs)}.global-bottom .contact-links a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-bottom .contact-links a:not(:first-child){width:2rem;height:2rem;justify-content:center;gap:0}.global-bottom .contact-links a:not(:first-child) span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.global-bottom .contact-links svg{width:1rem;height:1rem}.snap-section{padding:12px var(--mobile-page-x) var(--space-6)}.section-panel{gap:var(--space-5)}.section-heading{gap:var(--space-3)}.section-heading span{font-size:var(--type-sm)}.page[data-locale=ko] .identity-copy h2{font-size:var(--type-4xl)}.page[data-locale=ko]{--font-hero-ko: 2.0625rem;--type-hero-ko: var(--font-hero-ko);--mobile-description-size: .8125rem}.page[data-locale=ko] .hero{gap:var(--space-5)}.page[data-locale=ko] .hero h1{line-height:1.04}.page[data-locale=ko] .intro-copy p,.page[data-locale=ko] .profile-list p,.page[data-locale=ko] .description,.page[data-locale=ko] .music-story p{line-height:1.45}.hero{grid-template-columns:1fr}.intro-copy{row-gap:var(--space-3)}.intro-copy p{font-size:var(--mobile-description-size);line-height:1.45}.focus-block ul{font-size:var(--type-xs)}.work-row{grid-template-columns:38px minmax(0,1fr) 28px}.active-panel .work-list{--work-row-height: 7.1rem;--work-marker-height: 4.15rem}.active-panel .work-row{padding-right:var(--space-1);padding-left:var(--space-2);grid-template-columns:40px minmax(0,1fr) 28px}.active-panel .number,.active-panel .type,.active-panel .work-copy .role{font-size:var(--type-2xs)}.active-panel .work-copy strong{font-size:var(--type-lg)}.active-panel .description{font-size:var(--mobile-description-size)}.active-panel .work-preview{font-size:var(--type-2xs);letter-spacing:.04em}.active-panel .work-card-header{align-items:start}.active-panel .work-preview{display:none}.active-panel .work-copy{gap:.42rem}.active-panel .work-summary{display:grid;align-items:start;gap:.25rem}.active-panel .work-summary .description{display:-webkit-box;overflow:hidden;line-height:1.32;text-overflow:clip;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.modal-backdrop{padding:10px}.detail-panel{--detail-panel-padding: 16px;width:100%;max-height:calc(100svh - 20px);max-height:calc(100dvh - 20px)}.detail-hero{grid-template-columns:1fr;gap:var(--space-5)}.detail-meta{padding-top:var(--space-4);padding-left:0;border-top:1px solid var(--line);border-left:0}.detail-panel h2{font-size:clamp(1.75rem,10vw,2.75rem);line-height:1}.detail-description{margin-top:var(--space-4);font-size:var(--mobile-description-size)}.case-study-grid{grid-template-columns:1fr;margin-top:var(--space-5)}.case-study-section{padding:var(--space-3) 0}.case-study-section p,.detail-notes li{font-size:var(--mobile-description-size)}.stack,.detail-notes{margin-top:var(--space-4)}.music-panel{gap:var(--space-6)}.music-story{gap:var(--space-4)}.music-story p{display:-webkit-box;overflow:hidden;font-size:var(--mobile-description-size);line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.music-story p:not(:first-child){display:none}.music-link-group h2,.music-links h2,.music-strengths h2,.music-projects h2{margin-bottom:var(--space-2);font-size:var(--type-2xs)}.music-link-list{gap:var(--space-4)}.music-link-card{padding:.95rem;gap:var(--space-3)}.music-link-copy{gap:.2rem}.music-link-copy strong{font-size:var(--type-xs)}.music-project strong{font-size:var(--mobile-description-size);line-height:1.2}.music-link-copy small{font-size:var(--type-xs);line-height:1.3;-webkit-line-clamp:1}.music-link-card svg{width:.875rem;height:.875rem}.music-strengths{display:none}.music-strengths ul{gap:var(--space-2)}.music-strengths li{padding-bottom:6px;font-size:var(--type-xs)}.music-links{display:grid}.artist-link-list{gap:var(--space-3)}.artist-link-list a{width:2.75rem;height:2.75rem;padding:0}.brand-icon{width:1.25rem;height:1.25rem}.music-project{min-height:4.65rem;padding:12px var(--space-1) 12px var(--space-3);gap:var(--space-3)}.music-project:hover{padding-left:var(--space-3)}.music-project:before{height:2.75rem}.music-project .type{display:none}.music-project-copy{gap:0}.music-project .description,.music-stack{display:none}.active-panel{padding-top:var(--space-3)}.profile-panel,.profile-stack{gap:var(--space-5)}.profile-column h2{margin-bottom:var(--space-1);font-size:var(--type-2xs)}.profile-list article,.profile-list.compact article{padding:.75rem 0}.profile-panel .profile-list article:first-child,.profile-panel .profile-list.compact article:first-child{padding-top:var(--space-2)}.profile-list.compact article.has-logo{grid-template-columns:40px minmax(0,1fr);gap:var(--space-3)}.education-logo-frame{width:36px;height:36px}.profile-list p,.profile-list:not(.compact) p{margin-top:.25rem;font-size:var(--mobile-description-size);line-height:1.4}.profile-list:not(.compact) article p:nth-of-type(2){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.profile-list strong,.profile-list:not(.compact) strong{font-size:var(--mobile-description-size)}.profile-list p,.profile-list:not(.compact) p{font-size:var(--mobile-description-size)}.site-footer{align-items:center;flex-direction:row;gap:var(--space-3);padding-top:var(--space-2)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.page{background:linear-gradient(145deg,#748eb21f,#09172b00 42%),var(--bg)}.section-main{scroll-behavior:auto}.intro-wordmark{display:none}.snap-section{opacity:0}.snap-section.active-section{opacity:1}}
