@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif,system-ui,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{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{.z-9{z-index:9}.w-5{width:calc(var(--spacing)*5)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--bg:#f7f5ef;--surface:#fffdf8;--text:#252b25;--muted:#64685f;--line:#d8dbd0;--accent:#ad472e;--accent-soft:#efe5da;--field:#eceee6;--green:#35624b;--green-soft:#e8eee2;--nav:#f7f5eff0;--sans:var(--font-geist-sans),Arial,sans-serif;--serif:Georgia,"Times New Roman",serif;--text-body:1rem;--text-small:.875rem;--text-label:.8125rem;--mono:var(--font-geist-mono),monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:#191d19;--surface:#222822;--text:#efeee5;--muted:#b1b7a8;--line:#3a4138;--accent:#ec9c7e;--accent-soft:#34342a;--field:#20271f;--green:#b2d2a4;--green-soft:#2b3b2a;--nav:#191d19f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{line-height:1.65;font-size:var(--text-body);color:var(--text);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}::selection{color:var(--bg);background:var(--accent)}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,video:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:2px}p,h1,h2,h3,h4,figure{margin:0}button,summary{cursor:pointer}img{max-width:100%}main{overflow:clip}.page-shell{width:min(1200px,100% - 112px);margin-inline:auto}.section{padding-block:104px 0}.eyebrow{font-family:var(--sans);font-size:var(--text-label);letter-spacing:.015em;text-transform:none;align-items:center;gap:9px;font-weight:500;line-height:1.6;display:flex}.eyebrow>span:first-child:not(.status-dot),.accent{color:var(--accent)}.arrow{flex-shrink:0;font-family:Arial,sans-serif;font-size:1.2em;font-weight:400;transition:transform .2s;display:inline-block}a:hover .arrow{transform:translate(2px,-2px)}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.small-label{color:var(--muted);font-family:var(--sans);font-size:var(--text-label);line-height:1.7}.card-number{color:var(--muted);font:.75rem/1.5 var(--mono)}.text-link{width:fit-content;min-height:38px;font-size:var(--text-small);text-underline-offset:5px;align-items:center;gap:12px;font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .18s,text-decoration-color .18s;display:inline-flex}.text-link:hover{color:var(--accent);text-decoration-color:currentColor}.skip-link{z-index:100;background:var(--text);color:var(--bg);padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.topbar{z-index:20;background:var(--nav);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-shell{align-items:center;width:min(1200px,100% - 112px);height:78px;margin:auto;display:flex}.mark{font:700 36px/1 var(--serif);letter-spacing:-.08em}.mark span{color:var(--accent)}.topbar nav{align-items:center;gap:34px;margin-left:auto;display:flex}.topbar nav a{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:.9375rem;transition:color .18s;display:flex}.topbar nav a:hover{color:var(--accent)}.topbar nav a:last-child{color:var(--text)}.theme-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--text);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;margin-left:30px;padding:0;font-size:23px;transition:border-color .18s,background .18s;display:grid}.theme-toggle:hover{border-color:var(--text);background:var(--accent-soft)}.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.86fr);align-items:center;gap:clamp(44px,7vw,112px);padding-top:62px;padding-bottom:60px;display:grid}.hero-copy>.eyebrow{font-size:var(--text-label);color:var(--accent);margin-bottom:25px}.hero h1{font-family:var(--serif);letter-spacing:-.068em;font-size:clamp(76px,8.2vw,116px);font-weight:400;line-height:.89}.hero-statement{font-family:var(--serif);letter-spacing:-.035em;margin-top:30px;font-size:clamp(22px,2.2vw,30px)}.hero-description{max-width:480px;color:var(--muted);margin-top:16px;font-size:1.0625rem;line-height:1.8}.hero-description a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line);-webkit-text-decoration-color:var(--line);-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px}.hero-description a:hover{color:var(--accent)}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}.button{min-height:48px;font-size:var(--text-small);justify-content:center;align-items:center;gap:28px;padding:12px 20px;font-weight:500;transition:background .18s,transform .18s;display:inline-flex}.primary-button{background:var(--text);color:var(--bg);border:1px solid var(--text)}.primary-button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.currently{border-top:1px solid var(--line);font-size:var(--text-label);flex-wrap:wrap;align-items:center;gap:12px;margin-top:39px;padding-top:20px;display:flex}.currently .eyebrow{color:var(--muted);font-size:var(--text-label);margin-right:2px}.currently a:hover{color:var(--accent)}.divider{color:var(--line)}.hero-figure{border:1px solid var(--line);background:var(--surface);padding:10px 10px 0;position:relative;transform:rotate(2deg)}.portrait-frame{aspect-ratio:4/4.8;background:var(--field);width:100%;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:50% 52%}.hero-figure figcaption{color:var(--muted);font:var(--text-label)/1.6 var(--sans);justify-content:space-between;align-items:center;gap:10px;padding:14px 3px;display:flex}.caption-index{white-space:nowrap}.news-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:25px;padding:20px 0;font-size:.9375rem;line-height:1.6;display:grid}.news-label{font-size:var(--text-label);color:var(--accent);font:500 var(--text-label)/1.5 var(--sans);text-transform:none;letter-spacing:.015em;align-items:center;gap:9px;display:flex}.news-action{font-size:var(--text-small);align-items:center;gap:16px;display:flex}.news-strip:hover .news-action{color:var(--accent)}.section-heading{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:80px;margin-bottom:38px;display:grid}h2{font-family:var(--serif);letter-spacing:-.045em;font-size:clamp(36px,4.2vw,56px);font-weight:400;line-height:1.05}.section-heading .eyebrow{color:var(--muted);margin-bottom:20px}.section-intro{max-width:380px;color:var(--muted);font-size:var(--text-body);line-height:1.75}.publication-card{border:1px solid var(--line);background:var(--surface);grid-template-columns:250px 1fr;scroll-margin-top:108px;display:grid}.publication-brand{border-right:1px solid var(--line);background:#eeedf1;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:34px;display:flex}.publication-brand img{width:100%;height:auto}.publication-brand .eyebrow{color:#635b70;font-size:var(--text-label);letter-spacing:.015em}.publication-content{padding:30px 36px}.publication-meta{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:17px;display:flex}.accepted-badge{border:1px solid var(--green);align-items:center;gap:7px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.accepted-badge{border:1px solid color-mix(in srgb,var(--green)20%,transparent)}}.accepted-badge{background:var(--green-soft);color:var(--green);font:var(--text-label)/1.6 var(--sans);border-radius:3px;padding:6px 9px}.accepted-badge .status-dot{width:5px;height:5px}.publication-card h3{max-width:710px;font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(24px,2.5vw,34px);font-weight:400;line-height:1.2}.publication-card p{max-width:660px;color:var(--muted);font-size:var(--text-body);margin-top:14px;line-height:1.75}.publication-content .text-link{color:var(--accent);margin-top:12px}.research-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;display:grid}.research-card{flex-direction:column;padding:29px 30px 20px 0;display:flex}.research-card+.research-card{border-left:1px solid var(--line);padding-left:30px;padding-right:0}.card-topline{justify-content:space-between;align-items:center;gap:20px;display:flex}.card-topline .eyebrow{color:var(--accent)}.research-card h3{max-width:490px;font-family:var(--serif);letter-spacing:-.028em;margin-top:22px;font-size:29px;font-weight:400;line-height:1.14}.research-summary{font-size:var(--text-body);color:var(--muted);margin-top:15px;line-height:1.75}.tags{flex-wrap:wrap;gap:8px;margin-block:22px;display:flex}.tags span{font:var(--text-label)/1.6 var(--sans);color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 8px}.work-details{border-top:1px solid var(--line);margin-top:auto}.work-details summary{min-height:48px;font-size:var(--text-small);justify-content:space-between;align-items:center;padding-block:8px;list-style:none;display:flex}.work-details summary::-webkit-details-marker{display:none}.work-details summary span{font-size:19px;transition:transform .2s}.work-details[open] summary span{transform:rotate(45deg)}.work-details ul{margin:4px 0 20px;padding-left:16px}.work-details li{font-size:var(--text-body);color:var(--muted);margin-top:10px;padding-left:3px;line-height:1.75}.work-details li::marker{color:var(--accent)}.card-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:24px;padding-top:9px;display:flex}.card-links .text-link{font-size:var(--text-small)}.field-section{background:var(--field);border-block:1px solid var(--line);margin-top:104px;padding-block:78px}.field-feature{grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);display:grid}.field-image{background:var(--line);min-height:400px;position:relative;overflow:hidden}.field-image img{object-fit:cover;object-position:50% 68%}.field-caption{border:1px solid var(--line);border-left:none;flex-direction:column;align-items:flex-start;padding:44px 44px 28px;display:flex}.field-caption>.eyebrow{font-size:var(--text-label);color:var(--accent)}.field-caption h3{font:400 clamp(28px,3.4vw,45px)/1.08 var(--serif);letter-spacing:-.045em;margin-top:27px}.field-caption p:not(.eyebrow){color:var(--muted);font-size:var(--text-body);margin-top:17px;line-height:1.75}.field-caption .text-link{margin-top:17px}.figure-note{font:var(--text-label)/1.6 var(--sans);color:var(--muted);letter-spacing:.04em;margin-top:auto;padding-top:24px}.demo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:34px;scroll-margin-top:108px;display:grid}.video-frame{aspect-ratio:16/9;background:#252b25;position:relative;overflow:hidden}.video-frame video{object-fit:contain;width:100%;height:100%;display:block}.demo-topline{justify-content:space-between;align-items:center;gap:10px;margin-top:21px;display:flex}.demo-topline .eyebrow{color:var(--muted);font-size:var(--text-label);letter-spacing:.015em}.demo-card h3{font:400 27px/1.2 var(--serif);letter-spacing:-.025em;margin-top:11px}.demo-card p{color:var(--muted);font-size:var(--text-body);margin-top:10px;line-height:1.75}.video-note{color:var(--muted);font:var(--text-label)/1.6 var(--sans);border:1px solid var(--line);margin-top:10px;padding:3px 6px;display:inline-block}.project-list{margin-top:65px}.project-list>.eyebrow{color:var(--muted);padding-bottom:20px}.project-row{border-top:1px solid var(--line);grid-template-columns:28px 1fr 1.05fr 30px;align-items:start;gap:20px;padding-block:25px;display:grid}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row>.card-number{padding-top:4px}.project-row h3{max-width:320px;margin-top:7px;font-size:1.125rem;font-weight:500;line-height:1.45}.project-row>p{font-size:var(--text-body);color:var(--muted);line-height:1.75}.project-arrow{place-items:center;min-width:44px;min-height:44px;display:grid}.experience-list{border-top:1px solid var(--line)}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:48px;padding-block:32px;display:grid}.experience-company{align-items:baseline;gap:25px;display:flex}.experience-company h3{min-width:0;font:400 25px/1.15 var(--serif);letter-spacing:-.03em}.experience-company .arrow{margin-left:5px;font-size:15px}.experience-company a:hover{color:var(--accent)}.experience-row h4{margin-bottom:12px;font-size:1.0625rem;font-weight:500}.experience-row p{max-width:670px;color:var(--muted);font-size:var(--text-body);line-height:1.75}.experience-tools{color:var(--accent);font:var(--text-label)/1.6 var(--sans);margin-top:15px;display:inline-block}.about-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:85px;display:grid}.about-section h2{margin-top:20px;font-size:clamp(32px,3.4vw,44px)}.toolkit>.section-intro{margin-top:18px}.skill-groups{margin-top:30px}.skill-group{border-top:1px solid var(--line);grid-template-columns:105px minmax(0,1fr);gap:20px;padding-block:17px;display:grid}.skill-group h3{font-size:var(--text-small);font-weight:500;line-height:1.8}.skill-group p{color:var(--muted);font-size:.9375rem;line-height:1.8}.recognition{border-left:1px solid var(--line);padding-left:36px}.recognition>.eyebrow{color:var(--muted)}.awards-list{margin-top:26px}.award-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-block:13px;display:flex}.award-row h3{font-size:.9375rem;font-weight:500;line-height:1.6}.award-row p{color:var(--muted);font-size:var(--text-small);margin-top:4px;line-height:1.6}.award-row>span{font:var(--text-label)/1.6 var(--sans);color:var(--muted)}.contact-section{border-top:1px solid var(--text);margin-top:110px;padding-block:48px 46px}.contact-section>.eyebrow{color:var(--accent)}.contact-heading{justify-content:space-between;align-items:center;gap:30px;margin-top:24px;display:flex}.contact-heading h2{font-size:clamp(42px,5.6vw,76px)}.contact-heading em{color:var(--accent);font-weight:400}.contact-arrow{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:100px;height:100px;transition:background .2s,color .2s;display:grid}.contact-arrow .arrow{font-size:48px}.contact-arrow:hover{color:var(--bg);background:var(--text)}.contact-bottom{justify-content:space-between;align-items:end;gap:30px;margin-top:30px;display:flex}.contact-bottom p{color:var(--muted);font-size:var(--text-body);line-height:1.75}.contact-bottom .text-link{border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-size:.9375rem}footer.page-shell{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding-block:27px;display:flex}.footer-identity{align-items:center;gap:22px;display:flex}.footer-identity>span{font-size:var(--text-small);line-height:1.8}.footer-location{color:var(--muted)}.footer-links{flex-wrap:wrap;gap:26px;display:flex}.footer-links .text-link{font-size:var(--text-small)}.back-to-top{min-height:44px;font:var(--text-label)/1.6 var(--sans);color:var(--muted);align-items:center;gap:12px;display:flex}.back-to-top:hover{color:var(--accent)}@media (min-width:741px) and (prefers-reduced-motion:no-preference){.hero-copy{animation:.65s ease-out both arrive}.hero-figure{animation:.8s ease-out both photo-arrive}@keyframes arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-arrive{0%{opacity:0;transform:translateY(14px)rotate(0)}to{opacity:1;transform:translateY(0)rotate(2deg)}}}@media (min-width:1600px){.hero{padding-block:84px}}@media (max-width:1100px){.page-shell,.nav-shell{width:calc(100% - 72px)}.hero{gap:48px}.hero h1{font-size:88px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:var(--text-small)}.currently{font-size:var(--text-label);gap:10px}.currently .eyebrow{font-size:var(--text-label);flex-basis:100%}.section-heading{gap:44px}.publication-card{grid-template-columns:210px 1fr}.publication-content{padding:26px}.field-caption{padding:30px}.field-image{min-height:370px}.about-section{gap:40px}.skill-group{grid-template-columns:105px minmax(0,1fr);gap:12px}.news-strip{gap:18px;font-size:.9375rem}}@media (max-width:740px){html{scroll-padding-top:125px}.page-shell,.nav-shell{width:calc(100% - 40px)}.nav-shell{grid-template-columns:1fr auto;height:auto;min-height:98px;padding-top:12px;display:grid}.mark{font-size:32px}.topbar nav{grid-area:2/1/auto/-1;justify-content:space-between;gap:8px;width:100%;margin:3px 0 0}.topbar nav a{font-size:var(--text-small);min-height:40px}.theme-toggle{grid-area:1/2;width:36px;height:36px;margin-left:0;font-size:21px}.hero{grid-template-columns:1fr;gap:36px;padding-top:43px;padding-bottom:38px}.hero h1{font-size:clamp(76px,18vw,112px)}.hero h1 br{display:none}.hero h1 br:after{content:" "}.hero-statement{margin-top:24px;font-size:26px}.hero-copy>.eyebrow{font-size:var(--text-label);margin-bottom:23px}.hero-description{max-width:550px;font-size:1.0625rem;line-height:1.8}.hero-actions{gap:22px}.currently{font-size:var(--text-label);gap:10px;margin-top:26px}.currently .eyebrow{font-size:var(--text-label);flex-basis:auto}.hero-figure{justify-self:center;width:100%;max-width:430px;transform:rotate(1deg)}.portrait-frame{aspect-ratio:5/4}.portrait-frame img{object-position:50% 51%}.news-strip{grid-template-columns:1fr auto;gap:11px 20px;padding-block:18px;font-size:.9375rem}.news-label{font-size:var(--text-label);grid-column:1/-1}.news-action{gap:0;font-size:0}.news-action .arrow{font-size:23px}.section{padding-top:65px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:27px}.section-heading .eyebrow{margin-bottom:17px}.section-intro{max-width:500px;line-height:1.75;font-size:var(--text-body)}.publication-card{grid-template-columns:1fr}.publication-brand{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;gap:24px;padding:22px 24px}.publication-brand img{width:145px}.publication-brand .eyebrow{letter-spacing:.015em;text-align:right;max-width:100px;font-size:var(--text-label)}.publication-content{padding:24px}.publication-meta{gap:10px}.publication-card h3{font-size:27px}.research-grid{grid-template-columns:1fr;margin-top:24px}.research-card{padding:24px 0 17px}.research-card+.research-card{border-left:none;border-top:1px solid var(--line);padding:25px 0 17px}.research-card h3{font-size:29px}.field-section{margin-top:65px;padding-block:55px}.field-feature{grid-template-columns:1fr}.field-image{aspect-ratio:5/4;min-height:0}.field-caption{border-left:1px solid var(--line);border-top:0;padding:27px 24px}.field-caption h3{margin-top:18px;font-size:35px}.field-caption h3 br{display:none}.field-caption h3 br:after{content:" "}.demo-grid{grid-template-columns:1fr;gap:32px;margin-top:30px}.demo-topline{margin-top:15px}.demo-card h3{margin-top:6px}.project-list{margin-top:40px}.project-row{grid-template-columns:22px 1fr 24px;gap:12px;padding-block:23px}.project-row>p{line-height:1.75;font-size:var(--text-body);grid-column:2}.project-arrow{grid-area:1/3/3;margin-left:-10px}.experience-row{grid-template-columns:1fr;gap:20px;padding-block:26px}.experience-company{gap:20px}.experience-row>div:last-child{padding-left:35px}.about-section{grid-template-columns:1fr;gap:52px}.recognition{border-left:0;padding-left:0}.skill-group{grid-template-columns:105px minmax(0,1fr);gap:20px}.contact-section{margin-top:65px;padding-block:34px}.contact-heading{gap:12px}.contact-heading h2{font-size:clamp(35px,7.8vw,52px)}.contact-arrow{width:56px;height:56px}.contact-arrow .arrow{font-size:29px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:16px;margin-top:23px}.contact-bottom .text-link{font-size:.9375rem}footer.page-shell{flex-wrap:wrap;gap:12px 24px;padding-block:22px}.footer-identity{width:100%;margin-bottom:8px}.footer-links{gap:23px}.back-to-top{font:var(--text-label)/1.6 var(--sans);margin-left:auto}}@media (max-width:380px){.topbar nav a{font-size:var(--text-label);gap:4px}.skill-group{grid-template-columns:1fr;gap:6px}.publication-brand{gap:16px}.hero h1{font-size:74px}.hero-actions{gap:14px}.hero-actions .primary-button{width:100%}.currently{font-size:var(--text-label);gap:9px}.currently .eyebrow{font-size:var(--text-label);flex-basis:100%}.publication-content{padding:20px}.publication-brand{padding:18px 20px}.publication-card h3{font-size:25px}.contact-arrow{width:44px;height:44px}.contact-heading h2{font-size:32px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
