.nav-wrapper{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;width:100%}.portfolio-nav{display:flex;align-items:center;gap:1.5rem}.nav-item-with-dropdown{position:relative;display:inline-flex}.nav-item{font-family:var(--font-serif);font-size:18px;font-weight:400;color:var(--color-text-primary);background:none;border:none;padding:0;cursor:pointer;letter-spacing:-.01em;position:relative;transition:color .2s}.nav-item-with-shortcut{display:inline-flex;align-items:center;gap:.45rem}.nav-item-activity{display:inline-flex;align-items:center;gap:.5rem}.nav-item:hover{color:var(--color-text-primary)}.nav-item.active{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}.nav-item-with-shortcut.active>.nav-item-label{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}.nav-item-with-shortcut.active,.nav-item-with-shortcut .nav-shortcut-inline,.nav-item-with-shortcut.active .nav-shortcut-inline{text-decoration:none}.activity-space-dropdown{position:absolute;left:50%;top:calc(100% + .85rem);transform:translate(-50%) translateY(-4px);width:min(290px,70vw);padding:.7rem .8rem;background:#fff;border:1px solid rgba(17,17,17,.12);border-radius:12px;color:#4f5560;font-size:14px;line-height:1.45;box-shadow:0 8px 22px #11111114;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:20}.activity-space-dropdown:before{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;background:#fff;border-top:1px solid rgba(17,17,17,.12);border-left:1px solid rgba(17,17,17,.12);transform:translate(-50%) rotate(45deg)}.nav-item-with-dropdown:hover .activity-space-dropdown,.nav-item-with-dropdown:focus-within .activity-space-dropdown{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.nav-separator{font-family:var(--font-serif);font-size:18px;color:var(--color-border);opacity:.5}.nav-shortcut-inline{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;padding:2px 6px;border-radius:999px;border:1px solid #E3E3E3;background:#fff;color:#5b5b5b;font-family:var(--font-sans);font-size:11px;line-height:1.1;margin-left:0}.mobile-theme-toggle{display:none;border:none;background:transparent;color:var(--color-text-primary);width:34px;height:34px;flex:0 0 34px;margin-left:auto;cursor:pointer;border-radius:999px;align-items:center;justify-content:center;transition:transform .28s cubic-bezier(.22,1,.36,1),color .32s cubic-bezier(.22,1,.36,1),background-color .32s cubic-bezier(.22,1,.36,1)}.mobile-theme-toggle svg{width:18px;height:18px;transform-origin:50% 50%;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .26s ease}.mobile-theme-toggle[aria-pressed=false]{color:#6f6f6f}.mobile-theme-toggle[aria-pressed=false] svg{width:16px;height:16px;transform:rotate(-16deg) scale(.96);opacity:.92}.mobile-theme-toggle[aria-pressed=true] svg{transform:rotate(0) scale(1);opacity:1}.mobile-theme-toggle:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}body[data-theme-transition=running] .mobile-theme-toggle[aria-pressed=true] svg{animation:themeSunPop .52s cubic-bezier(.22,1,.36,1)}body[data-theme-transition=running] .mobile-theme-toggle[aria-pressed=false] svg{animation:themeMoonSettle .52s cubic-bezier(.22,1,.36,1)}@keyframes themeSunPop{0%{transform:rotate(-38deg) scale(.68);opacity:.35}55%{transform:rotate(10deg) scale(1.04);opacity:1}to{transform:rotate(0) scale(1);opacity:1}}@keyframes themeMoonSettle{0%{transform:rotate(20deg) scale(1.05);opacity:.7}to{transform:rotate(-16deg) scale(.96);opacity:.92}}.shortcut-symbol{opacity:1}@media(max-width:480px){.nav-item,.nav-separator{font-size:16px}.portfolio-nav{gap:1rem}.activity-space-dropdown{display:none}.activity-space-dropdown:before{display:none}.nav-item-with-dropdown:hover .activity-space-dropdown,.nav-item-with-dropdown:focus-within .activity-space-dropdown{display:none}}@media(max-width:768px){.activity-space-dropdown,.activity-space-dropdown:before{display:none}.intro-content{font-size:13px}.nav-shortcut-inline{display:none}.nav-wrapper{gap:.55rem;flex-wrap:nowrap}.portfolio-nav{min-width:0;flex:1 1 auto;gap:.75rem}.mobile-theme-toggle{display:inline-flex}}@media(prefers-reduced-motion:reduce){.mobile-theme-toggle,.mobile-theme-toggle svg{transition:none}body[data-theme-transition=running] .mobile-theme-toggle[aria-pressed=true] svg,body[data-theme-transition=running] .mobile-theme-toggle[aria-pressed=false] svg{animation:none}}body[data-theme=dark] .activity-space-dropdown,body[data-theme=dark] .activity-space-dropdown:before{background:#0f0f10;border-color:#ffffff29}body[data-theme=dark] .activity-space-dropdown{color:#d2d5db;box-shadow:0 8px 24px #00000073}body[data-theme=dark] .nav-shortcut-inline{background:#111113;border-color:#fff3;color:#e7e7e7}.intro-content{font-size:15px;color:var(--color-text-secondary);line-height:1.8;max-width:600px}.intro-paragraph{margin-bottom:1.5rem}.intro-paragraph:last-child{margin-bottom:3rem}.intro-paragraph strong{font-weight:600;color:var(--color-text-primary)}.intro-content a{transition:opacity .2s ease,color .2s;text-underline-offset:6px}.intro-content a:hover{opacity:.5}.hypefast-link{transition:color .2s;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-color:#0c0a0933;text-decoration-thickness:1px;text-underline-offset:6px}.hypefast-link:hover{color:#00d7c5!important}@media(max-width:768px){.intro-content{font-size:13px}}.study-cases-section{margin-top:2rem;width:100%}.activity-space-entry,.study-cases-entry{opacity:0;transform:translateY(14px);animation:activityEntryReveal .85s cubic-bezier(.22,1,.36,1) 90ms forwards;will-change:opacity,transform}@keyframes activityEntryReveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.sc-header-group{margin-bottom:1rem}.sc-header-group-spaced{margin-top:4rem}.sc-label{font-family:var(--font-serif);font-size:var(--section-title-size);font-weight:400;color:#414141;margin-bottom:1rem;letter-spacing:-.01em}.study-cases-section:not(.activity-space-entry) .sc-header-group{margin-bottom:1rem}.study-cases-section:not(.activity-space-entry) .sc-label{margin-bottom:1rem}.sc-separator{width:60px;height:1px;background-color:var(--color-border);opacity:1}.sc-list{display:flex;flex-direction:column;gap:1rem}a.sc-item,a.sc-item:link,a.sc-item:visited,a.sc-item:hover,a.sc-item:active{text-decoration:none!important;border-bottom:none!important}.sc-item{display:flex;flex-direction:column;gap:.25rem;transition:opacity .3s ease;cursor:pointer}.sc-item-header{display:flex;align-items:center;gap:12px}.activity-item-content{display:flex;align-items:flex-start;gap:16px}.activity-item-icon{width:32px;height:32px;flex-shrink:0}.activity-item-text{display:flex;flex-direction:column;gap:.25rem}.sc-item-title{font-size:15px;font-weight:500;color:#414141;margin:0;flex:0 1 auto}.sc-item-year{font-size:.85rem;color:var(--color-text-secondary);opacity:.7;min-width:44px;flex-shrink:0}.external-link-icon{color:var(--color-text-secondary);opacity:0;width:12px;height:12px;transition:opacity .2s ease}.sc-item-subtitle{font-size:15px;color:#6b6a69;line-height:1.5;max-width:500px}.sc-item-date{font-size:.85rem;color:var(--color-text-secondary);opacity:.6}@media(min-width:1024px){.sc-list:hover .sc-item{opacity:.4}.sc-list .sc-item:hover,.sc-item:hover .external-link-icon{opacity:1}}@media(prefers-reduced-motion:reduce){.study-cases-entry,.activity-space-entry{animation:none;opacity:1;transform:none}}@media(max-width:768px){.study-cases-section:not(.activity-space-entry) .sc-header-group-spaced{margin-top:2.5rem}.activity-space-entry .sc-header-group{margin-bottom:1rem}.activity-space-entry .sc-header-group-spaced{margin-top:56px}.activity-space-entry .sc-label{margin-bottom:1rem}.sc-item-title{font-size:13px}.sc-item-year{font-size:13px;min-width:38px;align-self:flex-start}.sc-item-subtitle,.sc-item-date{font-size:13px}.activity-item-content{gap:12px}.activity-item-icon{width:28px;height:28px}}.sc-item-clickable{cursor:pointer}.internal-link{opacity:0;transition:opacity .2s ease,transform .2s ease}@media(min-width:1024px){.sc-item-clickable:hover .internal-link{opacity:1;transform:translate(2px)}}.resume-section{width:100%;display:flex;flex-direction:column;gap:2rem}.resume-entry{opacity:0;transform:translateY(14px);animation:resumeEntryReveal .85s cubic-bezier(.22,1,.36,1) 90ms forwards;will-change:opacity,transform}@keyframes resumeEntryReveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.resume-tagline{font-family:var(--font-serif);font-size:15px;font-style:italic;font-weight:400;color:var(--color-text-secondary);line-height:1.5;letter-spacing:-.01em;margin:0}.resume-header-group{margin-bottom:1rem}.resume-label{font-family:var(--font-serif);font-size:var(--section-title-size);font-weight:400;color:#414141;margin-bottom:1rem;letter-spacing:-.01em}.resume-separator{width:60px;height:1px;background-color:var(--color-border);opacity:1}.experience-list{display:flex;flex-direction:column;gap:2.5rem}.experience-item{display:flex;flex-direction:column;gap:1rem}.company-name{font-family:var(--font-serif);font-size:var(--section-title-size);font-weight:400;color:#414141;margin-bottom:.5rem;letter-spacing:-.01em}.company-header{display:flex;flex-direction:column;gap:0}.company-name-link{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;text-decoration:none;transition:opacity .2s ease}.company-link-icon{opacity:0;transform:translateY(1px);transition:opacity .2s ease}.company-name-link:hover .company-link-icon,.company-name-link:focus-visible .company-link-icon{opacity:1}.company-subtitle{margin:0 0 .5rem;font-size:13px;color:#8c8c8c;letter-spacing:.01em}.role-item{display:flex;flex-direction:column;gap:.75rem;padding-left:1rem;border-left:1px solid var(--color-border)}.role-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem}.role-title{font-size:15px;font-weight:500;color:#414141}.role-period{font-size:13px;color:var(--color-text-secondary);opacity:.7}.role-description{list-style-type:none;display:flex;flex-direction:column;gap:.5rem}.role-description li{font-size:15px;color:#6b6a69;line-height:1.6;position:relative;padding-left:1rem}.role-description li:before{content:"•";position:absolute;left:0;color:var(--color-border)}.resume-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;row-gap:2rem;align-items:start}.resume-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-grid-single{grid-template-columns:1fr}.resume-column{min-width:0}.resume-text{font-size:15px;color:var(--color-text-secondary);line-height:1.7}.resume-list{list-style-type:none;display:flex;flex-direction:column;gap:.5rem;padding:0;margin:0}.resume-list li{font-size:15px;color:var(--color-text-secondary);line-height:1.6;position:relative;padding-left:1rem}.resume-list li:before{content:"•";position:absolute;left:0;color:var(--color-border)}.edu-item,.mentorship-item{margin-bottom:1.25rem}.edu-item:last-child,.mentorship-item:last-child{margin-bottom:0}.languages-header-group{margin-top:0}.edu-title,.mentor-org{font-size:15px;font-weight:500;color:#414141;margin-bottom:.25rem}.edu-school,.mentor-role{font-size:15px;color:var(--color-text-secondary);opacity:.8}@media(max-width:768px){.resume-header-group,.resume-label{margin-bottom:1rem}.resume-tagline{font-size:15px}.resume-grid{gap:2rem}.role-header{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.resume-entry{animation:none;opacity:1;transform:none}}@media(max-width:768px){.resume-grid{grid-template-columns:1fr}.role-title,.edu-title,.mentor-org{font-size:13px}.company-link-icon{opacity:1}.role-period,.role-description li,.resume-list li,.edu-school,.mentor-role{font-size:13px}.languages-header-group{margin-top:0}}.resume-collab{font-size:15px;color:#6b6a69;line-height:1.8;border-left:2px solid #E0DED9;padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:.75rem}.resume-collab p{margin:0}.resume-collab strong{font-weight:600;color:#6b6a69}.resume-collab a{color:#6b6a69;text-underline-offset:6px;transition:opacity .2s ease}.resume-collab a:hover{opacity:.5}@media(max-width:768px){.resume-collab{font-size:13px}}.project-page{max-width:700px}.project-loading{color:var(--color-text-secondary)}.project-loading-dots:after{content:"...";display:inline-block;overflow:hidden;vertical-align:bottom;width:0;animation:project-loading-dots 1.2s steps(4,end) infinite}@keyframes project-loading-dots{to{width:1.25em}}@media(prefers-reduced-motion:reduce){.project-loading-dots:after{animation:none;width:1.25em}}.project-back{display:inline-flex;align-items:center;gap:.5rem;font-size:14px;color:var(--color-text-secondary);margin-bottom:2rem;cursor:pointer;transition:color .2s ease;border:none;background:none;padding:0;font-family:inherit}.project-back:hover{color:var(--color-text-primary)}.project-header{margin-bottom:3rem}.project-title{font-family:var(--font-serif);font-size:28px;font-weight:400;color:var(--color-text-primary);margin-bottom:.5rem;letter-spacing:-.02em}@media(max-width:480px){.project-title{font-size:20px}}.project-date{font-size:14px;color:var(--color-text-secondary);opacity:.7}.project-content{display:flex;flex-direction:column;gap:2.5rem}.project-section h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:.75rem}.project-section p{font-size:15px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:.75rem}.project-section ul,.project-section ol{font-size:15px;color:var(--color-text-secondary);line-height:1.7;padding-left:1.25rem;margin-top:.5rem}.project-section li{margin-bottom:.5rem}.cms-post-body .cms-post-heading{margin-top:0;padding-top:24px;margin-bottom:12px}.cms-post-body .cms-post-heading:first-child{padding-top:0}.cms-post-body p{margin-bottom:16px}.cms-post-body .cms-post-spacer{height:16px}.cms-post-image-wrap{margin:24px 0 16px}.cms-post-image{height:auto;display:block;border-radius:12px;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='7' fill='rgba(18,18,18,0.12)' stroke='%23121212' stroke-width='1.4'/%3E%3Cline x1='10.5' y1='7.8' x2='10.5' y2='13.2' stroke='%23121212' stroke-width='1.6' stroke-linecap='round'/%3E%3Cline x1='7.8' y1='10.5' x2='13.2' y2='10.5' stroke='%23121212' stroke-width='1.6' stroke-linecap='round'/%3E%3Cline x1='15.5' y1='15.5' x2='21' y2='21' stroke='%23121212' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 10 10,zoom-in}.cms-post-image-wrap--default .cms-post-image--default{width:100%}.cms-post-image-wrap--natural,.cms-post-image-wrap--custom{display:flex;flex-direction:column;align-items:center;justify-content:center}.cms-post-image-wrap--natural .cms-post-image--natural{width:auto;max-width:100%}.cms-post-image-wrap--custom .cms-post-image--custom{max-width:100%;width:auto}.cms-post-image-caption{margin-top:10px;font-size:13px;color:var(--color-text-secondary);opacity:.8;text-align:center}.cms-lightbox{position:fixed;inset:0;z-index:1200;background:#0c0e14d6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:32px}.cms-lightbox-content{max-width:min(92vw,1200px);max-height:88vh;display:flex;align-items:center;justify-content:center}.cms-lightbox-figure{display:flex;flex-direction:column;align-items:center;gap:10px}.cms-lightbox-image{max-width:100%;max-height:88vh;width:auto;height:auto;border-radius:12px;box-shadow:0 20px 48px #00000073}.cms-lightbox-caption{color:#ffffffe0;font-size:13px;line-height:1.5;text-align:center;margin:0}.cms-lightbox-icon{position:absolute;width:32px;height:32px;border-radius:999px;border:none;background:#ffffff1f;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease}.cms-lightbox-icon:hover{background:#fff3}.cms-lightbox-close{top:20px;right:20px}.cms-lightbox-nav{top:50%;transform:translateY(-50%)}.cms-lightbox-nav-left{left:20px}.cms-lightbox-nav-right{right:20px}.cms-lightbox-counter{position:absolute;top:20px;left:20px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.01em}.project-references{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.project-references h4{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.project-references ul{list-style:none;padding:0}.project-references li{font-size:13px;color:var(--color-text-secondary);margin-bottom:.5rem}@media(max-width:768px){.project-date{font-size:13px}.project-section h3{font-size:14px}.project-section p,.project-section ul,.project-section ol,.project-references h4{font-size:13px}.project-references li{font-size:12px}.cms-lightbox{padding:12px}.cms-lightbox-content{max-width:100%;max-height:100%}.cms-lightbox-image{max-height:84vh}.cms-lightbox-caption{font-size:11px}.cms-lightbox-icon{width:24px;height:24px}.cms-lightbox-close{top:12px;right:12px}.cms-lightbox-counter{top:14px;left:12px;font-size:11px}.cms-lightbox-nav{display:none}}.project-references a{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);transition:color .2s ease,border-color .2s ease}.project-references a:hover{color:var(--color-text-primary);border-bottom-color:var(--color-text-primary)}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: "Georgia", "Times New Roman", Times, serif;--color-bg: #fcfcfc;--color-text-primary: #111111;--color-text-secondary: #555555;--color-border: #e6e6e6;--spacing-section: 6rem;--section-title-size: 18px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color .22s ease,color .22s ease;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:0;transform:translate(-110%);background:linear-gradient(90deg,#11151a00,#11151a2e 32%,#11151a94 58%,#11151a2e 82%,#11151a00)}@media(max-width:768px){body[data-theme-transition=running],body[data-theme-transition=running] *:before,body[data-theme-transition=running] *:after,body[data-theme-transition=running] *{transition:background-color .62s cubic-bezier(.22,1,.36,1),color .62s cubic-bezier(.22,1,.36,1),border-color .62s cubic-bezier(.22,1,.36,1),box-shadow .62s cubic-bezier(.22,1,.36,1),text-decoration-color .62s cubic-bezier(.22,1,.36,1)}body[data-theme-transition=running][data-theme-direction=to-dark]:before{background:linear-gradient(90deg,#11151a00,#11151a38 30%,#11151aa3,#11151a38 82%,#11151a00);animation:themeSweepIn .64s cubic-bezier(.22,1,.36,1) forwards}body[data-theme-transition=running][data-theme-direction=to-light]:before{background:linear-gradient(90deg,#fcfcfc00,#fcfcfc38 30%,#fcfcfca3,#fcfcfc38 82%,#fcfcfc00);animation:themeSweepOut .64s cubic-bezier(.22,1,.36,1) forwards}body[data-theme=dark]{--color-bg: #11151a;--color-text-primary: #bcbcbc;--color-text-secondary: #bcbcbc;--color-border: rgba(255, 255, 255, .18)}body[data-theme=dark] h1,body[data-theme=dark] h2,body[data-theme=dark] h3,body[data-theme=dark] h4,body[data-theme=dark] h5,body[data-theme=dark] h6,body[data-theme=dark] .sc-label,body[data-theme=dark] .sc-item-title,body[data-theme=dark] .resume-label,body[data-theme=dark] .company-name,body[data-theme=dark] .role-title,body[data-theme=dark] .edu-title,body[data-theme=dark] .mentor-org,body[data-theme=dark] .nav-item,body[data-theme=dark] .project-title,body[data-theme=dark] .project-section h3{color:#bcbcbc}}@keyframes themeSweepIn{0%{opacity:0;transform:translate(-110%)}20%{opacity:1}to{opacity:0;transform:translate(110%)}}@keyframes themeSweepOut{0%{opacity:0;transform:translate(110%)}20%{opacity:1}to{opacity:0;transform:translate(-110%)}}@media(prefers-reduced-motion:reduce){body[data-theme-transition=running],body[data-theme-transition=running] *:before,body[data-theme-transition=running] *:after,body[data-theme-transition=running] *{transition:none!important}body:before{animation:none!important;opacity:0!important}}#root{width:100%}a{color:inherit;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-color:#0c0a0933;text-decoration-thickness:1px;text-underline-offset:2px}.container{max-width:800px;margin:0;padding:3rem 4rem}@media(max-width:768px){.container{padding:3rem 1.5rem}:root{--section-title-size: 15px}}.app-entry .entry-block{opacity:0;transform:translateY(14px);animation:entryReveal .95s cubic-bezier(.22,1,.36,1) forwards;will-change:opacity,transform}.app-entry .entry-nav{animation-delay:80ms}.app-entry .entry-intro{animation-delay:.17s}.app-entry .entry-content{animation-delay:.32s}@keyframes entryReveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.app-entry .entry-block{animation:none;opacity:1;transform:none}}
