:root{--bg: oklch(0% 0 0);--bg-subtle: oklch(9% 0 0);--rule: oklch(18% 0 0);--rule-strong: oklch(32% 0 0);--text: oklch(89% 0 0);--text-strong: oklch(96% 0 0);--text-2: oklch(68% 0 0);--text-mute: oklch(58% 0 0);--focus: oklch(89% 0 0);--font-sans: "Switzer", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--step--1: clamp(.8125rem, .8rem + .08vw, .875rem);--step-0: clamp(.9375rem, .91rem + .12vw, 1rem);--step-1: clamp(1.0625rem, 1.02rem + .2vw, 1.1875rem);--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-s: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.25rem;--space-xl: 3.5rem;--space-2xl: clamp(3rem, 9vh, 6.5rem);--width-prose: 41rem;--width-grid: 41rem;--width-shell: 62rem;--gutter: clamp(1.25rem, 4vw, 2.5rem);--border-hairline: 1px;--border-focus: 1.5px;--offset-focus: 3px;--underline-offset: .22em;--shift-hover: 1.5px;--radius-1: 2px;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .15s;--dur-enter: .46s;--stagger-step: 55ms}@font-face{font-family:Switzer;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Switzer-Regular.woff2) format("woff2")}@font-face{font-family:Switzer;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Switzer-Medium.woff2) format("woff2")}@font-face{font-family:Switzer;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Switzer-Semibold.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:dark;scroll-behavior:smooth}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);font-weight:400;line-height:1.6;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background-color:var(--rule-strong);color:var(--text-strong)}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}a{color:var(--text);text-decoration:none;transition:color var(--dur-fast) var(--ease-out),text-decoration-color var(--dur-fast) var(--ease-out)}a:hover{color:var(--text-strong)}:focus-visible{outline:var(--border-focus) solid var(--focus);outline-offset:var(--offset-focus);border-radius:var(--radius-1)}@keyframes enter{0%{opacity:.01;transform:translateY(8px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.enter{animation:enter var(--dur-enter) var(--ease-out) both;animation-delay:calc(var(--stagger, 0) * var(--stagger-step))}.skip-link{position:fixed;top:var(--space-s);left:var(--space-s);z-index:10;padding:var(--space-xs) var(--space-sm);background-color:var(--text-strong);color:var(--bg);font-size:var(--step--1);font-weight:500;border-radius:var(--radius-1);transform:translateY(-200%);transition:transform var(--dur-fast) var(--ease-out)}.skip-link:focus{transform:translateY(0)}.page{flex:1 0 auto;width:100%;max-width:var(--width-grid);margin-inline:auto;padding-inline:var(--gutter);padding-top:var(--space-2xl);padding-bottom:var(--space-2xl);display:grid;gap:var(--space-xl);align-content:start}.prose-col{width:100%;max-width:var(--width-prose)}.intro{display:grid;gap:var(--space-sm)}.intro__name{font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;color:var(--text-strong)}.intro__text{color:var(--text-2);text-wrap:pretty}.inline-link{color:var(--text-strong);text-decoration:underline;text-decoration-thickness:var(--border-hairline);text-underline-offset:var(--underline-offset);text-decoration-color:var(--rule-strong)}.inline-link:hover{text-decoration-color:var(--text-strong)}.work-section{display:grid;gap:var(--space-lg)}.work-columns{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}.work-note{font-size:var(--step--1);line-height:1.5;color:var(--text-2);text-wrap:pretty}.work-col__heading{font-size:var(--step--1);font-weight:400;color:var(--text-mute);margin-bottom:var(--space-md)}.work-col__list{display:grid;gap:var(--space-md)}.work-card{transition:opacity var(--dur-fast) var(--ease-out)}.work-card__link{display:block;padding-block:var(--space-3xs)}.work-card__head{display:inline-flex;align-items:baseline;gap:var(--space-2xs)}.work-card__title{font-size:var(--step-0);font-weight:500;letter-spacing:-.01em;color:var(--text-strong);text-decoration:underline;text-decoration-thickness:var(--border-hairline);text-underline-offset:var(--underline-offset);text-decoration-color:var(--rule-strong);transition:text-decoration-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.work-card__link:hover .work-card__title{text-decoration-color:var(--text-strong)}.work-card__summary{margin-top:var(--space-3xs);font-size:var(--step--1);line-height:1.5;color:var(--text-2);text-wrap:pretty}@media(hover:hover)and (pointer:fine){.work-col__list:hover .work-card:not(:hover){opacity:.4}}.section{display:grid;gap:var(--space-md);scroll-margin-top:var(--space-lg)}.section__heading{font-size:var(--step--1);font-weight:400;color:var(--text-mute)}.bg-list{display:grid;gap:var(--space-md)}.bg-item{display:grid;gap:var(--space-3xs)}.bg-item__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.bg-item__org{font-size:var(--step-0);font-weight:500;letter-spacing:-.01em;color:var(--text-strong)}.bg-item__org-link{display:inline-flex;align-items:baseline;gap:var(--space-2xs);color:var(--text-strong)}.bg-item__org-link:hover{text-decoration:underline;text-decoration-thickness:var(--border-hairline);text-underline-offset:var(--underline-offset);text-decoration-color:var(--rule-strong)}.arrow-glyph{font-size:var(--step--1);color:var(--text-mute);display:inline-block;transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}a:hover .arrow-glyph{color:var(--text-strong);transform:translate(var(--shift-hover),calc(-1 * var(--shift-hover)))}.bg-item__period{font-size:var(--step--1);color:var(--text-mute)}.bg-item__role{font-size:var(--step--1);color:var(--text-2)}.bg-item__detail{font-size:var(--step--1);color:var(--text-mute)}.connect__text{color:var(--text-2)}.site-footer{border-top:var(--border-hairline) solid var(--rule);margin-top:auto}.footer__inner{width:100%;max-width:var(--width-grid);margin-inline:auto;padding:var(--space-md) var(--gutter);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-xs) var(--space-md);font-size:var(--step--1);color:var(--text-mute)}.detail-shell{flex:1 0 auto;width:100%;max-width:var(--width-shell);margin-inline:auto;padding-inline:var(--gutter);padding-top:var(--space-2xl);padding-bottom:var(--space-2xl);display:grid;gap:var(--space-lg);align-content:start}.detail-back{display:inline-flex;align-items:baseline;gap:var(--space-xs);font-size:var(--step--1);color:var(--text-mute);padding-block:var(--space-3xs)}.detail-back:hover{color:var(--text-strong)}.detail-article{max-width:var(--width-prose);display:grid;gap:var(--space-lg)}.detail-header{display:grid;gap:var(--space-2xs)}.detail-title{font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;color:var(--text-strong)}.detail-meta{font-size:var(--step--1);color:var(--text-mute)}.detail-body{display:grid;gap:var(--space-sm);color:var(--text-2)}.detail-body p{text-wrap:pretty}.detail-section{padding-top:var(--space-md);border-top:var(--border-hairline) solid var(--rule);display:grid;gap:var(--space-xs)}.detail-label{font-size:var(--step--1);color:var(--text-mute)}.detail-stack{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);font-size:var(--step--1);color:var(--text-2)}.detail-links{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg)}.detail-ext-link{display:inline-flex;align-items:baseline;gap:var(--space-2xs);font-size:var(--step-0);font-weight:500;color:var(--text-strong);padding-block:var(--space-3xs)}.detail-ext-link:hover{text-decoration:underline;text-decoration-thickness:var(--border-hairline);text-underline-offset:var(--underline-offset);text-decoration-color:var(--rule-strong)}@media(min-width:42rem){.work-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}}@media(min-width:60rem){.detail-shell{grid-template-columns:10rem minmax(0,var(--width-prose));column-gap:var(--space-xl);align-items:baseline}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.enter{animation:none!important}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
