:root{color-scheme:dark light;--bg: #07090d;--bg-alt: #0b0f15;--card: #16181c;--elev: #11161d;--ink: #eef2f7;--muted: #b4bdca;--faint: #9aa5b5;--accent: #5eead4;--accent-ink: #04211e;--accent-soft: color-mix(in oklab, #5eead4 14%, transparent);--accent-2: #a5b4fc;--warm: #fcd34d;--focus: #fcd34d;--live: #34d399;--line: rgb(255 255 255 / .1);--line-strong: #5b6678;--glass-1-bg: rgb(255 255 255 / .06);--glass-2-bg: rgb(255 255 255 / .09);--glass-3-bg: rgb(11 15 21 / .72);--glass-edge: rgb(255 255 255 / .16);--glass-edge-dim: rgb(255 255 255 / .05);--glass-hi: rgb(255 255 255 / .1);--glass-shadow: 0 24px 60px -24px rgb(0 0 0 / .7), 0 2px 6px rgb(0 0 0 / .4);--aur-1: oklch(.62 .12 185 / .38);--aur-2: oklch(.45 .18 275 / .42);--aur-3: oklch(.7 .12 75 / .16);--grain-opacity: .04;--c0a: #5eead4;--c0b: #a5b4fc;--c1a: #7dd3fc;--c1b: #c4b5fd;--c2a: #c4b5fd;--c2b: #f0abfc;--c3a: #fcd34d;--c3b: #fdba74;--c4a: #fb923c;--c4b: #fcd34d;--c5a: #86efac;--c5b: #5eead4;--c6a: #f9a8d4;--c6b: #c4b5fd;--aur-s: 45%;--aur-base: #000;--aur-a: 55%;--logo-tone: #fff;--logo-pct: 62%;--logo-base: #0b0f15;--display: "Instrument Serif", "Iowan Old Style", Georgia, serif;--sans: "Geist Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--t-fast: .14s;--t-med: .26s;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--r-pill: 999px;--gutter: clamp(1rem, 4vw, 2rem);--fs-hero: clamp(3.25rem, 1.6rem + 7.4vw, 7.5rem);--fs-h2: clamp(2.5rem, 1.5rem + 4.2vw, 5rem);--fs-h3: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);--fs-lede: clamp(1.125rem, 1.02rem + .5vw, 1.375rem);--fs-body: 1.0625rem;--fs-small: .9375rem;--fs-label: .8125rem}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light;--bg: #f4f6f9;--bg-alt: #eaeef3;--card: #ffffff;--elev: #ffffff;--ink: #0b1118;--muted: #3b4655;--faint: #566273;--accent: #0b6b66;--accent-ink: #ffffff;--accent-soft: color-mix(in oklab, #0b6b66 10%, transparent);--accent-2: #4338ca;--warm: #8a5a00;--focus: #1d4ed8;--live: #0f7a4d;--line: rgb(11 17 24 / .1);--line-strong: #6b7686;--glass-1-bg: rgb(255 255 255 / .62);--glass-2-bg: rgb(255 255 255 / .78);--glass-3-bg: rgb(255 255 255 / .88);--glass-edge: rgb(255 255 255 / .9);--glass-edge-dim: rgb(11 17 24 / .08);--glass-hi: rgb(255 255 255 / .9);--glass-shadow: 0 20px 50px -26px rgb(20 40 70 / .35), 0 1px 3px rgb(20 40 70 / .12);--aur-1: oklch(.88 .09 185 / .55);--aur-2: oklch(.82 .09 275 / .5);--aur-3: oklch(.92 .08 85 / .35);--grain-opacity: .045;--c0a: #0b6b66;--c0b: #4338ca;--c1a: #075985;--c1b: #6d28d9;--c2a: #6d28d9;--c2b: #86198f;--c3a: #92400e;--c3b: #9a3412;--c4a: #9a3412;--c4b: #7c2d12;--c5a: #166534;--c5b: #0b6b66;--c6a: #9d174d;--c6b: #6d28d9;--aur-s: 20%;--aur-base: #fff;--aur-a: 60%;--logo-tone: #000;--logo-pct: 80%;--logo-base: #fff}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f4f6f9;--bg-alt: #eaeef3;--card: #ffffff;--elev: #ffffff;--ink: #0b1118;--muted: #3b4655;--faint: #566273;--accent: #0b6b66;--accent-ink: #ffffff;--accent-soft: color-mix(in oklab, #0b6b66 10%, transparent);--accent-2: #4338ca;--warm: #8a5a00;--focus: #1d4ed8;--live: #0f7a4d;--line: rgb(11 17 24 / .1);--line-strong: #6b7686;--glass-1-bg: rgb(255 255 255 / .62);--glass-2-bg: rgb(255 255 255 / .78);--glass-3-bg: rgb(255 255 255 / .88);--glass-edge: rgb(255 255 255 / .9);--glass-edge-dim: rgb(11 17 24 / .08);--glass-hi: rgb(255 255 255 / .9);--glass-shadow: 0 20px 50px -26px rgb(20 40 70 / .35), 0 1px 3px rgb(20 40 70 / .12);--aur-1: oklch(.88 .09 185 / .55);--aur-2: oklch(.82 .09 275 / .5);--aur-3: oklch(.92 .08 85 / .35);--grain-opacity: .045;--c0a: #0b6b66;--c0b: #4338ca;--c1a: #075985;--c1b: #6d28d9;--c2a: #6d28d9;--c2b: #86198f;--c3a: #92400e;--c3b: #9a3412;--c4a: #9a3412;--c4b: #7c2d12;--c5a: #166534;--c5b: #0b6b66;--c6a: #9d174d;--c6b: #6d28d9;--aur-s: 20%;--aur-base: #fff;--aur-a: 60%;--logo-tone: #000;--logo-pct: 80%;--logo-base: #fff}}:root[data-contrast]{--bg: #000;--bg-alt: #000;--card: #000;--elev: #000;--ink: #fff;--muted: #f2f2f2;--faint: #e0e0e0;--accent: #7ff7e4;--accent-ink: #000;--accent-soft: #0d3a35;--accent-2: #c7d2fe;--warm: #ffe066;--focus: #ffe066;--live: #5af0a8;--line: #b0b0b0;--line-strong: #d0d0d0;--c0a: #7ff7e4;--c0b: #c7d2fe;--c1a: #7ff7e4;--c1b: #c7d2fe;--c2a: #7ff7e4;--c2b: #c7d2fe;--c3a: #7ff7e4;--c3b: #c7d2fe;--c4a: #7ff7e4;--c4b: #c7d2fe;--c5a: #7ff7e4;--c5b: #c7d2fe;--c6a: #7ff7e4;--c6b: #c7d2fe;--glass-1-bg: #000;--glass-2-bg: #000;--glass-3-bg: #000;--glass-edge: #d0d0d0;--glass-edge-dim: #d0d0d0;--glass-hi: transparent;--glass-shadow: none;--grain-opacity: 0}:root[data-theme=light][data-contrast]{--bg: #fff;--bg-alt: #fff;--card: #fff;--elev: #fff;--ink: #000;--muted: #111;--faint: #2a2a2a;--accent: #00504b;--accent-ink: #fff;--accent-soft: #d8efec;--accent-2: #2b2392;--warm: #6b3f00;--focus: #0033cc;--live: #0a5c3a;--line: #444;--line-strong: #333;--c0a: #00504b;--c0b: #2b2392;--c1a: #00504b;--c1b: #2b2392;--c2a: #00504b;--c2b: #2b2392;--c3a: #00504b;--c3b: #2b2392;--c4a: #00504b;--c4b: #2b2392;--c5a: #00504b;--c5b: #2b2392;--c6a: #00504b;--c6b: #2b2392;--glass-1-bg: #fff;--glass-2-bg: #fff;--glass-3-bg: #fff}@media(prefers-color-scheme:light){:root:not([data-theme=dark])[data-contrast]{--bg: #fff;--bg-alt: #fff;--card: #fff;--elev: #fff;--ink: #000;--muted: #111;--faint: #2a2a2a;--accent: #00504b;--accent-ink: #fff;--accent-soft: #d8efec;--accent-2: #2b2392;--warm: #6b3f00;--focus: #0033cc;--live: #0a5c3a;--line: #444;--line-strong: #333;--c0a: #00504b;--c0b: #2b2392;--c1a: #00504b;--c1b: #2b2392;--c2a: #00504b;--c2b: #2b2392;--c3a: #00504b;--c3b: #2b2392;--c4a: #00504b;--c4b: #2b2392;--c5a: #00504b;--c5b: #2b2392;--c6a: #00504b;--c6b: #2b2392;--glass-1-bg: #fff;--glass-2-bg: #fff;--glass-3-bg: #fff}}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:5.5rem;scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--accent) 60%,var(--bg)) transparent;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.65;position:relative;isolation:isolate;overflow-x:clip;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5{margin:0 0 .5rem;font-weight:400;text-wrap:balance;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}h2,h3{font-family:var(--display);letter-spacing:.012em}h2{font-size:clamp(1.5rem,.5rem + 7cqi,5rem);line-height:.98}h3{font-size:var(--fs-h3);line-height:1.05}h2 em,h3 em,.hero-line em{font-style:italic;color:var(--cb)}p{margin:0 0 1rem;text-wrap:pretty}ul.plain,ol.plain{list-style:none;margin:0;padding:0}a{color:var(--ca);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}strong{font-weight:600}.wrap{max-width:72rem;margin:0 auto;padding:0 var(--gutter);container:page / inline-size}:where(.hero-grid,.spot-top,.spot-cols,.about-grid,.project-grid,.cap-grid,.skill-grid,.edu-grid,.roadmap,.principles,.steps,.stats,.tl-card,.timeline)>*{min-width:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lede{color:var(--muted);font-size:var(--fs-lede);line-height:1.5;max-width:46rem}.prose{max-width:62ch}.small{color:var(--muted);font-size:var(--fs-small);max-width:40rem}.label,.mini-h,.kicker-label{font-family:var(--mono);font-size:var(--fs-label);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-variant-numeric:tabular-nums}.mini-h{color:var(--muted);margin:2rem 0 .6rem}.sub-h{margin-top:3rem;font-size:var(--fs-h3)}:root,[data-chapter=top]{--ca: var(--c0a);--cb: var(--c0b)}[data-chapter=work]{--ca: var(--c1a);--cb: var(--c1b)}[data-chapter=about]{--ca: var(--c2a);--cb: var(--c2b)}[data-chapter=capabilities]{--ca: var(--c3a);--cb: var(--c3b)}[data-chapter=experience]{--ca: var(--c4a);--cb: var(--c4b)}[data-chapter=education]{--ca: var(--c5a);--cb: var(--c5b)}[data-chapter=contact]{--ca: var(--c6a);--cb: var(--c6b)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px;box-shadow:0 0 0 5px color-mix(in oklab,var(--focus) 25%,transparent)}.skip{position:fixed;left:1rem;top:1rem;z-index:100;padding:.6rem 1rem;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none;transform:translateY(-300%)}.skip:focus{transform:none}@property --ta1{syntax: "<color>"; inherits: false; initial-value: transparent;}@property --ta2{syntax: "<color>"; inherits: false; initial-value: transparent;}.aurora{--ta1: color-mix(in oklab, color-mix(in oklab, var(--ca) var(--aur-s), var(--aur-base)) var(--aur-a), transparent);--ta2: color-mix(in oklab, color-mix(in oklab, var(--cb) var(--aur-s), var(--aur-base)) var(--aur-a), transparent);position:fixed;top:-20vmax;right:-20vmax;bottom:-20vmax;left:-20vmax;z-index:-2;pointer-events:none;opacity:1;background:radial-gradient(40vmax 36vmax at 18% 12%,var(--ta1),transparent 70%),radial-gradient(46vmax 40vmax at 86% 28%,var(--ta2),transparent 70%),radial-gradient(34vmax 30vmax at 52% 92%,var(--aur-3),transparent 70%);transition:opacity 1.2s ease,--ta1 1.4s ease,--ta2 1.4s ease}.aurora[data-chapter=education]{opacity:.6}.aurora[data-chapter=experience]{opacity:.9}@media(prefers-reduced-motion:no-preference)and (min-width:40.01rem){:root:not([data-calm]) .aurora{animation:drift 48s var(--ease-inout) infinite alternate paused;will-change:transform}:root:not([data-calm]) .aurora.run{animation-play-state:running}}@keyframes drift{to{transform:translate3d(-4vmax,3vmax,0) rotate(6deg) scale(1.06)}}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.glass{position:relative;border-radius:var(--r-lg);background:var(--glass-1-bg);border:1px solid var(--glass-edge-dim);box-shadow:inset 0 1px 0 var(--glass-hi),var(--glass-shadow)}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(145deg,var(--glass-edge),transparent 38%,transparent 70%,var(--glass-edge-dim));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.glass-2{background:var(--glass-2-bg)}.glass-3{background:var(--glass-3-bg);border-radius:var(--r-md)}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-3{-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}@media(max-width:40rem){.glass-3{-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%)}}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.glass-3{background:var(--elev)}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.glass:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%),color-mix(in oklab,var(--ca) 20%,transparent),transparent 60%);transition:opacity var(--t-med) ease}.glass:hover:after{opacity:1}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.glass{background:var(--card);border-color:var(--line-strong)}.glass-3{background:var(--elev);-webkit-backdrop-filter:none;backdrop-filter:none}.aurora,body:after{display:none}}@media(forced-colors:active){.glass,.glass-3{background:Canvas;border-color:CanvasText;-webkit-backdrop-filter:none;backdrop-filter:none}.aurora,body:after{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.65rem 1.3rem;border-radius:var(--r-pill);font:600 .9375rem/1.2 var(--sans);letter-spacing:.01em;color:var(--ink);text-decoration:none;cursor:pointer;background:var(--glass-1-bg);border:1px solid var(--line-strong);transition:background var(--t-fast) ease,transform 90ms ease,border-color var(--t-fast) ease}.btn:hover{background:var(--glass-2-bg);border-color:var(--accent);text-decoration:none}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(110deg,var(--accent) 0 40%,color-mix(in oklab,var(--accent) 60%,white) 50%,var(--accent) 60% 100%) 100% 0 / 250% 100%;color:var(--accent-ink);border-color:transparent;transition:background-position .6s var(--ease-out),box-shadow var(--t-med) var(--ease-out),translate var(--t-med) var(--ease-out),transform 90ms ease}.btn.primary:hover{background-position:0 0;translate:0 -1px;box-shadow:0 8px 24px -8px var(--accent)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-calm]{scroll-behavior:auto;--grain-opacity: 0;--glass-shadow: 0 1px 2px rgb(0 0 0 / .25)}:root[data-calm] *,:root[data-calm] *:before,:root[data-calm] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}:root[data-calm] .aurora,:root[data-calm] body:after{display:none}:root[data-calm] .glass,:root[data-calm] .glass-3{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--line-strong)}:root[data-calm] .glass-3{background:var(--elev)}:root[data-calm] .glass:before,:root[data-calm] .glass:after{display:none}.nav{position:fixed;z-index:40;top:.75rem;left:50%;translate:-50% 0;width:min(46rem,calc(100% - 1.5rem));container:nav / inline-size;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .4rem .35rem 1rem;border-radius:var(--r-pill);border:1px solid var(--glass-edge-dim);box-shadow:inset 0 1px 0 var(--glass-hi),var(--glass-shadow)}.brand{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .6rem;margin-left:-.6rem;font:400 1.6rem/1 var(--display);color:var(--ink);text-decoration:none;letter-spacing:.01em;border-radius:var(--r-pill)}.nav-links{display:none;gap:.15rem;align-items:center}@container nav (min-width: 44rem){.nav-links{display:flex}}@container nav (max-width: 19rem){.nav .nav-cta{display:none}}.nav-links a{display:block;padding:.5rem .8rem;border-radius:var(--r-pill);color:var(--muted);text-decoration:none;font-size:var(--fs-small);font-weight:500;transition:background var(--t-med) var(--ease-out),color var(--t-fast)}.nav-links a:hover{color:var(--ink);text-decoration:none}.nav-links a[aria-current]{background:var(--glass-2-bg);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.nav-tools{display:flex;align-items:center;gap:.5rem}.nav-cta{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1.1rem;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:var(--fs-small);text-decoration:none}.nav-cta:hover{filter:brightness(1.08);text-decoration:none}.theme-toggle,.icon-btn{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;padding:0;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast),rotate var(--t-med) var(--ease-spring)}.theme-toggle:hover,.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle:hover{rotate:20deg}.theme-toggle svg,.icon-btn svg{width:1.3rem;height:1.3rem}.rail{position:fixed;z-index:35;top:50%;translate:0 -50%;display:none;right:max(.75rem,calc(50vw - 34.75rem))}@media(min-width:64rem){.rail{display:block}.wrap{padding-right:3.5rem;padding-left:3rem}}@media(min-width:90rem){.wrap{padding-right:14rem;max-width:82.5rem}.rail{right:max(.75rem,calc(50vw - 40rem))}}.rail-main{position:relative}.rail ol{display:grid;gap:1.1rem;position:relative}.rail a{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;color:var(--faint);font:500 var(--fs-label)/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;min-height:1.4rem}.rail .dot{width:9px;height:9px;border-radius:50%;background:var(--bg);border:1.5px solid var(--line-strong);flex:none;margin-right:0rem;position:relative;transition:transform var(--t-med) var(--ease-spring),background var(--t-med),border-color var(--t-med),box-shadow var(--t-med)}.rail a:after{content:"";position:absolute;right:-6px;width:22px;height:28px}.rail a{position:relative}.rail-label{opacity:0;transform:translate(8px);padding:.4rem .7rem;border-radius:var(--r-pill);background:var(--glass-3-bg);border:1px solid var(--line);white-space:nowrap;transition:opacity var(--t-fast),transform var(--t-med) var(--ease-out)}.rail a:hover .rail-label,.rail a:focus-visible .rail-label{opacity:1;transform:none}@media(min-width:90rem){.rail a[aria-current] .rail-label{opacity:1;transform:none}}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.rail a:hover .rail-label,.rail a:focus-visible .rail-label{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(min-width:90rem){.rail a[aria-current] .rail-label{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}}.rail a[aria-current]{color:var(--ink)}.rail a[aria-current] .dot{background:var(--ca);border-color:var(--ca);transform:scale(1.4);box-shadow:0 0 0 4px color-mix(in oklab,var(--ca) 18%,transparent),0 0 14px var(--ca)}.rail a:hover .dot,.rail a:focus-visible .dot{border-color:var(--ca);transform:scale(1.35)}.rail .rail-n{color:var(--ca)}.rail-path{position:absolute;right:3.5px;top:.7rem;bottom:.7rem;width:2px;pointer-events:none}.rail-path i{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:2px}.rail-path .track{background:var(--line-strong);opacity:.4}.rail-path .fill{background:var(--ca);transform-origin:top;transform:scaleY(var(--p, 0))}.rail-count{display:none;margin:1.25rem 0 0;text-align:right;font:500 var(--fs-label)/1 var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;letter-spacing:.08em}@media(min-width:90rem){.rail-count{display:block}}.rail-count b{color:var(--ca);font:400 1.5rem/1 var(--display);letter-spacing:0}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: scroll()){:root:not([data-calm]) .rail-path .fill{transform:scaleY(0);animation:railfill linear both;animation-timeline:scroll(root block)}@keyframes railfill{to{transform:scaleY(1)}}}}.pill-wrap{position:fixed;z-index:36;left:50%;bottom:max(.75rem,env(safe-area-inset-bottom));translate:-50% 0;transition:opacity var(--t-med) ease,transform var(--t-med) var(--ease-out)}.pill-wrap.hidden{opacity:0;transform:translateY(1.5rem);pointer-events:none}.pill-wrap.hidden:focus-within{opacity:1;transform:none}html:not(.js) .pill-wrap{display:none}html:not(.js) .nav{flex-wrap:wrap;border-radius:var(--r-lg);padding-bottom:.5rem}html:not(.js) .nav-links{display:flex;order:3;width:100%;flex-wrap:wrap;justify-content:center}@media(min-width:64rem){.pill-wrap,.sheet{display:none}}.pill{display:flex;align-items:center;gap:.7rem;min-height:3rem;padding:.35rem .95rem .35rem .5rem;border-radius:var(--r-pill);color:var(--ink);font:500 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-variant-numeric:tabular-nums}.pill:active{transform:scale(.97)}.pill .ring{width:2rem;height:2rem;rotate:-90deg;flex:none}.ring circle{fill:none;stroke-width:2.5}.r-track{stroke:var(--line-strong);opacity:.45}.r-fill{stroke:var(--ca);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p, 0))}.pill-text{white-space:nowrap}.pill-text b{font:400 1.15rem/1 var(--display);letter-spacing:0}.pill-name{color:var(--muted);margin-left:.25rem}.chev{width:1.1rem;height:1.1rem;color:var(--muted)}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: scroll()){:root:not([data-calm]) .r-fill{stroke-dashoffset:1;animation:ringfill linear both;animation-timeline:scroll(root block)}@keyframes ringfill{to{stroke-dashoffset:0}}}}.sheet{margin:auto auto max(.75rem,env(safe-area-inset-bottom));width:min(24rem,calc(100% - 1.5rem));padding:0;color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--glass-shadow)}.sheet::backdrop{background:#03050880}.sheet-body{padding:1rem 1rem 1.25rem}.sheet-head{display:flex;align-items:center;justify-content:space-between;color:var(--faint);padding:0 .5rem}.sheet ol{margin-top:.5rem}.sheet a{display:flex;gap:1rem;align-items:baseline;padding:.8rem .6rem;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font:400 1.6rem/1.1 var(--display);border-top:1px solid var(--line)}.sheet li:first-child a{border-top:0}.sheet a[aria-current]{color:var(--ca);background:color-mix(in oklab,var(--ca) 14%,transparent)}.sheet .rail-n{font:500 var(--fs-label)/1 var(--mono);letter-spacing:.12em;color:var(--faint)}@media(prefers-reduced-motion:no-preference){.sheet[open]{animation:sheet-up .26s var(--ease-out)}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}}.tech-dialog{border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:0;color:var(--ink);width:min(92vw,30rem);box-shadow:var(--glass-shadow);background:var(--elev)}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.tech-dialog{background:var(--glass-3-bg)}}.tech-dialog::backdrop{background:#0305088c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(prefers-reduced-motion:no-preference){.tech-dialog[open]{animation:pop .26s var(--ease-spring)}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.96)}}}.td-body{padding:1.75rem;position:relative}.td-head{display:flex;align-items:center;gap:.85rem;margin-bottom:.75rem}.td-head svg{width:2.6rem;height:2.6rem;flex:none}.td-head h3{margin:0;font-size:2.25rem}.td-body ul{padding-left:1.2rem;margin:0 0 1rem}.td-close{position:absolute;top:.6rem;right:.6rem;width:2.75rem;height:2.75rem;font-size:1.8rem;line-height:1;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:50%}.sheet-head .td-close{position:static}.td-close:hover{color:var(--ink);background:var(--glass-1-bg)}.td-link{margin:1.25rem 0 0}.footer{padding:2.5rem 0 3rem;color:var(--muted);font-size:var(--fs-small);border-top:1px solid var(--line)}.footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.footer p{margin:0}@media(max-width:63.99rem){.footer{padding-bottom:6rem}}html:not(.js) .theme-toggle{display:none}html:not(.js) .hero{padding-top:9rem}html:not(.js) .a11y-btn{display:none}.section{padding:clamp(4.5rem,9vw,8rem) 0;border-top:1px solid var(--line);position:relative}.section-head{margin-bottom:clamp(2rem,4vw,3.5rem);max-width:56rem}.kicker-label{color:var(--accent);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}.kicker-label:after{content:"";width:3rem;height:1px;background:currentColor;opacity:.6}.k-n{color:var(--faint)}.section h2{margin-bottom:1rem}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:6.5rem 0 4rem}.hero>.wrap{width:100%}.hero-grid{position:relative;display:grid;gap:3rem;align-items:center;width:100%}@container page (min-width: 56rem){.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4rem}}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--muted);margin:0 0 1.5rem;letter-spacing:.1em}.pulse{position:relative;width:.55rem;height:.55rem;border-radius:50%;background:var(--live);flex:none}.pulse:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--live);opacity:0;animation:pulse 2.4s ease-out 4}@keyframes pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(3);opacity:0}}.hero-copy{container:copy / inline-size}.hero-line{font:400 clamp(1.3rem,20cqi,5rem)/1.02 var(--display);letter-spacing:-.02em;margin:0 0 1.25rem;text-wrap:balance}.hero-line .w{display:inline-block;padding-bottom:.14em;margin-bottom:-.14em}.name{font:600 clamp(1.15rem,1rem + .6vw,1.5rem)/1.2 var(--sans);letter-spacing:-.01em;margin:0}.role{color:var(--accent);margin:.4rem 0 1.5rem}.value{font-size:var(--fs-lede);line-height:1.5;max-width:34rem;color:var(--muted)}.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 1.25rem}.avail{color:var(--faint);font-size:var(--fs-small);margin:1.25rem 0 0}.board{container:board / inline-size;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem clamp(.4rem,1.2vw,1rem);padding:.25rem 0 1.8rem}.tile{translate:0 var(--oy, 0px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.25rem,2.2cqi,.55rem);min-width:0;aspect-ratio:1;padding:.25rem;border-radius:clamp(.75rem,4.5cqi,1.5rem);text-align:center;color:var(--ink);text-decoration:none;font:500 clamp(.56rem,2.9cqi,.75rem)/1.2 var(--mono);letter-spacing:0;transition:transform var(--t-med) var(--ease-out),box-shadow var(--t-med) var(--ease-out);box-shadow:inset 0 1px 0 var(--glass-hi),0 8px 16px -10px #00000080}.tile span{max-width:100%;overflow-wrap:normal}.tile .ico.lg{width:clamp(2rem,12.5cqi,3.4rem);height:clamp(2rem,12.5cqi,3.4rem);border-radius:clamp(.6rem,3.4cqi,1rem)}.tile .ico.lg svg{width:62%;height:62%}.tile:nth-child(4n+2){--oy: 1.1rem}.tile:nth-child(4n+3){--oy: -.4rem}.tile:nth-child(4n+4){--oy: .7rem}.tile:hover,.tile:focus-visible{transform:translateY(-5px);border-color:color-mix(in oklab,var(--ca) 60%,transparent);box-shadow:inset 0 1px 0 var(--glass-hi),0 16px 34px -14px color-mix(in oklab,var(--ca) 70%,transparent);text-decoration:none}.scroll-cue{display:none;position:absolute;left:50%;bottom:1.25rem;width:2.75rem;height:3.5rem;translate:-50% 0;justify-content:center}.scroll-cue span{width:1px;height:48px;background:linear-gradient(var(--faint),transparent);position:relative}.scroll-cue span:after{content:"";position:absolute;left:-2px;top:0;width:5px;height:5px;border-radius:50%;background:var(--accent)}@media(min-width:60rem)and (min-height:44rem){.scroll-cue{display:flex}}.social{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0 0 .25rem}.social a{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:2.75rem;min-height:2.75rem;padding:.55rem;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--glass-1-bg);color:var(--ink);text-decoration:none;transition:transform var(--t-fast),background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.social a:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);transform:translateY(-2px);text-decoration:none}.social svg{width:1.4rem;height:1.4rem}.social .cut{fill:var(--bg)}.social a:hover .cut{fill:var(--accent)}.social-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.social.lg a{padding:.7rem 1.2rem .7rem 1rem;font-weight:600}.social.lg .social-label{position:static;width:auto;height:auto;clip:auto;overflow:visible}.badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent-soft);color:var(--ink);border-radius:var(--r-pill);padding:.15rem .75rem;font:500 var(--fs-label)/1.6 var(--mono);letter-spacing:.04em}.status{color:var(--muted);font-size:var(--fs-small)}.dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--live)}.spotlight{padding:clamp(1.25rem,4vw,3rem);margin-bottom:1.5rem}.spot-top{display:grid;gap:2.5rem;align-items:center}@container page (min-width: 50rem){.spot-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}.spot-top>:first-child{container:spot / inline-size}.kicker{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin:0 0 1rem}.spotlight h3#paperiser-title{font-size:clamp(1.4rem,17cqi,6rem);line-height:.95;margin:0 0 .5rem;letter-spacing:-.02em}.spot-tag{font:400 italic clamp(1.5rem,1.2rem + 1.2vw,2rem)/1.15 var(--display);color:var(--accent-2);margin:0 0 1rem}.spot-sum{max-width:36rem;color:var(--muted)}.links{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0}.flow-art{width:100%;height:auto;max-width:26rem;justify-self:center}.a-doc,.a-sheet{fill:color-mix(in oklab,var(--ink) 5%,transparent);stroke:var(--line-strong);stroke-width:2}.a-sheet{stroke:var(--accent)}.a-line{fill:var(--line-strong);opacity:.6}.a-grid{stroke:var(--line-strong);opacity:.6;stroke-width:1.5}.a-arrow{stroke:var(--muted);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 7;animation:dash 1.2s linear 6}@keyframes dash{to{stroke-dashoffset:-9}}.a-check{fill:var(--accent)}.a-tick{fill:none;stroke:var(--accent-ink);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.a-txt{fill:var(--muted);font-family:var(--mono);font-size:13px}.illus{text-transform:none;letter-spacing:.02em;opacity:.85}.spot-cols{display:grid;gap:0 3rem;margin-top:2.5rem;border-top:1px solid var(--line);padding-top:.5rem}@container page (min-width: 48rem){.spot-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.spot-cols ul,.spotlight details ul{padding-left:1.2rem;margin:0}.spot-cols li,.spotlight details li{margin-bottom:.6rem}.steps{list-style:none;display:grid;gap:.75rem;padding:0;margin:0;grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr))}.steps li{display:grid;align-content:start;gap:.35rem;padding:1.1rem;background:color-mix(in oklab,var(--ink) 5%,transparent);border:1px solid var(--line);border-radius:var(--r-md)}.step-n{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:600 .875rem/1 var(--mono);margin-bottom:.25rem}.steps span:last-child{color:var(--muted);font-size:var(--fs-small)}.arch-wrap{overflow-x:auto;border-radius:var(--r-md)}.arch{width:100%;min-width:36rem;height:auto;margin:.25rem 0 0;display:block}.arch .box{fill:color-mix(in oklab,var(--ink) 5%,transparent);stroke:var(--line-strong);stroke-width:2}.arch .box.hl{stroke:var(--accent)}.arch .t{fill:var(--ink);font-family:var(--sans);font-size:13px;font-weight:600;text-anchor:middle}.arch .s{fill:var(--muted);font-family:var(--mono);font-size:10.5px;text-anchor:middle}.arch .ln{stroke:var(--muted);stroke-width:2;fill:none;marker-end:url(#arr)}.arch .tagline{fill:var(--accent);font-family:var(--mono);font-size:10.5px;text-anchor:middle}details{margin:1.5rem 0 0;border-top:1px solid var(--line);padding-top:.5rem}summary{cursor:pointer;font-weight:600;padding:.5rem 0;min-height:2.75rem;display:flex;align-items:center}.vision-h{margin-top:3rem}.vision{font:400 clamp(1.5rem,1.2rem + 1.4vw,2.25rem)/1.2 var(--display);max-width:52rem;border-left:2px solid var(--accent);padding-left:1.25rem}.principles{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr))}.principles li{display:grid;gap:.25rem;padding:1.1rem;border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--line)}.principles span{font-size:var(--fs-small);color:var(--muted)}.roadmap{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:1rem}.roadmap>li{padding:1.1rem 1.25rem;border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:var(--r-md);background:color-mix(in oklab,var(--ink) 4%,transparent)}.roadmap>li.done{border-left-color:var(--live)}.roadmap>li.next{border-left-color:var(--warm)}.roadmap h5{font:400 1.5rem/1.1 var(--display);margin:.3rem 0 .6rem}.roadmap ul{margin:0;padding-left:1.2rem}.roadmap ul li{margin-bottom:.3rem;font-size:var(--fs-small)}.phase{font:500 var(--fs-label)/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}@container page (min-width: 52rem){.roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap>li:first-child{grid-column:1 / -1}}.project-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:1.5rem}@container page (min-width: 46rem){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project{padding:clamp(1.25rem,3vw,2rem);transition:translate var(--t-med) var(--ease-out);display:flex;flex-direction:column}.project:hover,.cap:hover,.skill:hover,.tl-card:hover{translate:0 -2px}.project .meta{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin-bottom:1rem}.project h3{margin-bottom:.75rem}.project>p{color:var(--muted)}.story{margin:0 0 1rem;display:grid;gap:.75rem}.story dt{font:500 var(--fs-label)/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.25rem}.story dd{margin:0}.project .tags{margin-top:auto;padding-top:.5rem}.project .links{margin-top:1rem}.project details ul{padding-left:1.2rem}.project details li{margin-bottom:.5rem}.about-grid{display:grid;gap:3rem}@container page (min-width: 56rem){.about-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:5rem}.about-side{position:sticky;top:7rem;align-self:start}}.about-text p{color:var(--muted);font-size:1.125rem}.about-text p:first-child{color:var(--ink);font-size:var(--fs-lede)}.note{padding:1.5rem;border-radius:var(--r-md)}.note h3{color:var(--accent);margin-bottom:.6rem;font-size:var(--fs-label);line-height:1}.note p{margin:0;color:var(--muted)}.label,.skill h3,.note h3,.edu h3{font-family:var(--mono)}.cap-grid{display:grid;gap:1rem;grid-template-columns:1fr}@container page (min-width: 36rem){.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container page (min-width: 58rem){.cap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cap:first-child{grid-column:span 2}}.cap{padding:1.75rem;transition:translate var(--t-med) var(--ease-out)}.cap h3{margin-bottom:.75rem}.cap p{color:var(--muted);margin:0}.skill-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));margin-top:1.5rem}.skill{padding:1.5rem;transition:translate var(--t-med) var(--ease-out)}.skill h3{font-size:var(--fs-label);font-weight:500;text-transform:uppercase;letter-spacing:.12em;line-height:1.2;color:var(--accent);margin-bottom:0}.skill .tags{margin-top:.9rem}.marquee{overflow:hidden;margin-top:4rem;padding:1rem 0;border-block:1px solid var(--line);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;width:max-content}.marquee-set{display:flex;flex:none;gap:3rem;padding-right:3rem;font:500 var(--fs-label)/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--faint)}.marquee-set li{white-space:nowrap}.marquee-track+.marquee-track{margin-top:1rem}.marquee-track.rev{animation-direction:reverse}.marquee-set li:after{content:"/";margin-left:3rem;opacity:.5}@media(prefers-reduced-motion:no-preference){.marquee-track{animation:marquee 40s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}:root:not([data-active=capabilities]) .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}}@media(prefers-reduced-motion:reduce){.marquee{mask-image:none;-webkit-mask-image:none}.marquee-track{width:auto}.marquee-set{flex-wrap:wrap;row-gap:.75rem}.marquee-set[data-copy="1"]{display:none}}.timeline{--tl: 1.5rem;list-style:none;margin:0;padding:0 0 0 var(--tl);position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.timeline:before,.timeline:after{content:"";position:absolute;left:7px;top:.5rem;bottom:.5rem;width:2px;border-radius:2px}.timeline:before{background:var(--line-strong);opacity:.35}.timeline:after{background:var(--accent);transform-origin:top;opacity:.8}.timeline>li{position:relative}.node{position:absolute;left:calc(-1 * var(--tl));top:1.6rem;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 0 14px color-mix(in oklab,var(--accent) 60%,transparent)}@container page (min-width: 36rem){.timeline{--tl: 2rem}}.tl-card{padding:clamp(1.1rem,3vw,2rem);transition:translate var(--t-med) var(--ease-out)}@container page (min-width: 44rem){.tl-card{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:2rem}}.when{color:var(--muted);display:flex;align-items:center;gap:.6rem;align-self:start;padding-top:.4rem}.tl-card h3{margin-bottom:.25rem}.role-line{color:var(--accent);font-weight:500;margin:0 0 .75rem}.role-line .sub,.sub{color:var(--muted);font-weight:400;font-size:var(--fs-small)}.summary{color:var(--muted)}.tl-card ul:not(.tags){padding-left:1.2rem;margin:.5rem 0}.tl-card li{margin-bottom:.4rem}.tl-card .tags li{margin:0}.mono-mark{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:8px;background:var(--accent-soft);color:var(--accent);font:600 .8125rem/1 var(--mono);flex:none}.edu-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr))}.edu{padding:1.75rem}.edu h3{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:1rem;line-height:1.2}.edu ul{padding-left:1.2rem;margin:0}.edu li{margin-bottom:.5rem}#contact-title{font-size:clamp(2.4rem,19cqi,7.5rem);line-height:.92;letter-spacing:-.02em}.contact-main{margin:2rem 0 2.5rem}.mail{font:400 clamp(1.3rem,7.8cqi,4rem)/1.1 var(--display);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.mail span{background:linear-gradient(var(--ca),var(--ca)) 0 100% / 100% 1.5px no-repeat;padding-bottom:.1em;transition:background-size .32s var(--ease-out),color var(--t-fast)}.mail:hover span,.mail:focus-visible span{color:var(--ca);background-size:100% 3px}@media(hover:hover){.mail span{background-size:0 1.5px}.mail:hover span,.mail:focus-visible span{background-size:100% 1.5px}}.contact-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.9rem}#contact .small{margin-top:2rem;color:var(--faint)}@container page (max-width: 26rem){.spotlight{padding:.9rem}.roadmap>li{padding:.8rem .7rem .8rem .8rem}.roadmap ul,.spot-cols ul,.tl-card ul:not(.tags),.principles+* ul{padding-left:1.05rem}.steps li,.principles li{padding:.8rem}.tl-card,.project,.cap,.skill,.edu{padding:1rem}.vision{padding-left:.8rem}}@media(prefers-reduced-motion:no-preference){:root:not([data-calm]) .hero-line .ch{animation:ch-rise .8s var(--ease-out) backwards;animation-delay:calc(var(--j) * 22ms + .12s)}@keyframes ch-rise{0%{opacity:0;transform:translateY(.7em) rotate(5deg)}}:root:not([data-calm]) .hero-line em .ch{animation:ch-rise .8s var(--ease-out) backwards,glint 7s ease-in-out infinite;animation-delay:calc(var(--j) * 22ms + .12s),calc(1.8s + var(--j) * .15s)}@keyframes glint{0%,55%,to{color:var(--cb)}28%{color:var(--ca)}}:root:not([data-calm]) .name .nl{animation:nl-in .9s var(--ease-out) backwards;animation-delay:calc(.7s + var(--k) * 38ms)}@keyframes nl-in{0%{opacity:0;font-weight:200}}:root:not([data-calm]) .caret{animation:blink 1.05s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}:root:not([data-calm]) .scroll-cue span:after{animation:cue 2.2s var(--ease-inout) infinite}@keyframes cue{0%{transform:translateY(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(44px);opacity:0}}:root:not([data-calm]) .orb{will-change:transform}:root:not([data-calm]) .o1{animation:orb-a 30s ease-in-out infinite alternate}:root:not([data-calm]) .o2{animation:orb-b 24s ease-in-out infinite alternate}:root:not([data-calm]) .o3{animation:orb-a 34s ease-in-out infinite alternate-reverse}@keyframes orb-a{to{transform:translate3d(5rem,3rem,0) scale(1.12)}}@keyframes orb-b{to{transform:translate3d(-4rem,4.5rem,0) scale(.9)}}:root:not([data-calm]) .tile{animation:tile-in .65s var(--ease-spring) backwards,tile-float 6.5s ease-in-out infinite;animation-delay:calc(var(--i) * 70ms + .45s),calc(var(--i) * -.6s)}@keyframes tile-in{0%{opacity:0;transform:translateY(22px) scale(.78)}}@keyframes tile-float{50%{translate:0 calc(var(--oy, 0px) - 7px)}}:root:not([data-active=top]) .orb{animation-play-state:paused}:root:not([data-active=top]) .tile{animation-play-state:running,paused}:root:not([data-active=top]) .hero-line em .ch{animation-play-state:running,paused}@supports (animation-timeline: view()){:root:not([data-calm]) .reveal{--st: 0;animation:rise linear both;animation-timeline:view();animation-range:entry calc(var(--st) * 7%) entry calc(60% + var(--st) * 7%)}@keyframes rise{0%{opacity:0;transform:translateY(28px) scale(.985)}to{opacity:1;transform:none}}:is(.cap-grid,.skill-grid,.edu-grid,.project-grid,.stats,.steps)>:nth-child(2){--st: 1}:is(.cap-grid,.skill-grid,.edu-grid,.project-grid,.stats,.steps)>:nth-child(3){--st: 2}:is(.cap-grid,.skill-grid,.edu-grid,.stats,.steps)>:nth-child(4){--st: 1}:is(.cap-grid,.skill-grid,.edu-grid)>:nth-child(5){--st: 2}:root:not([data-calm]) .tags li{animation:chip-in linear both;animation-timeline:view();animation-range:entry calc(min(var(--i, 0),14)*3%) entry calc(34% + min(var(--i, 0),14)*3%)}@keyframes chip-in{0%{opacity:0;transform:translateY(12px) scale(.86)}to{opacity:1;transform:none}}@media(min-width:60rem){:root:not([data-calm]) .hero-copy{animation:hero-out linear both;animation-timeline:view();animation-range:exit 0% exit 80%}@keyframes hero-out{to{opacity:.2;transform:translateY(-8vh)}}}:root:not([data-calm]) .section>.wrap:before{animation:numeral linear both;animation-timeline:view()}@keyframes numeral{0%{translate:0 60px}to{translate:0 -70px}}:root:not([data-calm]) .section>.wrap:after{transform-origin:left;animation:band linear both;animation-timeline:view();animation-range:entry 0% entry 70%}@keyframes band{0%{transform:scaleX(0)}to{transform:scaleX(1)}}:root:not([data-calm]) .timeline:after{animation:draw linear both;animation-timeline:view();animation-range:cover 10% cover 70%}@keyframes draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}:root:not([data-calm]) .node{animation:ignite linear both;animation-timeline:view();animation-range:entry 30% entry 90%}@keyframes ignite{0%{border-color:var(--line-strong);box-shadow:0 0 0 4px transparent,0 0 0 transparent;background:var(--bg)}to{border-color:var(--ca);background:var(--ca)}}:root:not([data-calm]) .arch .ln{stroke-dasharray:1;animation:stroke-draw linear both;animation-timeline:view();animation-range:entry 20% entry 90%}@keyframes stroke-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}}@supports (animation-timeline: scroll()){:root:not([data-calm]) .o1{animation:orb-a 30s ease-in-out infinite alternate,par-1 linear both;animation-timeline:auto,scroll(root block);animation-range:normal,0 100vh}:root:not([data-calm]) .o2{animation:orb-b 24s ease-in-out infinite alternate,par-2 linear both;animation-timeline:auto,scroll(root block);animation-range:normal,0 100vh}@keyframes par-1{to{translate:0 -24vh}}@keyframes par-2{to{translate:0 -46vh}}:root:not([data-calm]) .board{animation:par-3 linear both;animation-timeline:scroll(root block);animation-range:0 100vh}@keyframes par-3{to{translate:0 -5vh}}}@supports not (animation-timeline: view()){html.js:not([data-calm]) .reveal:not(.in){opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}html.js:not([data-calm]) .reveal.in{opacity:1;transform:none}}}@media(forced-colors:active){.hero-line{line-height:1.2}.hero-line .w{padding-bottom:0;margin-bottom:0}.aurora,body:after,.orbs{display:none}}.section{isolation:isolate}.section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%)}.section>.wrap{position:relative}.section>.wrap:before{content:attr(data-n);position:absolute;right:var(--gutter);top:-1.5rem;z-index:-1;pointer-events:none;font:400 clamp(9rem,7rem + 12vw,19rem)/.8 var(--display);letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px color-mix(in oklab,var(--ca) 38%,transparent);opacity:.55}@media(min-width:64rem){.section>.wrap:before{right:12rem}}@media(min-width:90rem){.section>.wrap:before{right:16rem}}[data-chapter=work]:before{background-image:linear-gradient(color-mix(in oklab,var(--ca) 11%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklab,var(--ca) 11%,transparent) 1px,transparent 1px);background-size:56px 56px}[data-chapter=about]:before{background:repeating-radial-gradient(circle at 88% 8%,transparent 0 44px,color-mix(in oklab,var(--ca) 12%,transparent) 44px 45px)}[data-chapter=capabilities]:before{background:repeating-linear-gradient(135deg,transparent 0 20px,color-mix(in oklab,var(--ca) 9%,transparent) 20px 21px)}[data-chapter=experience]:before{background:linear-gradient(to top,color-mix(in oklab,var(--ca) 12%,transparent),transparent 45%),repeating-linear-gradient(0deg,transparent 0 5px,color-mix(in oklab,var(--ca) 6%,transparent) 5px 6px);-webkit-mask-image:none;mask-image:none}[data-chapter=education]:before{background:radial-gradient(color-mix(in oklab,var(--ca) 22%,transparent) 1.3px,transparent 1.8px) 0 0 / 26px 26px}[data-chapter=contact]:before{background:radial-gradient(70% 55% at 50% 100%,color-mix(in oklab,var(--ca) 20%,transparent),transparent 70%),radial-gradient(color-mix(in oklab,var(--ca) 16%,transparent) 1.2px,transparent 1.7px) 0 0 / 30px 30px;-webkit-mask-image:linear-gradient(to top,#000 0%,#000 50%,transparent 100%);mask-image:linear-gradient(to top,#000 0%,#000 50%,transparent 100%)}.section{border-top:0}.section>.wrap:after{content:"";position:absolute;left:var(--gutter);top:calc(-1*clamp(4.5rem,9vw,8rem));width:5rem;height:3px;border-radius:3px;background:var(--ca)}@media(min-width:64rem){.section>.wrap:after{left:3rem}}.kicker-label{color:var(--ca)}.kicker-label:before{content:"";width:.55rem;height:.55rem;background:currentColor;flex:none}[data-chapter=work] .kicker-label:before{border-radius:1px}[data-chapter=about] .kicker-label:before{border-radius:50%}[data-chapter=capabilities] .kicker-label:before{transform:rotate(45deg)}[data-chapter=experience] .kicker-label:before{clip-path:polygon(0 0,100% 50%,0 100%)}[data-chapter=education] .kicker-label:before{background:transparent;border:1.5px solid currentColor;border-radius:50%}[data-chapter=contact] .kicker-label:before{clip-path:polygon(50% 0,100% 100%,0 100%)}.section h2 em{position:relative}[data-chapter=work] h2 em{background:linear-gradient(currentColor,currentColor) 0 92% / 100% .045em no-repeat}[data-chapter=about] h2 em{background:linear-gradient(color-mix(in oklab,var(--cb) 26%,transparent),color-mix(in oklab,var(--cb) 26%,transparent)) 0 70% / 100% 40% no-repeat;padding-inline:.06em}[data-chapter=capabilities] h2 em{background:linear-gradient(90deg,currentColor 50%,transparent 0) 0 92% / .5em .04em repeat-x}[data-chapter=experience] h2:after{content:"";display:inline-block;width:.42em;height:.08em;margin-left:.18em;background:var(--ca);vertical-align:baseline}[data-chapter=education] h2 em{text-decoration:underline dotted;text-decoration-thickness:.05em;text-underline-offset:.14em}[data-chapter=contact] h2 em{background:linear-gradient(100deg,var(--cb),var(--ca),var(--cb)) 0 0 / 200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}:root[data-contrast] [data-chapter=contact] h2 em{background:none;color:var(--cb)}@media(forced-colors:active){[data-chapter=contact] h2 em{background:none;color:LinkText}}.rail .rail-n,.sheet .rail-n{color:var(--ca)}.ico{--logo: color-mix(in oklab, var(--b, var(--ink)) var(--logo-pct), var(--logo-tone));position:relative;display:inline-grid;place-items:center;flex:none;width:2.1rem;height:2.1rem;border-radius:.65rem;background:color-mix(in oklab,var(--b, var(--ink)) 16%,var(--logo-base));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--b, var(--ink)) 38%,transparent),inset 0 1px 0 var(--glass-hi);color:var(--logo);transition:scale var(--t-med) var(--ease-spring),rotate var(--t-med) var(--ease-spring),box-shadow var(--t-med) var(--ease-out)}.ico svg{width:1.4rem;height:1.4rem}.ico.lg{width:3.4rem;height:3.4rem;border-radius:1rem}.ico.lg svg{width:2.2rem;height:2.2rem}.ico.plain{font:600 .9rem/1 var(--mono);color:var(--muted);background:color-mix(in oklab,var(--ink) 7%,var(--logo-base));box-shadow:inset 0 0 0 1px var(--line-strong)}.ico.lg.plain{font-size:1.4rem}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;padding:0;margin:1.1rem 0 0}.tags li{border-radius:var(--r-pill)}.chip{--b-hover: var(--b, var(--ca));position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:.28rem .95rem .28rem .3rem;font:500 .875rem/1.2 var(--mono);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:color-mix(in oklab,var(--ink) 5%,transparent);color:var(--ink);transition:translate var(--t-med) var(--ease-out),box-shadow var(--t-med) var(--ease-out),border-color var(--t-fast),background var(--t-fast)}a.chip.has-info{text-decoration:none;cursor:pointer}.chip:has(.ico[style*=--b]){--b-hover: var(--b)}a.chip.has-info:hover,a.chip.has-info:focus-visible{translate:0 -3px;background:color-mix(in oklab,var(--ca) 10%,transparent);border-color:var(--ca);color:var(--ink);box-shadow:0 10px 22px -12px var(--ca)}a.chip.has-info:hover .ico,a.chip.has-info:focus-visible .ico{scale:1.14;rotate:-6deg;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--b, var(--ink)) 70%,transparent),0 0 18px -2px color-mix(in oklab,var(--b, var(--ca)) 65%,transparent)}.chip .nm{padding-right:.1rem}@media(pointer:coarse){.tags{gap:.65rem}a.chip.has-info:after{content:"";position:absolute;top:-.35rem;right:-.15rem;bottom:-.35rem;left:-.15rem}}.tile .ico{transition:scale var(--t-med) var(--ease-spring),rotate var(--t-med) var(--ease-spring),box-shadow var(--t-med) var(--ease-out)}.tile:hover .ico,.tile:focus-visible .ico{scale:1.12;rotate:-5deg;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--b, var(--ink)) 70%,transparent),0 0 24px -2px color-mix(in oklab,var(--b, var(--ca)) 70%,transparent)}.td-head .ico{margin-right:.15rem}.tags li{max-width:100%;min-width:0}.chip{max-width:100%}.chip .nm{min-width:0;overflow-wrap:break-word}.hero{isolation:isolate}.hero-line{letter-spacing:.014em}.hero-line .w,.hero-line .ch,.name .nl{display:inline-block}.hero-line .w,.name .nw{white-space:nowrap;overflow-wrap:normal}.hero-line{overflow-wrap:normal}.name{letter-spacing:.012em}.orbs{position:absolute;top:0;right:0;bottom:0;left:0;overflow:clip;pointer-events:none;z-index:-1}.orb{position:absolute;display:block}.o1{width:26rem;height:26rem;left:-8rem;top:8%;background:radial-gradient(closest-side,color-mix(in oklab,var(--c0a) 30%,transparent),transparent)}.o2{width:20rem;height:20rem;right:4%;top:2%;background:radial-gradient(closest-side,color-mix(in oklab,var(--c0b) 34%,transparent),transparent)}.o3{width:15rem;height:15rem;right:22%;bottom:4%;background:radial-gradient(closest-side,color-mix(in oklab,var(--c3a) 22%,transparent),transparent)}.cycle{font:500 .9375rem/1.5 var(--mono);color:var(--muted);margin:0 0 .5rem;min-height:1.5em}.cycle-k{color:var(--ca);margin-right:.6rem}.cycle-t{color:var(--ink)}.caret{display:inline-block;width:.55ch;height:1.05em;margin-left:2px;background:var(--ca);vertical-align:-.18em}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:1rem;margin:0 0 2.5rem;padding:0}.stats li{padding:1.1rem 1.35rem;display:flex;flex-direction:column;gap:.4rem;border-radius:var(--r-md)}.stats b{font:400 clamp(2.75rem,2rem + 3vw,4.25rem)/1 var(--display);color:var(--ca);font-variant-numeric:tabular-nums;letter-spacing:.02em}.stats .label{color:var(--muted);text-transform:none;letter-spacing:.04em}.glass.tilt{transition:translate var(--t-med) var(--ease-out),border-color var(--t-med),box-shadow var(--t-med) var(--ease-out)}.glass.tilt:hover,.glass.tilt:focus-within{border-color:color-mix(in oklab,var(--ca) 50%,transparent);box-shadow:inset 0 1px 0 var(--glass-hi),var(--glass-shadow),0 0 0 1px color-mix(in oklab,var(--ca) 22%,transparent),0 18px 40px -24px var(--ca)}.project-grid,.cap-grid,.skill-grid,.edu-grid,.timeline{perspective:1100px}.btn,.nav-cta{translate:var(--tx, 0px) var(--ty, 0px)}.btn.primary:hover{translate:var(--tx, 0px) calc(var(--ty, 0px) - 1px)}.btn:focus-visible,.nav-cta:focus-visible{border-color:var(--accent)}.nav-links a:hover{background:var(--glass-1-bg)}.nav-links a:focus-visible{background:var(--glass-1-bg)}.nav-cta{transition:filter var(--t-fast),box-shadow var(--t-med)}.nav-cta:hover,.nav-cta:focus-visible{box-shadow:0 8px 22px -8px var(--accent)}.brand{transition:color var(--t-fast)}.brand:hover{color:var(--accent)}.social a:focus-visible{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.social a:focus-visible .cut{fill:var(--accent)}.timeline>li:hover .node,.timeline>li:focus-within .node{scale:1.3}.node{transition:scale var(--t-med) var(--ease-spring)}.tl-card:hover .mono-mark,.tl-card:focus-within .mono-mark{background:var(--ca);color:var(--bg)}.steps li,.principles li,.roadmap>li{transition:border-color var(--t-med),background var(--t-med),translate var(--t-med) var(--ease-out)}.steps li:hover,.principles li:hover,.roadmap>li:hover{border-color:var(--ca);translate:0 -2px}summary:hover{color:var(--ca)}summary:focus-visible{color:var(--ca)}.mail:focus-visible{outline-offset:6px}.footer a:hover{color:var(--accent)}.rail a:hover{color:var(--ink)}.a11y-dialog{border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:0;color:var(--ink);width:min(94vw,34rem);max-height:min(90dvh,46rem);overflow:auto;box-shadow:var(--glass-shadow);background:var(--elev)}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.a11y-dialog{background:var(--glass-3-bg)}}.a11y-dialog::backdrop{background:#0305088c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.a11y-body{padding:1.5rem 1.5rem 1.25rem;position:relative}.a11y-body h3{margin-bottom:.5rem;padding-right:3rem}.opts{display:grid;gap:.5rem;margin:1.25rem 0}.opt{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;min-height:3.25rem;padding:.7rem 1rem;text-align:left;border:1px solid var(--line-strong);border-radius:var(--r-md);background:color-mix(in oklab,var(--ink) 4%,transparent);color:var(--ink);cursor:pointer;font:inherit;transition:border-color var(--t-fast),background var(--t-fast)}.opt:hover,.opt[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.opt-text{display:grid;gap:.15rem}.opt-t{font-weight:600;font-size:.9375rem}.opt-d{color:var(--muted);font-size:.875rem;line-height:1.4}.switch{position:relative;flex:none;width:2.75rem;height:1.6rem;border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:transparent;transition:background var(--t-fast),border-color var(--t-fast)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.6rem - 7px);height:calc(1.6rem - 7px);border-radius:50%;background:var(--faint);transition:translate var(--t-med) var(--ease-spring),background var(--t-fast)}.opt[aria-pressed=true] .switch{background:var(--accent);border-color:var(--accent)}.opt[aria-pressed=true] .switch:after{translate:1.15rem 0;background:var(--accent-ink)}.seg-row{display:grid;gap:.5rem;margin:.9rem 0}.seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(5.5rem,100%),1fr));gap:.35rem}.seg button{min-height:2.75rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:transparent;color:var(--ink);font:500 .9rem/1.2 var(--sans);cursor:pointer}.seg button:hover{border-color:var(--accent)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.a11y-foot{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.ruler{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;--band: 2.6rem;--ruler-dim: rgb(0 0 0 / .66)}:root[data-theme=light] .ruler{--ruler-dim: rgb(244 246 249 / .82)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .ruler{--ruler-dim: rgb(244 246 249 / .82)}}.ruler i{position:absolute;left:0;right:0;top:0;height:100vh;background:var(--ruler-dim);will-change:transform}.ruler-top{transform:translateY(calc(var(--ry) - var(--band) - 100vh))}.ruler-bottom{transform:translateY(calc(var(--ry) + var(--band)))}:root[data-size="1"]{font-size:112.5%}:root[data-size="2"]{font-size:125%}:root[data-size="3"]{font-size:143.75%}:root[data-lh="1"] body{line-height:1.85}:root[data-lh="2"] body{line-height:2.1}:root[data-lh] :is(p,li,dd,summary){line-height:inherit}:root[data-narrow] .prose,:root[data-narrow] p,:root[data-narrow] li{max-width:52ch}:root[data-narrow] .wrap{max-width:56rem}:root[data-dys]{--sans: "Atkinson Hyperlegible", "Geist Variable", system-ui, sans-serif;--display: "Atkinson Hyperlegible", system-ui, sans-serif;--mono: "Atkinson Hyperlegible", system-ui, sans-serif}:root[data-dys] body{letter-spacing:.045em;word-spacing:.16em;line-height:1.85;text-align:left}:root[data-dys][data-lh="1"] body{line-height:2}:root[data-dys][data-lh="2"] body{line-height:2.2}:root[data-dys] :is(p,li,dd){max-width:62ch;text-align:left;-webkit-hyphens:none;hyphens:none}:root[data-dys] :is(h1,h2,h3,h4,h5){font-weight:700;letter-spacing:.01em;line-height:1.2}:root[data-dys] h2{font-size:clamp(1.5rem,.4rem + 6cqi,3.6rem)}:root[data-dys] em,:root[data-dys] i{font-style:normal}:root[data-dys] .hero-line{font-weight:700;letter-spacing:.01em;line-height:1.2;font-size:clamp(1.2rem,14cqi,4.2rem)}:root[data-dys] .hero-line em,:root[data-dys] h2 em{font-style:normal}:root[data-dys] .label,:root[data-dys] .mini-h,:root[data-dys] .kicker-label,:root[data-dys] .chip,:root[data-dys] .tile,:root[data-dys] .tags li{text-transform:none;letter-spacing:.05em;font-weight:700}:root[data-dys] .section>.wrap:before{display:none}:root[data-contrast] a:not(.btn):not(.tile):not(.nav-cta):not(.chip):not(.brand):not(.mail){text-decoration:underline;text-decoration-thickness:2px}:root[data-contrast] .glass,:root[data-contrast] .glass-3,:root[data-contrast] .chip,:root[data-contrast] .btn,:root[data-contrast] .tags li{border-width:2px;border-color:var(--line-strong)}:root[data-contrast] .aurora,:root[data-contrast] body:after,:root[data-contrast] .orbs,:root[data-contrast] .section:before,:root[data-contrast] .section>.wrap:before{display:none}:root[data-contrast] .glass:before,:root[data-contrast] .glass:after{display:none}:root[data-contrast] .glass,:root[data-contrast] .glass-3{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-contrast] .ico{background:var(--bg);box-shadow:inset 0 0 0 2px var(--line-strong);color:var(--ink)}:root[data-contrast] .hero-line em,:root[data-contrast] h2 em{color:var(--cb)}:root[data-calm] :is(.chip,.tile,.project,.cap,.skill,.tl-card,.edu,.btn,.nav-cta,.social a,.steps li,.principles li,.roadmap>li,.ico,.node):is(:hover,:focus-visible,:focus-within){translate:none!important;rotate:none!important;scale:none!important;transform:none!important}:root[data-calm] :is(.tilt,.ico){rotate:none!important}:root[data-calm] .section:before{opacity:.55}:root[data-calm] .section>.wrap:before{opacity:.3}:root[data-calm] .orbs{display:none}:root[data-calm] .marquee{-webkit-mask-image:none;mask-image:none}:root[data-calm] .marquee-track{width:auto}:root[data-calm] .marquee-set{flex-wrap:wrap;row-gap:.75rem}:root[data-calm] .marquee-set[data-copy="1"]{display:none}:root[data-calm] .hero-line .ch,:root[data-calm] .name .nl{opacity:1}:root[data-calm] .pill-wrap,:root[data-calm] .rail-label{transition:none}:root[data-plain] .aurora,:root[data-plain] body:after,:root[data-plain] .orbs,:root[data-plain] .section:before,:root[data-plain] .section>.wrap:before,:root[data-plain] .section>.wrap:after,:root[data-plain] .marquee,:root[data-plain] .scroll-cue,:root[data-plain] .rail,:root[data-plain] .stats{display:none}:root[data-plain] .glass,:root[data-plain] .glass-3{background:transparent;box-shadow:none;border:0;border-top:1px solid var(--line-strong);border-radius:0}:root[data-plain] .nav{background:var(--bg);box-shadow:none;border:1px solid var(--line-strong)}:root[data-plain] .tilt,:root[data-plain] .btn,:root[data-plain] .tile{translate:none;rotate:none}:root[data-plain] .hero{min-height:0;padding-top:7rem}:root[data-plain] .hero-grid,:root[data-plain] .spot-top,:root[data-plain] .spot-cols,:root[data-plain] .about-grid,:root[data-plain] .project-grid,:root[data-plain] .cap-grid,:root[data-plain] .skill-grid,:root[data-plain] .edu-grid,:root[data-plain] .roadmap,:root[data-plain] .steps,:root[data-plain] .principles{grid-template-columns:1fr}:root[data-plain] .about-side{position:static}:root[data-plain] .cap:first-child{grid-column:auto}:root[data-plain] .tl-card{display:block}:root[data-plain] .board{display:flex;flex-wrap:wrap;overflow:visible;padding:0;margin:1.5rem 0 0;-webkit-mask-image:none;mask-image:none}:root[data-plain] .tile{translate:none;flex:0 0 auto;aspect-ratio:auto;flex-direction:row;padding:.4rem .9rem .4rem .4rem;border:1px solid var(--line-strong);border-radius:var(--r-pill)}:root[data-plain] .tile .ico{width:2.1rem;height:2.1rem}:root[data-plain] .tile .ico svg{width:1.4rem;height:1.4rem}:root[data-plain] .timeline:before,:root[data-plain] .timeline:after,:root[data-plain] .node{display:none}:root[data-plain] .timeline{padding-left:0}:root[data-plain] .wrap{max-width:48rem;padding-right:var(--gutter);padding-left:var(--gutter)}:root[data-plain] .pill-wrap{display:none}:root[data-plain] .section{padding:3rem 0;border-top:1px solid var(--line-strong)}:root[data-plain] h2{font-size:clamp(2rem,1.4rem + 3vw,3rem)}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-normal.DnYpCC2O.woff2) format("woff2"),url(./instrument-serif-latin-400-normal.BVbkICAY.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-italic.DKMiL14s.woff2) format("woff2"),url(./instrument-serif-latin-400-italic.u__WvvIK.woff) format("woff")}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal.CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal.DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal.XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-400-normal.BrHNak5F.woff2) format("woff2"),url(./atkinson-hyperlegible-latin-400-normal.BbWidj28.woff) format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(./atkinson-hyperlegible-latin-700-normal.GZI4o3u0.woff2) format("woff2"),url(./atkinson-hyperlegible-latin-700-normal.BK6Glc0m.woff) format("woff")}
