@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations")}:root{--orc-type-display: 700 24px/1.6 var(--orc-font-sans);--orc-type-headline: 600 17px/1.3 var(--orc-font-sans);--orc-type-title: 600 15px/1.3 var(--orc-font-sans);--orc-type-body: 400 14px/1.55 var(--orc-font-sans);--orc-type-label: 600 11px/1.4 var(--orc-font-sans);--orc-type-mono: 400 12.5px/1.7 var(--orc-font-mono)}.orc-type-display{font:var(--orc-type-display);text-wrap:balance}.orc-type-headline{font:var(--orc-type-headline)}.orc-type-title{font:var(--orc-type-title)}.orc-type-body{font:var(--orc-type-body)}.orc-type-label{font:var(--orc-type-label);text-transform:uppercase;letter-spacing:.03em}.orc-type-mono{font:var(--orc-type-mono)}:root{color-scheme:light dark;--orc-bg: #e3e5e4;--orc-panel: #eceeec;--orc-border: #a8b0aa;--orc-text: #38423c;--orc-heading: #202722;--orc-muted: #6e7971;--orc-accent: #2d6983;--orc-accent-soft: #cbd1cc;--orc-chip: #cbd1cc;--orc-code: #d4d8d5;--orc-green: #53743a;--orc-yellow: #8a6a2f;--orc-red: #b83f50;--orc-purple: #76518f;--orc-cyan: #256f72;--orc-orange: #9a5a25;--orc-gate: color-mix(in srgb, var(--orc-orange) 60%, var(--orc-heading));--orc-muted-strong: color-mix(in srgb, var(--orc-muted) 45%, var(--orc-heading));--orc-accent-text: color-mix(in srgb, var(--orc-accent) 70%, var(--orc-heading));--orc-red-text: color-mix(in srgb, var(--orc-red) 60%, var(--orc-heading));--orc-yellow-text: color-mix(in srgb, var(--orc-yellow) 70%, var(--orc-heading));--orc-green-text: color-mix(in srgb, var(--orc-green) 70%, var(--orc-heading));--orc-purple-text: color-mix(in srgb, var(--orc-purple) 65%, var(--orc-heading));--orc-cyan-text: color-mix(in srgb, var(--orc-cyan) 60%, var(--orc-heading));--orc-orange-text: color-mix(in srgb, var(--orc-orange) 60%, var(--orc-heading));--orc-accent-strong: color-mix(in srgb, var(--orc-accent) 70%, var(--orc-heading));--orc-control-border: color-mix(in srgb, var(--orc-border) 65%, var(--orc-heading));--orc-button-hover: color-mix(in srgb, var(--orc-accent) 10%, var(--orc-bg));--orc-button-hover-chip: color-mix(in srgb, var(--orc-accent) 12%, var(--orc-chip));--orc-button-hover-strong: color-mix(in srgb, var(--orc-accent-strong) 86%, var(--orc-heading));--orc-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--orc-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--orc-space-1: 4px;--orc-space-2: 8px;--orc-space-3: 12px;--orc-space-4: 16px;--orc-space-5: 24px;--orc-radius-sm: 4px;--orc-radius-md: 8px;--orc-radius-pill: 999px;--orc-focus-ring: 2px solid var(--orc-accent);--orc-focus-offset: 2px}@media(prefers-color-scheme:dark){:root{--orc-bg: #1a1c20;--orc-panel: #16181b;--orc-border: #3b4540;--orc-text: #c7cfca;--orc-heading: #e0e5e2;--orc-muted: #707a73;--orc-accent: #78a9c2;--orc-accent-soft: #29312c;--orc-chip: #29312c;--orc-code: #1f2422;--orc-green: #9dc76b;--orc-yellow: #d5b05c;--orc-red: #e87878;--orc-purple: #b497d6;--orc-cyan: #77b8b1;--orc-orange: #e69257;--orc-gate: var(--orc-orange);--orc-muted-strong: color-mix(in srgb, var(--orc-muted) 45%, var(--orc-heading));--orc-accent-text: var(--orc-accent);--orc-red-text: var(--orc-red);--orc-yellow-text: var(--orc-yellow);--orc-green-text: var(--orc-green);--orc-purple-text: var(--orc-purple);--orc-cyan-text: var(--orc-cyan);--orc-orange-text: var(--orc-orange);--orc-accent-strong: var(--orc-accent)}}:root[data-theme=dark]{color-scheme:dark;--orc-bg: #1a1c20;--orc-panel: #16181b;--orc-border: #3b4540;--orc-text: #c7cfca;--orc-heading: #e0e5e2;--orc-muted: #707a73;--orc-accent: #78a9c2;--orc-accent-soft: #29312c;--orc-chip: #29312c;--orc-code: #1f2422;--orc-green: #9dc76b;--orc-yellow: #d5b05c;--orc-red: #e87878;--orc-purple: #b497d6;--orc-cyan: #77b8b1;--orc-orange: #e69257;--orc-gate: var(--orc-orange);--orc-muted-strong: color-mix(in srgb, var(--orc-muted) 45%, var(--orc-heading));--orc-accent-text: var(--orc-accent);--orc-red-text: var(--orc-red);--orc-yellow-text: var(--orc-yellow);--orc-green-text: var(--orc-green);--orc-purple-text: var(--orc-purple);--orc-cyan-text: var(--orc-cyan);--orc-orange-text: var(--orc-orange);--orc-accent-strong: var(--orc-accent)}:root[data-theme=light]{color-scheme:light;--orc-bg: #e3e5e4;--orc-panel: #eceeec;--orc-border: #a8b0aa;--orc-text: #38423c;--orc-heading: #202722;--orc-muted: #6e7971;--orc-accent: #2d6983;--orc-accent-soft: #cbd1cc;--orc-chip: #cbd1cc;--orc-code: #d4d8d5;--orc-green: #53743a;--orc-yellow: #8a6a2f;--orc-red: #b83f50;--orc-purple: #76518f;--orc-cyan: #256f72;--orc-orange: #9a5a25;--orc-gate: color-mix(in srgb, var(--orc-orange) 60%, var(--orc-heading));--orc-muted-strong: color-mix(in srgb, var(--orc-muted) 45%, var(--orc-heading));--orc-accent-text: color-mix(in srgb, var(--orc-accent) 70%, var(--orc-heading));--orc-red-text: color-mix(in srgb, var(--orc-red) 60%, var(--orc-heading));--orc-yellow-text: color-mix(in srgb, var(--orc-yellow) 70%, var(--orc-heading));--orc-green-text: color-mix(in srgb, var(--orc-green) 70%, var(--orc-heading));--orc-purple-text: color-mix(in srgb, var(--orc-purple) 65%, var(--orc-heading));--orc-cyan-text: color-mix(in srgb, var(--orc-cyan) 60%, var(--orc-heading));--orc-orange-text: color-mix(in srgb, var(--orc-orange) 60%, var(--orc-heading));--orc-accent-strong: color-mix(in srgb, var(--orc-accent) 70%, var(--orc-heading))}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations")}:root{--orc-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--orc-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@font-face{font-family:RB Wordmark;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/wordmark.woff2) format("woff2");unicode-range:U+42-43,U+48-49,U+4b,U+4f,U+52,U+54,U+63,U+68-69,U+6b,U+6f,U+74}:root{--font-wordmark: "RB Wordmark", var(--orc-font-sans);--paper: var(--orc-bg);--ink: var(--orc-heading);--body: var(--orc-text);--line: var(--orc-border);--blue: var(--orc-accent);--blue-deep: color-mix(in srgb, var(--orc-accent) 72%, var(--orc-heading));--blue-text: color-mix(in srgb, var(--orc-accent) 15%, var(--orc-bg));--signal: #aed489;--pad: clamp(1rem, 3vw, 3rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--body);font:400 1rem/1.55 var(--orc-font-sans)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}a:hover{color:var(--orc-accent-text)}a:focus-visible{outline:var(--orc-focus-ring);outline-offset:var(--orc-focus-offset)}h1,h2,p,ul,ol{margin:0}ul,ol{list-style:none;padding:0}.skip{position:absolute;z-index:10;left:-999px;top:1rem;background:var(--orc-heading);color:var(--orc-bg);padding:.6rem .8rem}.skip:focus{left:1rem}.masthead{display:grid;grid-template-columns:clamp(8.4rem,14vw,12rem) minmax(0,1fr);min-height:min(100svh,58rem)}.rail{display:flex;flex-direction:column;padding:1.25rem 1rem;border-right:1px solid var(--line);background:var(--orc-chip)}.brand{color:var(--ink);font:700 1.05rem/.92 var(--orc-font-sans);letter-spacing:-.06em;text-decoration:none}.rail nav{display:grid;gap:.15rem;margin-top:auto}.rail nav a{padding:.5rem 0;text-decoration:none;font-size:.8rem;font-weight:700}.rail nav span{display:inline-block;width:2rem;color:var(--orc-muted);font:.68rem var(--orc-font-mono)}.rail>p{margin-top:auto;color:var(--orc-muted);font:.62rem/1.35 var(--orc-font-mono);text-transform:uppercase}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,24%);grid-template-rows:auto 1fr auto;min-height:inherit;overflow:hidden;background:var(--blue-deep);color:var(--blue-text)}.hero-topline{grid-column:1 / -1;display:flex;justify-content:space-between;gap:1rem;padding:1.2rem var(--pad);border-bottom:1px solid color-mix(in srgb,var(--blue-text) 30%,transparent);font:600 .68rem/1.3 var(--orc-font-mono);letter-spacing:.04em;text-transform:uppercase}.specimen-grid{--wm-size: clamp(3.6rem, 12.3vw, 10.2rem);--wm-top: clamp(3rem, 11vh, 7.5rem);--cap-rule: .0651;position:relative;min-height:27rem;padding:var(--wm-top) var(--pad) 4rem}.specimen-grid:before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--blue-text) 15%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--blue-text) 15%,transparent) 1px,transparent 1px);background-size:100% 4.7rem,7rem 100%;animation:rise .4s ease both}.specimen-grid h1{position:relative;z-index:1;max-width:6ch;color:var(--blue-text);font:700 var(--wm-size)/.78 var(--font-wordmark);letter-spacing:-.045em;text-transform:uppercase}.specimen-grid h1>span{display:block;white-space:nowrap;animation:specimen .55s cubic-bezier(.2,.7,.3,1) both}.specimen-grid h1>span:first-child{animation-delay:.1s}.specimen-grid h1>span:last-child{animation-delay:.2s}.specimen-grid h1 span span{display:inline-block;-webkit-text-stroke:max(1px,var(--stroke)) transparent;transition:color .18s ease,-webkit-text-stroke-color .18s ease,transform .18s ease}.specimen-grid h1 span span[data-lit]{color:color-mix(in srgb,var(--blue-text) 12%,transparent);-webkit-text-stroke-color:var(--signal);transform:scale(var(--lit-scale));transform-origin:center calc(var(--cap-rule) * var(--wm-size) + var(--cap-height) * var(--wm-size) / 2)}.measure{position:absolute;z-index:2;pointer-events:none;left:var(--pad);right:0;border-top:1px dashed color-mix(in srgb,var(--blue-text) 45%,transparent);color:var(--blue-text);font:.58rem var(--orc-font-mono);text-transform:uppercase;transform-origin:left;animation:draw .5s cubic-bezier(.2,.7,.3,1) both;transition:border-top-color .18s ease,color .18s ease}.measure:before{content:attr(data-label);position:absolute;top:-.85rem;right:var(--pad);animation:rise .3s ease both}.measure-c{animation-delay:.45s}.measure-c:before{animation-delay:.7s}.measure-x{animation-delay:.55s}.measure-x:before{animation-delay:.8s}.measure-b{animation-delay:.65s}.measure-b:before{animation-delay:.9s}.measure[data-active]{border-top-color:var(--signal);border-top-style:solid;color:var(--signal)}.measure-c{top:calc(var(--wm-top) + var(--cap-rule) * var(--wm-size))}.measure-x{top:calc(var(--wm-top) + 1.1821 * var(--wm-size))}.measure-b{top:calc(var(--wm-top) + 1.5321 * var(--wm-size))}.node{position:absolute;z-index:3;width:.5rem;aspect-ratio:1;border-radius:50%;background:var(--signal);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--signal) 15%,transparent);animation:ping .35s cubic-bezier(.2,.7,.3,1) both}.node-a{top:29%;left:44%;animation-delay:.8s}.node-b{top:61%;left:53%;animation-delay:.87s}.node-c{top:43%;right:12%;animation-delay:.94s}.hero-intro{position:relative;z-index:2;max-width:38ch;margin-top:2.3rem;font-size:clamp(.88rem,1.4vw,1.05rem)}.scroll-cue{position:absolute;z-index:2;right:var(--pad);bottom:1.25rem;color:var(--blue-text);font:600 .72rem var(--orc-font-mono);text-transform:uppercase;text-decoration:none}.scroll-cue:hover{color:var(--blue-text);text-decoration:underline;text-decoration-color:var(--signal)}.scroll-cue span{color:var(--signal);font-size:1.4rem;vertical-align:middle}.anatomy{display:flex;flex-direction:column;gap:1.3rem;padding:1.2rem;border-left:1px solid color-mix(in srgb,var(--blue-text) 30%,transparent)}.panel-label,.section-title>span,.section-title p{font:700 .68rem/1.25 var(--orc-font-mono);letter-spacing:.05em;text-transform:uppercase}.letterform{display:grid;place-items:center;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--blue-text) 45%,transparent)}.letterform svg{width:58%;height:auto;overflow:visible}.letterform path{fill:none;stroke:var(--blue-text);stroke-width:1;vector-effect:non-scaling-stroke;animation:stroke .75s ease-out .45s both}.anatomy ol{display:grid;gap:1rem;counter-reset:anatomy}.anatomy li{display:grid;grid-template-columns:2rem 1fr;align-items:baseline;color:var(--blue-text);font-size:.75rem}.anatomy li span{color:var(--signal);font:.68rem var(--orc-font-mono)}.anatomy li b{display:block;color:var(--blue-text)}.scale{position:relative;grid-column:1 / -1;padding:.8rem var(--pad);border-top:1px solid color-mix(in srgb,var(--blue-text) 30%,transparent);font:.58rem var(--orc-font-mono);animation:rise .4s ease .35s both}.scale .ticks{display:flex;justify-content:space-between;transition:opacity .18s ease}.scale[data-active] .ticks{opacity:.28}.readout{position:absolute;top:.8rem;left:clamp(8rem,var(--ins-x, 50%),calc(100% - 8rem));padding:0 .6rem;background:var(--blue-deep);color:var(--signal);font:.58rem var(--orc-font-mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;opacity:0;transform:translate(-50%,.15rem);transition:opacity .18s ease,transform .18s ease}.scale[data-active] .readout{opacity:1;transform:translate(-50%)}.hero-topline{animation:rise .4s ease both}.hero-intro{animation:rise .5s ease .55s both}.scroll-cue{animation:rise .4s ease .95s both}.anatomy>*{animation:rise .45s ease both}.anatomy .panel-label{animation-delay:.3s}.anatomy .letterform{animation-delay:.4s}.anatomy ol{animation-delay:.55s}@keyframes rise{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}@keyframes specimen{0%{opacity:0;clip-path:inset(-30% -60% 100% 0);transform:translateY(.1em)}to{opacity:1;clip-path:inset(-30% -60% -30% 0);transform:none}}@keyframes draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ping{0%{opacity:0;transform:scale(.2);box-shadow:0 0 color-mix(in srgb,var(--signal) 45%,transparent)}60%{opacity:1;transform:scale(1.35)}to{opacity:1;transform:scale(1);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--signal) 15%,transparent)}}@keyframes stroke{0%{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}main{max-width:88rem;margin:0 auto;padding:0 var(--pad)}.section{display:grid;grid-template-columns:minmax(12rem,22%) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);padding:clamp(4rem,10vw,8rem) 0;border-bottom:1px solid var(--line)}.section-title{display:grid;grid-template-columns:2.3rem 1fr;align-content:start;gap:.5rem}.section-title>span{color:var(--orc-accent-text)}.section-title p{margin-bottom:.5rem;color:var(--orc-muted)}.section-title h2{color:var(--ink);font-size:clamp(1.3rem,2vw,2rem);letter-spacing:-.04em;line-height:1.05}.work-list{border-top:1px solid var(--line)}.work-list li{display:grid;grid-template-columns:3rem minmax(9rem,1fr) minmax(10rem,1.5fr) 5rem;gap:1rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--line)}.index,.years{color:var(--orc-muted);font:.72rem var(--orc-font-mono)}.work-list strong{color:var(--ink)}.builder-marker{position:relative}.builder-tooltip{position:absolute;z-index:1;left:50%;bottom:calc(100% + .45rem);width:max-content;padding:.3rem .45rem;border-radius:.2rem;background:var(--ink);color:var(--paper);font:.65rem var(--orc-font-mono);opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition:opacity .15s ease,transform .15s ease}.builder-marker:hover .builder-tooltip{opacity:1;transform:translate(-50%)}.role{color:var(--orc-muted-strong)}.years{text-align:left}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.project-list li{display:grid;grid-template-columns:2.3rem minmax(0,1fr);gap:.8rem;min-height:13rem;padding:1.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.project-list li:nth-child(2n){border-right:0}.project-list a{color:var(--ink);font-size:1.25rem;font-weight:700;letter-spacing:-.03em}.project-list p{margin-top:.5rem;color:var(--orc-muted-strong);font-size:.9rem}.project-list a.demo{display:inline-block;margin-top:.5rem;color:var(--orc-muted-strong);font-size:.8rem;font-weight:600;letter-spacing:0}.project-list orc-chip{align-self:end;justify-self:start;grid-column:2}.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,35%);gap:3rem;margin:clamp(4rem,10vw,8rem) 0;padding:clamp(2rem,5vw,4rem);background:var(--orc-chip);border:1px solid var(--line)}.contact h2{max-width:12ch;margin:.8rem 0 1rem;color:var(--ink);font-size:clamp(2rem,5vw,4.5rem);letter-spacing:-.06em;line-height:.95}.contact p:not(.panel-label){max-width:38ch;color:var(--orc-muted-strong)}.contact ul{align-self:center}.contact li+li{border-top:1px solid var(--line)}.contact a{display:flex;justify-content:space-between;gap:1rem;padding:.95rem 0;color:var(--ink);font-weight:700;text-decoration:none}.contact a .url{text-decoration-line:underline}.contact a [aria-hidden]{color:var(--orc-accent-text)}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem var(--pad);border-top:1px solid var(--line);color:var(--orc-muted);font:.7rem var(--orc-font-mono)}@media(max-width:50rem){.masthead{grid-template-columns:1fr;min-height:0}.hero{grid-template-columns:1fr}.anatomy{display:none}.hero-topline span:last-child{display:none}.rail{display:grid;gap:.35rem;padding:.9rem var(--pad);border-right:0;border-bottom:1px solid var(--line)}.rail nav{display:flex;justify-content:space-between;gap:.25rem;max-width:32rem;margin:0}.rail nav a{display:flex;align-items:center;min-height:44px;padding:0;font-size:.82rem}.rail nav span,.rail>p{display:none}.specimen-grid{--wm-top: 2.25rem;--wm-size: clamp(2.6rem, 15vw, 10.2rem);min-height:0;padding-bottom:2.5rem}.hero-intro{margin-top:1.75rem}.scroll-cue{position:static;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-top:1rem}.node-a{top:calc(var(--wm-top) + .45 * var(--wm-size));right:12%;left:auto}.node-b{top:calc(var(--wm-top) + 1.75 * var(--wm-size));right:22%;left:auto}.node-c{display:none}.scale .ticks span:nth-child(2n){display:none}.section{grid-template-columns:1fr;gap:2rem}.section-title{display:block}.section-title>span{float:left;margin-right:.6rem}.work-list li{grid-template-columns:2.3rem minmax(0,1fr) auto;gap:.35rem .75rem}.role{grid-column:2;grid-row:2}.years{grid-column:3;grid-row:1;text-align:right}.project-list{grid-template-columns:1fr}.project-list li,.project-list li:nth-child(2n){min-height:0;padding:1.2rem 0;border-right:0}.project-list orc-chip{align-self:start;margin-top:.9rem}.work-list a,.project-list a{padding-block:.4rem}.contact{grid-template-columns:1fr;gap:1.75rem;padding:1.5rem 1.25rem}.contact a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;font-size:.9rem;overflow-wrap:anywhere}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero *,.hero *:before{animation:none}.measure,.scale .ticks,.readout,.specimen-grid h1 span span{transition:none}}
