/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-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-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",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)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%)}.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{--color-paper:#eee4d2;--color-paper-raised:#f8f1e6;--color-ink:#111318;--color-ink-secondary:#5f5561;--color-ink-tertiary:#797783;--color-line:#d5d4cf;--color-line-strong:#bcb8c1;--color-accent:#6a628a;--color-accent-hover:#eec3a0;--color-accent-soft:#eee0d4;--color-focus:#a696ca;--motion-card-enter:.56s;--motion-card-exit:.38s;--ease-card:cubic-bezier(.22,1,.36,1);--page-gutter:clamp(20px,4vw,72px);--page-max:1680px;--space-section:clamp(80px,10vw,168px)}*{box-sizing:border-box}html{background:var(--color-paper)}body{color:var(--color-ink);background-color:var(--color-paper);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;text-rendering:optimizelegibility;background-image:radial-gradient(circle at 20% 30%,#42301b17 0 .7px,#0000 .9px),radial-gradient(circle at 78% 64%,#ffffff61 0 .8px,#0000 1px);background-position:0 0,2px 3px;background-size:5px 5px,7px 7px;margin:0;font-size:clamp(1rem,.25vw + .95rem,1.125rem);line-height:1.62}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.header,.hero,.site-footer,.work{width:min(calc(100% - (2 * var(--page-gutter))),var(--page-max));margin-inline:auto}.header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;min-height:88px;display:flex}.brand{letter-spacing:-.02em;font-weight:600}.brand,.nav{font-size:.875rem}.nav{color:var(--color-ink-secondary);align-items:center;gap:clamp(20px,3vw,48px);font-weight:500;display:flex}.nav-pending{cursor:default}.nav-linkedin,.nav-pending{color:var(--color-ink-tertiary)}.nav-linkedin{width:32px;height:32px;flex:0 0 32px;justify-content:center;align-self:center;align-items:center;display:inline-flex}.nav-linkedin svg{width:19px;height:19px;display:block;transform:translateY(-1px)}.nav a:hover,.text-link:hover{color:var(--color-accent-hover)}.hero{grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);align-items:center;gap:clamp(40px,7vw,128px);min-height:min(860px,100svh - 88px);padding-block:clamp(56px,7vw,112px);display:grid}.portrait{aspect-ratio:4/6;background:#d9d9d4;border-radius:10px;width:min(100%,500px);position:relative;overflow:hidden}.portrait-placeholder{height:100%;color:var(--color-ink-tertiary);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;place-items:center;font-size:.75rem;display:grid}.name-overlay{color:#fff;letter-spacing:-.05em;width:calc(100% - 36px);font-size:clamp(3.5rem,7vw,7rem);font-weight:600;line-height:.9;position:absolute;bottom:clamp(22px,3vw,44px);left:clamp(18px,2.5vw,40px)}.chat{flex-direction:column;align-items:flex-start;gap:12px;max-width:720px;display:flex}.eyebrow{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.75rem;font-weight:500}.bubble{background:var(--color-paper-raised);border:1px solid var(--color-line);letter-spacing:-.015em;border-radius:18px 18px 18px 5px;max-width:36ch;margin:0;padding:15px 20px;font-size:clamp(1.25rem,1.6vw,1.625rem);line-height:1.38}.bubble:nth-of-type(3){margin-left:5%}.bubble:nth-of-type(4){margin-left:2%}.work{padding-block:var(--space-section);border-top:1px solid var(--color-line)}.home-work{padding-top:var(--space-section)}.work-page-content{border-top:0;padding-top:clamp(20px,2.5vw,40px)}.home .header{border-bottom:0}.project-note{color:var(--color-ink-tertiary);font-size:.875rem;font-weight:500}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-heading{justify-content:space-between;align-items:baseline;gap:32px;margin-bottom:clamp(56px,7vw,112px);display:flex}.section-heading h1,.section-heading h2{letter-spacing:-.038em;margin:0;font-size:clamp(2.125rem,3.8vw,4.25rem);font-weight:500;line-height:1}.meta,.project-index,.section-heading span{font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif}.section-heading span{color:var(--color-ink-tertiary);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.projects{gap:20px;display:grid}.project-card{border:1px solid var(--color-line);background:var(--color-paper-raised);border-radius:24px;min-height:clamp(440px,60svh,720px);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.project-card{background:color-mix(in srgb,var(--color-paper-raised) 72%,transparent)}}.project-card{isolation:isolate;transition:border-color var(--motion-card-exit) var(--ease-card),box-shadow var(--motion-card-exit) var(--ease-card)}.project-card-content{--card-pad:clamp(28px,4vw,52px);min-height:inherit;color:inherit;display:block;position:relative;overflow:hidden}.project-card-link:focus-visible{outline-offset:-4px}.project-card:is(:hover,:focus-within){border-color:var(--color-line-strong);box-shadow:0 24px 60px var(--color-ink)}@supports (color:color-mix(in lab,red,red)){.project-card:is(:hover,:focus-within){box-shadow:0 24px 60px color-mix(in srgb,var(--color-ink) 12%,transparent)}}.preview{background:linear-gradient(135deg,var(--preview-from),var(--preview-to));color:var(--preview-foreground);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:filter var(--motion-card-exit) var(--ease-card),transform var(--motion-card-exit) var(--ease-card);place-items:center;font-size:.75rem;display:grid;position:absolute;inset:0;transform:scale(1)}.preview-label{opacity:0}.preview-video{object-fit:cover;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.preview-scrim{pointer-events:none;opacity:0;transition:opacity var(--motion-card-enter) var(--ease-card);background:linear-gradient(#3c200870,#7a46181f 24%,#0000 48%);position:absolute;inset:0}.preview-scrim--montage{background:linear-gradient(#34281c5c,#34281c14 26%,#0000 48%)}.project-card:is(:hover,:focus-within) .preview-scrim{opacity:1}.project-card:is(:hover,:focus-within) .preview{filter:saturate(1.06)contrast(1.02);transform:scale(1.025)}.project-copy{z-index:1;color:var(--preview-foreground);pointer-events:none;position:absolute;inset:0}.project-overline{top:var(--card-pad);left:var(--card-pad);letter-spacing:.08em;text-transform:uppercase;opacity:0;clip-path:inset(0 100% 0 0);max-width:34%;transition:clip-path var(--motion-card-exit) var(--ease-card),opacity .22s ease,transform var(--motion-card-exit) var(--ease-card);flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:.6875rem;display:flex;position:absolute;transform:translate(-18px)}.project-index{color:inherit}.project-title{top:calc(100% - var(--card-pad));width:max-content;max-width:calc(100% - (2 * var(--card-pad)));-webkit-text-stroke:.9px #f8f4eceb;paint-order:stroke fill;font-family:var(--font-libre-baskerville),Georgia,"Times New Roman",serif;letter-spacing:-.02em;text-wrap:balance;text-shadow:none;transform-origin:0 100%;transition:left var(--motion-card-exit) var(--ease-card),top var(--motion-card-exit) var(--ease-card),transform var(--motion-card-exit) var(--ease-card);margin:0;font-size:clamp(3rem,6vw,6.75rem);font-style:italic;font-weight:500;line-height:.92;transform:translateY(-100%)}.project-details,.project-title{left:var(--card-pad);color:#14100a;position:absolute}.project-details{right:var(--card-pad);bottom:var(--card-pad);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase;text-shadow:0 0 2px #f8f4ece6,0 0 6px #f8f4ecb3;pointer-events:auto;opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path var(--motion-card-exit) var(--ease-card),opacity .22s ease,transform var(--motion-card-exit) var(--ease-card);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;font-size:.6875rem;display:flex;transform:translate(-24px)}.project-credit{max-width:48ch}.project-cta{white-space:nowrap;color:inherit}.project-details p{color:var(--color-ink-secondary);letter-spacing:-.006em;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.project-card:is(:hover,:focus-within) .project-title{top:var(--card-pad);left:calc(100% - var(--card-pad));text-align:right;transform-origin:100% 0;max-width:62%;transition-duration:var(--motion-card-enter);color:var(--preview-foreground);-webkit-text-stroke-width:0;text-shadow:0 1px 12px #14100866;transform:translate(-100%)}.project-card--montage:is(:hover,:focus-within) .project-title{text-shadow:0 1px 8px #1410082e}.project-card:is(:hover,:focus-within) .project-details,.project-card:is(:hover,:focus-within) .project-overline{opacity:1;clip-path:inset(0);transition-duration:.42s;transform:none}.project-card:is(:hover,:focus-within) .project-overline{transition-delay:40ms}.project-card:is(:hover,:focus-within) .project-details{transition-delay:90ms}.meta{color:var(--color-ink-tertiary);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:8px;margin-top:20px;font-size:.6875rem;display:flex}.meta span{padding:0}.links,.project-card-cta{margin-top:20px}.links{flex-wrap:wrap;gap:20px 32px;font-size:.875rem;font-weight:500;display:flex}.project-card-cta,.text-link{color:var(--color-accent);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.project-card-cta,.text-link{-webkit-text-decoration-color:color-mix(in srgb,var(--color-accent) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}}.project-card-cta,.text-link{text-underline-offset:5px;text-decoration-thickness:1px}.project-card-cta{align-self:flex-start;font-size:.875rem;font-weight:500;display:inline-block}.load-more{color:var(--color-ink-secondary);border:1px solid var(--color-line);font:inherit;cursor:pointer;background:0 0;border-radius:6px;margin-top:28px;padding:10px 16px;font-size:.8125rem}.load-more:hover{color:var(--color-accent-hover);border-color:var(--color-line-strong)}.experiments-block{border-top:1px solid var(--color-line);margin-top:clamp(72px,8vw,120px);padding-top:clamp(28px,3vw,44px)}.experiments-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:24px;display:flex}.experiments-heading h2{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.8125rem;font-weight:500}.experiment-meta,.experiments-heading span{color:var(--color-ink-tertiary);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem}.experiments-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.experiment-card{border:1px solid var(--color-line);background:var(--color-paper-raised);border-radius:10px;overflow:hidden}.experiment-preview{aspect-ratio:16/10;border-bottom:1px solid var(--color-line);color:var(--color-ink-tertiary);background:var(--color-paper);font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:uppercase;place-items:center;font-size:.6875rem;display:grid;position:relative;overflow:hidden}.experiment-preview img,.experiment-preview video{object-fit:cover;width:100%;height:100%;display:block}.experiment-copy{padding:22px}.experiment-copy h3{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(1.5rem,1.8vw,1.75rem);font-weight:500}.experiment-copy p{max-width:32ch;color:var(--color-ink);letter-spacing:-.012em;margin:0;font-size:clamp(1.25rem,1.4vw,1.5rem);font-weight:400;line-height:1.4}.experiment-links,.experiment-meta{flex-wrap:wrap;gap:10px 18px;margin-top:18px;display:flex}.experiment-links{font-size:.8125rem;font-weight:500}.experiment-links a:hover{color:var(--color-accent-hover)}.site-footer{border-top:1px solid var(--color-line);color:var(--color-ink-tertiary);justify-content:space-between;gap:24px;padding:32px 0 48px;font-size:.75rem;display:flex}@media (max-width:900px){.hero{grid-template-columns:minmax(240px,.8fr) 1.2fr;gap:clamp(32px,5vw,64px);min-height:0}.name-overlay{font-size:clamp(3rem,8vw,5.25rem)}.project-card{min-height:clamp(460px,64svh,600px)}.experiments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){:root{--page-gutter:clamp(20px,6vw,28px)}.header{min-height:68px}.brand{display:none}.nav{justify-content:space-between;gap:12px;width:100%;font-size:.8125rem}.hero{grid-template-columns:1fr;gap:48px;padding-block:40px 80px}.portrait{aspect-ratio:4/5;width:min(82vw,420px)}.name-overlay{font-size:clamp(3rem,15vw,5rem)}.chat{width:100%}.bubble{max-width:min(36ch,100%)}.bubble:nth-of-type(3){margin-left:min(12px,3%)}.bubble:nth-of-type(4){margin-left:0}.section-heading{align-items:flex-end;margin-bottom:56px}.meta{gap:8px}.project-card{border-radius:18px;min-height:clamp(500px,72svh,600px)}.project-card-content{--card-pad:22px}.project-title{font-size:clamp(2.6rem,13vw,4.75rem)}.project-details{width:calc(100% - (2 * var(--card-pad)))}.experiments-grid{grid-template-columns:1fr}.site-footer{flex-direction:column}}@media (hover:none),(pointer:coarse){.project-card .preview{filter:saturate(1.04)contrast(1.01);transform:scale(1.015)}.project-card .project-title{top:var(--card-pad);left:calc(100% - var(--card-pad));text-align:right;transform-origin:100% 0;max-width:72%;transform:translate(-100%)}.project-card .project-details,.project-card .project-overline{opacity:1;clip-path:inset(0);transform:none}.project-card .preview-scrim{opacity:1}}@media (prefers-reduced-motion:reduce){.preview-scrim,.project-card,.project-card .preview,.project-details,.project-overline,.project-title{transition-duration:1ms;transition-delay:0s}.project-card:is(:hover,:focus-within) .preview-scrim{opacity:0}.project-card:is(:hover,:focus-within) .project-title{top:calc(100% - var(--card-pad));left:var(--card-pad);max-width:calc(100% - (2 * var(--card-pad)));text-align:left;transform:translateY(-100%)}.project-card:is(:hover,:focus-within) .project-details{bottom:calc(var(--card-pad) + 5.75rem)}}.academic{--a-bg:#fff;--a-ink:#1a1d1b;--a-ink-2:#3f4542;--a-ink-3:#5a615d;--a-line:#e3e6e4;--a-line-soft:#eef0ef;--a-line-strong:#c9cfcb;--a-surface:#f6f7f6;--a-accent:#820000;--a-accent-hover:#5c0000;--a-accent-wash:#8200001f;--a-max:1096px;--a-gutter:32px;--a-serif:var(--font-newsreader),Georgia,"Times New Roman",serif;--a-sans:var(--font-plex-sans),"Helvetica Neue",system-ui,sans-serif;--a-mono:var(--font-plex-mono),ui-monospace,monospace;min-height:100svh;color:var(--a-ink);background:var(--a-bg);font-family:var(--a-sans);font-size:1rem;line-height:1.65}body:has(.academic),html:has(.academic){background:#fff}@media (prefers-reduced-motion:no-preference){html:has(.academic){scroll-behavior:smooth}}.academic .nav-pending{color:var(--a-line-strong);cursor:default}.academic a:focus-visible{outline:2px solid var(--a-accent);outline-offset:3px}.about-opening,.about-research,.chronology{width:min(calc(100% - (2 * var(--a-gutter))),var(--a-max));margin-inline:auto}.academic .header,.academic .site-footer{width:100%;padding-inline:max(var(--a-gutter),calc((100% - var(--a-max)) / 2))}.academic .header{border-bottom:1px solid var(--a-line);min-height:0;padding-block:20px}.academic .brand{color:var(--a-ink);font-family:var(--a-serif);letter-spacing:0;font-size:1.15rem;font-weight:500}.academic .nav{color:var(--a-ink-2);font-family:var(--a-sans);gap:24px;font-size:.9rem;font-weight:400}.academic .nav-linkedin{color:var(--a-ink-3)}.academic .nav a:hover{color:var(--a-accent)}.academic .site-footer{border-top:1px solid var(--a-line);color:var(--a-ink-3);font-family:var(--a-sans);margin-top:24px;padding-block:32px;font-size:.85rem}.about-links a,.chronology-related-link{color:var(--a-accent);text-decoration:underline;-webkit-text-decoration-color:var(--a-accent);text-decoration-color:var(--a-accent)}@supports (color:color-mix(in lab,red,red)){.about-links a,.chronology-related-link{-webkit-text-decoration-color:color-mix(in srgb,var(--a-accent) 35%,transparent);text-decoration-color:color-mix(in srgb,var(--a-accent) 35%,transparent)}}.about-links a,.chronology-related-link{text-underline-offset:3px;text-decoration-thickness:1px}.about-links a:hover,.chronology-related-link:hover{color:var(--a-accent-hover);-webkit-text-decoration-color:var(--a-accent-hover);text-decoration-color:var(--a-accent-hover)}.about-section-label{color:var(--a-ink-3);font-family:var(--a-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 28px;font-size:.8rem;font-weight:500}.about-opening{flex-wrap:wrap;align-items:flex-start;gap:40px 56px;padding:72px 0 56px;display:flex}.about-portrait{object-fit:cover;border:1px solid var(--a-line);flex:0 0 200px;width:200px;height:250px;display:block}.about-intro{flex-direction:column;flex:999 480px;gap:20px;min-width:0;display:flex}.about-intro h1{font-family:var(--a-serif);letter-spacing:-.01em;margin:0;font-size:2.6rem;font-weight:500;line-height:1.15}.about-fields{color:var(--a-ink-3);font-family:var(--a-mono);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.8rem}.about-statement{font-family:var(--a-serif);margin:0;font-size:1.3rem;line-height:1.55}.about-statement mark{color:inherit;background:linear-gradient(transparent 62%,var(--a-accent-wash) 62%)}.about-bio{max-width:640px;color:var(--a-ink-2);margin:0}.about-links{flex-wrap:wrap;gap:8px 24px;padding-top:4px;font-size:.9rem;display:flex}.about-research{border-top:1px solid var(--a-line);padding:48px 0}.about-research-grid{flex-wrap:wrap;gap:32px 40px;display:flex}.about-research-item{flex-direction:column;flex:280px;gap:10px;min-width:0;display:flex}.about-research-label{color:var(--a-ink-2);font-family:var(--a-mono);align-items:center;gap:10px;margin:0;font-size:.8rem;display:flex}.about-research-label span{background:var(--a-accent);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.about-research-question{font-family:var(--a-serif);margin:0;font-size:1.15rem;line-height:1.5}.chronology{border-top:1px solid var(--a-line);padding:48px 0 0}.chronology-layout{grid-template-columns:224px minmax(0,1fr);align-items:start;gap:56px;display:grid}.chronology-rail{align-self:stretch}.chronology-rail-sticky{padding-bottom:24px;position:sticky;top:32px}.chronology-current-label,.chronology-current-period{color:var(--a-ink-3);font-family:var(--a-mono);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.75rem}.chronology-current-date{color:var(--a-ink);font-family:var(--a-serif);letter-spacing:-.01em;margin:8px 0 0;font-size:2.6rem;font-weight:500;line-height:1.1}.chronology-current-period{color:var(--a-ink-2);margin-top:6px}.chronology-path{height:min(48svh,420px);margin-top:32px;position:relative}.chronology-line,.chronology-line-progress{width:1px;position:absolute;top:14px;bottom:14px;left:3.5px}.chronology-line{background:var(--a-line)}.chronology-line-progress{background:var(--a-accent);transform-origin:top;transition:transform 80ms linear}.chronology-path ol{flex-direction:column;justify-content:space-between;margin:0;padding:0;list-style:none;display:flex;position:absolute;inset:0}.chronology-path li{transition:opacity .2s ease-out}.chronology-path li.is-muted{opacity:.45}.chronology-path a{color:var(--a-ink-3);font-family:var(--a-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:12px;padding:4px 0;font-size:.7rem;transition:color .2s;display:flex}.chronology-dot{z-index:1;border:1px solid var(--a-line-strong);background:var(--a-bg);border-radius:50%;flex:0 0 8px;width:8px;height:8px;transition:background-color .2s,border-color .2s;position:relative}.chronology-path li.is-active .chronology-dot{border-color:var(--a-accent);background:var(--a-accent)}.chronology-path li.is-focused a{color:var(--a-ink)}.chronology-path small{color:var(--a-ink-3);font-size:inherit}.chronology-path li.is-focused small{color:var(--a-ink-2)}.chronology-story{border-top:1px solid var(--a-line-soft);padding:32px 0 64px;scroll-margin-top:32px}.chronology-story:first-child{border-top:0;padding-top:4px}.chronology-story:last-child{min-height:64svh}.chronology-story>header{max-width:640px;margin-bottom:32px}.chronology-story>header>p:first-child{color:var(--a-ink-3);font-family:var(--a-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;font-size:.75rem}.chronology-story h3{font-family:var(--a-serif);margin:0;font-size:1.6rem;font-weight:500;line-height:1.3}.chronology-story-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chronology-story-meta span{border:1px solid var(--a-line-strong);color:var(--a-ink-2);font-family:var(--a-mono);border-radius:999px;padding:2px 8px;font-size:.7rem}.chronology-story-summary{color:var(--a-ink-2);margin:16px 0 0}.chronology-related-link{margin-top:14px;font-size:.9rem;font-weight:500;display:inline-block}.chronology-media-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:20px;display:grid}.chronology-media{grid-column:span 6;margin:0}.chronology-media--wide{grid-column:1/-1}.chronology-media--portrait{grid-column:span 5}.chronology-media--note{grid-column:span 6;align-self:stretch}.chronology-media-asset,.chronology-media>video,.chronology-placeholder{aspect-ratio:4/3;border:1px solid var(--a-line);background:var(--a-surface);width:100%;position:relative;overflow:hidden}.chronology-media--wide .chronology-media-asset,.chronology-media--wide .chronology-placeholder,.chronology-media--wide>video{aspect-ratio:16/9}.chronology-media--portrait .chronology-media-asset,.chronology-media--portrait .chronology-placeholder{aspect-ratio:4/5}.chronology-media img,.chronology-media video{object-fit:cover;width:100%;height:100%;display:block}.chronology-placeholder{color:var(--a-ink);justify-content:space-between;align-items:flex-end;gap:16px;padding:24px;display:flex}.chronology-placeholder span{max-width:12ch;font-family:var(--a-serif);font-size:1.6rem;font-weight:500;line-height:1.2}.chronology-placeholder i{color:var(--a-accent);font-family:var(--a-serif);font-size:1.6rem;font-style:normal}.chronology-media figcaption{color:var(--a-ink-3);margin-top:10px;font-size:.8rem;line-height:1.5}@media (max-width:760px){.academic{--a-gutter:20px}.about-opening{padding:48px 0 40px}.about-intro h1{font-size:2.2rem}.chronology-layout{grid-template-columns:1fr;gap:0}.chronology-rail{z-index:4;margin-inline:calc(-1 * var(--a-gutter));padding-inline:var(--a-gutter);border-block:1px solid var(--a-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;position:sticky;top:0}.chronology-rail-sticky{justify-content:space-between;align-items:center;gap:16px;padding-block:10px;display:flex;position:static}.chronology-current-label,.chronology-current-period,.chronology-path{display:none}.chronology-current-date{margin:0;font-size:1.4rem}.chronology-rail-sticky:after{content:"Chronology";color:var(--a-ink-3);font-family:var(--a-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.chronology-story,.chronology-story:first-child{padding:32px 0 48px}.chronology-media,.chronology-media--note,.chronology-media--portrait,.chronology-media--wide{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.chronology-dot,.chronology-line-progress,.chronology-path a,.chronology-path li{transition:none}}.about-block{width:min(calc(100% - (2 * var(--a-gutter))),var(--a-max));border-top:1px solid var(--a-line);margin-inline:auto;padding:48px 0}.about-block-intro{color:var(--a-ink-3);margin:-16px 0 32px;font-size:.95rem}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--a-line-strong);color:var(--a-ink-2);font-family:var(--a-mono);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.7rem}.pilot{flex-wrap:wrap;align-items:flex-start;gap:32px 48px;display:flex}.pilot-figure{background:var(--a-surface);border:1px solid var(--a-line);flex-direction:column;flex:400px;gap:14px;min-width:0;margin:0;padding:24px;display:flex}.pilot-views{flex-wrap:wrap;gap:16px;display:flex}.pilot-view{flex-direction:column;flex:160px;gap:8px;min-width:0;display:flex}.pilot-view svg{background:var(--a-bg);border:1px solid var(--a-line);width:100%;height:auto;display:block}.pilot-view p{color:var(--a-ink-2);margin:0;font-size:.85rem}.pilot-view strong{color:var(--a-ink)}.pilot-ray{stroke:#378add;stroke-width:1.5px;stroke-dasharray:4 4}.pilot-cube{fill:var(--a-bg);stroke:var(--a-ink);stroke-width:1.5px}.pilot-sphere{fill:var(--a-accent)}.pilot-camera{fill:#378add}.pilot-tag{fill:var(--a-ink-2);font-family:var(--a-mono);font-size:11px}.pilot-figure figcaption{color:var(--a-ink-3);font-size:.8rem;line-height:1.5}.pilot-text{flex-direction:column;flex:400px;gap:14px;min-width:0;display:flex}.pilot-text h3{font-family:var(--a-serif);margin:0;font-size:1.6rem;font-weight:500;line-height:1.3}.pilot-text p{color:var(--a-ink-2);margin:0}.track-grid{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:56px;display:grid}.track-rail{align-self:stretch}.track-list{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex;position:sticky;top:32px}.track-list li{position:relative}.track-list li:not(:last-child):before{content:"";background:var(--a-line);width:1px;position:absolute;top:10px;bottom:-28px;left:3.5px}.track-list li.is-sub{padding-left:18px}.track-list li.is-sub:after{content:"";background:var(--a-line);width:14px;height:1px;position:absolute;top:10px;left:4px}.track-list button,.track-static{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:10px;padding:0;display:flex}.track-static{cursor:default}.track-list button:focus-visible{outline:2px solid var(--a-accent);outline-offset:4px}.track-dot{z-index:1;border:1px solid var(--a-line-strong);background:var(--a-bg);border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:6px;transition:background-color .2s,border-color .2s;position:relative}.track-text{flex-direction:column;gap:1px;min-width:0;display:flex}.track-kind{color:var(--a-ink-3);font-family:var(--a-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem}.track-name{color:var(--a-ink-2);font-size:.9rem;font-weight:500;line-height:1.4;transition:color .2s}.track-years{color:var(--a-ink-3);font-family:var(--a-mono);font-size:.72rem}.track-detail,.track-note{color:var(--a-ink-3);font-size:.8rem;line-height:1.4}.track-note{font-style:italic}.track-list button:hover .track-name{color:var(--a-ink)}.track-list li.is-active .track-name{color:var(--a-accent)}.track-list li.is-active .track-dot{border-color:var(--a-accent);background:var(--a-accent)}.track-entries{min-width:0}.work-row{border-top:1px solid var(--a-line-soft);flex-wrap:wrap;align-items:flex-start;gap:20px 40px;padding:28px 0;scroll-margin-top:32px;display:flex}.track-entries .work-row:first-child{border-top:0;padding-top:0}.work-row-text{flex-direction:column;flex:999 320px;gap:8px;min-width:0;display:flex}.work-row-year{color:var(--a-ink-3);font-family:var(--a-mono);align-items:center;margin:0;font-size:.75rem;display:flex}.work-row-title{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.work-row-title h3{font-family:var(--a-serif);margin:0;font-size:1.3rem;font-weight:500;line-height:1.3}.work-row-title h3.is-italic{font-style:italic}.work-row-meta{color:var(--a-ink-3);margin:0;font-size:.85rem}.work-row-description{color:var(--a-ink-2);margin:0}.work-row-links{flex-wrap:wrap;gap:4px 20px;margin:0;font-size:.9rem;font-weight:500;display:flex}.work-row-links a{color:var(--a-accent);text-decoration:underline;-webkit-text-decoration-color:var(--a-accent);text-decoration-color:var(--a-accent);padding:4px 0}@supports (color:color-mix(in lab,red,red)){.work-row-links a{-webkit-text-decoration-color:color-mix(in srgb,var(--a-accent) 35%,transparent);text-decoration-color:color-mix(in srgb,var(--a-accent) 35%,transparent)}}.work-row-links a{text-underline-offset:3px}.work-row-links a:hover{color:var(--a-accent-hover);-webkit-text-decoration-color:var(--a-accent-hover);text-decoration-color:var(--a-accent-hover)}.work-row-mediastack{flex-direction:column;flex:0 320px;gap:10px;min-width:0;display:flex}.work-row-media{aspect-ratio:16/10;background:var(--a-surface);border:1px solid var(--a-line);width:100%;position:relative;overflow:hidden}.work-row-media img{object-fit:cover}.work-row-media--contain img{object-fit:contain}.work-row--compact{padding:20px 0}.work-row--compact .work-row-title h3{font-size:1.1rem}.strand-marker,.strand-ref{border:1px solid var(--a-accent);width:16px;height:16px;color:var(--a-accent);font-family:var(--a-mono);border-radius:50%;justify-content:center;align-items:center;font-size:.62rem;font-weight:500;line-height:1;display:inline-flex}.strand-marker{vertical-align:1px;margin-right:8px}.strand-ref{vertical-align:super;margin-left:2px;text-decoration:none}.strand-ref:hover{color:var(--a-bg);background:var(--a-accent)}.work-row-media--link{transition:border-color .2s;display:block}.work-row-media--link:hover{border-color:var(--a-ink-3)}.media-carousel{position:absolute;inset:0}.media-carousel img{opacity:0;transition:opacity .6s}.media-carousel img.is-visible{opacity:1}.media-carousel-dots{z-index:2;display:flex;position:absolute;bottom:4px;right:4px}.media-carousel-dots button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.media-carousel-dots i{background:var(--a-line-strong);border-radius:50%;width:6px;height:6px;transition:background-color .2s,transform .2s}.media-carousel-dots button:hover i{background:var(--a-ink-3);transform:scale(1.3)}.media-carousel-dots button.is-active i{background:var(--a-accent)}.media-carousel-dots button:focus-visible{outline:2px solid var(--a-accent);outline-offset:-2px;border-radius:50%}.media-carousel-arrow{z-index:2;border:1px solid var(--a-line);width:28px;height:28px;color:var(--a-ink);font:400 20px/1 var(--font-plex-sans,system-ui),sans-serif;cursor:pointer;opacity:0;background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;margin-top:-14px;padding:0;transition:opacity .2s,border-color .2s;display:flex;position:absolute;top:50%}.media-carousel-arrow span{margin-top:-2px}.media-carousel-arrow--prev{left:6px}.media-carousel-arrow--next{right:6px}.media-carousel-arrow:focus-visible,.media-carousel:hover .media-carousel-arrow{opacity:1}.media-carousel-arrow:hover{border-color:var(--a-ink-3)}.media-carousel-arrow:focus-visible{outline:2px solid var(--a-accent);outline-offset:1px}@media (hover:none){.media-carousel-arrow{display:none}}.media-carousel{touch-action:pan-y}.work-row-media-hit{z-index:1;position:absolute;inset:0}.work-row-media-hit:focus-visible{outline:2px solid var(--a-accent);outline-offset:-2px}@media (max-width:760px){.track-grid{grid-template-columns:1fr;gap:28px}.track-list{position:static}.work-row-mediastack{flex:100%}}@media (prefers-reduced-motion:reduce){.media-carousel img,.media-carousel-arrow,.track-dot,.track-name{transition:none}}.montage{background-color:var(--color-paper);background-image:radial-gradient(circle at 20% 30%,#42301b17 0 .7px,#0000 .9px),radial-gradient(circle at 78% 64%,#fff6 0 .8px,#0000 1px);background-position:0 0,2px 3px;background-size:5px 5px,7px 7px;justify-content:center;align-items:center;gap:clamp(8px,1.6vw,18px);padding:0 clamp(20px,4vw,56px);display:flex;position:absolute;inset:0}.montage-tile{aspect-ratio:3/4;background:#fff;border:1px solid #1817141a;border-radius:10px;flex:0 auto;width:clamp(72px,20%,200px);overflow:hidden;box-shadow:0 12px 30px #18171429}.montage-tile img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.montage-arrow{color:var(--preview-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.montage-arrow{color:color-mix(in srgb,var(--preview-foreground) 78%,transparent)}}.montage-arrow{font-size:clamp(.9rem,1.4vw,1.3rem)}@media (max-width:680px){.montage{flex-wrap:wrap;gap:12px}.montage-tile{width:30%}.montage-arrow{display:none}}@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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}