:root{--bg:#151414;--surface:#1e1c1b;--surface-2:#252322;--line:#353231;--line-soft:#262423;--dim:#4d4847;--text:#fff;--text-2:#c6c2c1;--text-3:#c6c2c1;--accent:#ff490d;--font-body:var(--font-funnel), system-ui, sans-serif;--fs-s:12px;--fs:14px;--fs-l:16px;--col:520px;--top:120px;--logo:invert(0);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#fff;--surface:#f4f2f0;--surface-2:#ebe8e5;--line:#dcd8d4;--line-soft:#ebe8e5;--dim:#b3ada8;--text:#151414;--text-2:#4b4644;--text-3:#5c5653;--accent:#c73600;--logo:invert(1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs);-webkit-font-smoothing:antialiased;line-height:22px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}@media (max-width:720px){:root{--top:88px}}@media (max-width:560px){:root{--top:112px}}a{color:inherit;text-decoration:none}p a,.contact a,a.text-link{text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 30%, transparent);text-decoration-color:color-mix(in srgb, currentColor 30%, transparent);text-underline-offset:4px;transition:text-decoration-color .2s}p a:hover,.contact a:hover,a.text-link:hover{text-decoration-color:currentColor}.page{padding-top:var(--top);padding-bottom:24px;position:relative;overflow-x:clip}.col{width:var(--col);max-width:calc(100% - 32px);margin-inline:auto;position:relative}.sec{margin-top:0}.hero{width:var(--col);max-width:calc(100% - 32px);font-family:var(--font-title);text-align:center;text-transform:uppercase;overflow-wrap:anywhere;color:var(--text);margin:0 auto;font-size:min(60px,11.4943vw - 3.67816px);font-weight:600;line-height:1}.home-hero{margin-top:48px;margin-bottom:40px}@media (max-width:720px){.home-hero{margin-top:28px}}.intro{flex-direction:column;gap:14px;margin-top:24px;display:flex}.intro p,.row{font-size:var(--fs);white-space:pre-line;font-weight:450;line-height:22px}.intro p,.intro p:first-child{color:var(--text)}.label{font-family:var(--font-title);font-weight:600;font-size:var(--fs-s);text-transform:uppercase;color:var(--text-3);margin-bottom:6px;line-height:20px;display:block;position:relative}.label-wrap{white-space:normal;width:109px}.experience{margin-top:56px}.rows{flex-direction:column;gap:8px;display:flex}.row{justify-content:space-between;height:20px;padding-right:106px;display:flex}.muted{color:var(--text-3)}.companies{margin-top:56px}.logos{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px;display:grid}.logo{justify-content:center;align-items:center;height:60px;display:flex}.method{flex-direction:column;gap:19px;margin-top:56px;display:flex}.card{background:var(--surface);height:447px;box-shadow:inset 0 0 0 1px var(--line);border-radius:2px;flex-direction:column;padding:32px;display:flex}.card-title{font-weight:500;font-size:var(--fs-l);color:var(--text);line-height:1.2}.card-blurb{height:47.13px;font-size:var(--fs);color:var(--text-2);margin-top:17.59px;line-height:1.55}.dots{flex:none;height:50.4px;margin-top:24px;position:relative}.dot{border-radius:1.5px;position:absolute}.work{flex-direction:column;gap:12px;margin-top:56px;display:flex}.all-work{font-size:var(--fs);width:fit-content;height:22px;color:var(--text-2);margin-top:4px;line-height:22px}.all-work:hover{color:var(--text)}.artifacts{flex-direction:column;gap:12px;margin-top:56px;display:flex}@media (max-width:720px){.row{padding-right:0}.logos{grid-template-columns:repeat(2,1fr)}.card{height:auto}}.logo img{max-width:100%;height:auto;filter:var(--logo);opacity:.6;transition:opacity .2s;display:block}.logo:hover img{opacity:1}.card-auto{height:auto}.card-auto .card-blurb{height:auto;min-height:47.13px}.trace{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--fs-s);color:var(--text-2);margin-top:24px;line-height:1;overflow:hidden}.trace-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 0 10px;display:flex}.trace-title{color:var(--text)}.trace-meta{color:var(--text-3);gap:14px;display:inline-flex}.trace-meta b{color:var(--text-2);font-weight:400}.trace-meta b[data-state=running]{color:var(--accent)}.trace-rows{padding:6px 14px 8px;position:relative}.trace-row{grid-template-columns:96px 1fr 76px;align-items:center;height:20px;display:grid}.trace-name{color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;transition:color .2s;display:flex}.trace-row[data-active=true] .trace-name,.trace-row[data-done=true] .trace-name{color:var(--text)}.trace-gate{flex:none;font-size:10px}.trace-lane{background:repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 12.5%);background-position:0;background-repeat:no-repeat;background-size:100% 1px;height:8px;position:relative}.trace-bar{background:var(--text-2);border-radius:2px;height:8px;position:absolute;top:0}.trace-row[data-active=true] .trace-bar{background:var(--accent)}.trace-row[data-kind=human] .trace-bar{box-shadow:inset 0 0 0 1px var(--text-2);background:0 0}.trace-row[data-kind=human][data-active=true] .trace-bar{box-shadow:inset 0 0 0 1px var(--accent)}.trace-result{text-align:right;color:var(--text-3);opacity:0;transition:opacity .25s}.trace-result[data-on=true]{opacity:1;color:var(--text)}.trace-playhead{background:var(--text-3);opacity:.6;pointer-events:none;width:1px;position:absolute;top:4px;bottom:6px}@media (max-width:720px){.trace-row{grid-template-columns:72px 1fr 62px}.trace-playhead{display:none}}.trace-title{align-items:center;gap:8px;display:inline-flex}.trace-title img{width:auto;height:14px;filter:brightness(0) invert(1) var(--logo);opacity:.7;display:block}.rows{gap:0}.job-row{width:100%;color:inherit;height:28px;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center}.job-row>span:first-child{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.job-role{font-size:var(--fs);color:var(--text-3);margin-left:12px}.job-caption{font-size:var(--fs);color:var(--text-3);margin-bottom:8px}.job-row>.muted{transition:color .15s}a.job-row:hover>.muted{color:var(--text)}.contact{margin-top:0}.contact .label{top:0}.work-page,.case-page{min-height:0}.stack-groups{flex-direction:column;gap:10px;margin-top:26px;display:flex}.stack-g{row-gap:4px;min-height:28px;display:grid}.stack-g-label{font-size:var(--fs);color:var(--text-3);transition:color .25s}.stack-g[data-on=true] .stack-g-label{color:var(--text)}.stack-g ul{flex-wrap:wrap;gap:6px 18px;list-style:none;display:flex}.stack-g li{font-size:var(--fs);color:var(--text-3);align-items:center;gap:8px;transition:color .25s;display:flex}.stack-g li img{width:18px;height:18px;filter:brightness(0) invert(1) var(--logo);opacity:.5;transition:opacity .25s;display:block}.stack-icon{width:18px;height:18px;color:var(--text);opacity:.5;font-size:18px;line-height:1;transition:opacity .25s}.stack-g[data-on=true] li{color:var(--text)}.stack-g[data-on=true] li img,.stack-g[data-on=true] .stack-icon{opacity:1}.dot{transition:background-color .2s,transform .2s}.method .card{box-shadow:none;background:0 0;border-radius:0;height:auto;padding:0}.method{gap:12px}.method .card+.card{margin-top:44px}.homepage .job-row{gap:16px;height:auto;min-height:28px;padding-right:0}.homepage .job-row .muted{text-align:right;flex-shrink:0}.homepage .logo{height:80px}.homepage .stack-g .stack-g-label{color:var(--text-3)}.homepage .trace-head{flex-wrap:wrap;gap:12px}@media (max-width:980px){.homepage .label,.contact .label{margin-bottom:8px;display:block;position:static}.homepage .label-wrap{width:auto}.homepage .method{display:block}.homepage .method .card+.card{margin-top:56px}}@media (max-width:720px){.companies,.work,.experience,.artifacts,.method{margin-top:48px}.homepage .logos{grid-template-columns:repeat(3,1fr);gap:0 12px}.homepage .logo{height:60px}.homepage .logo img{max-width:82%}.all-work{align-items:center;height:32px;display:inline-flex}}.de-card{border-radius:2px;margin-top:24px;overflow:hidden}.de-anim{aspect-ratio:16/9;width:320px;max-width:100%}.de-anim canvas{width:100%;height:100%;display:block}.pipeline-figure{--hairline-plate:var(--bg);--hairline-hi:var(--text);--hairline-edge:var(--text-2);--hairline-mid:var(--dim);--hairline-lo:var(--line);--hairline-stroke:.9;width:320px;max-width:100%;margin-top:24px}@media (max-width:720px){.job-row:has(.job-role){height:auto;min-height:28px;padding-block:4px}.job-row:has(.job-role)>span:first-child{white-space:normal}.job-role{margin-left:0;display:block}}
