@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2")}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@layer theme{:root,:host{--font-sans:"Inter Variable", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-heading:"Space Grotesk Variable", system-ui, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.contents{display:contents}.hidden{display:none}.resize{resize:both}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root,:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#0c1424;--surface:#111d31;--surface-raised:#17263d;--surface-gradient-start:#1a2b45;--surface-gradient-end:#142137;--card-gradient-start:#16243a;--diagram-surface:#142137;--text:#edf3fd;--muted:#a2b0c6;--quiet:#97abc7;--soft-text:#bdcfe8;--accent:#a8d0ff;--blue:#78aef8;--cyan:#91d3df;--hero-name:#bfdcff;--border:#2c3f5a;--border-strong:#3a5274;--interactive-border:#5b80b5;--focus:#9ecaff;--header-background:#0c1424f2;--control-background:#12223b;--tag-background:#6b91c10a;--research-footer:#080f1d66;--contact-surface:#111f34;--page-light:#142b4a40;--contact-light:#20487730;--figure-light:#1a36572e;--primary:#245bab;--primary-hover:#2b67bd;--primary-border:#437cca;--primary-border-hover:#80b4fc;--on-primary:#fff;--selection:#24538c;--card-shadow:0 16px 55px #02081322;--hover-shadow:0 5px 25px #08234c22;--button-shadow:inset 0 1px 0 #a5ccff22, 0 3px 16px #102e591c;--timeline-ring:#32548728;--diagram-box:#0e1d34;--diagram-highlight:#183353;--diagram-signals-highlight:#163044;--diagram-embedded-highlight:#1a2d45;--diagram-stroke:#6999d1;--diagram-line:#5e9ad8;--diagram-dots:#668fc6;--diagram-text:#bed9ff;--decoration:#29476c}:root[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#edf4fb;--surface:#fff;--surface-raised:#e2edf8;--surface-gradient-start:#fff;--surface-gradient-end:#f8fbff;--card-gradient-start:#fff;--diagram-surface:#e8f1fb;--text:#152842;--muted:#445a74;--quiet:#526b87;--soft-text:#314c6b;--accent:#235c9f;--blue:#285f9e;--cyan:#236c85;--hero-name:#285f9e;--border:#c8d8e9;--border-strong:#aabfd7;--interactive-border:#4777ad;--focus:#1c5fa8;--header-background:#edf4fbf2;--control-background:#e0ecf9;--tag-background:#e9f1fa;--research-footer:#e5eef8;--contact-surface:#e2edf8;--page-light:#b4d7f43d;--contact-light:#9ac9eb26;--figure-light:#b1d8f433;--primary:#245bab;--primary-hover:#1d4c92;--primary-border:#245bab;--primary-border-hover:#174783;--on-primary:#fff;--selection:#24538c;--card-shadow:0 12px 36px #244a7510;--hover-shadow:0 7px 22px #244a7518;--button-shadow:0 4px 12px #244a751a;--timeline-ring:#387db519;--diagram-box:#f7fbff;--diagram-highlight:#d7e8fb;--diagram-signals-highlight:#deeff4;--diagram-embedded-highlight:#e0ebf7;--diagram-stroke:#577da8;--diagram-line:#396b9f;--diagram-dots:#567aa1;--diagram-text:#244b79;--decoration:#bacfe7}:root{--text-body:1rem;--text-lead:1.0625rem;--text-secondary:.875rem;--text-caption:.8125rem;--text-meta:.75rem;--text-label:.6875rem;--leading-body:1.8}@media (width<=599px){:root{--text-body:.9375rem;--text-lead:1rem;--text-secondary:.8125rem;--text-caption:.75rem;--text-meta:.6875rem;--text-label:.625rem}}:root{font-family:var(--font-sans);color:var(--text);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth;scroll-padding-top:105px}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}button,a,summary{touch-action:manipulation}a,button,summary{transition:color .18s,background-color .18s,border-color .18s}:focus-visible{outline:2px solid var(--focus);outline-offset:5px;border-radius:3px}::selection{color:var(--on-primary);background:var(--selection)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500}p{color:var(--muted);font-size:var(--text-body);line-height:var(--leading-body)}ul{margin:0;padding:0;list-style:none}svg{flex-shrink:0}section[id],article[id],div[id$=-thesis]{scroll-margin-top:105px}.container{width:min(1200px,100% - 96px);margin-inline:auto}.mono,.eyebrow,.tags,.diagram-label,.diagram-footer,.project-index,.project-category{font-family:var(--font-mono)}.mono{font-size:var(--text-caption);letter-spacing:.04em;color:var(--quiet);line-height:1.6}.site-shell{background:radial-gradient(ellipse 800px 610px at 85% 6%, var(--page-light), transparent 75%);overflow:clip}.skip-link{z-index:100;background:var(--text);color:var(--canvas);padding:12px 18px;position:fixed;top:10px;left:16px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}#main:focus{outline:none}.eyebrow{color:var(--blue);font-size:var(--text-meta);letter-spacing:.13em;align-items:center;gap:14px;line-height:1.6;display:flex}.section-number{color:var(--soft-text);border:1px solid var(--border);width:27px;height:24px;font-size:var(--text-meta);letter-spacing:0;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.section{border-top:1px solid var(--border);padding-block:92px}.section-heading h2{white-space:pre-line;letter-spacing:-.045em;margin-top:22px;font-size:clamp(30px,3.7vw,46px);line-height:1.16}.section-heading>p{max-width:540px;font-size:var(--text-body);margin-top:20px}.section-top-row{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:38px;display:flex}.section-top-row>.text-link{margin-bottom:5px}.text-link{font-size:var(--text-secondary);color:var(--accent);align-items:center;gap:10px;font-weight:500;line-height:1.6;display:inline-flex}.text-link:hover{color:var(--text)}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translate(3px)}.button{min-height:50px;font-size:var(--text-secondary);border:1px solid var(--primary-border);border-radius:5px;justify-content:center;align-items:center;gap:24px;padding:12px 20px;font-weight:600;display:inline-flex}.button.primary{color:var(--on-primary);background:var(--primary);box-shadow:var(--button-shadow)}.button.primary:hover{background:var(--primary-hover);border-color:var(--primary-border-hover)}.tags{font-size:var(--text-meta);flex-wrap:wrap;gap:7px;display:flex}.tags li{color:var(--soft-text);background:var(--tag-background);border:1px solid var(--border);border-radius:3px;padding:5px 9px}.site-header{z-index:50;border-bottom:1px solid var(--border);background:var(--header-background);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:80px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:22px;height:100%;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-artwork{flex-shrink:0;width:38px;height:38px}.brand-image{object-fit:contain;width:100%;height:100%;display:block}.brand-image-day,:root[data-theme=day] .brand-image-night{display:none}:root[data-theme=day] .brand-image-day{display:block}.brand-name{font-family:var(--font-heading);font-size:var(--text-body);letter-spacing:-.04em}.brand-period{color:var(--blue)}.desktop-nav{gap:24px;margin-left:auto;display:flex}.desktop-nav a{color:var(--quiet);font-size:var(--text-caption);padding-block:14px;position:relative}.desktop-nav a:hover,.desktop-nav a.active{color:var(--accent)}.desktop-nav a.active:after{content:"";background:var(--blue);width:16px;height:2px;position:absolute;bottom:3px;left:0}.header-github{color:var(--soft-text);border:1px solid var(--border);font-size:var(--text-caption);border-radius:4px;align-items:center;gap:8px;padding:8px 13px;display:flex}.header-github:hover{background:var(--control-background);border-color:var(--interactive-border)}.menu-toggle{border:1px solid var(--border);color:var(--soft-text);background:var(--control-background);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:none}.mobile-navigation{display:none}.theme-toggle{border:1px solid var(--border);background:var(--control-background);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.theme-icon{display:block}.theme-icon-day,:root[data-theme=day] .theme-icon-night{display:none}:root[data-theme=day] .theme-icon-day{display:block}.theme-toggle:hover{background:var(--surface-raised);border-color:var(--interactive-border)}.theme-toggle:focus-visible{outline-color:var(--focus);border-radius:50%}.hero{padding-top:76px;position:relative}.hero:before{content:"";background:linear-gradient(90deg, transparent, var(--border-strong));width:110px;height:1px;position:absolute;top:105px;right:0}.hero-layout{grid-template-columns:1.05fr 1fr;align-items:center;gap:38px 64px;display:grid}.hero-identity{min-width:0}.hero-details{border-left:1px solid var(--border);padding:12px 0 12px 40px}.hero-portrait{width:min(100%,210px);margin:0 0 28px}.hero-portrait img{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border);border-radius:6px;width:100%;height:auto;display:block}.hero-eyebrow{font-size:var(--text-meta);letter-spacing:.115em;grid-column:1/-1;margin-bottom:0}.small-line{background:var(--blue);width:28px;height:1px;display:inline-block}.hero h1{letter-spacing:-.065em;font-size:clamp(62px,7.6vw,100px);font-weight:500;line-height:1.04}.hero h1>span{color:var(--hero-name)}.name-dot{color:var(--blue)}.hero-positioning{font-family:var(--font-heading);color:var(--soft-text);letter-spacing:-.03em;max-width:550px;margin-top:25px;font-size:clamp(18px,1.8vw,23px);line-height:1.5}.hero-intro{font-size:var(--text-body);max-width:470px;color:var(--muted);margin-top:0;line-height:1.8}.hero-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:28px;display:flex}.hero-actions .button{gap:26px;min-height:52px}.hero-research-link{color:var(--soft-text);font-size:var(--text-caption);align-items:center;gap:7px;min-height:44px;display:inline-flex}.hero-research-link:hover{color:var(--text)}.hero-socials{gap:24px;margin-top:22px;display:flex}.hero-socials a{min-height:32px;font-size:var(--text-caption);color:var(--quiet);align-items:center;gap:8px;display:flex}.hero-socials a:hover{color:var(--accent)}.hero-baseline{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--quiet);letter-spacing:.04em;justify-content:space-between;gap:24px;margin-top:52px;padding-block:23px;display:flex}.hero-baseline>span,.hero-baseline a{align-items:center;gap:12px;display:flex}.baseline-dot{background:var(--blue);border-radius:50%;width:5px;height:5px}.hero-baseline a:hover{color:var(--accent)}.research-layout{grid-template-columns:.8fr 1.3fr;gap:90px;display:grid}.research-margin-note{gap:18px;margin-top:48px;display:flex}.note-rule{background:var(--border-strong);width:1px}.research-margin-note p{font-size:var(--text-secondary);color:var(--quiet);line-height:2.1}.research-card{background:linear-gradient(135deg, var(--surface-gradient-start), var(--surface-gradient-end) 75%);border:1px solid var(--border-strong);box-shadow:var(--card-shadow);border-radius:8px;overflow:hidden}.research-card-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:22px 30px;display:flex}.research-org{font-family:var(--font-heading);letter-spacing:-.04em;font-size:22px}.research-card-top>.mono{color:var(--soft-text);font-size:var(--text-meta);align-items:center;gap:12px;display:inline-flex}.research-role{padding:28px 30px 0}.research-role h3{letter-spacing:-.03em;font-size:23px}.research-role>p{font-size:var(--text-caption);margin-top:4px}.research-period{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--blue);margin-top:12px;display:inline-block}.research-body{padding:25px 30px}.research-body p{font-size:var(--text-body);line-height:var(--leading-body);margin-bottom:11px}.research-body .tags{margin-top:20px}.research-card-bottom{background:var(--research-footer);color:var(--quiet);font-size:var(--text-meta);justify-content:space-between;align-items:center;padding:10px 22px 10px 30px;display:flex}.research-card-bottom a{min-height:36px;color:var(--accent);align-items:center;gap:9px;display:inline-flex}.research-card-bottom a:hover{color:var(--text)}.featured-projects{grid-template-columns:1.1fr 1fr;gap:22px;display:grid}.project-card{border:1px solid var(--border);background:linear-gradient(145deg, var(--card-gradient-start), var(--surface));border-radius:7px;flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.project-card:hover,.project-card:focus-within{border-color:var(--interactive-border);box-shadow:var(--hover-shadow)}.project-card.featured{grid-row:span 2}.project-card-visual{background:linear-gradient(140deg, var(--diagram-surface), var(--surface));border-bottom:1px solid var(--border);position:relative;overflow:hidden}.project-index{color:var(--quiet);font-size:var(--text-meta);position:absolute;top:18px;right:19px}.project-diagram{padding:36px 24px 22px;position:relative}.project-diagram>svg{width:100%}.diagram-label{color:var(--quiet);font-size:var(--text-label);letter-spacing:.1em;display:block}.diagram-footer{color:var(--quiet);font-size:var(--text-label);letter-spacing:.06em;display:block}.diagram-box rect{fill:var(--diagram-box);stroke:var(--interactive-border)}.diagram-box rect.highlight{fill:var(--diagram-highlight);stroke:var(--diagram-stroke)}.diagram-box text{font:12px var(--font-mono);letter-spacing:.04em;fill:var(--diagram-text)}.project-diagram.signals .diagram-box rect.highlight{stroke:var(--diagram-stroke);fill:var(--diagram-signals-highlight)}.project-diagram.embedded .diagram-box rect.highlight{fill:var(--diagram-embedded-highlight)}.project-diagram.compact{padding:27px 23px 17px}.project-diagram.compact>svg{max-height:104px}.project-diagram.compact .diagram-label{padding-right:60px}.project-diagram.compact .diagram-footer{font-size:var(--text-label)}.featured .project-diagram.compact{padding:33px 27px 23px}.featured .project-diagram.compact>svg{max-height:none;margin-block:45px}.project-card-content{flex-direction:column;flex:1;padding:22px 25px;display:flex}.project-category{color:var(--blue);font-size:var(--text-meta);flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.project-category>span{color:var(--quiet)}.project-card h3{letter-spacing:-.04em;margin-top:13px;font-size:24px;line-height:1.2}.project-title-link{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.project-title-link:after{content:"";z-index:1;position:absolute;inset:0}.project-title-link:focus-visible{outline:none}.project-card:has(.project-title-link:focus-visible){outline:2px solid var(--accent);outline-offset:5px}.project-title-link svg{color:var(--blue);transition:transform .2s}.project-card:hover .project-title-link svg{transform:translate(2px,-2px)}.project-card-content>p{font-size:var(--text-body);line-height:var(--leading-body);margin-top:15px}.project-card .tags{margin-top:19px;margin-bottom:24px}.project-card-bottom{font-size:var(--text-meta);color:var(--quiet);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:auto;padding-top:16px;display:flex}.read-case{color:var(--accent);align-items:center;gap:5px;display:inline-flex}.featured .project-card-content{padding:29px}.featured h3{max-width:420px;font-size:33px}.featured .project-card-content>p{font-size:var(--text-body);max-width:440px}.featured .project-card-bottom{margin-top:auto;padding-top:20px}.featured .tags{margin-bottom:34px}.about-layout{grid-template-columns:1fr 1.1fr;gap:95px;display:grid}.about-portrait{width:min(100%,260px);margin:30px 0 0}.about-portrait img{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border);border-radius:6px;width:100%;height:auto;display:block}.about-copy{padding-top:43px}.about-copy>p{font-size:var(--text-body);line-height:var(--leading-body);margin-bottom:20px}.about-signature{font-family:var(--font-heading);color:var(--soft-text);letter-spacing:-.025em;margin-top:43px;font-size:17px}.about-signature>span{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--quiet);margin-left:20px}.area-list{border-top:1px solid var(--border);flex-direction:column;margin-top:30px;display:flex}.area-list li{border-bottom:1px solid var(--border);font-size:var(--text-secondary);color:var(--soft-text);align-items:center;gap:16px;padding-block:12px;display:flex}.area-list .mono{color:var(--blue)}.education-timeline{position:relative}.education-timeline:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:25px;bottom:30px;left:4px}.education-entry{grid-template-columns:.7fr 1.6fr;gap:32px;padding:22px 0 22px 32px;display:grid;position:relative}.timeline-node{background:var(--surface-raised);border:1px solid var(--interactive-border);border-radius:50%;width:9px;height:9px;position:absolute;top:31px;left:0}.timeline-node.current{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 5px var(--timeline-ring)}.education-date{padding-top:6px}.education-entry-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.education-entry h3{letter-spacing:-.03em;font-size:24px}.education-entry p{font-size:var(--text-secondary);margin-top:7px}.status-label{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--accent);border:1px solid var(--border-strong);white-space:nowrap;border-radius:3px;padding:5px 9px;display:inline-block}.achievement-list{margin-top:38px}.achievement-row{border-top:1px solid var(--border);grid-template-columns:24px 1fr 165px 135px;align-items:start;gap:22px;padding-block:23px;display:grid}.achievement-row:last-child{border-bottom:1px solid var(--border)}.achievement-row>svg{color:var(--blue);margin-top:3px}.achievement-title h3{letter-spacing:-.025em;font-size:17px;line-height:1.5}.achievement-title p{font-size:var(--text-body);max-width:64ch;margin-top:9px;line-height:1.85}.achievement-result{line-height:1.4;font-family:var(--font-heading);color:var(--accent);letter-spacing:-.035em;padding-top:2px;font-size:20px}.achievement-date{text-align:right;font-size:var(--text-meta);padding-top:4px}.community-note{border:1px solid var(--border);background:var(--surface);border-radius:5px;align-items:flex-start;gap:17px;margin-top:28px;padding:24px 27px;display:flex}.community-note>svg{color:var(--blue);margin-top:3px}.community-note h3{font-size:var(--text-body)}.community-note p{font-size:var(--text-body);max-width:78ch;margin-top:10px;line-height:1.85}.credentials-section .section-heading h2{font-size:32px}.credential-list{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;display:grid}.credential-list article{border:1px solid var(--border);background:linear-gradient(140deg, var(--card-gradient-start), var(--surface));border-radius:6px;align-items:flex-start;gap:15px;padding:24px 20px;display:flex}.credential-icon{border:1px solid var(--border-strong);background:var(--control-background);width:34px;height:34px;color:var(--blue);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.credential-list h3{letter-spacing:-.02em;font-size:17px;line-height:1.45}.credential-list p{font-size:var(--text-caption);margin-top:8px}.credential-list .mono{font-size:var(--text-meta);margin-top:13px;display:block}.contact-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:radial-gradient(ellipse 900px 450px at 80% 100%, var(--contact-light), transparent 80%), var(--contact-surface);margin-top:12px;padding-block:80px}.contact-layout{grid-template-columns:1.1fr 1fr;align-items:center;gap:75px;margin-top:24px;display:grid}.contact-layout h2{letter-spacing:-.045em;font-size:44px;line-height:1.2}.contact-layout p{font-size:var(--text-body);max-width:430px;margin-top:19px}.contact-email{border-bottom:1px solid var(--border-strong);font-family:var(--font-heading);letter-spacing:-.03em;color:var(--accent);align-items:center;gap:13px;padding-block:20px;font-size:clamp(17px,1.7vw,23px);display:flex}.contact-email>svg:last-child{margin-left:auto}.contact-email:hover{color:var(--text);border-color:var(--interactive-border)}.contact-links>div{gap:27px;margin-top:19px;display:flex}.contact-links>div a{min-height:32px;font-size:var(--text-caption);color:var(--soft-text);align-items:center;gap:9px;display:flex}.contact-links>div a:hover{color:var(--text)}.site-footer{justify-content:space-between;align-items:center;gap:24px;min-height:95px;display:flex}.footer-name{font-family:var(--font-heading);font-size:var(--text-secondary);color:var(--soft-text);letter-spacing:-.025em}.footer-name>span{color:var(--blue)}.site-footer>.mono{font-size:var(--text-label);letter-spacing:.07em}.back-top{font-size:var(--text-meta);color:var(--quiet);align-items:center;gap:10px;min-height:44px;display:inline-flex}.inner-page{padding-top:55px;padding-bottom:95px}.page-intro{max-width:800px;margin-bottom:62px}.page-intro>.text-link{font-size:var(--text-caption);margin-bottom:45px}.page-intro h1{letter-spacing:-.055em;margin-top:23px;font-size:clamp(44px,6vw,74px);line-height:1.08}.page-intro h1>span,.case-header h1>span,.not-found h1>span{color:var(--blue)}.page-intro>p{max-width:630px;font-size:var(--text-body);margin-top:25px}.project-overview-list{flex-direction:column;gap:26px;display:flex}.project-overview-list .project-card{grid-template-columns:1fr 1.15fr;min-height:320px;display:grid}.project-overview-list .project-card-visual{border-bottom:0;border-right:1px solid var(--border);align-items:center;display:grid}.project-overview-list .project-diagram.compact{padding:38px 30px}.project-overview-list .project-diagram.compact>svg{max-height:none;margin-block:12px}.project-overview-list .project-card-content{padding:32px}.project-overview-list h3{font-size:32px}.project-overview-list .project-card-content>p{font-size:var(--text-body)}.project-overview-list .project-card-bottom{margin-top:auto;padding-top:18px}.project-overview-list .tags{margin-bottom:26px}.supporting-project{border-top:1px solid var(--border);margin-top:65px;padding-top:60px}.supporting-project-layout{grid-template-columns:1fr 1.3fr;gap:60px;margin-top:25px;display:grid}.supporting-project h2{letter-spacing:-.035em;margin-top:13px;font-size:30px}.supporting-project p{font-size:var(--text-body);margin-bottom:15px}.supporting-project .tags{margin-top:20px}.supporting-project .text-link{margin-top:26px}.breadcrumbs{color:var(--quiet);font-size:var(--text-meta);flex-wrap:wrap;gap:13px;margin-bottom:45px;display:flex}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs>span[aria-hidden]{color:var(--quiet)}.case-header{max-width:1000px}.case-header h1{letter-spacing:-.05em;max-width:950px;margin-top:23px;font-size:clamp(38px,5.4vw,66px);line-height:1.1}.case-lead{max-width:820px;margin-top:26px;font-size:17px}.case-header-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;margin-top:27px;display:flex}.case-figure{margin:48px 0 0}.case-figure .project-diagram{border:1px solid var(--border);background:radial-gradient(ellipse 500px 200px at 50% 50%, var(--figure-light), transparent), var(--diagram-surface);border-radius:7px;padding:28px 40px}.case-figure .project-diagram>svg{height:255px}.case-figure .diagram-label,.case-figure .diagram-footer{font-size:var(--text-meta)}.case-figure figcaption{color:var(--quiet);font-size:var(--text-meta);max-width:820px;margin-top:13px;line-height:1.8}.case-layout{grid-template-columns:245px 1fr;gap:100px;margin-top:75px;display:grid}.case-sidebar{align-self:start;position:sticky;top:115px}.case-sidebar>.mono{color:var(--quiet);font-size:var(--text-meta)}.case-sidebar dl{margin-block:22px 35px}.case-sidebar dl>div{margin-bottom:22px}.case-sidebar dt{font-size:var(--text-meta);color:var(--quiet);margin-bottom:5px}.case-sidebar dd{font-size:var(--text-secondary);color:var(--soft-text);margin:0;line-height:1.7}.case-sidebar dd a{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.case-sidebar dd a svg{margin-left:5px;display:inline}.case-sidebar nav{border-top:1px solid var(--border);flex-direction:column;padding-top:21px;display:flex}.case-sidebar nav a{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--quiet);padding-block:9px}.case-sidebar nav a:hover{color:var(--accent)}.case-body{max-width:760px}.case-body section{margin-bottom:62px}.case-body h2{letter-spacing:-.04em;margin:17px 0 22px;font-size:32px}.case-body p,.outcome-list{font-size:var(--text-body);line-height:var(--leading-body)}.approach-list>div{gap:22px;margin-bottom:24px;display:flex}.approach-list>div>.mono{color:var(--blue);font-size:var(--text-caption);margin-top:4px}.approach-list h3{letter-spacing:-.025em;margin-bottom:9px;font-size:19px}.outcome-list li{color:var(--soft-text);margin-bottom:18px;padding-left:22px;position:relative}.outcome-list li:before{content:"";border:1px solid var(--blue);width:5px;height:5px;position:absolute;top:11px;left:0}.artifact-list{margin-bottom:26px}.artifact-list li{font-size:var(--text-secondary);color:var(--soft-text);border-bottom:1px solid var(--border);align-items:center;gap:15px;padding-block:12px;display:flex}.artifact-list li>span{color:var(--blue)}.scope-note{background:var(--surface);border-left:2px solid var(--interactive-border);margin-top:34px;padding:24px 26px}.scope-note>.mono{color:var(--accent);font-size:var(--text-meta)}.scope-note p{font-size:var(--text-secondary);line-height:var(--leading-body);margin-top:12px}.case-next{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:30px;padding-top:30px;display:flex}.case-next>a{color:var(--soft-text);font-size:var(--text-secondary);align-items:center;gap:14px;display:flex}.case-next>a:last-child{font-family:var(--font-heading);letter-spacing:-.035em;gap:32px;font-size:24px}.case-next .mono{font-size:var(--text-label);margin-bottom:8px;display:block}.case-next>a:hover{color:var(--text)}.degree-list{grid-template-columns:1fr 1fr;gap:25px;display:grid}.degree-card{border:1px solid var(--border);background:linear-gradient(140deg, var(--surface-gradient-start), var(--surface-gradient-end));border-radius:6px;padding:32px}.degree-top{justify-content:space-between;align-items:center;gap:15px;margin-bottom:35px;display:flex}.degree-top>svg{color:var(--accent)}.degree-period{font-size:var(--text-meta)}.degree-card h2{letter-spacing:-.04em;margin-top:14px;font-size:29px;line-height:1.25}.degree-institution{color:var(--soft-text);font-size:var(--text-secondary);margin-top:8px}.degree-card>p:not(.degree-institution){font-size:var(--text-secondary);margin-top:20px}.thesis-note{border-top:1px solid var(--border);margin-top:30px;padding-top:24px}.thesis-note>.mono{color:var(--blue);font-size:var(--text-meta)}.thesis-note h3{letter-spacing:-.025em;margin-top:12px;font-size:17px;line-height:1.5}.thesis-note p{font-size:var(--text-body);margin-top:12px}.thesis-note .text-link{font-size:var(--text-caption);margin-top:20px}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 175px);padding-block:65px;display:flex}.not-found-graphic{color:var(--blue);align-items:center;gap:22px;margin-bottom:40px;display:flex}.not-found-graphic>span{font-family:var(--font-heading);color:var(--decoration);font-size:108px;line-height:1}.not-found h1{letter-spacing:-.05em;margin-top:25px;font-size:clamp(35px,5vw,60px)}.not-found p{max-width:500px;font-size:var(--text-body);margin-top:20px}.not-found>div:last-child{align-items:center;gap:25px;margin-top:32px;display:flex}@media (width>=1600px){.container{width:min(1320px,100% - 160px)}.hero{padding-top:88px}.hero h1{font-size:112px}.hero-positioning{font-size:25px}.hero-baseline{margin-top:72px}.section{padding-block:104px}}@media (width<=1100px){.container{width:calc(100% - 64px)}.header-inner{gap:16px}.hero-layout{gap:36px 40px}.desktop-nav{gap:20px}.hero{padding-top:60px}.hero h1{font-size:80px}.hero-positioning{font-size:19px}.hero-actions{gap:8px}.hero-baseline{margin-top:48px}.research-layout{gap:40px}.about-layout{gap:50px}.achievement-row{grid-template-columns:22px 1fr 145px 105px;gap:15px}.contact-layout{gap:45px}.case-layout{grid-template-columns:215px 1fr;gap:55px}}@media (width<=899px){.site-header{height:72px}.desktop-nav,.header-github{display:none}.menu-toggle{display:inline-flex}.mobile-navigation{background:var(--control-background);border-top:1px solid var(--border);width:100%;min-height:calc(100dvh - 71px);max-height:calc(100dvh - 71px);padding:32px;display:block;position:absolute;top:71px;left:0;overflow-y:auto}.mobile-navigation nav{max-width:580px;margin-inline:auto}.mobile-navigation nav a{border-bottom:1px solid var(--border);font-family:var(--font-heading);letter-spacing:-.03em;align-items:center;gap:20px;padding-block:20px;font-size:28px;display:flex}.mobile-navigation nav a>svg:last-child{margin-left:auto}.hero{padding-top:58px}.hero-layout{grid-template-columns:1fr;gap:30px}.hero-details{border-left:0;max-width:620px;padding:0}.hero h1{font-size:68px}.hero-eyebrow{font-size:var(--text-label);gap:10px}.hero-positioning{font-size:18px}.hero-intro{font-size:var(--text-body)}.hero-actions{margin-top:22px}.hero-socials{margin-top:20px}.hero-baseline{font-size:var(--text-label);margin-top:40px}.section{padding-block:65px}.research-layout{grid-template-columns:1fr;gap:30px}.research-margin-note{display:none}.research-layout .section-heading h2{white-space:normal;max-width:480px}.research-card{max-width:none}.featured-projects{grid-template-columns:1fr 1fr}.project-card.featured{grid-area:auto/1/auto/-1;grid-template-columns:1fr 1.1fr;display:grid}.featured .project-card-visual{border-right:1px solid var(--border);border-bottom:0;align-items:center;display:grid}.featured .project-diagram.compact>svg{margin-block:16px}.featured h3{font-size:27px}.featured .project-card-content>p{font-size:var(--text-body)}.featured .project-card-content{padding:25px}.featured .project-card-bottom{margin-top:auto}.featured .tags{margin-bottom:24px}.project-card h3{font-size:23px}.project-card-content{padding:22px}.project-card-bottom{flex-wrap:wrap;gap:9px}.about-layout{grid-template-columns:1fr;gap:28px}.about-copy{padding-top:0}.about-signature{display:none}.education-entry{grid-template-columns:1fr;gap:7px}.education-entry-heading{justify-content:flex-start}.achievement-row{grid-template-columns:22px 1fr 140px}.achievement-date{display:none}.credential-list{gap:14px}.credential-list article{flex-direction:column;gap:14px;padding:22px 18px}.credential-list h3{font-size:var(--text-body)}.contact-layout{grid-template-columns:1fr;gap:20px}.contact-links{max-width:540px}.contact-layout h2{font-size:38px}.contact-email{font-size:22px}.site-footer>.mono{display:none}.project-overview-list .project-card{grid-template-columns:1fr 1.2fr}.project-overview-list .project-card-content{padding:25px}.project-overview-list h3{font-size:27px}.supporting-project-layout{grid-template-columns:1fr;gap:22px}.case-layout{grid-template-columns:1fr;gap:45px}.case-sidebar{position:static}.case-sidebar dl{grid-template-columns:repeat(2,1fr);gap:15px 30px;display:grid}.case-sidebar dl>div{margin-bottom:0}.case-sidebar nav{display:none}.case-body{max-width:none}.degree-list{grid-template-columns:1fr}}@media (width<=599px){.container{width:calc(100% - 40px)}.header-inner{gap:10px}.brand-name{font-size:14px}.brand{gap:10px;margin-right:auto}.brand-artwork{width:34px;height:34px}.mobile-navigation{padding:20px}.mobile-navigation nav a{padding-block:17px;font-size:26px}.hero{padding-top:44px}.hero:before{display:none}.hero-layout{gap:26px}.hero-eyebrow{font-size:var(--text-label);gap:10px;margin-bottom:0}.small-line{width:20px}.hero h1{font-size:clamp(57px,15.4vw,87px)}.hero-positioning{max-width:330px;margin-top:23px;font-size:21px;line-height:1.4}.hero-intro{font-size:var(--text-body);max-width:450px;margin-top:0}.hero-actions{gap:7px;margin-top:24px}.hero-actions .button{font-size:var(--text-secondary);gap:17px;padding-inline:16px}.hero-research-link{font-size:var(--text-meta)}.hero-socials{gap:23px;margin-top:18px}.hero-baseline{font-size:var(--text-label);letter-spacing:.02em;flex-wrap:wrap;gap:12px;margin-top:34px;padding-block:22px}.hero-baseline>span{gap:8px}.hero-baseline a{font-size:var(--text-label);gap:7px}.section{padding-block:55px}.section-heading h2{margin-top:20px;font-size:33px}.section-heading>p{font-size:var(--text-secondary);margin-top:18px}.section-top-row{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:28px}.eyebrow{font-size:var(--text-label);gap:11px}.research-layout{gap:26px}.research-card-top{padding:19px 22px}.research-org{font-size:21px}.research-card-top>.mono{font-size:var(--text-label);gap:7px}.research-role{padding:22px 22px 0}.research-role h3{font-size:23px}.research-body{padding:23px 22px}.research-body p{font-size:var(--text-body)}.research-card-bottom{font-size:var(--text-label);gap:10px;padding-left:22px}.featured-projects{grid-template-columns:1fr;gap:24px}.project-card.featured{grid-column:auto;display:flex}.featured .project-card-visual{border-right:0;border-bottom:1px solid var(--border);display:block}.featured .project-diagram.compact{padding:28px 22px 19px}.featured .project-diagram.compact>svg{margin-block:10px}.project-diagram.compact>svg{max-height:130px;margin-block:5px}.featured .project-card-content{padding:24px}.featured h3{font-size:28px}.project-card h3{font-size:26px}.project-card .tags{font-size:var(--text-label)}.project-card-bottom{font-size:var(--text-meta);flex-wrap:wrap}.about-copy>p{font-size:var(--text-body)}.education-entry{padding-left:25px;padding-block:22px}.education-entry h3{font-size:23px}.education-entry-heading{flex-direction:column;align-items:flex-start;gap:10px}.education-date{font-size:var(--text-meta)}.education-entry p{font-size:var(--text-caption);margin-top:10px}.achievement-row{grid-template-columns:20px 1fr;align-items:start;gap:12px 17px;padding-block:22px}.achievement-row>svg{margin-top:3px}.achievement-title h3{font-size:17px}.achievement-title p{font-size:var(--text-body);line-height:1.8}.achievement-result{grid-column:2;font-size:21px}.achievement-date{text-align:left;font-size:var(--text-label);grid-column:2;display:block}.community-note{gap:13px;padding:22px 18px}.community-note h3{font-size:var(--text-body);line-height:1.6}.credentials-section .section-heading h2{font-size:29px}.credential-list{grid-template-columns:1fr;gap:12px}.credential-list article{flex-direction:row;gap:16px;padding:22px 20px}.credential-list h3{font-size:17px}.credential-list .mono{margin-top:7px}.contact-section{margin-top:0;padding-block:55px}.contact-layout h2{font-size:36px}.contact-layout p{font-size:var(--text-body)}.contact-email{gap:11px;font-size:18px}.contact-email>svg{width:17px}.contact-links>div{gap:25px}.site-footer{gap:12px;min-height:90px}.footer-name{font-size:var(--text-caption)}.back-top{font-size:var(--text-meta);gap:7px}.inner-page{padding-top:34px;padding-bottom:60px}.page-intro{margin-bottom:35px}.page-intro>.text-link{font-size:var(--text-meta);margin-bottom:34px}.page-intro h1{font-size:48px}.page-intro>p{font-size:var(--text-secondary);margin-top:20px}.project-overview-list .project-card{display:flex}.project-overview-list .project-card-visual{border-right:0;border-bottom:1px solid var(--border)}.project-overview-list .project-diagram.compact{padding:26px 24px 20px}.project-overview-list .project-diagram.compact>svg{max-height:140px;margin-block:7px}.project-overview-list h3{font-size:27px}.project-overview-list .project-card-content{padding:24px}.supporting-project{margin-top:42px;padding-top:42px}.supporting-project h2{font-size:30px}.supporting-project p{font-size:var(--text-body)}.breadcrumbs{font-size:var(--text-meta);gap:10px;margin-bottom:33px}.case-header h1{font-size:39px}.case-lead{font-size:var(--text-body);margin-top:23px}.case-header-footer{gap:22px}.case-figure{margin-top:32px}.case-figure .project-diagram{padding:22px 14px}.case-figure .project-diagram>svg{height:auto;min-height:145px}.case-figure .diagram-label,.case-figure .diagram-footer{font-size:var(--text-label)}.case-figure figcaption{font-size:var(--text-meta)}.case-layout{gap:25px;margin-top:40px}.case-sidebar dl{margin-bottom:16px}.case-sidebar dd{font-size:var(--text-caption)}.case-sidebar nav{margin-bottom:20px;display:flex}.case-body section{margin-bottom:45px}.case-body h2{font-size:30px}.case-body p,.outcome-list{font-size:var(--text-body);line-height:var(--leading-body)}.approach-list>div{gap:17px}.approach-list h3{font-size:18px}.artifact-list li{font-size:var(--text-secondary)}.scope-note{padding:21px}.scope-note p{font-size:var(--text-secondary)}.case-next{flex-direction:column;align-items:flex-start;gap:30px}.case-next>a:last-child{justify-content:space-between;width:100%;font-size:23px}.degree-card{padding:24px}.degree-top{margin-bottom:27px}.degree-period{font-size:var(--text-label)}.degree-card h2{font-size:28px}.thesis-note h3{font-size:16px}.not-found{min-height:calc(100dvh - 162px)}.not-found h1{font-size:38px}.not-found p{font-size:var(--text-body)}.not-found>div:last-child{flex-direction:column}}@media (width<=359px){.container{width:calc(100% - 32px)}.brand-name{font-size:12px}.brand{gap:7px}.hero h1{font-size:53px}.hero-positioning{font-size:19px}.hero-eyebrow{font-size:var(--text-label)}.contact-email{gap:8px;font-size:16px}.hero-baseline a{display:none}.case-header h1{font-size:35px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.text-link:hover svg,.project-card:hover .project-title-link svg{transform:none}}@media (forced-colors:active){.project-card,.research-card,.degree-card,.button,.status-label,.theme-toggle,.credential-list article{border:1px solid canvastext}.project-card:has(.project-title-link:focus-visible){outline-color:highlight}.theme-icon{color:buttontext}}
