/*! tailwindcss v4.3.0 | 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)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--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{: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-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-display:"Source Serif 4", Georgia, serif;--font-body:"Source Serif 4", Georgia, 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,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;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{.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-30{height:calc(var(--spacing) * 30)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-6{gap:calc(var(--spacing) * 6)}.rounded{border-radius:.25rem}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.invert{--tw-invert:invert(100%);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,)}.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))}}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/source-serif-4-latin.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:"Source Serif 4";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/source-serif-4-latin-ext.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:"Source Serif 4";font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/source-serif-4-latin-italic.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:"Source Serif 4";font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/source-serif-4-latin-ext-italic.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}:root{--paper:#ede0d7;--paper-warm:#e1c6bc;--paper-deep:#d5ada5;--paper-edge:#be9288;--ink:#231b1a;--ink-soft:#4a3937;--ink-mute:#66524e;--umber:#7a4a4c;--umber-light:#a26b68;--lapis:#2a4d7b;--radius:20px;--radius-pill:9999px;--paper-on-dark:#ede0d7eb;--paper-on-dark-soft:#ede0d7a6;--hairline:#231b1a1a;--hairline-strong:#231b1a38;--font-display:"Source Serif 4", Georgia, serif;--font-body:"Source Serif 4", Georgia, serif;--measure:62ch;--nav-h:88px;--ease:cubic-bezier(.22,.61,.36,1)}*,:before,:after{box-sizing:border-box}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;min-width:0}picture{display:contents}img{max-width:100%}button{border-radius:var(--radius)}html,body,#root{height:100%;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-body);font-feature-settings:"ss01","kern";font-size:17px;font-weight:400;line-height:1.58;overflow-y:auto}body:before{content:"";pointer-events:none;z-index:1;opacity:.4;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.11  0 0 0 0 0.10  0 0 0 0 0.08  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:1;opacity:.32;mix-blend-mode:multiply;background-image:radial-gradient(120% 80% at 18% 12%,#b57d7e1c,#0000 55%),radial-gradient(90% 70% at 88% 92%,#7a4a4c1a,#0000 60%),radial-gradient(80% 60%,#231b1a08,#0000 70%);position:fixed;inset:0}#root>*{z-index:2;position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--ink);letter-spacing:-.012em;margin:0;font-weight:500;line-height:1.05}h1{font-size:clamp(2.6rem,5.6vw,5rem)}h2{font-size:clamp(2rem,3.6vw,3.2rem)}h3{font-size:clamp(1.4rem,2.2vw,1.9rem)}em,.italic{font-style:italic}.italic-display{font-family:var(--font-display);font-style:italic}.label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-mute);margin:0;font-size:.72rem;font-weight:500}.label--umber{color:var(--umber)}.drop-cap:first-letter{font-family:var(--font-display);float:left;color:var(--umber);padding:.04em .14em 0 0;font-size:5.4em;line-height:.82}.prose{font-family:var(--font-body);color:var(--ink-soft);max-width:var(--measure);margin:0 0 1.2rem;font-size:1.06rem;line-height:1.72}.prose:last-child{margin-bottom:0}.prose--lede{font-size:1.18rem;line-height:1.6}a.link{overflow-wrap:anywhere;color:var(--ink);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;text-decoration:none;transition:color .18s}a.link:hover{color:var(--umber)}.btn{color:var(--ink);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.22em;border-radius:var(--radius);cursor:pointer;background:0 0;border:0;align-items:center;gap:.7rem;padding:.7rem 0;font-size:.78rem;text-decoration:none;transition:color .24s;display:inline-flex;position:relative}.btn:after{content:"";width:100%;height:1px;transition:width .28s var(--ease);background:currentColor;position:absolute;bottom:.45rem;left:0}.btn:hover{color:var(--umber)}.btn:hover:after{width:100%}.btn--soft{color:var(--ink-mute)}.btn--on-dark{color:var(--paper)}.btn--on-dark-soft{color:var(--paper-on-dark-soft)}.btn--on-dark:hover,.btn--on-dark-soft:hover{color:var(--paper)}.btn--pill{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;justify-content:center;min-height:48px;padding:.8rem 1.35rem;line-height:1.1;transition:background .18s,border-color .18s,color .18s}.btn--pill:after{display:none}.btn--pill:hover:after{width:0}.btn--pill-dark{background:var(--paper);color:var(--ink)}.btn--pill-dark:hover{background:var(--paper-warm);color:var(--ink)}.btn--pill-dark-soft{color:var(--paper);background:#231b1a47;border-color:#ede0d78c}.btn--pill-dark-soft:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}.btn--pill-light{background:var(--ink);color:var(--paper)}.btn--pill-light:hover{background:var(--umber);color:var(--paper)}.btn--pill-light-soft{background:var(--paper-edge);color:var(--ink)}.btn--pill-light-soft:hover{background:var(--paper-deep);color:var(--ink)}.btn--solid{background:var(--ink);color:var(--paper);border-radius:var(--radius-pill);padding:.95rem 1.6rem;min-height:48px;margin-top:1.4rem;padding-inline:1.6rem}.btn--solid:after{display:none}.btn--solid:hover{background:var(--umber);color:var(--paper)}.btn .arrow{background:currentColor;width:1.4em;height:1px;display:inline-block;position:relative;transform:translateY(-1px)}.btn .arrow:after{content:"";border-top:1px solid;border-right:1px solid;width:6px;height:6px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.page{padding-top:3rem;padding-bottom:5rem}.page--bleed-top{margin-top:calc(var(--nav-h) * -1)}.container{max-width:1240px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}.container--tight{max-width:880px}.section{padding-block:clamp(3rem,6vw,5rem) 0}.section-block{margin-bottom:clamp(2.5rem,4vw,4rem)}.page-header{margin-bottom:clamp(2rem,4vw,3.5rem)}.page-header h1{max-width:14ch;margin-bottom:1rem}.page-header .prose{margin-top:1rem}.section-mark{color:var(--umber);letter-spacing:normal;align-items:center;gap:1rem;margin-bottom:1.6rem;font-size:1rem;font-weight:400;line-height:1.4;display:flex}.section-mark .text{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;font-size:.7rem;font-weight:500}.nav-bar{z-index:50;height:var(--nav-h);background:var(--paper);justify-content:space-between;align-items:center;padding:0 clamp(1.25rem,4vw,3rem);display:flex;position:fixed;top:0;left:0;right:0}.nav-spacer{height:var(--nav-h)}.nav-logo{align-items:center;display:flex}.nav-logo img{width:auto;height:76px;display:block}.nav-desktop{align-items:center;gap:2.5rem;display:flex}.nav-compact{align-items:center;gap:1.25rem;display:none}.nav-menu-button{width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:0;place-items:center;padding:0;display:grid}.nav-list{align-items:center;gap:2.5rem;margin:0;padding:0;list-style:none;display:flex}.nav-list--vertical{flex-direction:column;align-items:stretch;gap:.25rem}.nav-list--vertical .nav-link{align-items:center;width:auto;min-height:44px;padding:.35rem 0;display:inline-flex}.nav-list--vertical .nav-link:after{bottom:.3rem}.nav-link{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.6rem 0;font-size:.78rem;font-weight:500;text-decoration:none;transition:color .18s;position:relative}.nav-link:after{content:"";background:var(--umber);width:0;height:1px;transition:width .22s;position:absolute;bottom:0;left:0}.nav-link:hover{color:var(--ink)}.nav-link:hover:after,.nav-link--active:after{width:100%}.nav-link--active{color:var(--ink)}.nav-link--cv{color:var(--umber)}.menu-close{cursor:pointer;width:2.5rem;height:2.5rem;color:var(--ink);background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:0;display:flex;position:absolute;top:.9rem;right:1.25rem}.locale{display:inline-flex;position:relative}.locale__button{--flag-pad:7px;width:44px;height:44px;padding:var(--flag-pad);cursor:pointer;background:0 0;border:0;border-radius:9999px;place-items:center;transition:transform .18s;display:grid}.locale__button>*{border-radius:9999px;overflow:hidden}.locale__button .flag{object-fit:cover;width:100%;height:100%;display:block}.locale__button:hover{transform:scale(1.04)}.locale__menu{background:var(--paper);--menu-pad:.4rem;min-width:180px;padding:var(--menu-pad);border:1px solid var(--hairline);border-radius:calc(var(--menu-pad) + var(--radius));z-index:60;flex-direction:column;gap:.1rem;margin:0;list-style:none;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 6px 24px -12px #1c18142e}.locale__option{cursor:pointer;width:100%;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);text-align:left;border-radius:var(--radius-pill);background:0 0;border:0;align-items:center;gap:.75rem;padding:.55rem .75rem;font-size:.78rem;transition:background .16s,color .16s;display:flex}.locale__option:hover{background:var(--paper-warm);color:var(--ink)}.locale__option[aria-selected=true]{color:var(--ink)}.locale__option-flag{border-radius:9999px;flex-shrink:0;place-items:center;width:22px;height:22px;display:inline-grid;overflow:hidden}.locale__option-flag svg,.locale__option-flag img{object-fit:cover;width:100%;height:100%;display:block}.site-footer{color:var(--ink-mute);margin-top:auto;padding:3rem 0 2.5rem}.site-footer__inner{text-align:center;flex-direction:column;align-items:center;gap:1.6rem;display:flex}.site-footer__links{flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;font-size:.85rem;display:flex}.site-footer__links a{color:var(--ink-mute)}.site-footer__meta{letter-spacing:normal}.fact-rows{border-top:1px solid var(--hairline);margin:0}.fact-row{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,130px) minmax(0,1fr);align-items:baseline;column-gap:1.5rem;padding-block:.95rem;display:grid}.fact-row__value{min-width:0;font-family:var(--font-body);color:var(--ink-soft);margin:0;font-size:1rem}.fact-row__value a{color:var(--ink)}.contact-block{margin-bottom:2rem}.contact-block .label{margin-bottom:1.25rem}.intro-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.career-signal-grid{border:1px solid var(--hairline-strong);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.career-signal{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline-strong);background:#ede0d76b;flex-direction:column;gap:1rem;min-height:17rem;padding:clamp(1.4rem,2.2vw,2rem);display:flex}.career-signal:nth-child(4n){border-right:0}.career-signal:nth-last-child(-n+4){border-bottom:0}.career-signal h3{max-width:13ch;font-size:1.55rem;line-height:1.12}.career-signal p{margin:0}.career-signal p:not(.label){color:var(--ink-soft);margin-top:auto;font-size:.98rem;line-height:1.62}.thesis-feature{--thesis-pad:0px;width:100%;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);padding:0;display:grid}.thesis-feature--button{cursor:pointer}.thesis-feature__cover{background:var(--paper-warm);aspect-ratio:.72;border-radius:4px;align-self:stretch;display:block;overflow:hidden}.thesis-feature__cover img,.thesis-feature__cover>div{object-fit:cover;width:100%;height:100%}.thesis-feature__copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.thesis-feature__title{max-width:21ch;font-family:var(--font-display);color:var(--ink);font-size:clamp(2.2rem,3.8vw,3.6rem);font-style:italic;font-weight:600;line-height:1.04;display:block}.thesis-feature__desc{max-width:68ch;color:var(--ink-soft);margin:1.25rem 0 0;font-size:1rem;line-height:1.65;display:block}.thesis-feature__action{align-self:flex-start;margin-top:1.1rem}.thesis-feature__actions{flex-wrap:wrap;gap:.5rem 2rem;margin-top:1.1rem;display:flex}.project-coverage{margin-block:clamp(3.5rem,6vw,5.5rem) 0}.coverage-heading{max-width:65ch;margin-bottom:1.8rem}.coverage-heading h2{margin-bottom:.7rem}.coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;display:grid}.coverage-link{border-top:1px solid var(--hairline-strong);color:var(--ink);flex-direction:column;padding:1.6rem 0;text-decoration:none;display:flex}.coverage-source{color:var(--ink-mute);justify-content:space-between;gap:1rem;font-size:.78rem;display:flex}.coverage-link h3{margin:.9rem 0 .7rem;font-size:1.65rem}.coverage-link p{max-width:60ch;color:var(--ink-soft);margin:0 0 1.2rem;font-size:.95rem}.coverage-actions{flex-wrap:wrap;gap:.35rem 1rem;margin-top:auto;display:flex}.coverage-action{text-underline-offset:4px;font-size:.85rem;text-decoration:underline}.coverage-link[href]:hover h3{color:var(--umber)}.coverage-more{margin-top:1.5rem}.project-coverage--compact .coverage-link{padding:1.1rem 0}.project-coverage--compact .coverage-link h3{margin:.45rem 0 .5rem;font-size:1.3rem}.project-coverage--compact .coverage-action{font-size:.78rem}.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:3.5rem clamp(1.5rem,3vw,3rem);display:grid}.cat-entry{margin:0}.cat-entry__button{width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius);background:0 0;border:0;flex-direction:column;gap:1rem;padding:0;display:flex}.cat-entry__plate{background:var(--paper-warm);aspect-ratio:4/5;border-radius:var(--radius);width:100%;position:relative;overflow:hidden}.cat-entry__plate img,.cat-entry__plate>div{object-fit:contain;width:100%;height:100%;transition:transform .2s,filter .2s}.cat-entry__button:hover .cat-entry__plate img,.cat-entry__button:hover .cat-entry__plate>div{filter:brightness(.96);transform:scale(1.015)}.cat-entry__meta{flex-direction:column;gap:.45rem;width:100%;display:flex}.cat-entry__title{font-family:var(--font-display);color:var(--ink);font-size:1.4rem;font-style:italic;font-weight:600;line-height:1.15}.cat-entry__row{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);justify-content:space-between;align-items:baseline;gap:1rem;font-size:.74rem;display:flex}.cat-entry__year{font-variant-numeric:tabular-nums lining-nums}.hero{align-items:stretch;min-width:0;min-height:82vh;display:grid;position:relative}.hero__plate{z-index:0;isolation:isolate;background:#1c1814;position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.hero__plate img{object-fit:cover;object-position:center 32%;background-position:50% 32%;width:100%;height:100%;transform:scale(1.03)}@media (pointer:fine){.hero__plate img{filter:blur(3px)saturate(.82)contrast(1.02)brightness(.78)}}.hero__plate:after{content:"";background:linear-gradient(90deg,#1c1814b8,#1c181461 58%,#1c181442),linear-gradient(#1c18143d,#1c18149e);position:absolute;inset:0}@media (pointer:coarse){.hero__plate:after{background:linear-gradient(90deg,#1c1814c7,#1c18147a 58%,#1c18145c),linear-gradient(#1c181452,#1c1814b3)}}.hero__copy{z-index:2;width:100%;min-width:0;max-width:1240px;color:var(--paper);align-self:end;margin-inline:auto;padding:clamp(2.5rem,8vw,6rem) clamp(1.5rem,5vw,4rem);position:relative;overflow-x:hidden}.hero__title{color:var(--paper);min-width:0;margin-bottom:2.4rem;font-weight:500}.hero__tagline{max-width:16ch;color:var(--paper);font-size:clamp(2.1rem,4.6vw,4rem);font-weight:500;display:block}.hero__name{width:min(100%,57.6rem);min-width:0;max-width:100%;color:var(--paper);margin-bottom:.55em;line-height:0;display:block;position:relative}.hero__name-svg{width:100%;max-width:100%;height:auto;display:block;overflow:hidden}.hero__name-ink{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;transform:translateZ(0)}.hero__name[data-write=done] .hero__name-ink{display:none}.hero__name-fill{fill:currentColor}.hero__actions{z-index:4;flex-wrap:wrap;align-items:center;gap:2rem;display:flex;position:relative}.hero__tombstone{color:#ede0d7bf;letter-spacing:.22em;text-transform:uppercase;margin:3rem 0 0;font-size:.7rem;line-height:1.7}.hero__tombstone em{text-transform:none;letter-spacing:.06em;font-style:italic}.about-intro{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:2.5rem;display:grid}.about-portrait{aspect-ratio:3/4;filter:grayscale(.9)contrast(1.06)brightness(.96);border-radius:var(--radius);width:100%;overflow:hidden}.about-portrait img{object-fit:cover;width:100%;height:100%;display:block}.cv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem clamp(2rem,5vw,4rem);display:grid}.cv-heading{margin-bottom:1.4rem}.cv-list{margin:0;padding:0;list-style:none}.cv-list li{border-bottom:1px solid var(--hairline);margin-bottom:1.2rem;padding-bottom:1.2rem}.cv-list li:last-child{border-bottom:0}.cv-list p{margin:0}.cv-list .label{margin-bottom:.35rem}.cv-list__title{font-family:var(--font-display);color:var(--ink);margin-bottom:.25rem;font-size:1.2rem;font-style:italic}.cv-list__detail{color:var(--ink-soft);font-size:.95rem}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.skill-list li{color:var(--ink-soft);border-bottom:1px solid var(--hairline);padding-block:.45rem;font-size:.95rem}.detail-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--paper);width:100%;max-height:min(90vh,90dvh);color:var(--ink);border-radius:var(--radius);position:relative;overflow:hidden auto}.detail-modal h2{color:var(--ink)}.detail-modal .label{color:var(--ink-mute)}.detail-modal .prose{color:var(--ink-soft);max-width:56ch;margin-bottom:2rem}.detail-modal__close{z-index:5;border-radius:var(--radius-pill);width:40px;height:40px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:color .18s,background .18s;display:grid;position:absolute;top:12px;right:12px}.detail-modal__close:hover{color:var(--ink);background:#231b1a0f}.detail-modal__grid{grid-template-columns:1fr;display:grid}.detail-modal__media{background:#0f0d0a;position:relative}.detail-modal__media>img{width:100%;height:auto;display:block}.detail-modal__copy{background:var(--paper);color:var(--ink);padding:clamp(1.5rem,3vw,3rem)}.detail-modal__title{margin:.6rem 0 1.6rem;font-weight:500}.detail-modal__facts{grid-template-columns:auto 1fr;gap:.6rem 2rem;margin:0 0 2rem;display:grid}.detail-modal__facts dd{color:var(--ink-soft);margin:0;font-size:.95rem}.document-embed{background:#242424;border:0;width:100%;height:78vh;min-height:620px;display:block}.document-mobile-card{padding:1.25rem;display:none}.document-mobile-card img{border-radius:4px;width:100%;height:auto;display:block}.cv-actions{flex-wrap:wrap;align-items:center;gap:.6rem 2rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);display:flex}.cv-actions .btn--solid{margin-top:0}.cv-viewer{background:0 0;border:0;padding:0}.cv-viewer picture{display:block}.cv-viewer__link{border-radius:var(--radius);display:block}.cv-viewer__hint{color:var(--ink-soft);margin:0 0 .9rem;font-size:.95rem;display:none}.cv-viewer__page{border-radius:var(--radius);width:100%;height:auto;margin:0 auto;display:block}.detail-dialog,.nav-sheet{background:0 0;border:0;width:100%;max-width:100vw;height:100%;max-height:100dvh;padding:0;overflow:visible}.detail-dialog::backdrop,.nav-sheet::backdrop{-webkit-backdrop-filter:blur(4px);background:#0f0d0ae0}.detail-dialog[open]{justify-content:center;align-items:center;padding:clamp(1rem,3vw,2rem);display:flex}.detail-dialog[open] .detail-modal{animation:modal-in .14s var(--ease) both}.nav-sheet::backdrop{background:#0f0d0a73}.nav-sheet[open]{justify-content:center;align-items:flex-end;display:flex}.nav-sheet__panel{width:100%;height:60dvh;min-height:320px;max-height:88dvh;padding:.5rem 1.75rem max(1.5rem,env(safe-area-inset-bottom));background:var(--paper);border-radius:var(--radius) var(--radius) 0 0;touch-action:none;will-change:transform;flex-direction:column;display:flex;position:relative;transform:translateY(100%);box-shadow:0 -18px 48px #0f0d0a38}.nav-sheet__handle{cursor:grab;background:0 0;border:0;border-radius:0;place-items:center;width:100%;padding:.75rem 0 .25rem;display:grid}.nav-sheet__handle span{border-radius:var(--radius-pill);background:var(--hairline-strong,#0f0d0a2e);width:44px;height:4px;display:block}.nav-sheet__panel .nav-list--vertical{margin-top:.5rem}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.page-fade{animation:.16s both fade-in}.rise-in{animation:rise-in .18s var(--ease) both;min-width:0}.js .reveal{opacity:0;transition:opacity .18s var(--ease),transform .18s var(--ease);transform:translateY(14px)}.js .reveal.is-revealed,.js.no-reveal .reveal{opacity:1;transform:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--lapis);outline-offset:4px}.detail-modal :focus-visible{outline-color:var(--paper)}#main-content:focus{outline:none}.skip-link{z-index:2000;background:var(--paper);color:var(--ink);border-radius:var(--radius-pill);padding:1rem 1.4rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}@media (min-width:768px){.detail-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-modal__grid--document{grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr)}}@media (max-width:980px){.career-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.career-signal:nth-child(4n){border-right:1px solid var(--hairline)}.career-signal:nth-child(2n){border-right:0}.career-signal:nth-last-child(-n+4){border-bottom:1px solid var(--hairline-strong)}.career-signal:nth-last-child(-n+2){border-bottom:0}.intro-grid{grid-template-columns:1fr}}@media (max-width:900px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-desktop{display:none}.nav-compact{display:flex}}@media (max-width:560px){.cat-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.document-embed{display:none}.document-mobile-card,.cv-viewer__hint{display:block}}@media (max-width:760px){.thesis-feature{grid-template-columns:1fr;gap:1.75rem}.thesis-feature__cover{place-self:auto center;width:min(100%,260px)}.thesis-feature__title{max-width:12ch;font-size:clamp(2rem,9vw,3rem)}}@media (max-width:700px){:root{--nav-h:76px}.nav-logo img{height:60px}.hero{min-height:calc(100svh - var(--nav-h))}.hero__copy{padding:2rem 1.5rem 2.5rem}.hero__title{margin-bottom:1.7rem}.hero__tagline{max-width:11ch}.hero__name{width:100%;max-width:100%}.hero__actions{gap:.85rem 1.5rem}.hero__actions .btn{letter-spacing:.18em;font-size:.7rem}.hero__tombstone{max-width:24rem;margin-top:2rem;font-size:.64rem;line-height:1.65}.about-intro{grid-template-columns:1fr}.about-portrait{max-width:240px}.cv-grid,.coverage-grid{grid-template-columns:1fr}.coverage-source{flex-wrap:wrap}}@media (max-width:640px){.career-signal-grid{grid-template-columns:1fr}.career-signal{border-right:0;min-height:0}.career-signal:nth-last-child(-n+2){border-bottom:1px solid var(--hairline-strong)}.career-signal:last-child{border-bottom:0}.fact-row{grid-template-columns:minmax(0,1fr);row-gap:.3rem}.skill-list{grid-template-columns:1fr}}@media print{body:before,body:after,.nav-bar,.site-footer{display:none}body{color:#000;background:#fff}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.hero__name-fill{opacity:1!important}.hero__name-ink{display: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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
