*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #000;--fg: #f5f5f7;--muted: #a1a1a6;--dim: #6e6e73;--accent: #2997ff;--accent-soft: rgba(41, 151, 255, .35);--rule: rgba(255, 255, 255, .1);--rule-dash: rgba(255, 255, 255, .16);--content-max: 1120px;--gutter: clamp(20px, 5.5vw, 88px);--serif: "Fraunces", "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif}html,body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}main{width:100%}::selection{background:var(--accent-soft);color:#fff}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;z-index:5;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:160px 160px;animation:grain 7s steps(8) infinite}@keyframes grain{0%{transform:translateZ(0)}10%{transform:translate3d(-3%,-4%,0)}20%{transform:translate3d(-8%,2%,0)}30%{transform:translate3d(4%,-6%,0)}40%{transform:translate3d(-2%,6%,0)}50%{transform:translate3d(-9%,-2%,0)}60%{transform:translate3d(5%,4%,0)}70%{transform:translate3d(-4%,5%,0)}80%{transform:translate3d(6%,-3%,0)}90%{transform:translate3d(-3%,2%,0)}to{transform:translateZ(0)}}.frame{position:fixed;top:58px;left:14px;right:14px;bottom:14px;border:1px dashed var(--rule-dash);pointer-events:none;z-index:40}@media(max-width:640px){.frame{top:52px;left:8px;right:8px;bottom:8px}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),#b15bff);transform:scaleX(0);transform-origin:left center;z-index:100;pointer-events:none}.nav{position:fixed;top:0;left:0;right:0;height:48px;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--gutter) - 26px);background:#0000;border-bottom:1px dashed transparent;transition:background .32s ease,border-color .32s ease,backdrop-filter .32s ease;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.nav.is-scrolled{background:#0009;border-bottom-color:var(--rule-dash);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.nav-brand{font-family:var(--serif);font-size:19px;font-weight:500;font-style:italic;letter-spacing:-.01em;color:var(--fg);text-decoration:none;transition:opacity .2s ease}.nav-brand:hover{opacity:.65}.nav-links{display:flex;gap:26px;list-style:none;margin:0;padding:0}.nav-links li:before{content:none}.nav-link{font-size:10.5px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);text-decoration:none;transition:color .2s ease}.nav-link:hover{color:var(--fg)}@media(max-width:640px){.nav-links{gap:16px}.nav-link{font-size:9.5px;letter-spacing:.12em}}@media(max-width:460px){.nav-links{display:none}}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:96px var(--gutter) 120px;overflow:hidden}.hero-bg{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:0;pointer-events:none;background:radial-gradient(38% 36% at 22% 32%,rgba(41,151,255,.14),transparent 70%),radial-gradient(32% 30% at 78% 70%,rgba(177,91,255,.1),transparent 70%);filter:blur(24px);animation:bg-drift 20s ease-in-out infinite alternate}@keyframes bg-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,-1%,0) scale(1.05)}to{transform:translate3d(-1%,1%,0) scale(1.02)}}.hero-inner{position:relative;z-index:1;width:100%;will-change:transform,opacity}.hero-mask{display:block;overflow:hidden;padding:0 .04em}.hero .eyebrow{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--dim);margin-bottom:26px}.hero-title{font-family:var(--serif);font-optical-sizing:auto;font-weight:400;font-size:clamp(76px,19vw,300px);line-height:.86;letter-spacing:-.025em;display:flex;flex-direction:column}.hero-title .hero-line{display:block;background:linear-gradient(176deg,#fff,#8a8a8f);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-title .hero-line:nth-child(2){font-style:italic;margin-left:.4em}.hero-meta{align-self:flex-end;max-width:460px;margin-top:44px;text-align:right}.hero .subtitle{font-size:clamp(15px,1.5vw,19px);color:var(--fg);font-weight:400;letter-spacing:-.005em}.hero .tagline{margin-top:14px;font-size:clamp(13px,1.2vw,15px);line-height:1.5;color:var(--muted)}.hero .scroll-hint{margin-top:56px;font-size:10.5px;color:var(--dim);letter-spacing:.34em;text-transform:uppercase;animation:bob 2.4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}.hero-coords{position:absolute;bottom:30px;right:var(--gutter);z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}@media(max-width:760px){.hero-meta{align-self:flex-start;text-align:left}.hero-coords{display:none}}.pin-section{height:100vh;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}.pin-content{text-align:center;padding:0 var(--gutter);max-width:1100px}.pin-kicker{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);margin-bottom:28px}.pin-title{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(48px,9vw,150px);font-weight:400;letter-spacing:-.03em;line-height:1}.pin-sub{margin-top:30px;font-size:clamp(17px,2.2vw,26px);color:var(--muted);line-height:1.45;max-width:760px;margin-left:auto;margin-right:auto}.word{display:inline-block;overflow:hidden;padding:0 .05em;vertical-align:bottom}.word+.word{margin-left:.18em}.word-inner{display:inline-block;will-change:transform,opacity;background:linear-gradient(176deg,#fff,#8a8a8f);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pin-title .word-inner{font-style:italic}.pin-sub .word-inner{background:none;-webkit-text-fill-color:var(--muted);color:var(--muted);font-style:normal}.content{max-width:var(--content-max);margin:0 auto;padding:160px var(--gutter) 180px}.markdown{counter-reset:section}.markdown h1{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(44px,7vw,88px);font-weight:400;letter-spacing:-.03em;line-height:1.02;margin-bottom:36px;max-width:16ch;background:linear-gradient(176deg,#fff,#b0b0b6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.markdown h2{counter-increment:section;position:relative;display:flex;flex-direction:column;gap:14px;font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(30px,4.4vw,58px);font-weight:400;letter-spacing:-.02em;line-height:1.04;color:var(--fg);margin-top:104px;padding-top:40px;border-top:1px dashed var(--rule-dash)}.markdown h2:before{content:counter(section,decimal-leading-zero);font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.22em;color:var(--accent)}.markdown h2:after{content:"";position:absolute;top:36px;right:2px;width:34px;height:34px;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.8;pointer-events:none;transition:opacity .3s ease,transform .45s cubic-bezier(.16,1,.3,1)}.markdown h2:hover:after{opacity:1;transform:translateY(-3px) rotate(-3deg)}.markdown h2#research:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='18' cy='5' r='3'/><circle cx='6' cy='12' r='3'/><circle cx='18' cy='19' r='3'/><path d='M8.6 13.5l6.8 4'/><path d='M15.4 6.5l-6.8 4'/></svg>")}.markdown h2#publications:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/><path d='M14 3v5h5'/><path d='M9 13h6'/><path d='M9 17h6'/></svg>")}.markdown h2#teaching:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='12' rx='1.5'/><path d='M7 12l3-3 2.5 2 4-4.5'/><path d='M9.5 16l-2 4'/><path d='M14.5 16l2 4'/></svg>")}.markdown h2#education:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4 21 8.5 12 13 3 8.5Z'/><path d='M6.5 10.5v4.2C8 16.3 9.9 17 12 17s4-.7 5.5-2.3v-4.2'/><path d='M21 8.5v5'/><circle cx='21' cy='14.6' r='0.8'/></svg>")}.markdown h2#industry-experience:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 17h18'/><path d='M5.5 17v-3c0-3.6 2.9-6.5 6.5-6.5s6.5 2.9 6.5 6.5v3'/><path d='M9.5 8.4v8.6'/><path d='M14.5 8.4v8.6'/><path d='M10.8 7.7c0-1.6 2.4-1.6 2.4 0'/></svg>")}.markdown h2#outreach:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M22 21v-2a4 4 0 0 0-3-3.9'/><path d='M16 3.1a4 4 0 0 1 0 7.8'/></svg>")}.markdown h2#side-projects:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M9 3h6'/><path d='M10 3v6l-4.6 8.4A1.6 1.6 0 0 0 6.8 20h10.4a1.6 1.6 0 0 0 1.4-2.6L14 9V3'/><path d='M7.6 14h8.8'/></svg>")}.markdown h2#toolkit:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M14.6 6.3a1 1 0 0 0 0 1.4l1.7 1.7a1 1 0 0 0 1.4 0l3.7-3.7a6 6 0 0 1-7.9 7.9l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 7.9-7.9l-3.7 3.7z'/></svg>")}.markdown h2#outside-work:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.5L9 3h6l2.5 3H21a2 2 0 0 1 2 2z'/><circle cx='12' cy='13' r='3.5'/></svg>")}.markdown h2#get-in-touch:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2.5' y='5' width='19' height='14' rx='2'/><path d='M3 7l9 6 9-6'/></svg>")}@media(max-width:640px){.markdown h2:after{top:28px;right:0;width:26px;height:26px}}.markdown h3{font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);font-weight:500;letter-spacing:-.01em;margin-top:36px;margin-bottom:12px;color:var(--fg)}.markdown p{font-size:clamp(16px,1.35vw,18px);line-height:1.72;color:#d2d2d7;margin-bottom:18px;max-width:68ch}.markdown ul{margin:14px 0 22px;padding-left:0;list-style:none;max-width:70ch}.markdown li{position:relative;font-size:clamp(15px,1.25vw,17px);line-height:1.72;color:#d2d2d7;margin-bottom:11px;padding-left:22px}.markdown li:before{content:"";position:absolute;left:0;top:.82em;width:9px;height:1px;background:var(--accent);opacity:.75}.markdown strong{color:#fff;font-weight:600}.markdown em{font-family:var(--serif);font-style:italic;font-size:1.04em;color:#e5e5ea}.markdown a{color:var(--fg);text-decoration:none;position:relative;background-image:linear-gradient(var(--accent),var(--accent));background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;padding-bottom:2px;transition:background-size .45s cubic-bezier(.65,0,.35,1),color .2s}.markdown a:hover{color:var(--accent);background-size:100% 1px}.markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;padding:2px 6px;background:#ffffff0f;border-radius:4px}.markdown>ul:last-of-type{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin-top:28px;max-width:none;border-top:1px dashed var(--rule-dash);border-left:1px dashed var(--rule-dash)}.markdown>ul:last-of-type li{border-right:1px dashed var(--rule-dash);border-bottom:1px dashed var(--rule-dash);margin-bottom:0;padding:22px 24px;transition:background .3s ease}.markdown>ul:last-of-type li:hover{background:#2997ff0f}.markdown>ul:last-of-type li:before{display:none}.markdown>ul:last-of-type strong{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-weight:500;margin-bottom:8px}.markdown>ul:last-of-type a{color:var(--fg);font-size:15px;background:none;padding:0}.markdown>ul:last-of-type a:hover{color:var(--accent)}.footer{display:flex;align-items:baseline;justify-content:space-between;gap:24px;max-width:var(--content-max);margin:0 auto;padding:40px var(--gutter) 56px;color:var(--dim);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-top:1px dashed var(--rule-dash)}.footer:before{content:"SZ";font-family:var(--serif);font-style:italic;font-size:28px;letter-spacing:-.02em;text-transform:none;color:var(--muted)}@media(max-width:640px){.content{padding:120px var(--gutter) 140px}.markdown h2{margin-top:76px;padding-top:32px}.hero{padding:88px var(--gutter) 100px}.footer{flex-direction:column;align-items:flex-start;gap:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-bg,.grain{animation:none}}
