:root{--font-display: "Sora", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-label: var(--font-body);--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-md: 1.125rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 2rem;--font-3xl: 2.5rem;--font-4xl: 3rem;--color-background: #FCFCFC;--color-text: #1A1A1A;--color-text-secondary: #595959;--color-text-tertiary: #767676;--color-text-label: #666666;--color-border: rgba(26, 26, 26, .05);--color-border-hover: rgba(26, 26, 26, .15);--color-accent: #1A1A1A;--color-link-hover: #000000;--color-object-surface: #FFFFFF;--color-object-band: #F1F1F1;--color-object-border: rgba(26, 26, 26, .1);--shadow-object: 0 4px 10px rgba(26, 26, 26, .04), 0 1px 2px rgba(26, 26, 26, .06);--shadow-object-hover: 0 1px 2px rgba(26, 26, 26, .07), 0 5px 12px rgba(26, 26, 26, .06);--shadow-stamp: 0 3px 8px rgba(26, 26, 26, .03), 0 1px 2px rgba(26, 26, 26, .045);--color-nav-bg: rgba(252, 252, 252, .7);--color-nav-bg-scrolled: rgba(252, 252, 252, .85);--color-nav-item-hover: rgba(26, 26, 26, .035);--color-nav-item-active: rgba(26, 26, 26, .07);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--content-width: 800px;--section-spacing: 5rem;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1)}[data-theme=dark]{--color-background: #1A1A1A;--color-text: #FCFCFC;--color-text-secondary: #ABABAB;--color-text-tertiary: #8A8A8A;--color-text-label: #ABABAB;--color-border: rgba(250, 249, 247, .06);--color-border-hover: rgba(250, 249, 247, .18);--color-accent: #FCFCFC;--color-link-hover: #FFFFFF;--color-object-surface: #202020;--color-object-band: #292929;--color-object-border: rgba(252, 252, 252, .12);--shadow-object: 0 1px 2px rgba(0, 0, 0, .25), 0 4px 10px rgba(0, 0, 0, .18);--shadow-object-hover: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 14px rgba(0, 0, 0, .25);--shadow-stamp: 0 1px 2px rgba(0, 0, 0, .18), 0 3px 8px rgba(0, 0, 0, .13);--color-nav-bg: rgba(26, 26, 26, .7);--color-nav-bg-scrolled: rgba(26, 26, 26, .85);--color-nav-item-hover: rgba(252, 252, 252, .06);--color-nav-item-active: rgba(252, 252, 252, .11)}@media(prefers-contrast:high){:root{--color-border: var(--color-text);--color-text-secondary: var(--color-text);--color-text-tertiary: var(--color-text);--color-text-label: var(--color-text)}}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::selection{background:var(--color-text);color:var(--color-background)}::-moz-selection{background:var(--color-text);color:var(--color-background)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-text);outline-offset:3px;border-radius:2px}body{font-family:var(--font-body);margin:0;padding:0;font-size:var(--font-md);line-height:1.7;letter-spacing:-.01em;color:var(--color-text);background-color:var(--color-background);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;right:0;height:100px;background:linear-gradient(to bottom,var(--color-background) 0%,transparent 100%);z-index:49;pointer-events:none}#work,#writing{scroll-margin-top:100px}main{display:flex;width:100%;flex-direction:column;align-items:center;padding:5rem 0}section{width:100%;max-width:calc(var(--content-width) + 4rem);margin:0 auto var(--section-spacing);padding:0 2rem;box-sizing:border-box}.section-title{font-family:var(--font-body);font-size:var(--font-lg);font-weight:500;line-height:1.25;text-transform:none;letter-spacing:-.02em;color:var(--color-text);margin-bottom:1rem}.section-label{font-family:var(--font-body);font-size:13px;font-weight:500;line-height:1.7;letter-spacing:.02em;color:var(--color-text-label);margin-bottom:1rem}[data-theme=dark] .section-title{color:var(--color-text)}.section-content{width:100%}h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0;color:var(--color-text);text-wrap:balance}p{font-size:var(--font-md);margin:0 0 1.5rem;line-height:1.7;color:var(--color-text-secondary);text-wrap:pretty}a{color:var(--color-text);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-link-hover)}.navbar{position:sticky;top:0;left:0;right:0;z-index:50;padding:1.5rem 2rem;background:transparent}.nav-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:var(--content-width);min-height:4.25rem;margin:0 auto;padding:.75rem 1.25rem;box-sizing:border-box;border-radius:100px;background:#fcfcfceb;border:1px solid rgba(26,26,26,.07);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 1px 2px #00000005;transition:background .2s var(--ease-out-expo),backdrop-filter .2s var(--ease-out-expo),box-shadow .2s var(--ease-out-expo)}[data-theme=dark] .nav-container{background:#1a1a1ae6;border-color:#fcfcfc1a;box-shadow:0 1px 2px #0000002e}.nav-inner{display:flex;width:100%;align-items:center;justify-content:space-between}.nav-links-container{display:flex;align-items:center;justify-content:space-between;width:100%}.nav-links-inner{display:flex;align-items:center;gap:2rem}.logo,.logo a{display:flex;align-items:center}.logo img{width:2rem;height:2rem;border-radius:50%;object-fit:cover;opacity:.9;transition:opacity .2s ease}.logo img:hover{opacity:1}.mobile-home{display:none}.nav-links{display:flex;align-items:center;gap:1.75rem}.nav-item{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:var(--font-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .18s ease,transform .1s ease;min-height:2.25rem;padding:0;white-space:nowrap}.nav-item:before{content:"";position:absolute;inset:.125rem -.75rem;border-radius:999px;background:transparent;transition:background-color .18s ease}.nav-item span{position:relative;z-index:1}.nav-item:hover{color:var(--color-text)}.nav-item:hover:before{background:var(--color-nav-item-hover)}.nav-item.active{color:var(--color-text)}.nav-item.active:before{background:var(--color-nav-item-active)}.nav-item:active{transform:scale(.98)}.nav-item:focus-visible{border-radius:999px}.logo a:focus-visible,.mobile-home:focus-visible{border-radius:50%}.nav-contact{min-height:auto;padding:.5rem 1rem;color:var(--color-text);background:transparent;border:1px solid var(--color-border);border-radius:2rem;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .1s ease}.nav-contact:before{display:none}.nav-contact:hover{color:var(--color-background);background:var(--color-text);border-color:var(--color-text)}.contact-label-mobile{display:none}.intro-section{margin-bottom:calc(var(--section-spacing) + 1rem);padding-top:2rem}.intro-statement{font-family:var(--font-display);font-size:var(--font-3xl);font-weight:400;line-height:1.3;letter-spacing:-.02em;color:var(--color-text);margin:0;max-width:43rem}.intro-statement a{color:var(--color-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .2s ease}.intro-statement a:hover{text-decoration-color:var(--color-text-secondary)}.intro-subtitle{font-family:var(--font-body);font-size:var(--font-md);font-weight:400;line-height:1.6;color:var(--color-text-secondary);margin:1rem 0 0}.intro-subtitle a{color:var(--color-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.intro-subtitle a:hover{text-decoration-color:var(--color-text-secondary)}.work-section{margin-bottom:var(--section-spacing)}.work-list{display:flex;flex-direction:column;gap:0}.writing-section{margin-bottom:var(--section-spacing)}.writing-list{display:flex;flex-direction:column;gap:0}.about-link-section{margin-bottom:var(--section-spacing)}.about-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-weight:500;font-size:var(--font-md);color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.about-link:hover{color:var(--color-text)}.about-link .arrow{transition:transform .2s var(--ease-out-expo)}.about-link:hover .arrow{transform:translate(4px)}.about-section{margin-bottom:var(--section-spacing);padding-top:2rem}.about-section p{font-size:var(--font-md);line-height:1.7;color:var(--color-text-secondary)}.about-section .section-content{max-width:var(--content-width)}.about-section p:first-of-type{font-size:var(--font-lg);color:var(--color-text)}.about-section a{color:var(--color-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.about-section a:hover{text-decoration-color:var(--color-text-secondary)}.history-section{margin-bottom:var(--section-spacing)}.history-list{display:grid;gap:0}.external-link-icon{display:inline-block;vertical-align:middle;width:1rem;height:1rem;opacity:.5;transition:opacity .2s ease,transform .2s ease}a:hover .external-link-icon{opacity:1;transform:translate(2px) translateY(-2px)}body{transition:opacity .2s ease}body.page-transitioning{opacity:0}.theme-toggle{display:none!important;position:fixed;bottom:1.5rem;right:1.5rem;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;background:var(--color-background);border:1px solid var(--color-border);border-radius:50%;cursor:pointer;color:var(--color-text-secondary);box-shadow:0 2px 8px #00000014;transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;z-index:40}.theme-toggle:hover{color:var(--color-text);border-color:var(--color-border-hover);box-shadow:0 4px 12px #0000001f;transform:scale(1.05)}.theme-toggle svg{width:1.25rem;height:1.25rem}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .6s var(--ease-out-expo) both}@media(prefers-reduced-motion:reduce){.animate-fade-in{animation:none;opacity:1;transform:none}}@media(max-width:768px){.mobile-home{position:absolute;top:max(1rem,env(safe-area-inset-top));left:1rem;z-index:50;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;overflow:hidden;border-radius:50%;background:#fcfcfcf0;border:1px solid rgba(26,26,26,.08);box-shadow:0 1px 2px #00000008;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}.mobile-home img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}[data-theme=dark] .mobile-home{background:#1a1a1aeb;border-color:#fcfcfc1a;box-shadow:0 1px 2px #0000002e}.navbar{position:fixed;top:auto;bottom:0;padding:0 .75rem max(1.5rem,calc(env(safe-area-inset-bottom) + .75rem));pointer-events:none}.nav-container{width:max-content;max-width:calc(100vw - 1.5rem);min-height:0;padding:.25rem .5rem;background:#fcfcfcf0;border-color:#1a1a1a14;backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25);box-shadow:0 1px 2px #00000008;pointer-events:auto}[data-theme=dark] .nav-container{background:#1a1a1aeb;border-color:#fcfcfc1a;box-shadow:0 1px 2px #0000002e}.nav-links-container{width:auto;justify-content:flex-start;gap:.25rem}.nav-links-inner{flex:none;gap:.125rem}.nav-links-inner>.logo{display:none}.nav-links{flex:none;gap:.25rem}.nav-item{font-size:.8125rem;min-height:2.75rem;padding:0 .875rem}.nav-item:before{inset:.375rem 0}.nav-contact{min-height:2.75rem;padding:0 .875rem;color:var(--color-text-secondary);background:transparent;border:0}.nav-contact:before{display:block}.nav-contact:hover{color:var(--color-text);background:transparent}.contact-label-desktop{display:none}.contact-label-mobile{display:inline}.logo a{width:2.75rem;height:2.75rem;justify-content:center}.logo img{width:1.75rem;height:1.75rem}body{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}main{padding:4rem 0}section{padding:0 1.5rem;margin-bottom:4rem}.intro-statement{font-size:var(--font-2xl)}.intro-subtitle{font-size:var(--font-base)}}@media(max-width:480px){.navbar{padding-left:.75rem;padding-right:.75rem}.nav-container{max-width:calc(100vw - 1.5rem);padding:.375rem .5rem}.nav-links-inner{gap:.125rem}.nav-links{gap:.25rem}.nav-item{padding:0 .75rem;font-size:.875rem}section{padding:0 1rem}.intro-statement{font-size:1.75rem}.work-name,.article-title{font-size:var(--font-base)}.work-role{font-size:var(--font-sm)}}@media print{body{background:#fff;color:#000}.navbar{display:none}section{page-break-inside:avoid}}
