@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;hanging-punctuation:first last;scrollbar-gutter:stable}html:has(dialog[open]){overflow:hidden}body{min-height:100svh;line-height:var(--leading-normal)}img,picture,video,canvas,svg{block-size:auto;max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{padding:0;list-style:none}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer tokens{:root{--cream-50:oklch(98.85% .0057 84.6);--cream-100:oklch(97.65% .0098 87.5);--cream-200:oklch(95.27% .0168 88);--cream-300:oklch(91.68% .0239 88.2);--navy-700:oklch(34.28% .0705 252.4);--navy-800:oklch(26.25% .0459 250);--navy-900:oklch(23.66% .0489 254.5);--maroon-50:oklch(97.2% .0129 29.2);--maroon-100:oklch(94.5% .021 29.2);--maroon-200:oklch(89.5% .0414 29.2);--maroon-300:oklch(83.5% .0753 29.2);--maroon-400:oklch(75.5% .1291 29.2);--maroon-500:oklch(67.2% .1792 29.2);--maroon-600:oklch(59% .1792 29.2);--maroon-700:oklch(50% .1703 29.2);--maroon-800:oklch(42% .1524 29.2);--maroon-900:oklch(34% .1291 29.2);--maroon-950:oklch(27.1% .1111 29.2);--emerald-50:oklch(97.2% .0108 168);--emerald-100:oklch(94.5% .0175 168);--emerald-200:oklch(89.5% .0347 168);--emerald-300:oklch(83.5% .063 168);--emerald-400:oklch(75.5% .108 168);--emerald-500:oklch(67.2% .1361 168);--emerald-600:oklch(59% .1195 168);--emerald-700:oklch(50% .1012 168);--emerald-800:oklch(42% .085 168);--emerald-900:oklch(34% .0688 168);--emerald-950:oklch(27.1% .0549 168);--lime-50:oklch(97.2% .0735 121.4);--lime-100:oklch(94.5% .1225 121.4);--lime-200:oklch(89.5% .2082 121.4);--lime-300:oklch(83.5% .2012 121.4);--lime-400:oklch(75.5% .1819 121.4);--lime-500:oklch(67.2% .1619 121.4);--lime-600:oklch(59% .1422 121.4);--lime-700:oklch(50% .1205 121.4);--lime-800:oklch(42% .1012 121.4);--lime-900:oklch(34% .0819 121.4);--lime-950:oklch(27.1% .0653 121.4);--font-display:"Boska", "Boska Fallback", Georgia, serif;--font-sans:"Switzer", "Switzer Fallback", system-ui, sans-serif;--font-mono:"Tabular", "Tabular Fallback", ui-monospace, monospace;--weight-display:300;--weight-display-mid:400;--text-2xs:clamp(.694rem, .68rem + .07vw, .75rem);--text-xs:clamp(.833rem, .81rem + .11vw, .875rem);--text-sm:clamp(.9rem, .88rem + .12vw, .95rem);--text-base:clamp(1rem, .95rem + .25vw, 1.175rem);--text-md:clamp(1.2rem, 1.12rem + .4vw, 1.47rem);--text-lg:clamp(1.44rem, 1.31rem + .63vw, 1.84rem);--text-xl:clamp(1.9rem, 1.5rem + 2vw, 3rem);--text-2xl:clamp(2.4rem, 1.6rem + 4vw, 5rem);--text-3xl:clamp(3rem, 1.4rem + 7vw, 8rem);--text-display:clamp(3.5rem, 1rem + 12vw, 14rem);--text-mega:clamp(4rem, .5rem + 17vw, 20rem);--track-mega:-.028em;--track-display:-.022em;--track-tight:-.018em;--track-snug:-.012em;--track-normal:0em;--track-wide:.06em;--track-eyebrow:.18em;--leading-mega:.82;--leading-display:.86;--leading-tight:1.02;--leading-snug:1.18;--leading-normal:1.55;--leading-relaxed:1.65;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:900;--measure:66ch;--measure-narrow:48ch;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:8rem;--space-5xl:12rem;--space-section:clamp(4rem, 2rem + 9vw, 12rem);--container-max:100rem;--container-prose:46rem;--gutter:clamp(1.25rem, .75rem + 2.5vw, 4rem);--grid-columns:12;--grid-gap:clamp(1rem, .5rem + 1.5vw, 2rem);--radius-none:0;--radius-sm:2px;--radius-md:4px;--radius-full:9999px;--shadow-tint:217 45% 12%;--shadow-1:0 1px 2px -1px hsl(var(--shadow-tint) / .1), 0 2px 4px -2px hsl(var(--shadow-tint) / .08);--shadow-2:0 4px 8px -3px hsl(var(--shadow-tint) / .1), 0 10px 18px -6px hsl(var(--shadow-tint) / .1);--shadow-3:0 8px 12px -4px hsl(var(--shadow-tint) / .12), 0 20px 32px -8px hsl(var(--shadow-tint) / .14);--duration-instant:0s;--duration-fast:.14s;--duration-base:.26s;--duration-slow:.42s;--duration-slower:.64s;--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-in-out-quart:cubic-bezier(.76, 0, .24, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--z-base:0;--z-raised:10;--z-sticky:100;--z-overlay:1000;--z-skip-link:10000;--color-surface:var(--cream-100);--color-surface-sunken:var(--cream-200);--color-surface-raised:var(--cream-50);--color-surface-inverse:var(--navy-900);--color-text-primary:var(--navy-900);--color-text-secondary:var(--navy-700);--color-text-muted:color-mix(in oklab, var(--navy-900) 62%, var(--cream-100));--color-text-on-inverse:var(--cream-100);--color-text-on-inverse-muted:color-mix(in oklab, var(--cream-100) 72%, var(--navy-900));--color-border-hairline:var(--cream-300);--color-border-strong:color-mix(in oklab, var(--navy-900) 28%, var(--cream-100));--color-border-inverse:color-mix(in oklab, var(--cream-100) 22%, var(--navy-900));--color-accent:var(--emerald-700);--color-accent-strong:var(--emerald-800);--color-accent-contrast:var(--cream-100);--color-focus-ring:var(--emerald-700);--color-status-positive:var(--emerald-700)}[data-surface=navy],[data-surface=emerald]{--color-text-primary:var(--color-text-on-inverse);--color-text-secondary:var(--color-text-on-inverse-muted);--color-text-muted:color-mix(in oklab, var(--cream-100) 58%, var(--navy-900));--color-border-hairline:var(--color-border-inverse);--color-border-strong:color-mix(in oklab, var(--cream-100) 42%, var(--navy-900));--color-focus-ring:var(--cream-100)}[data-surface=navy]{--color-surface:var(--navy-900);--color-surface-sunken:var(--navy-800);--color-surface-raised:var(--navy-800);--color-accent:var(--lime-200);--color-accent-strong:var(--lime-300);--color-accent-contrast:var(--navy-900);--color-status-positive:var(--emerald-400)}[data-surface=emerald]{--color-surface:var(--emerald-800);--color-surface-sunken:var(--emerald-900);--color-surface-raised:var(--emerald-800);--color-accent:var(--cream-100);--color-accent-strong:var(--cream-50);--color-accent-contrast:var(--emerald-800);--color-status-positive:var(--cream-100)}@property --reveal-progress{syntax:"<number>";inherits:false;initial-value:0}@property --underline-scale{syntax:"<number>";inherits:false;initial-value:0}}@layer base{html{font-family:var(--font-sans);font-optical-sizing:auto;font-kerning:normal;font-variant-ligatures:common-ligatures;color-scheme:light}body{background-color:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--weight-regular);letter-spacing:var(--track-normal);transition:background-color var(--duration-base) var(--ease-out-quint)}h1,h2,h3{font-family:var(--font-display);text-wrap:balance}h1{font-size:var(--text-3xl);font-weight:var(--weight-display);line-height:var(--leading-display);letter-spacing:var(--track-display)}h2{font-size:var(--text-2xl);font-weight:var(--weight-display);line-height:var(--leading-tight);letter-spacing:var(--track-tight)}h3{font-size:var(--text-xl);font-weight:var(--weight-display-mid);line-height:var(--leading-tight);letter-spacing:var(--track-snug)}h4{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--track-snug);text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-accent);color:var(--color-accent-contrast)}.display{font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--weight-display);line-height:var(--leading-display);letter-spacing:var(--track-display);text-wrap:balance;font-variant-numeric:lining-nums proportional-nums}.mega{font-family:var(--font-display);font-size:var(--text-mega);font-weight:var(--weight-display);line-height:var(--leading-mega);letter-spacing:var(--track-mega);text-wrap:balance;font-variant-numeric:lining-nums proportional-nums}.smallcaps{font-family:var(--font-display);letter-spacing:.08em;font-variant-caps:small-caps}.eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--color-text-secondary)}.meta{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--track-wide);color:var(--color-text-secondary)}.prose{max-inline-size:var(--measure);font-size:var(--text-base);line-height:var(--leading-relaxed);text-wrap:pretty}.prose>*+*{margin-block-start:var(--space-sm)}.lede{font-size:var(--text-md);line-height:var(--leading-snug);letter-spacing:var(--track-snug);color:var(--color-text-secondary);max-inline-size:var(--measure);text-wrap:pretty}.visually-hidden:not(:focus):not(:active){clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-skip-link);padding:var(--space-2xs) var(--space-sm);background-color:var(--color-surface-inverse);color:var(--color-text-on-inverse);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-wide);text-transform:uppercase;transition:transform var(--duration-fast) var(--ease-out-quint);position:absolute;inset-block-start:var(--space-2xs);inset-inline-start:var(--space-2xs);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}}@layer layout{.layout{grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [content-start] min(100% - (var(--gutter) * 2), var(--container-max)) [content-end] minmax(var(--gutter), 1fr) [full-end];display:grid}.layout>*{grid-column:content}.layout>.bleed{grid-column:full}.grid12{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));gap:var(--grid-gap);display:grid}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-12{grid-column:1/-1}@media (width<=60rem){.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{grid-column:1/-1}}.stack{flex-direction:column;justify-content:flex-start;display:flex}.stack>*+*{margin-block-start:var(--stack-space,var(--space-md))}.stack-xs{--stack-space:var(--space-2xs)}.stack-sm{--stack-space:var(--space-sm)}.stack-lg{--stack-space:var(--space-lg)}.stack-xl{--stack-space:var(--space-xl)}.cluster{align-items:var(--cluster-align,center);gap:var(--cluster-space,var(--space-sm));flex-wrap:wrap;display:flex}.switcher{gap:var(--switcher-space,var(--space-lg));flex-wrap:wrap;display:flex}.switcher>*{flex-grow:1;flex-basis:calc((var(--switcher-threshold,32rem) - 100%) * 999)}.center{box-sizing:content-box;max-inline-size:var(--center-max,var(--container-prose));margin-inline:auto}.frame{aspect-ratio:var(--frame-ratio,3 / 2);overflow:hidden}.frame>img,.frame>video,.frame>canvas{object-fit:cover;block-size:100%;inline-size:100%}.reel{gap:var(--space-lg);overscroll-behavior-inline:contain;scrollbar-width:thin;display:flex;overflow-x:auto}.reel>*{flex:none}.section{padding-block:var(--space-section);background-color:var(--color-surface);color:var(--color-text-primary)}.rule{border:0;border-block-start:1px solid var(--color-border-hairline);inline-size:100%}.rule-strong{border-block-start-color:var(--color-border-strong)}.grid-overlay{z-index:var(--z-overlay);pointer-events:none;opacity:0;transition:opacity var(--duration-base) var(--ease-out-quint);position:fixed;inset:0}[data-grid-overlay=on] .grid-overlay{opacity:1}.grid-overlay-inner{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));gap:var(--grid-gap);block-size:100%;max-inline-size:var(--container-max);padding-inline:var(--gutter);margin-inline:auto;display:grid}.grid-overlay-inner span{background-color:color-mix(in oklab, var(--color-accent) 8%, transparent)}}@layer components{.btn{--btn-pad-block:.75rem;--btn-pad-inline:1.5rem;--btn-font-size:var(--text-sm);justify-content:center;align-items:center;gap:var(--space-2xs);padding-block:var(--btn-pad-block);padding-inline:var(--btn-pad-inline);font-family:var(--font-mono);font-size:var(--btn-font-size);font-weight:var(--weight-medium);letter-spacing:var(--track-wide);text-transform:uppercase;white-space:nowrap;border-radius:var(--radius-none);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-quint), border-color var(--duration-fast) var(--ease-out-quint), color var(--duration-fast) var(--ease-out-quint), transform var(--duration-fast) var(--ease-out-quint);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{cursor:not-allowed;opacity:.45}.btn-sm{--btn-pad-block:.5rem;--btn-pad-inline:1rem;--btn-font-size:var(--text-2xs)}.btn-lg{--btn-pad-block:1.05rem;--btn-pad-inline:2.25rem;--btn-font-size:var(--text-base)}.btn-primary{background-color:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.btn-primary:hover{background-color:color-mix(in oklab, var(--color-accent) 86%, var(--color-text-primary));border-color:color-mix(in oklab, var(--color-accent) 86%, var(--color-text-primary))}.btn-secondary{color:var(--color-text-primary);border-color:var(--color-border-strong);background-color:#0000}.btn-secondary:hover{border-color:var(--color-text-primary);background-color:color-mix(in oklab, var(--color-text-primary) 6%, transparent)}.btn-ghost{color:var(--color-text-secondary);padding-inline:var(--space-2xs);background-color:#0000;border-color:#0000}.btn-ghost:hover{color:var(--color-text-primary)}.link{color:inherit;padding-block-end:.08em;text-decoration:none;position:relative}.link:after{content:"";block-size:1px;transform:scaleX(var(--underline-scale,1));transform-origin:0;transition:transform var(--duration-base) var(--ease-out-quint);background-color:currentColor;position:absolute;inset-block-end:0;inset-inline:0}.link:hover:after,.link:focus-visible:after{transform-origin:100%;--underline-scale:0}.link-accent{color:var(--color-accent)}.link-standalone{align-items:baseline;gap:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-accent);display:inline-flex}.link-standalone .arrow{transition:transform var(--duration-base) var(--ease-out-quint)}.link-standalone:hover .arrow{transform:translate(.35em)}.section-header{gap:var(--space-sm);flex-direction:column;margin-block-end:var(--space-2xl);display:flex}.section-header .index{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--color-accent)}.tag{align-items:center;gap:var(--space-3xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--color-text-secondary);border:1px solid var(--color-border-hairline);padding-block:.3rem;padding-inline:.6rem;display:inline-flex}.tag-accent{color:var(--color-accent);border-color:color-mix(in oklab, var(--color-accent) 38%, transparent)}.tag-status{color:var(--color-status-positive);border-color:color-mix(in oklab, var(--color-status-positive) 38%, transparent)}.tag-status:before{content:"";border-radius:var(--radius-full);background-color:currentColor;block-size:.4em;inline-size:.4em}.card{gap:var(--space-sm);border-block-start:1px solid var(--color-border-strong);transition:border-color var(--duration-base) var(--ease-out-quint);flex-direction:column;padding-block-start:var(--space-md);display:flex}.card:hover{border-block-start-color:var(--color-accent)}.card-index{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--track-eyebrow);color:var(--color-text-muted)}.card-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--track-snug)}.card-placeholder .card-title{color:var(--color-text-muted)}.pullquote{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-display-mid);line-height:var(--leading-snug);letter-spacing:var(--track-snug);color:var(--color-accent);text-wrap:balance;max-inline-size:22ch}.experience{gap:var(--space-md);padding-block:var(--space-md);border-block-start:1px solid var(--color-border-hairline);grid-template-columns:minmax(6rem,10rem) 1fr;display:grid}.experience-period{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-wide);color:var(--color-text-muted);padding-block-start:.35em}.experience-role{font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--track-snug)}.experience-org{color:var(--color-text-secondary)}@media (width<=40rem){.experience{gap:var(--space-2xs);grid-template-columns:1fr}}.figure{gap:var(--space-2xs);flex-direction:column;display:flex}.figure figcaption{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--track-wide);color:var(--color-text-muted)}.marquee{gap:var(--space-xl);user-select:none;display:flex;overflow:hidden}.marquee-track{gap:var(--space-xl);flex:none;min-inline-size:100%;animation:28s linear infinite marquee-scroll;display:flex}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translateX(calc(-100% - var(--space-xl)))}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee{overflow-x:auto}}}@layer utilities{[hidden]{display:none!important}}@font-face{font-family:Boska;src:url(/fonts/boska-variable.woff2)format("woff2-variations");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/switzer-variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Tabular;src:url(/fonts/tabular-variable.woff2)format("woff2-variations");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Boska Fallback;src:local(Georgia),local(Times New Roman);size-adjust:88.95%;ascent-override:107.93%;descent-override:28.11%;line-gap-override:10.12%}@font-face{font-family:Switzer Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);size-adjust:100.18%;ascent-override:97.82%;descent-override:24.95%;line-gap-override:8.98%}@font-face{font-family:Tabular Fallback;src:local(Consolas),local(Menlo),local(DejaVu Sans Mono);size-adjust:109.13%;ascent-override:94.38%;descent-override:21.08%;line-gap-override:9.16%}
