@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/edb5f85793adc1bb-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/92b6de9cb55945e2-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/237858b39a32779d-s.p.1ii7211jqpzi_.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}._2vxq1q_className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}._2vxq1q_variable{--font-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/258bd0ab5fdd762a-s.3bz3aq452sydg.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/99a2019bdfa8519b-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/44e0cb21b0d052b7-s.343obqi851wr5.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/f9cd5a77d065db98-s.40kcwrf1wub16.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/954d21e04331b2ae-s.200l3jur7oygh.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/53897e768d329f66-s.p.269kn9uafm0ti.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.CxiPNW_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.CxiPNW_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--canvas-base:#f7f5ee;--surface:#fff;--ink:#161616;--ink-muted:#161616bd;--ink-subtle:#16161699;--accent:#facc00;--accent-ink:#161616;--border:#161616;--ok:#17803d;--warn:#9a5700;--logo-bg:#f2f0e9;--bw:2px;--radius-card:14px;--radius-chip:8px;--radius-pill:999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas-base:#131311;--surface:#1c1c19;--ink:#f1eee4;--ink-muted:#f1eee4c4;--ink-subtle:#f1eee494;--border:#e9e6da;--ok:#4cc27a;--warn:#e0a03a;--logo-bg:#2a2a26;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--canvas-base:#131311;--surface:#1c1c19;--ink:#f1eee4;--ink-muted:#f1eee4c4;--ink-subtle:#f1eee494;--border:#e9e6da;--ok:#4cc27a;--warn:#e0a03a;--logo-bg:#2a2a26;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{font-family:var(--font-grotesk), system-ui, sans-serif;color:var(--ink);background:var(--canvas-base);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0}a{color:inherit}button{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site{--fs-mega:clamp(4rem, 15vw, 10.5rem);--fs-display:clamp(1.625rem, 4.2vw, 3.75rem);--fs-heading:clamp(1.375rem, 2.6vw, 2.25rem);--fs-body:1.0625rem;--gutter:clamp(1.25rem, 5vw, 5rem);--measure:62ch;--bar-h:64px;--shadow-hard:4px 4px 0 0 var(--border);--shadow-hard-lg:6px 6px 0 0 var(--border);font-size:var(--fs-body);background:var(--canvas-base);line-height:1.65}.site h1,.site h2,.site h3{letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.05}.site p{margin:0}.site ul,.site ol{margin:0;padding:0;list-style:none}.site img{max-width:100%;display:block}.site :focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}.wrap{width:min(1180px,100%);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-subtle);align-items:center;gap:.75rem;font-size:.75rem;font-weight:500;display:flex}.eyebrow:after{content:"";height:var(--bw);background:var(--border);opacity:.18;flex:1}#cursor{z-index:200;pointer-events:none;opacity:0;background:var(--ink);width:7px;height:7px;box-shadow:0 0 0 1.5px color-mix(in srgb, var(--canvas-base) 75%, transparent);transition:opacity .16s ease, width .18s var(--ease-out), height .18s var(--ease-out), background .18s ease;border-radius:999px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}#cursor.on{opacity:1}#cursor.big{border:2px solid var(--ink);background:0 0;width:22px;height:22px}@media (hover:hover) and (pointer:fine){:is(body:has(#cursor.on),body:has(#cursor.on) *){cursor:none!important}}.bar{z-index:60;height:var(--bar-h);padding-inline:var(--gutter);background:color-mix(in srgb, var(--canvas-base) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:var(--bw) solid transparent;transition:border-color .24s var(--ease-out), background .24s var(--ease-out);align-items:center;gap:1rem;display:flex;position:fixed;inset:0 0 auto}.bar[data-stuck="1"]{border-bottom-color:var(--border);background:color-mix(in srgb, var(--canvas-base) 96%, transparent)}.mark{border:var(--bw) solid var(--border);border-radius:var(--radius-chip);background:var(--accent);width:46px;height:46px;color:var(--accent-ink);flex:none;place-items:center;font-size:1.0625rem;font-weight:700;text-decoration:none;display:grid}.bar nav{gap:.25rem;margin-left:auto;display:flex}.bar nav a{border-radius:var(--radius-chip);color:var(--ink-muted);transition:color .18s var(--ease-out), background .18s var(--ease-out);padding:.6rem .85rem;font-size:.9375rem;font-weight:500;text-decoration:none}.bar nav a:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 7%, transparent)}.bar__cta{border:var(--bw) solid var(--border);border-radius:var(--radius-pill);background:var(--surface);height:42px;box-shadow:2px 2px 0 0 var(--border);transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);flex:none;align-items:center;gap:.35rem;padding-inline:1rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.bar__cta:hover{box-shadow:3px 3px 0 0 var(--border);transform:translate(-1px,-1px)}.themepick{cursor:pointer;border:var(--bw) solid var(--border);border-radius:var(--radius-pill);background:var(--surface);width:42px;height:42px;color:var(--ink);transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out), background .18s var(--ease-out);flex:none;place-items:center;display:grid}.themepick:hover{box-shadow:2px 2px 0 0 var(--border);background:color-mix(in srgb, var(--accent) 16%, var(--surface));transform:translate(-1px,-1px)}.bar__back{border-radius:var(--radius-chip);color:var(--ink-muted);white-space:nowrap;align-items:center;gap:.45rem;margin-left:auto;padding:.5rem .85rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.bar__back:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 7%, transparent)}.burger,.drawer,.drawer__scrim{display:none}@media (max-width:820px){.bar{gap:.6rem}.bar nav,.bar__cta .long{display:none}.mark{width:38px;height:38px;font-size:.9375rem}.themepick{width:36px;height:36px;margin-left:auto}.bar__back+.themepick{margin-left:0}.bar__back{margin-left:auto;padding-inline:.4rem;font-size:.875rem}.bar__cta{height:36px;padding-inline:.85rem;font-size:.875rem}.burger{cursor:pointer;border:var(--bw) solid var(--border);border-radius:var(--radius-chip);background:var(--surface);flex:none;align-content:center;gap:4px;width:36px;height:36px;padding:0 7px;display:grid}.burger span{background:var(--ink);height:2px;transition:transform .26s var(--ease-out), opacity .2s;border-radius:2px;display:block}.burger[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.drawer{z-index:80;width:min(20rem,82vw);padding:calc(var(--bar-h) + 1.25rem) 1.25rem 1.25rem;background:var(--surface);border-left:var(--bw) solid var(--border);transition:transform .34s var(--ease-out);display:block;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.drawer nav{gap:.25rem;display:grid}.drawer a{border-radius:var(--radius-chip);align-items:center;min-height:52px;padding-inline:.9rem;font-size:1.125rem;font-weight:500;text-decoration:none;display:flex}.drawer .drawer__extra{background:var(--accent);color:var(--accent-ink);border:var(--bw) solid var(--border);box-shadow:var(--shadow-hard);justify-content:space-between;margin-top:.75rem}.drawer__scrim{z-index:79;opacity:0;pointer-events:none;background:color-mix(in srgb, var(--ink) 45%, transparent);transition:opacity .34s var(--ease-out);border:0;padding:0;display:block;position:fixed;inset:0}html[data-drawer] .drawer{transform:none}html[data-drawer] .drawer__scrim{opacity:1;pointer-events:auto}html[data-drawer],html[data-drawer] body{overflow:hidden}}.hero{min-height:100svh;padding-top:calc(var(--bar-h) + clamp(1rem, 3vh, 2.5rem));flex-direction:column;justify-content:center;padding-bottom:clamp(2rem,6vh,4rem);display:flex;position:relative;overflow:hidden}.hero__grid{pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 100%);mask-image:linear-gradient(#000 0% 55%,#0000 100%)}.hero__lines{will-change:transform;background:linear-gradient(color-mix(in srgb, var(--ink) 11%, transparent) var(--bw), transparent var(--bw)) 0 0 / 100% 88px, linear-gradient(90deg, color-mix(in srgb, var(--ink) 11%, transparent) var(--bw), transparent var(--bw)) 0 0 / 88px 100%;position:absolute;inset:-120px}.hero__light{z-index:0;pointer-events:none;opacity:0;transition:opacity .5s var(--ease-out);background:radial-gradient(circle 240px at var(--sx,50%) var(--sy,42%), color-mix(in srgb, var(--accent) 32%, transparent) 0%, color-mix(in srgb, var(--accent) 10%, transparent) 50%, transparent 76%);position:absolute;inset:0}.hero__light[data-on="1"]{opacity:1}.hero__inner{z-index:1;position:relative}.hero__eyebrow{max-width:34rem;margin-bottom:clamp(1.5rem,4vh,2.5rem)}.name{text-transform:uppercase;font-size:var(--fs-mega)!important;letter-spacing:-.045em!important;margin-bottom:clamp(1.25rem,3vh,2rem)!important;line-height:.82!important}.name__line{padding-bottom:.04em;display:block;overflow:hidden}.name__line>span{animation:rise 1s var(--ease-out) both;display:block}.name__line:nth-child(2)>span{animation-delay:80ms}.headline{max-width:22ch;font-size:var(--fs-display);letter-spacing:-.02em;font-weight:500;line-height:1.12;margin-bottom:clamp(1.5rem,4vh,2.25rem)!important}.headline b{font-weight:700}.word{vertical-align:bottom;display:inline-block;overflow:hidden}.word>span{animation:rise .9s var(--ease-out) both;animation-delay:calc(.2s + var(--i) * 28ms);display:inline-block}.fade-in{animation:fade .8s var(--ease-out) .55s both}@keyframes rise{0%{transform:translateY(105%)}to{transform:none}}@keyframes fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hero__actions{flex-wrap:wrap;align-items:center;gap:.875rem;display:flex}.cta{isolation:isolate;border:var(--bw) solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:52px;box-shadow:var(--shadow-hard);transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);align-items:center;gap:.75rem;padding:0 .5rem 0 1.5rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.cta__fill{z-index:-1;background:var(--ink);transform-origin:0;transition:transform .38s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.cta__text{transition:color .38s var(--ease-out)}.cta__icon{background:var(--accent);width:38px;height:38px;color:var(--accent-ink);transition:transform .38s var(--ease-out);border-radius:50%;place-items:center;display:grid}.cta:hover .cta__fill{transform:scaleX(1)}.cta:hover .cta__text{color:var(--canvas-base)}.cta:hover .cta__icon{transform:translate(3px)}.cta:active{box-shadow:2px 2px 0 0 var(--border);transform:translate(2px,2px)}.ghost{border:var(--bw) dashed color-mix(in srgb, var(--ink) 32%, transparent);border-radius:var(--radius-pill);min-height:52px;color:var(--ink-muted);align-items:center;gap:.6rem;padding-inline:1.25rem;font-weight:500;text-decoration:none;transition:color .18s,border-color .18s;display:inline-flex}.ghost:hover{color:var(--ink);border-color:var(--ink)}.ghost__dot{background:var(--accent);border:1px solid var(--border);border-radius:50%;width:8px;height:8px}.ghost__badge{white-space:nowrap;border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);letter-spacing:.02em;text-transform:lowercase;align-items:center;margin-left:.15rem;padding:.15rem .5rem;font-size:.6875rem;font-weight:700;display:inline-flex}.s-stats{border-top:var(--bw) solid color-mix(in srgb, var(--ink) 18%, transparent);flex-wrap:wrap;gap:clamp(1.5rem,5vw,3.5rem);display:flex;margin-top:clamp(2.5rem,7vh,4.5rem)!important;padding-top:1.75rem!important}.s-stats li{flex-direction:column;gap:.15rem;display:flex}.s-stats b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1}.s-stats span{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-subtle);font-size:.75rem}@media (max-width:820px){.hero{padding-top:calc(var(--bar-h) + 1.25rem)}.hero__actions .ghost{display:none}}.site>section{scroll-margin-top:calc(var(--bar-h) + 12px);padding-block:clamp(4rem,12vh,8rem)}.section__head{margin-bottom:clamp(2rem,5vh,3.5rem)}.section__head h2{font-size:var(--fs-heading);margin-top:.9rem!important}.section__head p{max-width:var(--measure);color:var(--ink-muted);margin-top:.85rem!important}html.js .reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(18px)}html.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transition:none;transform:none}.name__line>span,.word>span,.fade-in{animation:none}}.about{background:var(--surface);border-block:var(--bw) solid var(--border)}.about__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.about__lede{letter-spacing:-.02em;font-size:clamp(1.375rem,2.4vw,1.875rem);font-weight:500;line-height:1.35}.about__notes{gap:1.1rem;margin-top:1.75rem;display:grid}.about__notes p{max-width:var(--measure);color:var(--ink-muted)}.portrait{perspective:1400px;position:relative}.portrait__card{aspect-ratio:4/5;transform-style:preserve-3d;transition:transform .9s var(--ease-out);cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.portrait__card[data-flipped="1"]{transform:rotateY(180deg)}.portrait__face{backface-visibility:hidden;border:var(--bw) solid var(--border);border-radius:var(--radius-card);background:var(--canvas-base);box-shadow:var(--shadow-hard-lg);position:absolute;inset:0;overflow:hidden}.portrait__face img{object-fit:cover;width:100%;height:100%}.portrait__empty{letter-spacing:-.05em;width:100%;height:100%;color:color-mix(in srgb, var(--ink) 22%, transparent);background:repeating-linear-gradient(-45deg, transparent 0 14px, color-mix(in srgb, var(--ink) 5%, transparent) 14px 15px), var(--canvas-base);place-items:center;font-size:clamp(4rem,10vw,7rem);font-weight:700;display:grid}.portrait__face--back{background:var(--accent);place-items:center;display:grid;transform:rotateY(180deg)}.portrait__back{color:var(--accent-ink);letter-spacing:-.03em;text-align:center;padding:1.5rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.1}.portrait__caption{text-align:center;background:var(--accent);color:var(--accent-ink);border-top:var(--bw) solid var(--border);padding:.7rem 1rem;font-weight:700;position:absolute;bottom:0;left:0;right:0}.portrait__hint{color:var(--ink-subtle);font-size:.8125rem;margin-top:1rem!important}@media (max-width:900px){.about__grid{grid-template-columns:1fr}.portrait{max-width:22rem}}.skills{background:color-mix(in srgb, var(--ink) 9%, var(--canvas-base));border-block:var(--bw) solid var(--border);padding-block:clamp(3.5rem,9vh,6rem)!important}.skills .section__head{margin-bottom:clamp(1.75rem,4vh,2.75rem)}.skills__grid{gap:.35rem;display:grid}.skillgroup{border-top:1.5px solid color-mix(in srgb, var(--ink) 16%, transparent);grid-template-columns:9.5rem minmax(0,1fr);align-items:center;gap:1.5rem;padding-block:.85rem;display:grid}.skillgroup h3{text-transform:uppercase;color:var(--ink-subtle);margin:0;letter-spacing:.14em!important;font-size:.75rem!important;font-weight:500!important}.s-tools{flex-wrap:wrap;gap:.5rem;display:flex}.s-tool{background:var(--surface);border:1.5px solid color-mix(in srgb, var(--ink) 24%, transparent);border-radius:var(--radius-chip);transition:border-color .2s var(--ease-out), background .2s var(--ease-out), transform .2s var(--ease-out);align-items:center;gap:.6rem;padding:.4rem .85rem .4rem .4rem;font-size:.9375rem;display:inline-flex}.s-tool:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));transform:translateY(-2px)}.s-tool img{object-fit:contain;background:#f2f0e9;border-radius:6px;flex:none;width:30px;height:30px;padding:4px}.s-tool--text{color:var(--ink-muted);padding-inline:.85rem}@media (max-width:760px){.skillgroup{grid-template-columns:1fr;align-items:start;gap:.75rem}}.xp__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.xp__index{top:calc(var(--bar-h) + clamp(1.5rem, 6vh, 4rem));position:sticky}.xp__list{gap:.15rem;display:grid;margin-top:2rem!important}.xp__item{border-radius:var(--radius-chip);color:var(--ink-subtle);grid-template-columns:1.25rem minmax(0,1fr);align-items:baseline;gap:.75rem;padding:.7rem .75rem;text-decoration:none;transition:color .26s,background .26s;display:grid}.xp__item:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 7%, transparent)}.xp__item b{letter-spacing:-.01em;font-size:1.0625rem;font-weight:500;display:block}.xp__item span span{font-size:.8125rem;display:block}.xp__bullet{width:9px;height:9px;transition:background .26s, transform .26s var(--ease-out);border:1.5px solid;border-radius:50%;transform:translateY(-2px)}.xp__item[data-on="1"]{color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent)}.xp__item[data-on="1"] .xp__bullet{background:var(--accent);transform:translateY(-2px)scale(1.25)}.xp__detail{gap:clamp(1.25rem,4vh,2.5rem);display:grid}.job{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-hard);scroll-margin-top:calc(var(--bar-h) + 24px);padding:clamp(1.25rem,3vw,2rem)}.job__when{color:var(--ink-subtle);flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;font-size:.875rem;display:flex;margin-bottom:.85rem!important}.job__when b{color:var(--ink);font-size:.9375rem;font-weight:500}.job__when b:after{content:" ·";color:var(--ink-subtle);font-weight:400}.job h3{letter-spacing:-.015em;font-size:1.375rem}.job__toggle{all:unset;cursor:default;justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.job__at{color:var(--ink-muted);font-weight:400}.job__chev{display:none}.job__lede{max-width:var(--measure);color:var(--ink-muted);margin-top:.6rem!important}.points{gap:.6rem;display:grid;margin-top:1rem!important}.points li{max-width:var(--measure);color:var(--ink-muted);padding-left:1.4rem;position:relative}.points li:before{content:"";background:var(--accent);border:1.5px solid var(--border);width:8px;height:8px;position:absolute;top:.62em;left:0}.points strong{color:var(--ink);font-weight:700}.s-chips{flex-wrap:wrap;gap:.4rem;margin-top:1.1rem;display:flex}.s-chip{color:var(--ink-muted);border:1.5px solid color-mix(in srgb, var(--ink) 28%, transparent);border-radius:var(--radius-chip);padding:.25rem .6rem;font-size:.8125rem}@media (max-width:900px){.xp__grid{grid-template-columns:1fr}.xp__index{position:static}.xp__list{display:none}.job__toggle{cursor:pointer}.job__chev{border-right:var(--bw) solid var(--ink);border-bottom:var(--bw) solid var(--ink);width:12px;height:12px;transition:transform .26s var(--ease-out);flex:none;display:block;transform:rotate(45deg)translateY(-3px)}.job[data-open="1"] .job__chev{transform:rotate(-135deg)}.job[data-open="0"] .job__body{display:none}}.work{background:color-mix(in srgb, var(--ink) 5%, var(--surface));border-block:var(--bw) solid var(--border)}.cases{gap:clamp(3.5rem,10vh,7rem);display:grid}.case{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);display:grid}@media (min-width:861px){.case:nth-child(2n){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.case:nth-child(2n) .case__shot{order:2}}.case__shot{aspect-ratio:16/9;border:var(--bw) solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-hard-lg);background:repeating-linear-gradient(-45deg, transparent 0 14px, color-mix(in srgb, var(--ink) 5%, transparent) 14px 15px), var(--surface);transition:transform .26s var(--ease-out), box-shadow .26s var(--ease-out);place-items:center;padding:clamp(.5rem,1.5vw,.875rem);text-decoration:none;display:grid;position:relative;overflow:hidden}.case__shot:hover{box-shadow:8px 8px 0 0 var(--border);transform:translate(-3px,-3px)}.case__shot img{object-fit:contain;border-radius:calc(var(--radius-card) - 6px);width:100%;height:100%}.shot__card{text-align:center;justify-items:center;gap:.35rem;padding:1rem 1.5rem;display:grid}.shot__big{letter-spacing:-.05em;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1}.shot__small{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-subtle);font-size:.8125rem}.shot__name{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-subtle);font-size:.75rem;position:absolute;top:.85rem;left:1rem}.case__no{letter-spacing:.1em;color:var(--ink-subtle);font-size:.8125rem}.case h3{letter-spacing:-.03em;font-size:clamp(1.875rem,4vw,3rem);margin-top:.6rem!important}.case__tag{color:var(--ink-muted);font-size:1.125rem;margin-top:.4rem!important}.case__lede{max-width:46ch;color:var(--ink-muted);margin-top:1.1rem!important}.case__award{background:var(--accent);width:fit-content;color:var(--accent-ink);border:1.5px solid var(--border);border-radius:var(--radius-chip);align-items:center;gap:.45rem;padding:.2rem .55rem;font-size:.8125rem;font-weight:500;display:flex;margin-top:1.1rem!important}.pill{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.45rem;font-size:.75rem;font-weight:500;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:.55rem;height:.55rem}.pill--live{color:var(--ok)}.pill--live:before{animation:2s ease-in-out infinite pulse}.pill--wip{color:var(--warn)}.pill--done{color:var(--ink-subtle)}@keyframes pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 25%, transparent)}}.case__go{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-pill);min-height:48px;box-shadow:3px 3px 0 0 var(--border);transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);align-items:center;gap:.6rem;margin-top:1.5rem;padding-inline:1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.case__go:hover{box-shadow:5px 5px 0 0 var(--border);transform:translate(-2px,-2px)}@media (max-width:860px){.case{grid-template-columns:1fr}}.minis{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:clamp(3.5rem,10vh,6rem);display:grid}.minis__head{grid-column:1/-1}.mini{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-hard);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);align-content:start;gap:.5rem;padding:clamp(1.1rem,3vw,1.5rem);text-decoration:none;display:grid}.mini:hover{box-shadow:var(--shadow-hard-lg);transform:translate(-3px,-3px)}.mini b{letter-spacing:-.02em;justify-content:space-between;gap:1rem;font-size:1.25rem;display:flex}.mini p{color:var(--ink-muted);font-size:.9375rem}.mini span{color:var(--ink-subtle);letter-spacing:.04em;font-size:.8125rem}@media (max-width:900px){.minis{grid-template-columns:1fr}}.creds{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.cred{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-hard);padding:clamp(1.25rem,3vw,1.75rem)}.cred h3{text-transform:uppercase;color:var(--ink-subtle);letter-spacing:.14em!important;margin-bottom:1.1rem!important;font-size:.75rem!important;font-weight:500!important}.cred li+li{border-top:1.5px solid color-mix(in srgb, var(--ink) 14%, transparent);margin-top:1rem;padding-top:1rem}.cred b{letter-spacing:-.01em;font-weight:700;display:block}.cred span{color:var(--ink-subtle);font-size:.9375rem;display:block}.cred .pill{margin-bottom:.2rem;display:inline-flex}@media (max-width:900px){.creds{grid-template-columns:1fr}}.closer{background:color-mix(in srgb, var(--ink) 14%, var(--canvas-base));border-top:var(--bw) solid var(--border);position:relative;overflow:hidden;padding-block:clamp(5rem,16vh,10rem)!important}.closer__field{pointer-events:none;background:radial-gradient(circle 38vw at 8% 18%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 62%), radial-gradient(circle 30vw at 88% 76%, color-mix(in srgb, var(--surface) 55%, transparent), transparent 58%);position:absolute;inset:-20% 0}.closer__inner{z-index:1;position:relative}.closer h2{letter-spacing:-.04em;font-size:clamp(2.5rem,8vw,6rem);line-height:.95}.closer p{max-width:48ch;color:var(--ink-muted);font-size:1.125rem;margin-top:1.5rem!important}.mailrow{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:2.5rem;display:flex}.closer__mail{border-bottom:3px solid var(--accent);letter-spacing:-.02em;word-break:break-word;padding-bottom:.25rem;font-size:clamp(1.125rem,3.2vw,2rem);font-weight:500;text-decoration:none;display:inline-block}.copy{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-pill);min-height:38px;box-shadow:2px 2px 0 0 var(--border);padding-inline:.9rem;font-size:.8125rem;font-weight:500}.copy:hover{background:var(--accent);color:var(--accent-ink)}.closer__links{flex-wrap:wrap;gap:.75rem;margin-top:2.5rem;display:flex}.closer__links a{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:.4rem;min-height:46px;padding-inline:1.1rem;font-weight:500;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.closer__links a:hover{background:var(--ink);color:var(--canvas-base);border-color:var(--ink)}.door{scroll-margin-top:calc(var(--bar-h) + 2rem);border:var(--bw) dashed color-mix(in srgb, var(--ink) 38%, transparent);border-radius:var(--radius-card);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem clamp(1.5rem,4vw,3rem);margin-top:clamp(3rem,8vh,5rem);padding:clamp(1.5rem,3vw,2rem);display:grid}.door__copy{gap:.6rem;max-width:62ch;display:grid}.door p{max-width:52ch;font-size:1rem;margin:0!important}.door__title{font-weight:700;color:var(--ink)!important;font-size:1.125rem!important}.door__go{justify-items:center;gap:.6rem;max-width:15rem;display:grid}.door__go a{background:var(--accent);min-height:48px;color:var(--accent-ink);border:var(--bw) solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-hard);transition:transform .18s var(--ease-out);align-items:center;gap:.6rem;padding-inline:1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.door__go a:hover{transform:translate(-2px,-2px)}.door__note{text-align:center;color:var(--ink-subtle)!important;font-size:.8125rem!important}@media (max-width:700px){.door{grid-template-columns:1fr}.door__go{justify-items:start;width:100%;max-width:none}.door__go a{justify-content:center;width:100%}.door__note{text-align:left}}.totop{z-index:50;background:var(--accent);width:46px;height:46px;color:var(--accent-ink);border:var(--bw) solid var(--border);box-shadow:3px 3px 0 0 var(--border);opacity:0;pointer-events:none;transition:opacity .25s, transform .25s var(--ease-out);border-radius:50%;place-items:center;font-weight:700;text-decoration:none;display:grid;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);transform:translateY(10px)}html[data-scrolled] .totop{opacity:1;pointer-events:auto;transform:none}.foot{color:var(--ink-subtle);background:color-mix(in srgb, var(--ink) 14%, var(--canvas-base));border-top:1.5px solid color-mix(in srgb, var(--ink) 18%, transparent);padding-block:2rem;font-size:.9375rem}.foot .wrap{flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;display:flex}.foot__credit{flex-basis:100%;font-size:.8125rem}.foot__credit a{color:var(--ink);text-underline-offset:3px}.doc{width:min(1180px,100%);padding-inline:var(--gutter);padding-top:calc(var(--bar-h) + clamp(2.5rem, 8vh, 5rem));margin-inline:auto;padding-bottom:clamp(3rem,10vh,6rem)}.doc__meta{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-subtle);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.8125rem;display:flex}.doc h1{letter-spacing:-.035em;font-size:clamp(2.25rem,7vw,4.5rem);margin-top:.7rem!important}.doc__tag{color:var(--ink-muted);font-size:clamp(1.125rem,2.2vw,1.5rem);margin-top:.6rem!important}.doc__lede{max-width:54ch;color:var(--ink-muted);font-size:1.125rem;margin-top:1.5rem!important}.doc .case__shot{margin-top:clamp(2.5rem,7vh,4rem)}.doc__body{grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);align-items:start;gap:clamp(2rem,5vw,4rem);margin-top:clamp(2.5rem,8vh,4.5rem);display:grid}.doc__body h2{text-transform:uppercase;color:var(--ink-subtle);border-bottom:1.5px solid color-mix(in srgb, var(--ink) 16%, transparent);padding-bottom:.6rem;letter-spacing:.14em!important;margin-bottom:1.25rem!important;font-size:.75rem!important;font-weight:500!important}.doc__body .points{gap:.85rem;margin-top:0!important}.doc__side{top:calc(var(--bar-h) + 1.5rem);background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-hard);padding:clamp(1.25rem,3vw,1.75rem);position:sticky}.doc__side .s-chips{margin-top:0}.doc__links{gap:.5rem;margin-top:1.25rem;display:grid}.doc__links a{border:1.5px solid var(--border);border-radius:var(--radius-chip);justify-content:space-between;align-items:center;min-height:44px;padding-inline:.9rem;font-weight:500;text-decoration:none;transition:background .18s,transform .18s;display:inline-flex}.doc__links a:hover{background:color-mix(in srgb, var(--accent) 18%, var(--surface));transform:translate(-1px,-1px)}.doc__foot{color:var(--ink-muted);border-top:var(--bw) solid color-mix(in srgb, var(--ink) 18%, transparent);flex-wrap:wrap;justify-content:space-between;gap:1rem 1.5rem;margin-top:clamp(3rem,9vh,5rem);padding-top:1.5rem;display:flex}.doc__foot a{color:var(--ink);font-weight:500;text-decoration:none}@media (max-width:900px){.doc__body{grid-template-columns:1fr}.doc__side{position:static}}@media (max-width:560px){.site{--fs-body:1rem;--fs-mega:clamp(3.25rem, 14vw, 10.5rem);--fs-display:clamp(1.375rem, 5.2vw, 3.75rem);--fs-heading:clamp(1.25rem, 5.4vw, 2.25rem);line-height:1.55}.site>section{padding-block:clamp(3rem,8vh,5rem)}.cta{min-height:46px;padding-left:1.15rem}.cta__icon{width:34px;height:34px}.s-stats{gap:1.25rem 1.75rem}.s-stats b{font-size:1.5rem}.about__lede{font-size:1.1875rem}.s-tool{gap:.5rem;padding:.3rem .7rem .3rem .3rem;font-size:.875rem}.s-tool img{width:24px;height:24px;padding:3px}.job{padding:1.1rem}.job h3{font-size:1.1875rem}.case h3{font-size:1.625rem}.cases{gap:2.75rem}.closer h2{font-size:2.25rem}.closer__mail{font-size:1.0625rem}}.term-page{min-height:100svh;padding:calc(var(--bar-h) + clamp(1.5rem, 5vh, 3rem)) var(--gutter) clamp(2rem, 6vh, 4rem)}.term{color:#e9e6da;border:var(--bw) solid var(--border);border-radius:var(--radius-card);width:min(960px,100%);box-shadow:var(--shadow-hard-lg);font-family:var(--font-mono), ui-monospace, Menlo, monospace;background:#0f0f0d;margin-inline:auto;font-size:.9375rem;line-height:1.6;overflow:hidden}.term__top{border-bottom:var(--bw) solid var(--border);background:#1b1b18;align-items:center;gap:.5rem;padding:.7rem 1rem;display:flex}.term__dot{border:1.5px solid #000;border-radius:50%;width:12px;height:12px}.term__title{color:#e9e6da99;margin-left:.75rem;font-size:.8125rem}.term__screen{cursor:text;height:min(68svh,640px);padding:1.1rem 1.25rem;overflow-y:auto}.term__line{white-space:pre-wrap;word-break:break-word}.term__prompt{color:var(--accent)}.term__muted{color:#e9e6da80}.term__ok{color:#4cc27a}.term__warn{color:#e0a03a}.term__key{color:#8ea2ff}.term__screen a{color:var(--accent)}.term__form{align-items:center;gap:.6rem;display:flex}.term__input{min-width:0;color:inherit;font:inherit;caret-color:var(--accent);background:0 0;border:0;outline:0;flex:1;padding:0}.term__chips{flex-wrap:wrap;gap:.5rem;width:min(960px,100%);margin:1.25rem auto 0;display:flex}.term__chips button{cursor:pointer;font-family:var(--font-mono), monospace;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-pill);box-shadow:2px 2px 0 0 var(--border);padding:.35rem .8rem;font-size:.8125rem}.term__chips button:hover{background:var(--accent);color:var(--accent-ink)}.term__note{width:min(960px,100%);color:var(--ink-subtle);font-size:.875rem;margin:1rem auto 0!important}@media (max-width:560px){.term{font-size:.8125rem}.term__screen{padding:.9rem}}
