:root{--ink:#0b0d0c;--ink-soft:#151816;--paper:#f0eee6;--paper-muted:#d8d5cb;--cobalt:#315cff;--signal:#c7ff3f;--line-dark:#f0eee62e;--line-light:#0b0d0c2e;--font-display:"Instrument Serif", "Noto Serif SC", "Songti SC", serif;--font-body:"Hanken Grotesk Variable", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"Azeret Mono Variable", ui-monospace, monospace;font-family:var(--font-body);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}section{scroll-margin-top:4.5rem}body{background:var(--paper);min-width:320px;margin:0;overflow-x:hidden}button,a{color:inherit}a{text-decoration:none}button{font:inherit}::selection{color:var(--ink);background:var(--signal)}.skip-link{z-index:100;color:var(--ink);background:var(--signal);padding:.75rem 1rem;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.site-header{z-index:50;width:100%;min-height:72px;color:var(--paper);mix-blend-mode:normal;background:linear-gradient(#0b0d0cd1,#0000);grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2.2vw;display:grid;position:fixed;top:0;left:0}.wordmark{font-family:var(--font-display);letter-spacing:-.015em;justify-self:start;align-items:center;font-size:clamp(1.05rem,1.2vw,1.2rem);font-weight:400;line-height:1;display:inline-flex}.desktop-nav{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:clamp(1.2rem,2.4vw,2.7rem);font-size:.75rem;display:flex}.desktop-nav a{padding:.6rem 0;position:relative}.desktop-nav a:after{content:"";background:var(--signal);transform-origin:100%;width:100%;height:1px;transition:transform .24s;position:absolute;bottom:.35rem;left:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.desktop-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.locale-switch{color:var(--paper);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0d0c2e;border:1px solid #f0eee659;border-radius:999px;justify-self:end;align-items:center;gap:.42rem;padding:.55rem .7rem;display:inline-flex}.locale-switch span{font-family:var(--font-mono);opacity:.48;font-size:.75rem}.locale-switch .active{opacity:1}.locale-switch .locale-divider{opacity:.28}.hero{min-height:max(720px,88svh);color:var(--paper);isolation:isolate;background:radial-gradient(circle at 78% 35%,#315cff2b,#0000 28%),linear-gradient(112deg,#0b0d0c 0%,#101310 55%,#090b0a 100%);position:relative;overflow:hidden}.hero:before{z-index:-1;content:"";opacity:.24;mix-blend-mode:soft-light;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");position:absolute;inset:0}.hero:after{z-index:-1;content:"";pointer-events:none;background:linear-gradient(90deg,#0000 49.95%,#f0eee61a 50%,#0000 50.05%) 0 0/100% 100%,linear-gradient(#f0eee60f 1px,#0000 1px) 0 0/100% 12.5%;position:absolute;inset:0}.evidence-field{z-index:-1;opacity:.62;filter:brightness(.58)saturate(1.18);pointer-events:auto;width:100%;height:100%;position:absolute;inset:0}.evidence-field[data-fallback=true]{background:repeating-radial-gradient(at 70% 45%,#0000 0 18px,#315cff33 19px 20px)}.hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:end;gap:clamp(2rem,5vw,8rem);width:min(100%,1920px);min-height:max(720px,88svh);margin:0 auto;padding:clamp(6rem,9vh,8rem) 2.2vw 3rem;display:grid}.hero-copy{z-index:2;position:relative}.eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:clamp(.75rem,.8vw,.82rem);font-weight:490;line-height:1.5}.hero-eyebrow{color:#f0eee6b8;align-items:center;gap:.65rem;margin-bottom:2.5vh;display:flex}.signal-dot{background:var(--signal);border-radius:50%;width:.46rem;height:.46rem;animation:2.4s infinite signal-pulse;display:block;box-shadow:0 0 #c7ff3f80}@keyframes signal-pulse{50%{box-shadow:0 0 0 8px #c7ff3f00}}.hero-title{letter-spacing:-.073em;text-transform:uppercase;flex-direction:column;margin:0;font-size:clamp(4.8rem,9.8vw,10.8rem);font-weight:540;line-height:.7;display:flex}.hero-title>span{width:max-content;padding-right:.08em;display:block;overflow:hidden}.hero-title-serif{color:var(--signal);font-family:var(--font-display);letter-spacing:-.04em;text-transform:lowercase;margin-left:.62em;font-size:.72em;font-style:italic;font-weight:400;line-height:1.01}.hero-title-rd{margin-left:.12em}.hero-details{border-top:1px solid var(--line-dark);grid-template-columns:minmax(130px,.48fr) minmax(240px,1.2fr) minmax(190px,.72fr);align-items:start;gap:clamp(1.5rem,3.5vw,4.5rem);width:min(100%,900px);margin-top:clamp(2rem,4vh,3.25rem);padding-top:1.15rem;display:grid}.identity p,.hero-intro,.hero-affiliation{margin:0}.identity-name{letter-spacing:.02em;font-size:clamp(1rem,1.2vw,1.25rem);font-weight:560}.identity-alt,.hero-affiliation{color:#f0eee6ad;font-family:var(--font-mono);letter-spacing:.04em;font-size:.75rem;line-height:1.55;margin-top:.35rem!important}.hero-intro{max-width:43rem;font-size:clamp(.95rem,1.18vw,1.2rem);line-height:1.42}.portrait-stage{align-self:center;width:min(100%,380px);margin:2vh 2vw 0 auto;position:relative}.portrait-frame{aspect-ratio:.735;background:var(--cobalt);transform-origin:50%;border:1px solid #f0eee63d;margin:0;position:relative;overflow:hidden;transform:rotate(1.2deg)}.portrait-frame:before{z-index:2;content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0b0d0c85),linear-gradient(110deg,#315cff1f,#0000 50%);position:absolute;inset:0}.portrait-frame img{object-fit:cover;filter:saturate(.74)contrast(1.07);width:100%;height:100%;transition:filter .5s,transform .8s cubic-bezier(.16,1,.3,1);transform:scale(1.01)}.portrait-stage:hover img{filter:saturate()contrast(1.04);transform:scale(1.035)}.portrait-scanline{z-index:3;background:var(--signal);width:100%;height:1px;animation:5.4s ease-in-out infinite scan;position:absolute;top:-6%;left:0;box-shadow:0 0 18px #c7ff3fa6}@keyframes scan{45%,55%{top:104%}to{top:-6%}}.focus-section,.path-section{background:var(--paper);padding:clamp(4.25rem,6vw,6.5rem) 2.2vw}.section-grid{grid-template-columns:minmax(150px,.32fr) minmax(0,1.68fr);gap:clamp(2rem,5vw,6rem);width:min(100%,1780px);margin:0 auto;display:grid}.section-label{flex-direction:column;padding-top:.25rem;display:flex}.focus-title{max-width:1220px;font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3.2rem,6.3vw,7rem);font-weight:400;line-height:.94}.focus-list{border-top:1px solid var(--line-light);grid-template-columns:repeat(3,1fr);margin-top:clamp(2.25rem,4vw,4rem);display:grid}.focus-item{border-right:1px solid var(--line-light);min-height:240px;padding:1.15rem clamp(1rem,2vw,2rem) 1.25rem;transition:color .28s,background .28s}.focus-item:first-child{padding-left:0}.focus-item:last-child{border-right:0}.focus-item:hover{color:var(--paper);background:var(--cobalt)}.focus-item-top{color:#0b0d0c8c;font-family:var(--font-mono);justify-content:space-between;font-size:.75rem;transition:color .28s;display:flex}.focus-item:hover .focus-item-top{color:var(--signal)}.focus-item h3{letter-spacing:-.035em;margin:clamp(2.75rem,4vw,4.5rem) 0 .75rem;font-size:clamp(1.4rem,2.2vw,2.35rem);font-weight:550}.focus-item p{color:#0b0d0c9e;max-width:28rem;margin:0;font-size:clamp(.9rem,1.05vw,1.05rem);line-height:1.5;transition:color .28s}.focus-item:hover p{color:#f0eee6b8}.work-section{color:var(--paper);background:var(--ink);padding:clamp(4.5rem,6vw,6.5rem) 2.2vw 0}.work-heading{padding-bottom:clamp(2.75rem,4vw,4.5rem)}.work-heading h2,.path-body>h2{max-width:1200px;font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(3.5rem,7vw,8rem);font-weight:400;line-height:.88}.works-list{border-top:1px solid var(--line-dark)}.work-item{border-bottom:1px solid var(--line-dark);grid-template-columns:.18fr .62fr minmax(0,2.2fr) .55fr;align-items:start;gap:clamp(1rem,2.8vw,4rem);min-height:160px;padding:clamp(1.25rem,1.8vw,1.8rem) 0;transition:color .32s,background .32s;display:grid}.work-item:hover{color:var(--ink);background:var(--signal)}.work-number{font-family:var(--font-mono);opacity:.62;font-size:.75rem}.work-meta{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;opacity:.72;flex-direction:column;gap:.35rem;font-size:.75rem;line-height:1.45;display:flex}.work-item h3{max-width:950px;font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(1.6rem,2.6vw,3rem);font-weight:400;line-height:.98}.work-role{text-align:right;flex-direction:column;justify-content:space-between;align-items:flex-end;min-height:100%;display:flex}.work-role>span:first-child{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;opacity:.72;font-size:.75rem}.work-arrow{border:1px solid #f0eee657;border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;transition:border-color .25s,transform .3s;display:grid}.work-item:hover .work-arrow{border-color:#0b0d0c99;transform:rotate(45deg)}.path-section{padding-top:clamp(4.75rem,7vw,7rem)}.path-body>h2{color:var(--cobalt)}.timeline{border-top:1px solid var(--line-light);margin-top:clamp(2.5rem,4vw,4.5rem)}.timeline-entry{border-bottom:1px solid var(--line-light);grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:2rem;padding:clamp(1.5rem,2.5vw,2.4rem) 0;display:grid}.timeline-period{color:#0b0d0cad;font-family:var(--font-mono);letter-spacing:.04em;margin:0;font-size:.82rem}.timeline-entry h3{letter-spacing:-.04em;max-width:880px;margin:0;font-size:clamp(1.35rem,2.15vw,2.45rem);font-weight:540;line-height:1.08}.timeline-degree{color:var(--cobalt);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin:.65rem 0 0;font-size:.8rem;line-height:1.5}.timeline-detail{color:#0b0d0c9e;max-width:650px;margin:.9rem 0 0;line-height:1.45}.contact-section{min-height:580px;color:var(--paper);text-align:center;background:var(--ink);place-items:center;padding:5.5rem 4vw 4.5rem;display:grid;position:relative;overflow:hidden}.contact-content{z-index:2;width:min(100%,1240px);position:relative}.contact-content .eyebrow{color:var(--signal);margin-bottom:2rem}.contact-content h2{max-width:1100px;font-family:var(--font-display);letter-spacing:-.06em;margin:0 auto;font-size:clamp(3.5rem,7vw,8rem);font-weight:400;line-height:.86}.contact-link{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);text-align:left;grid-template-columns:1fr auto auto;align-items:center;gap:1.5rem;width:min(100%,900px);margin:2.5rem auto 0;padding:1.1rem 0;transition:color .28s,padding .28s,background .28s;display:grid}.contact-link:hover{color:var(--ink);background:var(--signal);padding-left:1.1rem;padding-right:1.1rem}.contact-link>span:first-child{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.contact-email{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,2.6rem)}.contact-location{color:#f0eee69e;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;position:absolute;bottom:2rem;right:2.2vw}.contact-orbit{aspect-ratio:1;opacity:.45;pointer-events:none;width:min(58vw,760px);position:absolute}.contact-orbit span{border:1px solid #315cff59;border-radius:47% 53% 42% 58%/55% 43% 57% 45%;animation:18s linear infinite orbit;position:absolute;inset:0}.contact-orbit span:nth-child(2){border-color:#c7ff3f33;animation-duration:24s;animation-direction:reverse;inset:12%}.contact-orbit span:nth-child(3){animation-duration:13s;inset:25%}@keyframes orbit{to{transform:rotate(360deg)}}.site-footer{color:#f0eee6ad;background:var(--ink);border-top:1px solid var(--line-dark);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.4rem 2.2vw;font-size:.75rem;display:grid}.site-footer p{margin:0}.site-footer a{justify-self:end;align-items:center;gap:.45rem;display:inline-flex}:focus-visible{outline:2px solid var(--signal);outline-offset:4px}@media (max-width:1080px){.hero-grid{grid-template-columns:1fr minmax(260px,.42fr);gap:1.5rem}.hero-title{font-size:clamp(5rem,11vw,8rem)}.hero-details{grid-template-columns:.45fr 1.25fr}.hero-affiliation{grid-column:2}.portrait-stage{margin-right:0}.work-item{grid-template-columns:.14fr .55fr 2fr}.work-role{flex-direction:row;grid-column:3;align-items:center}}@media (max-width:760px){.site-header{grid-template-columns:1fr auto;min-height:64px;padding:0 1rem}.desktop-nav{display:none}.locale-switch{grid-column:2}.hero-grid{flex-direction:column;justify-content:flex-end;gap:2.25rem;min-height:auto;padding:5.5rem 1rem 2.5rem;display:flex}.hero{min-height:auto}.hero-title{font-size:clamp(4.7rem,25vw,7.2rem);line-height:.73}.hero-title-serif{margin-left:.18em}.hero-title-rd{margin-left:0}.hero-details{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.hero-affiliation{grid-column:auto}.portrait-stage{order:-1;width:min(68vw,250px);margin:0 0 0 auto}.focus-section,.path-section,.work-section{padding:4.25rem 1rem}.work-section{padding-bottom:0}.section-grid{grid-template-columns:1fr;gap:2.25rem}.focus-title,.work-heading h2,.path-body>h2{font-size:clamp(3rem,14vw,4.8rem)}.focus-list{grid-template-columns:1fr;margin-top:2rem}.focus-item,.focus-item:first-child{border-right:0;border-bottom:1px solid var(--line-light);min-height:auto;padding:1.6rem 0 2.4rem}.focus-item h3{margin:2.5rem 0 .7rem}.work-item{grid-template-columns:44px 1fr;gap:1rem;min-height:auto;padding:1.35rem 0}.work-meta{grid-area:1/2}.work-item h3{grid-column:2;font-size:clamp(1.8rem,9vw,2.8rem)}.work-role{grid-column:2}.timeline-entry{grid-template-columns:1fr;gap:1.25rem}.contact-section{min-height:auto;padding:5rem 1rem 4rem}.contact-content h2{font-size:clamp(3.3rem,16vw,5.5rem)}.contact-link{grid-template-columns:1fr auto;gap:1rem;margin-top:2.5rem}.contact-email{grid-area:2/1/auto/-1}.contact-link>svg{grid-area:1/2}.contact-location{right:1rem}.site-footer{grid-template-columns:1fr auto;padding:1.25rem 1rem}.site-footer p:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.portrait-scanline{display:none}}
