@font-face{font-family:mokoto;src:url(../media/Mokoto_Regular-s.p.0i360gxfigi9l.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:mokoto Fallback;src:local(Arial);ascent-override:76.84%;descent-override:19.21%;line-gap-override:0.0%;size-adjust:130.14%}.ALL5zG_className{font-family:mokoto,mokoto Fallback;font-style:normal;font-weight:400}.ALL5zG_variable{--font-mokoto:"mokoto", "mokoto Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.VBDq0W_className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.VBDq0W_variable{--font-serif:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.-kwjAG_className{font-family:Inter,Inter Fallback;font-style:normal}.-kwjAG_variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.vLNnka_className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.vLNnka_variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--paper:#000;--paper-2:#0b0e14;--ink:#fff;--ink-soft:#f0f0f0;--muted:#a1a4a5;--line:#292d30;--iris:#9281f7;--iris-glow:#baa7ff;--sky:#70b8ff;--rust:var(--iris);--rust-deep:#fff;--deep:#000;--foam:#fff;--foam-dim:#a1a4a5;--acid:#fff;--glitch-red:#ff6465;--glitch-blue:#3b9eff;--glitch-green:#3ad389;--glitch-amber:#ffca16;--section-intro:#000;--section-work:#24262a;--section-roles:#0e1013;--section-skills:#24262a;--section-pool:#34373c;--section-reach:#181a1e;--rail:7.5rem;--pad:clamp(1.25rem, 4vw, 4rem);--serif:var(--font-serif), "Iowan Old Style", Palatino, Georgia, serif;--sans:var(--font-sans), "Avenir Next", "Segoe UI", sans-serif;--mono:var(--font-mono), "SFMono-Regular", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.55}::selection{background:var(--iris);color:#000}:focus-visible{outline:2px solid var(--iris-glow);outline-offset:3px}a{color:inherit;-webkit-tap-highlight-color:#9281f747}h1,h2,h3,h4,p,blockquote,dl,ul{margin:0}h1{font-family:var(--serif);font-optical-sizing:auto;font-weight:450}h2,h3,h4,.also-title,.subhead,.lede,blockquote,.metric dd,.splits b{font-family:var(--sans);letter-spacing:-.04em;font-weight:400}h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}.skip{z-index:50;background:var(--ink);color:var(--paper);padding:.55rem .8rem;text-decoration:none;position:absolute;top:0;left:1rem;transform:translateY(-120%)}.skip:focus{transform:none}.page{padding-left:var(--rail)}.frame{width:min(1180px,100%);margin-inline:auto}.band{padding:clamp(4rem, 8vw, 6.5rem) var(--pad)}.kicker,.section-label,.kind,.metric-label,.facts dt,.splits span,.stack,.repo,.also-meta,.role-when,.role-title,.role-duration,.reach-row,.colophon{font-family:var(--mono)}.section-label,.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.hero .kicker{font-size:.92rem}.section-label span{color:var(--rust-deep);margin-right:.7rem}h2{letter-spacing:-.05em;margin-top:.7rem;font-size:clamp(2.4rem,5vw,3.5rem);font-weight:400;line-height:1.12}.deck{max-width:36rem;color:var(--muted);font-family:var(--sans);letter-spacing:0;margin-top:1rem;font-size:1.125rem;font-weight:400;line-height:1.5}.copy{max-width:40rem;color:var(--ink-soft)}.copy p+p{margin-top:.9rem}.lane{z-index:25;background:var(--line);pointer-events:none;width:1px;position:fixed;top:0;bottom:0;left:1rem}.lane span{background:var(--rust);transform-origin:top;width:3px;height:100%;margin-left:-1px;display:block;transform:scaleY(0)}.rail{z-index:20;width:var(--rail);background:var(--paper);border-right:1px solid var(--line);flex-direction:column;justify-content:center;gap:1.15rem;padding-left:1.35rem;display:flex;position:fixed;top:0;bottom:0;left:0}.rail a{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:.45rem;font-size:.68rem;text-decoration:none;display:flex}.rail a em{white-space:nowrap;opacity:0;max-width:0;font-style:normal;overflow:hidden}.rail a[aria-current=true]{color:var(--rust-deep)}.rail a:hover,.rail a:focus-visible{color:var(--ink)}.rail-progress{display:none}.hero,#work,#roles,#skills{box-sizing:border-box;min-height:100dvh}.hero{background:var(--section-intro);padding:1.6rem var(--pad) 2.75rem;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}#work{background:0 0}#roles{background:var(--section-roles)}#skills{background:var(--section-skills)}#pool{background:var(--section-pool);padding-block:clamp(2.4rem,4.5vw,3.6rem)}#pool h2{font-size:clamp(1.85rem,3.4vw,2.55rem)}#pool .deck{margin-top:.55rem;font-size:.95rem}#pool .splits{margin:1.05rem 0 .95rem;padding:.6rem 0}#pool .splits b{margin-bottom:.22rem;font-size:clamp(1.45rem,2vw,1.9rem)}#pool .copy{font-size:.95rem}#pool .copy p+p{margin-top:.7rem}#reach{background:var(--section-reach)}.hero-frame{z-index:1;isolation:isolate;flex-direction:column;width:min(1180px,100%);display:flex;position:relative}.hero-caustics{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-name{grid-area:1/1}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.82fr);align-items:start;gap:1.2rem clamp(1.5rem,4vw,3.5rem);margin-top:clamp(1.6rem,6vh,3.4rem);display:grid}.hero-main,.hero-side{display:contents}.hero h1,.hero .kicker,.hero .lede,.hero .school-block{text-shadow:0 0 14px #000,0 0 3px #000}.hero h1{z-index:1;position:relative}.lede{grid-area:2/1}.name-marks{grid-area:3/1}.console{grid-area:1/2/3;align-self:stretch}.school-block{grid-area:3/2}.hero h1{font-family:var(--font-mokoto), sans-serif;letter-spacing:.01em;font-size:clamp(4.5rem,9vw,6rem);font-style:normal;font-weight:400;line-height:.92}.glitch-line{display:block;position:relative}.glitch-slice{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;font-style:normal;position:absolute;inset:0}.hero h1.is-glitching .glitch-line{text-shadow:-3px 0 var(--glitch-red), 3px 0 var(--glitch-blue), 0 -2px var(--glitch-green);animation:.14s step-end infinite glitch-base}.hero h1.is-glitching .glitch-slice{opacity:1;mix-blend-mode:screen}.hero h1.is-glitching .glitch-slice-a{color:var(--glitch-red);animation:90ms steps(2,end) infinite glitch-a}.hero h1.is-glitching .glitch-slice-b{color:var(--glitch-blue);animation:70ms steps(2,end) infinite glitch-b}.hero h1.is-glitching .glitch-slice-c{color:var(--glitch-green);animation:80ms steps(2,end) infinite glitch-c}.hero h1.is-glitching .glitch-slice-d{color:var(--glitch-amber);animation:60ms steps(2,end) infinite glitch-d}@keyframes glitch-base{0%,to{color:#fff;opacity:1;transform:none}16%{color:var(--glitch-red);opacity:.85;transform:translate(-4px)}32%{color:var(--glitch-blue);opacity:1;transform:translate(4px,1px)}48%{color:var(--glitch-green);opacity:.8;transform:translate(-2px,-1px)}64%{color:var(--glitch-amber);opacity:1;transform:translate(3px)}82%{color:var(--iris);opacity:.9;transform:translate(-3px,1px)}}@keyframes glitch-a{0%{clip-path:inset(0 0 68%);transform:translate(-.045em,-1px)}25%{clip-path:inset(28% 0 36%);transform:translate(.06em,1px)}50%{clip-path:inset(64% 0 6%);transform:translate(-.03em)}75%{clip-path:inset(12% 0 58%);transform:translate(.05em,-1px)}to{clip-path:inset(46% 0 18%);transform:translate(-.07em,1px)}}@keyframes glitch-b{0%{clip-path:inset(62% 0 4%);transform:translate(.06em,1px)}25%{clip-path:inset(8% 0 62%);transform:translate(-.04em)}50%{clip-path:inset(40% 0 28%);transform:translate(.07em,-1px)}75%{clip-path:inset(74% 0 2%);transform:translate(-.05em,1px)}to{clip-path:inset(22% 0 48%);transform:translate(.04em)}}@keyframes glitch-c{0%{clip-path:inset(36% 0 42%);transform:translate(.08em,-1px)}25%{clip-path:inset(70% 0 6%);transform:translate(-.06em,1px)}50%{clip-path:inset(4% 0 74%);transform:translate(.05em)}75%{clip-path:inset(48% 0 22%);transform:translate(-.08em,-1px)}to{clip-path:inset(18% 0 56%);transform:translate(.04em,1px)}}@keyframes glitch-d{0%{clip-path:inset(52% 0 28%);transform:translate(-.09em)}25%{clip-path:inset(14% 0 64%);transform:translate(.07em,1px)}50%{clip-path:inset(78% 0 2%);transform:translate(-.04em,-1px)}75%{clip-path:inset(30% 0 46%);transform:translate(.09em)}to{clip-path:inset(6% 0 72%);transform:translate(-.05em,1px)}}.lede{max-width:28rem;color:var(--muted);letter-spacing:0;font-size:1.125rem;font-style:normal;line-height:1.55}.facts{gap:1.25rem;display:grid}.facts dt{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;font-size:.66rem}.facts dd{color:var(--ink-soft);margin:0;font-size:.98rem;line-height:1.45}.school-name,.school-degree{display:block}.school-name{color:var(--ink);font-weight:600}.school-degree{color:var(--muted);font-family:var(--sans);margin-top:.2rem;font-style:normal;font-weight:400}.school-block{flex-direction:column;align-items:flex-start;display:flex}.name-marks{justify-content:flex-start;align-items:center;gap:1.2rem;display:flex}.name-marks a{background:0 0;border:1.5px solid #ffffffb8;border-radius:16px;place-items:center;width:3.6rem;height:3.6rem;transition:border-color .15s ease-out;display:grid}.name-marks a:hover,.name-marks a:focus-visible{border-color:#fff}.name-marks img{object-fit:contain;filter:invert();width:1.65rem;height:1.65rem}.projects-intro.band{background:var(--section-reach);padding-top:clamp(2.5rem,4vw,3.5rem);padding-bottom:clamp(1.35rem,2.2vw,2rem)}.projects-intro h2{margin-top:.4rem;font-size:clamp(2rem,3.2vw,2.55rem)}.projects-intro .deck{margin-top:.6rem;font-size:1rem}.scanners.band{background:var(--section-work);padding-top:clamp(1.5rem,2.4vw,2.15rem);padding-bottom:clamp(2.25rem,3.5vw,3.15rem)}.work-dark{color:var(--foam)}.work-dark .section-label,.work-dark .deck,.work-dark .stack,.work-dark .metric-note,.work-dark .metric dt{color:var(--foam-dim)}.kind,.metric-label{color:var(--muted)}.scanners .projects{margin-top:clamp(.9rem,1.6vw,1.25rem)}.projects{flex-direction:column;gap:clamp(1rem,1.8vw,1.45rem);display:flex}.project{background:#16181c;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:minmax(0,1.3fr) minmax(13.5rem,.68fr);gap:clamp(1rem,2vw,1.75rem);padding:1.05rem 1.15rem;display:grid}.kind,.metric-label{letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem;font-size:.64rem}.project h3{letter-spacing:-.04em;font-size:clamp(1.35rem,1.8vw,1.6rem);font-weight:500;line-height:1.15}.project blockquote{color:var(--ink-soft);letter-spacing:-.02em;margin:.55rem 0;font-size:.98rem;font-style:normal;font-weight:400;line-height:1.4}.work-dark .copy{color:var(--foam-dim);font-size:.95rem;line-height:1.45}.stack{letter-spacing:.03em;margin-top:.65rem;font-size:.72rem;line-height:1.45}.project-links{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.repo{border:1px solid var(--line);color:#fff;font-family:var(--sans);letter-spacing:0;text-transform:none;border-radius:6px;padding:.32rem .65rem;font-size:.8rem;font-weight:400;line-height:1.4;text-decoration:none;transition:border-color .15s ease-out;display:inline-flex}.repo:hover,.repo:focus-visible{border-color:#fff}.metrics{margin:0}.metric{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.32rem 0;display:flex}.metric:last-child{border-bottom:1px solid var(--line)}.metric dt{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.metric dd{color:#fff;letter-spacing:-.03em;text-align:right;font-variant-numeric:lining-nums;font-size:1rem;font-style:normal;font-weight:500;line-height:1}.metric-note{margin-top:.55rem;font-size:.8rem;line-height:1.4}.also.band{background:var(--section-pool);padding-block:clamp(2.25rem,3.5vw,3.15rem)}.also-title{letter-spacing:-.04em;font-size:clamp(1.35rem,2vw,1.65rem);font-weight:500;line-height:1.15}.also-list{margin-top:clamp(.7rem,1.4vw,1rem)}.also-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1.5rem;padding:.8rem .25rem;text-decoration:none;display:grid}.also-row:last-child{border-bottom:1px solid var(--line)}.also-row:hover{background:#0000002e}.also-row h4{letter-spacing:-.03em;font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:500}.also-row:hover h4{color:#fff}.also-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:.2rem;font-size:.7rem}.also-copy{max-width:42rem;color:var(--ink-soft);grid-column:1/-1}.role-list{flex-direction:column;gap:.8rem;margin-top:clamp(1.5rem,3vw,2.25rem);display:flex}.role{border:1px solid #ffffff14;border-radius:0;grid-template-columns:3.25rem minmax(0,1fr) auto;align-items:start;gap:.2rem 1.15rem;padding:1.15rem 1.2rem;display:grid}.role:first-child{background:#1a2740}.role:nth-child(2){background:#163028}.role:nth-child(3){background:#322818}.role-logo{border:1px solid var(--line);object-fit:cover;border-radius:16px;width:3.25rem;height:3.25rem}.role h3{letter-spacing:-.03em;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:500;line-height:1.15}.role-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.4rem;font-size:.68rem}.role-line{max-width:38rem;color:var(--ink-soft);margin-top:.35rem}.role-meta{text-align:right;padding-top:.15rem}.role-when{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.role-duration{letter-spacing:.04em;color:var(--muted);margin-top:.3rem;font-size:.72rem}.splits{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem 1rem;margin:2rem 0 1.6rem;padding:1rem 0;list-style:none;display:grid}.splits b{letter-spacing:-.045em;font-variant-numeric:lining-nums;margin-bottom:.35rem;font-size:clamp(2rem,3vw,2.7rem);line-height:.9;display:block}.splits span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.66rem;display:block}.subhead{letter-spacing:-.03em;font-size:1.25rem;font-weight:500}.skill-split{grid-template-columns:4fr 3fr;align-items:start;gap:clamp(1.4rem,3vw,2.4rem);margin-top:clamp(1.6rem,3vw,2.2rem);display:grid}.skill-block{margin-top:clamp(1.8rem,3.5vw,2.6rem)}.skill-split .skill-block{margin-top:0}.mark-grid,.course-grid{flex-wrap:wrap;justify-content:center;gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.cols-4>li,.course-grid>li{flex:0 calc(25% - .4875rem);min-width:0;max-width:calc(25% - .4875rem)}.cols-3>li{flex:0 calc(33.3333% - .433333rem);min-width:0;max-width:calc(33.3333% - .433333rem)}.mark,.course-grid li{min-height:6.5rem;font-family:var(--mono);letter-spacing:.02em;text-align:center;color:var(--ink-soft);background:#00000047;border:1px solid #ffffff29;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:.8rem .4rem .7rem;font-size:.78rem;line-height:1.3;display:flex}.mark-logos{justify-content:center;align-items:center;gap:.35rem;height:1.9rem;display:flex}.mark-logos img{object-fit:contain;filter:invert();width:1.65rem;height:1.65rem}.email{max-width:100%;color:var(--iris);font-family:var(--mono);letter-spacing:0;overflow-wrap:anywhere;margin-top:1.1rem;font-size:clamp(1rem,2vw,1.25rem);font-weight:400;line-height:1.4;text-decoration:none;display:inline-block}.email:hover{color:var(--iris-glow)}.reach-row{letter-spacing:.06em;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:1.3rem;font-size:.75rem;display:flex}.reach-row a{border-bottom:1px solid #0000;text-decoration:none}.reach-row a:hover{border-bottom-color:var(--ink)}.colophon{border-top:1px solid var(--line);letter-spacing:.06em;color:var(--muted);margin-top:4rem;padding-top:1rem;font-size:.72rem}.missing h1{letter-spacing:-.045em;max-width:10em;margin:.8rem 0 1.4rem;font-size:clamp(3rem,7vw,5.4rem);line-height:.95}.text-link{color:var(--ink-soft);font-family:var(--sans);letter-spacing:0;text-transform:none;font-size:.875rem;text-decoration:none}.text-link:hover{color:#fff}@media (prefers-reduced-motion:no-preference){.rail a em{transition:max-width .25s,opacity .2s}.hero h1,.lede{animation:.9s cubic-bezier(.16,1,.3,1) both rise}.lede{animation-delay:.12s}}.rail a[aria-current=true] em,.rail a:hover em,.rail a:focus-visible em{opacity:1;max-width:6.5rem}@keyframes rise{0%{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}@media (min-width:980px){.splits{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:800px){.hero-grid,.project,.skill-split{grid-template-columns:1fr}.hero-main,.hero-side{flex-direction:column;align-items:flex-start;gap:1.2rem;display:flex}.hero h1,.lede,.name-marks,.console,.school-block{grid-area:auto}.facts{padding-top:.4rem}.role{grid-template-columns:3.25rem minmax(0,1fr)}.role-meta{text-align:left;grid-column:2}}@media (max-width:760px){.page{padding-left:0}.lane{display:none}.rail{border-right:0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000f2;flex-direction:row;justify-content:space-between;align-items:center;width:auto;padding:.85rem 1.1rem .95rem;position:sticky;top:0;bottom:auto;right:0}.rail em{display:none}.rail-progress{background:var(--rust);transform-origin:0;width:100%;height:2px;display:block;position:absolute;bottom:0;left:0;transform:scaleX(0)}.hero{padding-top:1.35rem}}@media (max-width:560px){.splits{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-4>li,.cols-3>li,.course-grid>li{flex-basis:calc(50% - .325rem);max-width:calc(50% - .325rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero h1.is-glitching .glitch-line,.hero h1.is-glitching .glitch-slice{animation:none}.glitch-slice{display:none}}#top,#work,#heimdall,#sphinx,#also,#roles,#skills,#pool,#reach{scroll-margin-top:1.25rem}.cursor{display:none}.console{width:100%;height:28rem;min-height:28rem;max-height:28rem;font-family:var(--mono);background:#000;border:1.5px solid #ffffff8c;border-radius:16px;flex-direction:column;font-size:.8rem;line-height:1.45;display:flex;overflow:hidden}.console-bar{border-bottom:1px solid #ffffff38;align-items:center;gap:.38rem;padding:.5rem .75rem;display:flex}.console-bar span{background:#6e727a;border-radius:999px;width:8px;height:8px}.console-bar em{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-left:.35rem;font-size:.68rem;font-style:normal}.console-log{flex-direction:column;flex:1;min-height:0;padding:.85rem .95rem .65rem;display:flex;overflow:auto}.console-log p{white-space:pre-wrap;margin:0}.console-in,.console-out{color:var(--ink)}.console-form{align-items:center;gap:.45rem;margin-top:auto;padding-top:.15rem;display:flex}.console-prompt{color:var(--ink);white-space:nowrap}.tone-dir{color:var(--sky)}.tone-err{color:var(--glitch-red)}.tone-hint{color:var(--glitch-amber)}.tone-ok{color:var(--glitch-green)}.tone-muted{color:var(--muted)}.tone-id{color:var(--iris)}.console-form input{min-width:0;color:var(--ink);font:inherit;caret-color:var(--ink);caret-shape:block;background:0 0;border:0;outline:none;flex:1}.console-form input::placeholder{color:var(--muted)}@media (pointer:fine){html.has-cursor,html.has-cursor body{cursor:none}html.has-cursor input,html.has-cursor textarea,html.has-cursor .console,html.has-cursor .console *{cursor:text}.cursor{z-index:70;pointer-events:none;display:block;position:fixed;inset:0}html.cursor-paused .cursor{opacity:0}.cursor-pointer{pointer-events:none;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}.cursor-bitmap{shape-rendering:crispedges;width:10px;height:16px;image-rendering:pixelated;display:block}.cursor-edge,.cursor-fill{fill:#fff}.cursor-pointer.is-hot .cursor-fill{fill:var(--iris)}}@media (max-width:760px){#top,#work,#heimdall,#sphinx,#also,#roles,#skills,#pool,#reach{scroll-margin-top:3.4rem}}html.is-booting{overflow:hidden}html.is-booting .cursor{opacity:0}.boot{z-index:100;color:#e6e2dc;background:0 0;position:fixed;inset:0;overflow:hidden}.boot.is-out{pointer-events:none}.boot-half{background:radial-gradient(70% 80% at 50% 0,#ffffff12,#0000 58%),#000;height:calc(50% + 1px);transition:transform 1.05s cubic-bezier(.77,0,.18,1);position:absolute;left:0;right:0}.boot-half-bottom{background:radial-gradient(55% 90% at 50% 100%,#ffffff0d,#0000 62%),#000}.boot-half-top{top:0}.boot-half-bottom{bottom:0}.boot.is-out .boot-half-top{transform:translateY(-100%)}.boot.is-out .boot-half-bottom{transform:translateY(100%)}.boot-arcs{z-index:1;stroke:#ffffff29;stroke-width:1px;opacity:.7;width:min(1100px,92vw);height:auto;position:absolute;bottom:-18%;left:50%;transform:translate(-50%)}.boot-mark{z-index:1;border:1px solid #ffffff61;width:1.35rem;height:1.35rem;position:absolute}.boot-mark-tl{border-bottom:0;border-right:0;top:1.15rem;left:1.15rem}.boot-mark-tr{border-bottom:0;border-left:0;top:1.15rem;right:1.15rem}.boot-mark-bl{border-top:0;border-right:0;bottom:1.15rem;left:1.15rem}.boot-mark-br{border-top:0;border-left:0;bottom:1.15rem;right:1.15rem}.boot-seam{z-index:3;transform-origin:50%;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffb8,#0000);width:80%;height:1px;transition:opacity .28s;animation:2.4s cubic-bezier(.16,1,.3,1) forwards boot-seam;position:absolute;top:50%;left:10%;transform:scaleX(.08)}.boot.is-out .boot-seam,.boot.is-out .boot-readout{opacity:0}.boot-readout{z-index:4;background:#000;grid-template-columns:auto auto;align-items:center;column-gap:.85rem;padding:.55rem .7rem .35rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.boot-pct{min-width:5.6rem;font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.14em;text-align:center;border:1px solid #ffffff47;padding:.45rem .7rem;font-size:.78rem}.boot-status{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#e6e2dc9e;flex-direction:column;gap:.12rem;font-size:.62rem;display:flex}.boot-status b{color:#e6e2dc;font-weight:500}.boot-meter{background:#ffffff24;grid-column:1/-1;height:1px;margin-top:.55rem;overflow:hidden}.boot-meter span{background:var(--iris);transform-origin:0;height:100%;display:block}.boot-title{z-index:1;font-family:var(--font-mokoto), sans-serif;letter-spacing:.02em;text-align:right;font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:.9;position:absolute;bottom:clamp(3.2rem,10vh,6.5rem);right:clamp(1.4rem,8vw,7rem)}.boot-title span{display:block}.boot-note{z-index:1;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#e6e2dc80;font-size:.62rem;position:absolute;bottom:clamp(2.1rem,7vh,4.4rem);right:clamp(1.4rem,8vw,7rem)}@media (prefers-reduced-motion:no-preference){.boot-title span{animation:.9s cubic-bezier(.16,1,.3,1) both boot-rise}.boot-title span:nth-child(2){animation-delay:.12s}.boot-note{animation:.9s cubic-bezier(.16,1,.3,1) .22s both boot-rise}}@keyframes boot-seam{to{transform:scaleX(1)}}@keyframes boot-rise{0%{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.boot{display:none}}@media print{.rail,.lane,.skip,.rail-progress,.console,.cursor,.boot{display:none!important}.page{padding-left:0!important}.hero,#work,#roles,#skills,#pool,#reach{min-height:0;color:#000!important;background:#fff!important}.work-dark,.projects-intro,.scanners,.also,.role,.mark,.course-grid li{color:#000!important;background:#fff!important}.mark-logos img{filter:none!important}a{text-decoration:underline}}
