@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/mona-sans-latin-ext-wght-normal-BqSk0Z3x.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/mona-sans-latin-wght-normal-Pz49MTQZ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cascadia Mono Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/cascadia-mono-latin-ext-wght-normal-tuuL4LjG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cascadia Mono Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/assets/cascadia-mono-latin-wght-normal-DLJQ3041.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--canvas: 19 19 19;--surface: 27 27 27;--raised: 36 36 36;--rule: 48 48 48;--rule-strong: 118 118 118;--ink: 237 237 234;--ink-2: 183 183 181;--ink-3: 143 143 143;--accent: 194 56 125;--accent-hover: 174 47 111;--accent-ink: 255 90 165;--on-accent: 255 255 255;--accent-wash: 54 32 43;--selection: 89 34 61;--focus: 255 90 165;--font-sans: "Mona Sans Variable", "Mona Sans Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Cascadia Mono Variable", "Cascadia Fallback Consolas", "Cascadia Fallback", Consolas, Menlo, ui-monospace, "DejaVu Sans Mono", monospace;--font-display: "AM Display", var(--font-sans);--font-figures: "AM Figures", var(--font-sans);--ease-settle: cubic-bezier(.16, 1, .3, 1);--ease-standard: cubic-bezier(.2, 0, 0, 1);--margin: 20px;--gutter: 12px;--topbar-h: 64px;--statusbar-h: 28px}@media (min-width: 768px){:root{--margin: 40px;--gutter: 24px;--topbar-h: 56px}}@media (min-width: 1024px){:root{--margin: 48px}}@media (min-width: 1280px){:root{--margin: 64px}}:root[data-theme=light]{color-scheme:light;--canvas: 247 247 245;--surface: 255 255 255;--raised: 238 238 235;--rule: 222 222 218;--rule-strong: 135 135 131;--ink: 22 22 22;--ink-2: 74 74 72;--ink-3: 103 103 100;--accent: 194 56 125;--accent-hover: 174 47 111;--accent-ink: 179 40 112;--on-accent: 255 255 255;--accent-wash: 250 239 245;--selection: 236 209 221;--focus: 179 40 112}@media print{:root,:root[data-theme]{color-scheme:light;--canvas: 255 255 255;--surface: 255 255 255;--raised: 245 245 243;--rule: 222 222 218;--rule-strong: 135 135 131;--ink: 22 22 22;--ink-2: 74 74 72;--ink-3: 103 103 100;--accent: 194 56 125;--accent-hover: 174 47 111;--accent-ink: 179 40 112;--on-accent: 255 255 255;--accent-wash: 250 239 245;--selection: 236 209 221;--focus: 179 40 112}}@font-face{font-family:Mona Sans Fallback;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans"),local("Helvetica"),local("Helvetica Neue");font-weight:100 549;size-adjust:103.83%;ascent-override:104.98%;descent-override:30.82%;line-gap-override:0%}@font-face{font-family:Mona Sans Fallback;src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("LiberationSans-Bold"),local("Helvetica Bold"),local("Helvetica Neue Bold");font-weight:550 1000;size-adjust:101.29%;ascent-override:107.61%;descent-override:31.59%;line-gap-override:0%}@font-face{font-family:AM Role Fallback;src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans"),local("Helvetica"),local("Helvetica Neue");size-adjust:102.25%;ascent-override:106.6%;descent-override:31.3%;line-gap-override:0%}@font-face{font-family:Cascadia Fallback Consolas;src:local("Consolas");font-weight:100 549;size-adjust:106.57%;ascent-override:87.05%;descent-override:21.99%;line-gap-override:0%}@font-face{font-family:Cascadia Fallback Consolas;src:local("Consolas Bold"),local("Consolas-Bold");font-weight:550 1000;size-adjust:106.57%;ascent-override:87.05%;descent-override:21.99%;line-gap-override:0%}@font-face{font-family:Cascadia Fallback;src:local("Menlo Regular"),local("Menlo-Regular"),local("DejaVu Sans Mono"),local("DejaVuSansMono"),local("Liberation Mono"),local("LiberationMono");font-weight:100 549;size-adjust:97.3%;ascent-override:95.35%;descent-override:24.09%;line-gap-override:0%}@font-face{font-family:Cascadia Fallback;src:local("Menlo Bold"),local("Menlo-Bold"),local("DejaVu Sans Mono Bold"),local("DejaVuSansMono-Bold"),local("Liberation Mono Bold"),local("LiberationMono-Bold");font-weight:550 1000;size-adjust:97.3%;ascent-override:95.35%;descent-override:24.09%;line-gap-override:0%}@font-face{font-family:AM Figures;src:url(/fonts/am-figures.woff2) format("woff2");font-weight:200 900;font-stretch:75% 125%;font-style:normal;font-display:swap;unicode-range:U+2B-2C,U+2E,U+30-39,U+7E,U+2013}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{background-color:rgb(var(--canvas));scroll-padding-top:var(--topbar-h);scroll-padding-bottom:calc(var(--statusbar-h) + env(safe-area-inset-bottom,0px));-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main:focus{outline:none}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}html.jump{scroll-behavior:auto}body{min-height:100vh;background-color:rgb(var(--canvas));color:rgb(var(--ink));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:calc(var(--statusbar-h) + env(safe-area-inset-bottom,0px))}:focus-visible{outline:2px solid rgb(var(--focus));outline-offset:2px}a,button,input,textarea,select,[tabindex]:not([tabindex="-1"]){scroll-margin-block:8px}::-moz-selection{background-color:rgb(var(--selection));color:rgb(var(--ink))}::selection{background-color:rgb(var(--selection));color:rgb(var(--ink))}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}}html.rm,html.rm *,html.rm *:before,html.rm *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}html.sb-hidden{--statusbar-h: 0px}html.sb-hidden .statusbar{display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.shell{width:min(1312px,100% - 2 * var(--margin));margin-inline:auto}.mono-label{font-family:var(--font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;--tw-text-opacity: 1;color:rgb(var(--ink-3) / var(--tw-text-opacity, 1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.block{display:block}.inline{display:inline}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.border{border-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.konami{animation:barrel-roll 1s cubic-bezier(.4,0,.2,1)}html.konami-roll{overflow-x:hidden}@keyframes barrel-roll{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(.92)}to{transform:rotate(360deg) scale(1)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:rgb(var(--canvas))}::-webkit-scrollbar-thumb{background:rgb(var(--rule));border-radius:9999px;border:2px solid rgb(var(--canvas))}::-webkit-scrollbar-thumb:hover{background:rgb(var(--ink-3))}.skip-link{position:fixed;left:16px;top:12px;z-index:100;padding:10px 16px;border-radius:999px;background:rgb(var(--accent));color:rgb(var(--on-accent));font-weight:600;transform:translateY(-200%)}.skip-link:focus{transform:none}[tabindex="-1"]:focus{outline:none}.topbar{position:sticky;top:0;z-index:40;background:rgb(var(--canvas));box-shadow:0 1px 0 transparent;transition:box-shadow .16s var(--ease-standard)}.topbar[data-scrolled]{box-shadow:0 1px rgb(var(--rule))}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--topbar-h)}.wordmark{font-family:var(--font-sans);font-size:16px;font-weight:650;line-height:1;white-space:nowrap;color:rgb(var(--ink));text-decoration:none}.amd .wordmark{font-family:var(--font-display);font-weight:400;word-spacing:.05em;font-synthesis:none}html:not(.amd) .wordmark{min-width:0;white-space:normal}.amd .wordmark .a{font-stretch:125%;font-weight:860}.amd .wordmark .m{font-stretch:75%;font-weight:419}.topbar-right{display:flex;align-items:center;gap:26px}.topbar-nav ul{display:flex;align-items:center;gap:26px;margin:0;padding:0;list-style:none}.topbar-link{display:inline-block;padding-block:8px;font-size:15px;font-weight:500;color:rgb(var(--ink-2));text-decoration:none;transition:color .16s var(--ease-standard)}.topbar-link:hover{color:rgb(var(--ink))}.topbar-link[aria-current]{color:rgb(var(--ink));text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px;text-decoration-color:rgb(var(--accent-ink))}.search-pill{display:inline-flex;align-items:center;gap:8px;width:186px;height:36px;padding:0 5px 0 13px;border:1px solid rgb(var(--rule-strong));border-radius:999px;background:transparent;font-size:14px;font-weight:500;color:rgb(var(--ink-2));white-space:nowrap;cursor:pointer;transition:border-color .16s var(--ease-standard),color .16s var(--ease-standard)}.search-pill:hover{border-color:rgb(var(--ink));color:rgb(var(--ink))}.keycap{display:inline-flex;align-items:center;justify-content:center;gap:3px;width:54px;margin-left:auto;padding:1px 0;border:1px solid rgb(var(--rule-strong));border-radius:4px;font-family:var(--font-mono);font-size:11.5px;line-height:1.5;color:rgb(var(--ink-2))}.keycap .icon{width:10px;height:10px;stroke-width:2.2}.topbar-resume{display:inline-flex;align-items:center;gap:6px;padding-block:8px;font-size:15px;font-weight:500;color:rgb(var(--ink));text-decoration:none;white-space:nowrap}.topbar-resume:hover{text-decoration:underline;text-decoration-color:rgb(var(--accent-ink));text-underline-offset:7px}.topbar-pill{display:none;align-items:center;justify-content:center;gap:7px;height:44px;padding:0 16px;border:1px solid rgb(var(--rule-strong));border-radius:999px;background:transparent;font-size:15px;font-weight:500;color:rgb(var(--ink));white-space:nowrap;cursor:pointer}.topbar-pill:hover{border-color:rgb(var(--ink))}@media (max-width: 1099px){.topbar-right{gap:8px}.topbar-nav,.search-pill,.topbar-resume{display:none}.topbar-pill{display:inline-flex}}@media (max-width: 767px){.topbar-inner{gap:12px}html:not(.amd) .wordmark{font-size:14px;letter-spacing:-.01em}}@media (max-width: 361px){.topbar-pill-search{width:44px;padding:0}.topbar-pill-search .topbar-pill-label{display:none}}.menu-sheet{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:rgb(var(--canvas));color:rgb(var(--ink));overscroll-behavior:contain}.menu-sheet::backdrop{background:rgb(var(--canvas) / .72)}.menu-sheet-head{display:flex;align-items:center;justify-content:space-between;min-height:var(--topbar-h);border-bottom:1px solid rgb(var(--rule))}.menu-sheet-close{display:inline-flex}.menu-sheet-nav ul{margin:0;padding:0;list-style:none}.menu-sheet-nav a{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid rgb(var(--rule));font-size:22px;font-weight:600;letter-spacing:-.01em;color:rgb(var(--ink));text-decoration:none}.menu-sheet-nav a[aria-current] .menu-sheet-index{color:rgb(var(--accent-ink))}.menu-sheet-index{font-family:var(--font-mono);font-size:11.5px;font-weight:400;letter-spacing:.06em;color:rgb(var(--ink-3))}.menu-sheet-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.menu-sheet-actions .pill{flex:1 1 0;height:48px}:root.sheet-open{overflow:hidden}.statusbar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid rgb(var(--rule));background:rgb(var(--surface));font-family:var(--font-mono);font-size:11.5px;line-height:1.2;font-variant-numeric:tabular-nums;color:rgb(var(--ink-3))}.statusbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:calc(var(--statusbar-h) - 1px)}.sb-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-path .cur{color:rgb(var(--ink))}.sb-right{display:flex;align-items:center;gap:12px}.sb-clock-wrap{position:relative}.sb-btn{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:24px;min-width:24px;padding:0 6px;border:1px solid rgb(var(--rule-strong));border-radius:4px;background:transparent;font:inherit;color:rgb(var(--ink-2));white-space:nowrap;cursor:pointer}.sb-btn:hover{border-color:rgb(var(--ink));color:rgb(var(--ink))}.sb-btn:focus-visible{outline-offset:-2px}@media (max-width: 640px),(pointer: coarse){.sb-btn{position:relative}.sb-btn:after{content:"";position:absolute;top:-10px;right:-2px;bottom:-10px;left:-2px}}.sb-btn .icon{width:10px;height:10px;stroke-width:2.2}.sb-clock{border-color:transparent;padding:0 4px}.sb-digits{display:inline-block;min-width:8ch;text-align:left}@media (max-width: 767px),(prefers-reduced-motion: reduce){.sb-digits{min-width:5ch}.sb-secs{display:none}}html.rm .sb-digits{min-width:5ch}html.rm .sb-secs{display:none}.sb-digits .roll{display:inline-block;animation:sb-roll .16s var(--ease-standard) both}@keyframes sb-roll{0%{opacity:0;transform:translateY(70%)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.sb-digits .roll{animation:none}}html.rm .sb-digits .roll{animation:none}.sb-pop{position:absolute;right:0;bottom:calc(100% + 8px);display:grid;justify-items:start;gap:6px;padding:7px 10px 8px;border:1px solid rgb(var(--rule-strong));background:rgb(var(--raised));color:rgb(var(--ink-2));white-space:nowrap;box-shadow:0 24px 64px #00000080}.sb-pop[hidden]{display:none}.sb-pop-toggle{min-height:24px;padding:0 8px;border:1px solid rgb(var(--rule-strong));border-radius:4px;background:transparent;font:inherit;color:rgb(var(--ink-2));cursor:pointer}.sb-pop-toggle:hover{border-color:rgb(var(--ink));color:rgb(var(--ink))}@media (max-width: 767px){.sb-palette,.sb-tz{display:none}.statusbar-inner{position:relative}.sb-clock-wrap{position:static}.sb-pop{max-width:100%;white-space:normal}}.prompt-band{border-top:1px solid rgb(var(--rule));padding-block:56px}.prompt-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gutter);column-gap:var(--gutter);row-gap:20px}.prompt-rail{grid-column:1 / span 3}.prompt-rail p{margin-top:10px;max-width:22em;font-size:15px;line-height:1.5;color:rgb(var(--ink-2))}.prompt-terminal{grid-column:4 / -1;min-width:0}@media (max-width: 1023px){.prompt-rail,.prompt-terminal{grid-column:1 / -1}}@media print{.topbar,.statusbar,.prompt-band,.skip-link{display:none!important}}.nf-bar .topbar-inner{flex-wrap:wrap;row-gap:0}.nf-nav{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;padding:0;list-style:none}.nf{padding-block:clamp(56px,12vh,120px) 96px}.nf-line{margin:0;font-family:var(--font-mono);font-size:clamp(18px,3.4vw,28px);font-weight:450;line-height:1.35;overflow-wrap:anywhere;color:rgb(var(--ink))}.nf-prompt{color:rgb(var(--ink-3))}.nf-note{max-width:46ch;margin:16px 0 0;font-size:17px;line-height:1.55;color:rgb(var(--ink-2))}.nf-links{margin:40px 0 32px;padding:0;max-width:560px;list-style:none;border-top:1px solid rgb(var(--rule))}.nf-links a{display:flex;align-items:baseline;gap:16px;min-height:56px;padding-block:14px;border-bottom:1px solid rgb(var(--rule));color:rgb(var(--ink));text-decoration:none}.nf-links a:hover .nf-label{text-decoration:underline;text-decoration-color:rgb(var(--accent-ink));text-underline-offset:6px}.nf-index,.nf-path{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:rgb(var(--ink-3))}.nf-label{font-size:22px;font-weight:600;letter-spacing:-.01em}.nf-path{margin-left:auto}@media (max-height: 300px){:root{--topbar-h: 48px;--statusbar-h: 0px}.statusbar{display:none}}.hero{--hero-pt: 44px;--eyebrow-gap: 36px;--cta-gap: 40px;position:relative;isolation:isolate;padding-top:var(--hero-pt);padding-bottom:16px}.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gutter);column-gap:var(--gutter);align-items:start}.hero-eyebrow{position:relative;z-index:1;grid-column:1 / span 10;grid-row:1;margin:0 0 var(--eyebrow-gap);font-family:var(--font-mono);font-size:12.5px;line-height:1.5;color:rgb(var(--ink-2));text-wrap:balance}.hero-now{margin-right:calc(10px - .586em);white-space:nowrap;font-weight:600;letter-spacing:.06em;color:rgb(var(--accent-ink))}.hero-now-short{display:none}.dot{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:rgb(var(--accent-ink));transform:translateY(-1px)}.hero-namecol{grid-column:1 / span 7;grid-row:2;min-width:0;container-type:inline-size}.hero-name{margin:0;font-family:var(--font-sans);font-size:clamp(2.75rem,1.5rem + 6vw,6rem);font-weight:700;line-height:1;letter-spacing:-.02em;color:rgb(var(--ink));overflow-wrap:break-word}.amd .hero-name{font-family:var(--font-display);font-size:calc(100cqi / 3.595);font-weight:400;line-height:.88;letter-spacing:0;font-synthesis:none;margin-top:-.096em;margin-bottom:-.055em}.amd .hero-name>span{display:block;white-space:nowrap}.amd .hero-name .l1{font-stretch:125%;font-weight:860;margin-left:.006em}.amd .hero-name .l2{font-stretch:75%;font-weight:419;margin-left:-.055em}.hero-role{margin:16px 0 0;font-size:clamp(1.125rem,.9rem + 1vw,1.75rem);font-weight:500;line-height:1.2;color:rgb(var(--ink))}.amd .hero-role{font-family:"Mona Sans Variable","AM Role Fallback",var(--font-sans);margin-top:calc(100cqi * .044);margin-left:-.03em;font-size:calc(100cqi / 17.909);white-space:nowrap}.hero-side{grid-column:9 / -1;grid-row:2;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-width:0}.hero-lede{margin:-.39em 0 0;max-width:34em;font-size:19px;line-height:1.5;color:rgb(var(--ink-2));text-wrap:pretty}.hero-lede b{font-weight:500;color:rgb(var(--ink))}@keyframes am-lock-a{0%{font-stretch:100%;font-weight:600}to{font-stretch:125%;font-weight:860}}@keyframes am-lock-m{0%{font-weight:300}to{font-weight:419}}.amd.intro .hero-name .l1{animation:am-lock-a .9s var(--ease-settle) both}.amd.intro .hero-name .l2{animation:am-lock-m .9s var(--ease-settle) both}.hero-ledger{margin:0;border-top:1px solid rgb(var(--rule))}.ledger-cell{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:baseline;-moz-column-gap:16px;column-gap:16px;min-width:0;padding:11px 0 12px;border-bottom:1px solid rgb(var(--rule))}.ledger-label{font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.ledger-value{margin:0;font-size:17px;font-weight:500;line-height:1.35;color:rgb(var(--ink))}.ledger-value.has-list{overflow:hidden}.ledger-list{--sep: .66em;display:flex;flex-wrap:wrap;margin:0 0 0 calc(-1 * var(--sep));padding:0;list-style:none}.ledger-list>li{white-space:nowrap}.ledger-list>li:before{content:"·";content:"·" / "";display:inline-block;width:var(--sep);text-align:center}.v-short{display:none}.hero-actions{grid-column:1 / -1;grid-row:3;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:var(--cta-gap)}.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 20px;border-radius:999px;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;transition:background-color .16s var(--ease-standard),border-color .16s var(--ease-standard)}.pill-primary{background:rgb(var(--accent));color:rgb(var(--on-accent))}@media (forced-colors: active){.pill-primary{border:1px solid}}.pill-primary:hover,.pill-primary:active{background:rgb(var(--accent-hover))}.pill-outline{border:1px solid rgb(var(--rule-strong));color:rgb(var(--ink))}.pill-outline:hover{border-color:rgb(var(--ink))}.pill-meta{font-family:var(--font-mono);font-size:11.5px;font-weight:400;color:rgb(var(--ink-3))}.hero-links{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0 0 0 14px;padding:0;list-style:none;font-family:var(--font-mono);font-size:13px;color:rgb(var(--ink-2))}.hero-links a{display:inline-flex;align-items:center;gap:4px;min-height:24px;white-space:nowrap;color:inherit;text-decoration:underline;text-decoration-color:rgb(var(--rule-strong));text-underline-offset:4px;transition:color .16s var(--ease-standard),text-decoration-color .16s var(--ease-standard)}.hero-links a:hover{color:rgb(var(--ink));text-decoration-color:rgb(var(--accent-ink))}.icon{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 1279px){.hero-eyebrow{grid-column:1 / -1}.hero-side{grid-column:8 / -1}.hero-lede{font-size:17px}.ledger-cell{padding:9px 0 10px}}@media (min-width: 1024px) and (max-height: 880px){.hero{--hero-pt: clamp(12px, 3vh, 44px);--eyebrow-gap: clamp(12px, 3vh, 36px);--cta-gap: clamp(14px, 3.5vh, 40px)}}@media (min-width: 1024px){.hero-namecol{max-width:calc((100vh - 258px)*1.8)}}@media (min-width: 1024px){html:not(.js) .hero-name{font-size:calc(100cqi / 5.95);line-height:1.06;margin-top:-.13em}html:not(.js) .hero-role{margin-top:4cqi;font-size:calc(100cqi / 18.6)}}@media (min-width: 1024px) and (max-width: 1359px),(min-width: 1024px) and (max-height: 649px){.hero-lede-more{display:none}}@media (min-width: 1024px) and (max-height: 579px){.hero-lede{display:none}.hero-side{justify-content:flex-end}.ledger-cell{padding:6px 0 7px}}@media (max-width: 1023px){.hero{--lede-gap: 22px;--ledger-gap: 32px;--cta-gap: 22px}.hero-namecol{grid-column:1 / -1}.hero-side{display:contents}.hero-lede{grid-column:1 / -1;grid-row:3;margin-top:var(--lede-gap);font-size:19px}.hero-ledger{grid-column:1 / -1;grid-row:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--ledger-gap);border-bottom:1px solid rgb(var(--rule))}.ledger-cell{display:block;padding:14px 20px 16px 0;border-bottom:0}.ledger-cell:nth-child(2n){padding-left:20px;border-left:1px solid rgb(var(--rule))}.ledger-cell:nth-child(n+3){border-top:1px solid rgb(var(--rule))}.ledger-value{margin-top:6px}.hero-actions{grid-row:5}.hero-links{width:100%;margin-left:0}}@media (min-width: 768px) and (max-width: 1023px){.hero-namecol{max-width:calc((100vh - 560px)*1.8);max-width:calc((100svh - 560px)*1.8)}.hero-lede{max-width:none;font-size:21px}}@media (min-width: 768px) and (max-width: 1023px) and (max-height: 1000px){.hero{--hero-pt: clamp(12px, 3vh, 44px);--eyebrow-gap: clamp(12px, 3vh, 36px);--lede-gap: 14px;--ledger-gap: clamp(16px, 3vh, 32px);--cta-gap: clamp(12px, 2vh, 22px)}.hero-namecol{max-width:calc((100vh - 470px)*1.8);max-width:calc((100svh - 470px)*1.8)}.hero-lede-more{display:none}.ledger-cell{padding-top:10px;padding-bottom:12px}}@media (min-width: 768px) and (max-width: 1023px) and (max-height: 820px){.hero-namecol{max-width:calc((100vh - 250px)*1.8);max-width:calc((100svh - 250px)*1.8)}.hero-lede{display:none}.hero-actions{grid-row:4}.hero-ledger{grid-row:5}}@media (max-width: 767px){.hero{--hero-pt: 10px;--eyebrow-gap: 18px;--lede-gap: 14px;--ledger-gap: 18px;--cta-gap: 14px}.hero-eyebrow{font-size:12px;white-space:nowrap}.hero-now-long{display:none}.hero-now-short{display:inline}.hero-namecol{max-width:calc((100vh - 495px)*1.8);max-width:calc((100svh - 495px)*1.8)}.hero-lede{font-size:16px}.ledger-cell{padding:10px 8px 11px 0}.ledger-cell:nth-child(2n){padding-left:12px}.ledger-value{margin-top:4px;font-size:15px}.v-long,.hide-phone{display:none}.v-short{display:inline}.hero-actions{gap:10px}.pill{flex:1 1 0;height:48px;padding:0 12px}.pill-meta{display:none}.hero-links{width:100%;margin:-2px 0 0;gap:6px 18px;font-size:12.5px}}@media (max-width: 767px) and (max-height: 799px){.hero-namecol{max-width:calc((100vh - 430px)*1.8);max-width:calc((100svh - 430px)*1.8)}.hero-lede-more{display:none}}@media (max-width: 767px) and (max-height: 700px){.hero{--hero-pt: 8px;--eyebrow-gap: 12px;--cta-gap: 14px;--ledger-gap: 14px}.hero-namecol{max-width:calc((100vh - 215px)*1.8);max-width:calc((100svh - 215px)*1.8)}.hero-lede{display:none}.hero-actions{grid-row:4}.hero-ledger{grid-row:5}}@media (max-width: 1023px) and (max-height: 600px) and (orientation: landscape){.hero-now-long{display:none}.hero-now-short{display:inline}.hero-namecol{max-width:calc((100vh - 210px)*1.75);max-width:calc((100svh - 210px)*1.75)}}@media (prefers-reduced-motion: reduce){.amd.intro .hero-name>span{animation:none}}html.rm .amd.intro .hero-name>span{animation:none}.section-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gutter);column-gap:var(--gutter);row-gap:14px}.section-rail{grid-column:1 / span 2;display:flex;flex-direction:column;gap:6px;margin:0;padding-top:13px;font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.section-rail-label{color:rgb(var(--ink-2))}.section-intro{grid-column:3 / span 5;min-width:0}.section-title{margin:0;font-size:56px;font-weight:650;line-height:1.04;letter-spacing:-.02em;color:rgb(var(--ink))}.section-lede{margin:20px 0 0;font-size:19px;line-height:1.5;color:rgb(var(--ink-2))}@media (max-width: 1279px){.section-rail{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:4px 16px;padding-top:0}.section-intro{grid-column:1 / span 8}}@media (max-width: 1023px){.section-intro{grid-column:1 / span 10}}@media (max-width: 767px){.section-intro{grid-column:1 / -1}.section-title{font-size:40px;line-height:1.06}.section-lede{margin-top:14px;font-size:16px;line-height:1.55}}.dot-list{--sep: 1.758em;display:flex;flex-wrap:wrap;margin:0 0 0 calc(-1 * var(--sep));padding:0;list-style:none;clip-path:inset(0 0 0 var(--sep))}.dot-list>li{position:relative;min-width:0;padding-left:var(--sep)}.dot-list>li:before{content:"·";content:"·" / "";position:absolute;left:0;width:var(--sep);text-align:center}.disclosure{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .24s var(--ease-standard),visibility 0s linear .24s}.disclosure[data-open]{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .24s var(--ease-standard),visibility 0s linear 0s}.disclosure-inner{min-height:0;overflow:hidden}html:not(.js) .disclosure{grid-template-rows:1fr;visibility:visible}html:not(.js) .disclosure-toggle,html:not(.js) .copy-link{display:none}html:not(.js) .search-pill,html:not(.js) .topbar-pill-search,html:not(.js) .trace-btn,html:not(.js) .prompt-band,html:not(.js) .statusbar .sb-right{display:none}.disclosure-toggle{cursor:pointer}.disclosure-icon{width:12px;height:12px;stroke-width:2}.disclosure-icon .plus-v{transform-box:fill-box;transform-origin:center;transition:transform .16s var(--ease-standard)}.disclosure-toggle[aria-expanded=true] .plus-v{transform:scaleY(0)}.text-toggle{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:0;border:0;background:transparent;font-family:var(--font-mono);font-size:12.5px;line-height:1.4;color:rgb(var(--ink-2));text-decoration:underline;text-decoration-color:rgb(var(--rule-strong));text-underline-offset:4px;transition:color .16s var(--ease-standard),text-decoration-color .16s var(--ease-standard)}.text-toggle:hover{color:rgb(var(--ink));text-decoration-color:rgb(var(--accent-ink))}.text-link{display:inline-flex;align-items:center;gap:4px;min-height:28px;font-family:var(--font-mono);font-size:12.5px;line-height:1.4;color:rgb(var(--ink-2));text-decoration:underline;text-decoration-color:rgb(var(--rule-strong));text-underline-offset:4px;transition:color .16s var(--ease-standard),text-decoration-color .16s var(--ease-standard)}.text-link:hover{color:rgb(var(--ink));text-decoration-color:rgb(var(--accent-ink))}@media (max-width: 640px),(pointer: coarse){.text-toggle,.text-link{min-height:44px}}.status-pill{display:inline-flex;align-items:center;min-height:22px;padding:1px 9px;border:1px solid rgb(var(--rule-strong) / .55);border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--ink-2))}.now{color:rgb(var(--accent-ink))}.section{padding-top:128px}.section .section-head{margin-bottom:56px}@media (max-width: 767px){.section{padding-top:80px}.section .section-head{margin-bottom:36px}}.facts-ledger{display:grid;grid-template-columns:repeat(var(--facts-cols, 4),minmax(0,1fr));margin:0;border-top:1px solid rgb(var(--rule));border-bottom:1px solid rgb(var(--rule))}.facts-cell{min-width:0;padding:14px 20px 16px;border-left:1px solid rgb(var(--rule))}.facts-cell:first-child{padding-left:0;border-left:0}.facts-label{font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.facts-value{margin:6px 0 0;font-size:17px;font-weight:500;line-height:1.35;color:rgb(var(--ink));overflow-wrap:anywhere}.facts-detail{display:block;margin-top:3px;font-family:var(--font-mono);font-size:12.5px;font-weight:400;line-height:1.4;color:rgb(var(--ink-3))}.facts-meta{font-family:var(--font-mono);font-size:12.5px;font-weight:400;color:rgb(var(--ink-3))}.facts-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0 6px;min-height:28px;color:inherit;text-decoration:underline;text-decoration-color:rgb(var(--rule-strong));text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .16s var(--ease-standard)}.facts-link:hover{text-decoration-color:rgb(var(--accent-ink))}.facts-link .icon{color:rgb(var(--ink-3))}@media (max-width: 1023px){.facts-ledger{--facts-cols: 2}.facts-cell:nth-child(odd){padding-left:0;border-left:0}.facts-cell:nth-child(n+3){border-top:1px solid rgb(var(--rule))}}@media (max-width: 767px){.facts-cell{padding:12px 12px 14px}.facts-value{font-size:16px}}.copy-text{display:inline-flex;text-align:left;align-items:center;gap:7px;min-height:44px;padding:0 2px;border:0;background:transparent;font-family:var(--font-mono);font-size:13px;line-height:1;color:rgb(var(--ink-2));cursor:pointer;transition:color .16s var(--ease-standard)}.copy-text:hover,.copy-text[data-state=copied]{color:rgb(var(--ink))}html:not(.js) .copy-text,html:not(.js) .copy-profile,html:not(.js) .facts-cell-copy{display:none}.now-dot{display:inline-block;width:6px;height:6px;margin-right:10px;border-radius:50%;background:rgb(var(--accent-ink));vertical-align:.12em}.work{padding-block:128px 96px}.work-head{margin-bottom:64px}.work-list{margin:0;padding:0;list-style:none}.work-row{display:grid;grid-template-columns:minmax(0,1fr);padding-block:40px;border-top:1px solid rgb(var(--rule))}.row-rail,.row-title,.row-body,.row-foot,.row-visual{min-width:0;max-width:640px}.row-rail{grid-row:1;display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.row-title{grid-row:2;margin:0;font-size:24px;font-weight:650;line-height:1.2;letter-spacing:-.012em;color:rgb(var(--ink));text-wrap:balance}.row-body{grid-row:3;container-type:inline-size}.row-visual{grid-row:4;margin-top:28px}.row-foot{grid-row:5;margin-top:24px}.row-index{flex:none;font-family:var(--font-mono);font-size:12.5px;font-weight:600;line-height:24px;letter-spacing:.04em;color:rgb(var(--ink-2))}.project-meta{--sep: 1.758em;display:flex;flex-wrap:wrap;align-items:center;margin:0 0 0 calc(-1 * var(--sep));clip-path:inset(0 0 0 var(--sep));font-family:var(--font-mono);font-size:12.5px;line-height:1.5;color:rgb(var(--ink-3))}.row-rail .project-meta{flex:1 1 0}.project-meta>div{display:flex;align-items:center;min-height:24px}.project-meta>div:before{content:"·";content:"·" / "";flex:none;width:var(--sep);text-align:center}.project-meta>.project-meta-status:before{content:""}.project-meta>div:first-child{color:rgb(var(--ink-2))}.project-meta dd{margin:0}@media (min-width: 768px){.work-row{padding-block:48px}.row-title{font-size:30px;line-height:1.15}.row-visual{margin-top:32px}.row-foot{margin-top:28px}}@media (min-width: 1024px){.work-row{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto auto 1fr;-moz-column-gap:var(--gutter);column-gap:var(--gutter)}.row-rail,.row-title,.row-body,.row-foot{grid-column:1 / span 6;max-width:none}.row-visual{grid-column:7 / span 6;grid-row:1 / span 5;max-width:none;margin-top:0}}@media (min-width: 1280px){.work-row{grid-template-rows:auto auto auto 1fr}.row-rail{grid-column:1 / span 2;grid-row:1 / span 4;display:block;margin-bottom:0}.row-title{grid-column:3 / span 5;grid-row:1}.row-body{grid-column:3 / span 5;grid-row:2}.row-foot{grid-column:3 / span 5;grid-row:3}.row-visual{grid-column:8 / span 5;grid-row:1 / span 4}.row-index{display:block;margin-top:-1px;font-family:var(--font-figures);font-size:96px;font-stretch:75%;font-weight:300;line-height:.8;letter-spacing:-.01em;color:rgb(var(--ink-3));font-synthesis:none}.row-rail .project-meta{display:block;margin:22px 0 0;clip-path:none}.row-rail .project-meta>div{display:block;min-height:0}.row-rail .project-meta>div:before{content:none}.row-rail .project-meta>div+div{margin-top:3px}.row-rail .project-meta>.project-meta-status{margin-top:14px}}@media (min-width: 1024px) and (max-width: 1279px){.project-meta>.project-meta-status{flex:0 0 100%}}.row-summary{margin:12px 0 0;font-size:19px;line-height:1.5;color:rgb(var(--ink-2))}.figures,.row-line{margin:24px 0 0;border-top:1px solid rgb(var(--rule));border-bottom:1px solid rgb(var(--rule))}.figures{--fig-gap: 20px;display:flex;flex-wrap:wrap;gap:18px var(--fig-gap);list-style:none;margin-left:calc(-1 * (var(--fig-gap) + 1px));clip-path:inset(0 0 0 calc(var(--fig-gap) + 1px));padding:18px 0 16px}.figure{display:flex;align-items:flex-start;gap:9px;padding-left:var(--fig-gap);border-left:1px solid rgb(var(--rule))}.figure-value{font-family:var(--font-figures);font-size:64px;font-stretch:75%;font-weight:300;line-height:.8;letter-spacing:-.005em;white-space:nowrap;color:rgb(var(--ink));font-synthesis:none}.figure-unit{width:-moz-min-content;width:min-content;padding-top:1px;font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}@container (max-width: 499px){.figures{--fig-gap: 16px}.figure{flex-direction:column;gap:10px}}.row-line{display:flex;align-items:baseline;gap:16px;padding:13px 0 14px;font-size:15.5px;line-height:1.5;color:rgb(var(--ink))}.row-line-label{flex:none;min-width:52px;font-family:var(--font-mono);font-size:11.5px;font-weight:450;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.row-line-text{display:flex;align-items:baseline;gap:9px}.row-line-text .dot{flex:none;margin:0;transform:translateY(-2px)}.row-bullets{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}.row-bullets>li{position:relative;padding-left:22px;font-size:17px;line-height:1.6;color:rgb(var(--ink-2))}.row-bullets>li:before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:rgb(var(--ink-3))}.row-bullets b{font-weight:500;color:rgb(var(--ink))}.stack-line{display:flex;align-items:baseline;gap:14px;font-family:var(--font-mono);font-size:12.5px;line-height:1.65;color:rgb(var(--ink-2))}.stack-line-label{flex:none;font-size:11.5px;font-weight:450;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.stack-line .dot-list{flex:1 1 auto;min-width:0}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:20px}.case-toggle{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 16px 0 18px;border:1px solid rgb(var(--rule-strong));border-radius:999px;background:transparent;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;color:rgb(var(--ink));transition:border-color .16s var(--ease-standard)}.case-toggle:hover{border-color:rgb(var(--ink))}.copy-link{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 2px;border:0;background:transparent;font-family:var(--font-mono);font-size:12.5px;line-height:1;color:rgb(var(--ink-2));cursor:pointer;transition:color .16s var(--ease-standard)}.copy-link:hover{color:rgb(var(--ink))}.swap{display:inline-grid}.swap>*{grid-area:1 / 1;transition:opacity .12s var(--ease-standard)}.swap>:not([data-on]){visibility:hidden;opacity:0}.case-study{margin:20px 0 0;border-top:1px solid rgb(var(--rule))}.case-study>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:14px 0 15px;border-bottom:1px solid rgb(var(--rule))}.case-study dt{padding-top:4px;font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.case-study dd{margin:0;font-size:16px;line-height:1.6;color:rgb(var(--ink-2))}.dg-figure{margin:0}.dg{container-type:inline-size;padding:20px;border:1px solid rgb(var(--rule));background:transparent}.dg-label{margin:0 0 16px;font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.dg-body{display:flex;flex-direction:column}.dg-name{display:block;font-size:14.5px;font-weight:600;line-height:1.3;color:rgb(var(--ink))}.dg-detail{display:block;margin-top:2px;font-family:var(--font-mono);font-size:11.5px;line-height:1.35;color:rgb(var(--ink-3))}.dg-actors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none}.dg-actors-1{grid-template-columns:minmax(0,1fr)}.dg-actor{position:relative;padding:0 12px 30px}.dg-actor:after{content:"";position:absolute;left:24px;bottom:0;height:20px;border-left:1px solid rgb(var(--rule-strong))}.dg-frame{min-width:0;border:1px solid rgb(var(--rule-strong))}.dg-frame[data-owner=existing]{border-style:dashed}.dg-frame-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;padding:10px 12px}.dg-frame-name{font-size:14.5px;font-weight:650;line-height:1.3;color:rgb(var(--ink))}.dg-frame-head .dg-detail{margin:0}.dg-tag{margin-left:auto;padding:2px 6px;border:1px solid rgb(var(--rule-strong));font-family:var(--font-mono);font-size:10.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:rgb(var(--ink-2))}.dg-tag[data-owner=existing]{border-style:dashed}.dg-cells{display:grid;gap:1px;margin:0;padding:0;list-style:none;border-top:1px solid rgb(var(--rule));background:rgb(var(--rule))}.dg-cells-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dg-cells-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dg-cells-4{grid-template-columns:repeat(4,minmax(0,1fr))}.dg-cell{min-width:0;padding:10px 12px 11px;background:rgb(var(--surface));overflow-wrap:break-word}.dg-strip{display:flex;align-items:baseline;gap:12px;padding:9px 12px 10px;border-top:1px solid rgb(var(--rule))}.dg-strip-label{flex:none;font-family:var(--font-mono);font-size:10.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.dg-strip .dot-list{flex:1 1 auto;min-width:0}.dg-band .dot-list{--sep: .66em;font-size:13.5px;font-weight:500;line-height:1.45;color:rgb(var(--ink))}.dg-base .dot-list{font-family:var(--font-mono);font-size:11.5px;line-height:1.55;color:rgb(var(--ink-2))}.dg-link{position:relative;margin:0;padding:11px 0 11px 36px;font-family:var(--font-mono);font-size:10.5px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.dg-link:before{content:"";position:absolute;left:24px;top:0;bottom:0;border-left:1px dashed rgb(var(--rule-strong))}.dg-frame-ext{align-self:flex-start;min-width:min(100%,300px)}.dg-arrow{position:relative;height:26px}.dg-arrow:before{content:"";position:absolute;left:24px;top:0;bottom:5px;border-left:1px solid rgb(var(--rule-strong))}.dg-arrow:after{content:"";position:absolute;left:20px;bottom:0;border-top:6px solid rgb(var(--rule-strong));border-left:4.5px solid transparent;border-right:4.5px solid transparent}.dg-now{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11.5px;line-height:1.3;color:rgb(var(--accent-ink));white-space:nowrap}.dg-now .dot{width:6px;height:6px;margin:0;transform:none}.dg-group{border-top:1px solid rgb(var(--rule))}.dg-group-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0;padding:9px 12px 10px}.dg-group-head .dg-detail{margin:0}.scope-domain{margin:0;font-size:22px;font-weight:650;line-height:1.2;letter-spacing:-.01em;color:rgb(var(--ink));overflow-wrap:anywhere}.scope-pages{margin:18px 0 0;padding:0;list-style:none;border-top:1px solid rgb(var(--rule))}.scope-pages>li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 16px;padding:11px 0 12px;border-bottom:1px solid rgb(var(--rule))}.scope-pages .dg-detail{margin:0}.scope-build{margin-top:16px;font-family:var(--font-mono);font-size:11.5px;line-height:1.6;color:rgb(var(--ink-2))}.dg-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 16px;margin-top:8px;font-family:var(--font-mono);font-size:12px;line-height:1.4;color:rgb(var(--ink-3))}.dg-caption-link{display:inline-flex;align-items:center;gap:5px;min-height:28px;color:rgb(var(--ink-2));text-decoration:underline;text-decoration-color:rgb(var(--rule-strong));text-underline-offset:4px;transition:color .16s var(--ease-standard),text-decoration-color .16s var(--ease-standard)}@media (max-width: 640px),(pointer: coarse){.dg-caption-link{min-height:44px}}.dg-caption-link:hover{color:rgb(var(--ink));text-decoration-color:rgb(var(--accent-ink))}.dg-text{margin:10px 0 0;padding:0;list-style:none;counter-reset:dg-step;border-top:1px solid rgb(var(--rule))}.dg-text>li{counter-increment:dg-step;display:grid;grid-template-columns:30px minmax(0,1fr);padding:10px 0 11px;border-bottom:1px solid rgb(var(--rule));font-size:15px;line-height:1.55;color:rgb(var(--ink-2))}.dg-text>li:before{content:counter(dg-step,decimal-leading-zero);padding-top:3px;font-family:var(--font-mono);font-size:11.5px;line-height:1.3;color:rgb(var(--ink-3))}@container (max-width: 440px){.dg-cells-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 420px){.dg-cells-3{grid-template-columns:repeat(2,minmax(0,1fr))}.dg-cells-3>li:nth-child(3){grid-column:1 / -1}}@container (max-width: 460px){.dg-strip{flex-direction:column;align-items:stretch;gap:3px}}@container (max-width: 300px){.dg-tag{margin-left:0}}.also{padding-top:40px;border-top:1px solid rgb(var(--rule))}.also-title{margin:0 0 20px;font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-2))}.also-list{display:grid;grid-template-columns:minmax(0,1fr);gap:40px var(--gutter);max-width:640px;margin:0;padding:0;list-style:none}.also-item{min-width:0}.also-name{margin:0;font-size:20px;font-weight:600;line-height:1.3;color:rgb(var(--ink))}.also .project-meta{margin-top:8px}.also-summary{margin:12px 0 0;font-size:16px;line-height:1.6;color:rgb(var(--ink-2))}.also .stack-line{margin-top:14px}.also .row-actions{margin-top:12px;gap:6px 22px}.also-details{display:grid;gap:8px;margin:12px 0 0;padding:12px 0 0;list-style:none;border-top:1px solid rgb(var(--rule))}.also-details>li{position:relative;padding-left:22px;font-size:15px;line-height:1.55;color:rgb(var(--ink-2))}.also-details>li:before{content:"";position:absolute;left:0;top:.78em;width:10px;height:1px;background:rgb(var(--ink-3))}.also-more{margin:40px 0 0}@media (min-width: 768px){.also{padding-top:48px}}@media (min-width: 900px){.also-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}@media (min-width: 1280px){.also{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gutter);column-gap:var(--gutter)}.also-title{grid-column:1 / span 2;margin:0;padding-top:5px}.also-list,.also-more{grid-column:3 / -1}}@media (max-width: 767px){.work{padding-block:80px 64px}.work-head{margin-bottom:40px}.row-summary{font-size:17px}.row-bullets>li{font-size:16px}.figure-value{font-size:44px}.case-toggle,.copy-link{min-height:44px}.row-actions{-moz-column-gap:16px;column-gap:16px}.stack-line{flex-direction:column;align-items:stretch;gap:2px}.case-study>div{grid-template-columns:minmax(0,1fr);gap:4px}.case-study dd{font-size:15.5px}.dg{padding:16px}.dg-text>li{font-size:14.5px}}@media (prefers-reduced-motion: reduce){.swap>*{transition:none}}html.rm .swap>*{transition:none}.dg-trace{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px}.trace-btn{height:36px;padding:0 16px;background:transparent;font-size:14px;cursor:pointer}@media (max-width: 640px),(pointer: coarse){.trace-btn{height:44px}}.trace-btn[data-active]{border-color:rgb(var(--ink));background:rgb(var(--raised))}.trace-status{flex:1 1 240px;min-width:0;margin:0;font-size:14px;line-height:1.45;color:rgb(var(--ink-2))}.trace-n{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.dg [data-lit]{position:relative;box-shadow:inset 0 0 0 1px rgb(var(--ink));transition:box-shadow .16s var(--ease-standard)}.dg [data-lit][data-lit-now]{box-shadow:inset 0 0 0 2px rgb(var(--accent-ink))}.dg [data-lit]:before{content:attr(data-lit);position:absolute;top:4px;right:4px;z-index:1;min-width:16px;padding:0 4px;background:rgb(var(--ink));color:rgb(var(--canvas));font-family:var(--font-mono);font-size:10.5px;font-weight:600;line-height:16px;text-align:center}.dg [data-lit][data-lit-now]:before{background:rgb(var(--accent-ink));color:rgb(var(--canvas))}.dg-frame[data-lit]:before{top:-9px;right:auto;left:10px}.dg-actor[data-lit]{box-shadow:none}.dg-actor[data-lit] .dg-name{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:rgb(var(--ink))}.dg-actor[data-lit][data-lit-now] .dg-name{text-decoration-color:rgb(var(--accent-ink))}[data-work-row][data-hl]{box-shadow:-12px 0 0 -10px rgb(var(--accent-ink))}@media (max-width: 767px){[data-work-row][data-hl]{box-shadow:-10px 0 0 -8px rgb(var(--accent-ink))}}.amd.replay .hero-name .l1{animation:am-lock-a .9s var(--ease-settle) both}.amd.replay .hero-name .l2{animation:am-lock-m .9s var(--ease-settle) both}html.rm .amd.replay .hero-name>span{animation:none}.exp-list{margin:0;padding:0;list-style:none}.exp-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gutter);column-gap:var(--gutter);padding:28px 0 30px;border-top:1px solid rgb(var(--rule))}.exp-row>*{min-width:0;margin:0}.exp-dates{grid-column:1 / span 2;padding-top:4px;font-family:var(--font-mono);font-size:13px;line-height:1.5;white-space:nowrap;color:rgb(var(--ink-2))}.exp-role{grid-column:3 / span 3}.exp-title{margin:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.005em;color:rgb(var(--ink));text-wrap:balance}.exp-org{display:block;margin-top:2px;font-size:17px;font-weight:600;line-height:1.35;color:rgb(var(--ink-2))}.exp-place{grid-column:6 / span 2;padding-top:4px;font-family:var(--font-mono);font-size:13px;line-height:1.5;color:rgb(var(--ink-3))}.exp-line{grid-column:8 / span 5;font-size:17px;line-height:1.6;color:rgb(var(--ink-2))}.exp-sub-list{grid-column:1 / -1;margin:24px 0 0;padding:0;list-style:none}.exp-sub{--sub-indent: 0px;position:relative;padding:20px 0 0;border-top:0}.exp-sub:before{content:"";position:absolute;top:0;right:0;left:var(--sub-indent);border-top:1px solid rgb(var(--rule))}@media (min-width: 1280px){.exp-sub{--sub-indent: calc((100% - 11 * var(--gutter)) / 12 * 2 + 2 * var(--gutter))}}.exp-sub .exp-title{font-size:17px}.exp-sub .exp-org{font-size:15px;font-weight:500}.exp-sub .exp-dates{color:rgb(var(--ink-3))}.exp-sub .exp-line{font-size:16px}.exp-kicker{margin:0 0 6px;font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.exp-facts{margin-top:0}@media (max-width: 1279px){.exp-row{grid-template-rows:auto auto 1fr}.exp-dates{grid-column:1 / span 3;grid-row:1}.exp-place{grid-column:1 / span 3;grid-row:2;padding-top:2px}.exp-role{grid-column:4 / -1;grid-row:1 / span 2}.exp-line{grid-column:4 / -1;grid-row:3;max-width:44em;margin-top:10px}.exp-sub-list{grid-row:4}.exp-sub{--sub-indent: calc((100% - 11 * var(--gutter)) / 12 * 3 + 3 * var(--gutter))}}@media (max-width: 767px){.exp-row{display:flex;flex-wrap:wrap;align-items:baseline;-moz-column-gap:0;column-gap:0;padding:22px 0 24px}.exp-dates,.exp-place{padding:0;font-size:12.5px}.exp-place:before{content:" · ";content:" · " / "";white-space:pre}.exp-role,.exp-line,.exp-sub-list{order:1;flex:0 0 100%;min-width:0}.exp-role{margin-top:8px}.exp-title{font-size:19px}.exp-org{font-size:16px}.exp-line{margin-top:8px;font-size:16px}.exp-sub-list{margin-top:20px}.exp-sub{padding:14px 0 2px 16px;border-left:1px solid rgb(var(--rule))}.exp-sub:before{content:none}.exp-sub .exp-kicker{margin-bottom:4px}.exp-sub .exp-dates{display:inline}}.stack-rows{border-bottom:1px solid rgb(var(--rule))}.stack-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gutter);column-gap:var(--gutter);padding:22px 0 24px;border-top:1px solid rgb(var(--rule))}.stack-label{grid-column:1 / span 2;margin:0;padding-top:7px;font-family:var(--font-mono);font-size:11.5px;font-weight:450;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-2))}.stack-note{display:block;margin-top:6px;letter-spacing:.02em;text-transform:none;color:rgb(var(--ink-3))}.stack-body{grid-column:3 / -1;min-width:0}.stack-items,.stack-plain{--sep: .66em;row-gap:2px;font-size:19px;font-weight:500;line-height:1.45;color:rgb(var(--ink))}.stack-items>li:before,.stack-plain>li:before{color:rgb(var(--ink-3))}.stack-plain{color:rgb(var(--ink-2))}.skill{display:inline-flex;align-items:baseline;gap:6px;min-height:28px;padding:0;border:0;background:transparent;font:inherit;color:inherit;white-space:nowrap;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .16s var(--ease-standard)}.skill:hover{text-decoration-color:rgb(var(--rule-strong))}.skill[aria-expanded=true]{text-decoration-color:rgb(var(--accent-ink));text-decoration-thickness:2px}.skill-count{font-family:var(--font-mono);font-size:12.5px;font-weight:400;letter-spacing:.02em;color:rgb(var(--ink-3))}.evidence:not([data-open]){display:none}.evidence-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:14px 0 0;padding:12px 16px 13px;background:rgb(var(--accent-wash));font-size:15.5px;line-height:1.5;color:rgb(var(--ink))}.evidence-skill{font-weight:600}.evidence-line>.icon{align-self:center;color:rgb(var(--accent-ink))}.evidence-line .evidence-links{flex:1 1 16em;min-width:0}.evidence-links{--sep: .66em}.evidence-links a{display:inline-flex;align-items:center;min-height:24px;color:rgb(var(--ink));text-decoration:underline;text-decoration-color:rgb(var(--accent-ink));text-underline-offset:4px}.evidence-links a:hover{text-decoration-thickness:2px}.stack-phone{display:none}.stack-phone:not(.stack-phone-core){gap:12px;margin:0;padding:0;list-style:none}.stack-phone-core{--sep: .66em;row-gap:2px;font-size:17px;font-weight:500;line-height:1.45;color:rgb(var(--ink))}.stack-phone-core>li:before{color:rgb(var(--ink-3))}.stack-phone .skill-name{display:block;font-size:17px;font-weight:500;line-height:1.4;color:rgb(var(--ink))}.stack-phone-core .skill-name{display:inline}.stack-phone .evidence-links{--sep: 1.758em;margin-top:2px;font-family:var(--font-mono);font-size:12.5px;line-height:1.5;color:rgb(var(--ink-3))}.stack-phone .evidence-links a{color:rgb(var(--ink-2));text-decoration-color:rgb(var(--rule-strong))}html:not(.js) .stack-items{display:none}html:not(.js) .stack-phone:not(.stack-phone-core){display:grid}html:not(.js) .stack-phone-core{display:flex}@media (max-width: 1279px){.stack-label{grid-column:1 / span 3}.stack-body{grid-column:4 / -1}}@media (max-width: 767px){.stack-row{display:block;padding:20px 0 22px}.stack-label{padding-top:0}.stack-body{margin-top:12px}.stack-items,.evidence{display:none!important}.stack-phone:not(.stack-phone-core){display:grid}.stack-phone-core{display:flex}.stack-plain{font-size:17px}}.contact{padding-bottom:128px}.contact-mail{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gutter);column-gap:var(--gutter);align-items:end}.contact-address-col{grid-column:1 / span 8;min-width:0;container-type:inline-size}.contact-address{--email-em: 12.55;display:inline-block;max-width:100%;font-size:calc(100cqi / var(--email-em));font-weight:600;line-height:1.1;letter-spacing:-.01em;overflow-wrap:anywhere;color:rgb(var(--ink));text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:3px;text-underline-offset:.14em;transition:text-decoration-color .16s var(--ease-standard)}.contact-address:hover{text-decoration-color:rgb(var(--accent-ink))}.contact-mail-actions{grid-column:9 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-bottom:.4em}.contact-ledger{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.1fr);margin-top:56px}.contact-ledger .facts-value{font-size:16px}@media (min-width: 1024px) and (max-width: 1179px){.contact-ledger{grid-template-columns:minmax(0,.95fr) auto minmax(0,.95fr) minmax(0,.8fr) minmax(0,1.2fr)}.contact-ledger .facts-link[target=_blank]{flex-wrap:nowrap;white-space:nowrap}}.copy-profile{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-top:-4px;padding:0 16px 0 14px;border:1px solid rgb(var(--rule-strong));border-radius:999px;background:transparent;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;color:rgb(var(--ink));cursor:pointer;transition:border-color .16s var(--ease-standard)}.copy-profile:hover{border-color:rgb(var(--ink))}.contact-time{margin:24px 0 0;font-family:var(--font-mono);font-size:13px;line-height:1.5;color:rgb(var(--ink-2))}.contact-time-digits{font-variant-numeric:tabular-nums;color:rgb(var(--ink))}.contact-time-offset{color:rgb(var(--ink-3))}@media (max-width: 1023px){.contact-address-col,.contact-mail-actions{grid-column:1 / -1}.contact-mail-actions{margin-top:20px;padding-bottom:0}.contact-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-ledger .facts-cell-copy{grid-column:1 / -1;padding-left:0;border-left:0}}@media (max-width: 767px){.contact{padding-bottom:80px}.contact-mail-actions{flex-wrap:nowrap;gap:10px}.contact-mail-actions .pill{flex:1 1 0}.contact-mail-actions .copy-text{flex:none;min-height:48px;padding:0 18px;border:1px solid rgb(var(--rule-strong));border-radius:999px;font-family:var(--font-sans);font-size:15px;font-weight:600;color:rgb(var(--ink))}.contact-ledger{margin-top:40px}.contact-ledger .facts-link{min-height:44px}.contact-ledger .facts-cell-copy{padding:14px 0 16px}.copy-profile{width:100%;min-height:48px;margin-top:6px;justify-content:center}}.email-menu-wrap{position:relative;display:inline-flex}.email-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:50;width:-moz-max-content;width:max-content;min-width:260px;padding:6px 0;border:1px solid rgb(var(--rule-strong));background:rgb(var(--surface));box-shadow:0 24px 64px #00000080}.email-menu[data-up]{top:auto;bottom:calc(100% + 8px)}:root[data-theme=light] .email-menu{box-shadow:0 24px 64px #00000024}.email-menu-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 18px 11px 16px;border:0;background:transparent;font-size:15px;font-weight:600;line-height:1.3;text-align:left;text-decoration:none;color:rgb(var(--ink));cursor:pointer}.email-menu-item:hover,.email-menu-item:focus-visible{background:rgb(var(--raised))}.email-menu-item:focus-visible{outline-offset:-2px}.email-menu-item>.icon{margin-top:3px;color:rgb(var(--ink-3))}.email-menu-text{display:grid}.email-menu-meta{margin-top:3px;font-family:var(--font-mono);font-size:12px;font-weight:400;color:rgb(var(--ink-3))}.footer{border-top:1px solid rgb(var(--rule));padding-bottom:12px}.footer-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-block:20px;font-size:13px;line-height:1.5;color:rgb(var(--ink-3))}.footer-row p{margin:0}.footer-copy{white-space:nowrap;color:rgb(var(--ink-2))}.footer-colophon{flex:1 1 340px;min-width:0;max-width:62ch}.footer-keys{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px}.footer-keys .keycap{width:auto;margin:0;padding:1px 6px}.footer-code{font-family:var(--font-mono);font-size:12.5px;color:rgb(var(--ink-2))}.footer-link{min-height:24px;padding:0;border:0;background:transparent;font:inherit;color:rgb(var(--ink-2));text-decoration:underline;text-decoration-color:rgb(var(--rule-strong));text-underline-offset:4px;cursor:pointer}.footer-link:hover{color:rgb(var(--ink));text-decoration-color:rgb(var(--accent-ink))}.footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-left:auto}.footer-print{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 14px 0 12px;border:1px solid rgb(var(--rule-strong));border-radius:999px;background:transparent;font-size:13px;font-weight:600;line-height:1;color:rgb(var(--ink));cursor:pointer;transition:border-color .16s var(--ease-standard)}.footer-print:hover{border-color:rgb(var(--ink))}.footer-print[aria-pressed=true]{border-color:rgb(var(--ink));background:rgb(var(--ink));color:rgb(var(--canvas))}.theme-switch{display:inline-flex;padding:2px;border:1px solid rgb(var(--rule-strong));border-radius:999px}.theme-switch button{min-height:26px;padding:0 12px;border:0;border-radius:999px;background:transparent;font-family:var(--font-mono);font-size:12px;line-height:1;color:rgb(var(--ink-2));cursor:pointer;transition:color .16s var(--ease-standard),background-color .16s var(--ease-standard)}.theme-switch button:hover{color:rgb(var(--ink))}.theme-switch button[aria-pressed=true]{background:rgb(var(--ink));color:rgb(var(--canvas))}html:not(.js) .theme-switch,html:not(.js) .footer-print,html:not(.js) .footer-keys{display:none}.footer-printed{display:none}@media (max-width: 767px){.footer-row{flex-direction:column;align-items:flex-start;gap:8px}.footer-colophon{flex:none}.footer-keys{display:none}.footer-actions{margin-left:0;margin-top:6px}.footer-print,.footer-link{min-height:44px}.theme-switch button{min-height:40px}}.term{--t-prompt: var(--ink-3);--t-banner: var(--ink-3);border:1px solid rgb(var(--rule));background:rgb(var(--surface));font-family:var(--font-mono);font-size:13.5px;line-height:1.6;color:rgb(var(--ink-2))}.term:focus-within{outline:2px solid rgb(var(--focus));outline-offset:2px}.term[data-skin=v1]{--surface: 10 12 16;--raised: 20 24 32;--rule: 42 48 62;--rule-strong: 120 130 150;--ink: 230 233 240;--ink-2: 170 177 192;--ink-3: 130 138 156;--accent-ink: 124 108 255;--t-prompt: 57 224 200;--t-banner: 57 224 200}.term-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:4px 16px;border-bottom:1px solid rgb(var(--rule));font-size:11.5px;line-height:1.3;color:rgb(var(--t-banner))}.term-head-right{display:inline-flex;align-items:center;gap:12px;color:rgb(var(--ink-3))}.keycap-inline{padding:0 5px;border:1px solid rgb(var(--rule-strong));border-radius:4px;font:inherit;color:rgb(var(--ink-2))}.term-btn{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 12px;border:1px solid rgb(var(--rule-strong));border-radius:999px;background:transparent;font:inherit;color:rgb(var(--ink-2));cursor:pointer;transition:border-color .16s var(--ease-standard),color .16s var(--ease-standard)}.term-btn:hover{border-color:rgb(var(--ink));color:rgb(var(--ink))}.term-btn .icon{width:10px;height:10px;stroke-width:2.2}.term-band .t-body{height:208px}.t-body{min-height:0}.t-log{box-sizing:border-box;height:100%;overflow:auto;padding:12px 16px;overscroll-behavior:contain}.t-log:focus-visible{outline-offset:-2px}.t-measure{position:absolute;visibility:hidden;white-space:pre;pointer-events:none}.t-line{margin:0}.t-cmd{color:rgb(var(--ink));overflow-wrap:anywhere}.t-prompt{color:rgb(var(--t-prompt));-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:pre}.t-out,.t-err{white-space:pre-wrap;overflow-wrap:anywhere}.t-dim{white-space:pre-wrap;overflow-wrap:anywhere;color:rgb(var(--ink-3))}.t-pre{white-space:pre}.t-input{display:flex;align-items:baseline}.t-input input{flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;font:inherit;color:rgb(var(--ink));caret-color:rgb(var(--accent-ink))}.t-input input:focus,.t-input input:focus-visible{outline:none}.t-caret{display:inline-block;width:8px;height:15px;margin-left:1px;transform:translateY(2px);background:rgb(var(--accent-ink));animation:blink 1.1s step-end 9}.t-caret-idle{animation:none}.term-chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-top:1px solid rgb(var(--rule))}.term-chip{min-height:32px;padding:0 14px;border:1px solid rgb(var(--rule-strong));border-radius:999px;background:transparent;font:inherit;font-size:12.5px;color:rgb(var(--ink-2));cursor:pointer;transition:border-color .16s var(--ease-standard),color .16s var(--ease-standard)}.term-chip:hover{border-color:rgb(var(--ink));color:rgb(var(--ink))}.t-fetch{display:flex;flex-wrap:wrap;gap:8px 24px;margin-block:8px}.t-mark{flex:none;margin:.1em 0 0;font-family:var(--font-display);font-synthesis:none;font-size:88px;line-height:.729;white-space:nowrap;color:rgb(var(--ink))}.t-mark>:first-child{font-stretch:125%;font-weight:860}.t-mark>:last-child{font-stretch:75%;font-weight:419}.t-facts{min-width:0;margin:0}.t-facts>div{display:flex;gap:12px}.t-facts dt{flex:none;width:7ch;color:rgb(var(--ink-3))}.t-facts dd{margin:0;min-width:0;overflow-wrap:anywhere;color:rgb(var(--ink))}.t-facts-head dd{margin-bottom:4px;color:rgb(var(--t-prompt, var(--ink)));font-weight:600}.t-font{margin-block:8px}.t-font-sample{margin:0;overflow:hidden;font-family:var(--font-display);font-synthesis:none;font-size:36px;line-height:1.15;white-space:nowrap;color:rgb(var(--ink))}.t-font-axis{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;color:rgb(var(--ink-3))}.t-font-axis input{flex:1 1 160px;max-width:280px;height:24px;accent-color:rgb(var(--ink-2))}.t-font-axis output{min-width:18ch}.term-drawer{position:fixed;left:0;right:0;bottom:calc(var(--statusbar-h) + env(safe-area-inset-bottom,0px));z-index:39;display:flex;flex-direction:column;height:40vh;border-width:1px 0 0;border-color:rgb(var(--rule-strong));transform:translateY(100%);visibility:hidden;transition:transform .24s var(--ease-standard),visibility 0s linear .24s}.term-drawer[data-open]{transform:none;visibility:visible;transition:transform .24s var(--ease-standard),visibility 0s}.term-drawer:focus-within{outline:none}.term-drawer .t-input:focus-within{outline:2px solid rgb(var(--focus));outline-offset:2px}.term-drawer .t-body{flex:1 1 auto}.term-drawer .term-head,.term-drawer .t-log{padding-inline:max(var(--margin),calc((100% - 1312px)/2))}html.sb-hidden .term-drawer{bottom:env(safe-area-inset-bottom,0px)}html.drawer-open{scroll-padding-bottom:calc(40vh + var(--statusbar-h) + 8px)}@media (max-width: 767px){.term-band .t-body{height:232px}.term-hint{display:none}.term-drawer{height:70vh;height:70dvh}html.drawer-open{scroll-padding-bottom:calc(70vh + var(--statusbar-h) + 8px)}.term-chip,.term-btn{min-height:44px}.t-input input{font-size:16px}.t-mark{font-size:64px}}@media (hover: none){.term-hint{display:none}}html.rm .term-drawer{transition:none}@media print{.term,.term-drawer{display:none!important}}[data-keycap]{transition:transform 90ms var(--ease-standard),background-color 90ms var(--ease-standard)}[data-keycap][data-pressed]{transform:translateY(1px);background-color:rgb(var(--raised))}.pal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.pal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:rgb(var(--canvas) / .72)}.pal-sheet{position:relative;display:flex;flex-direction:column;width:min(600px,calc(100% - 32px));max-height:min(560px,76vh);margin:12vh auto 0;overflow:hidden;border:1px solid rgb(var(--rule-strong));background:rgb(var(--surface));box-shadow:0 24px 64px #00000080;animation:pal-in .16s var(--ease-standard) both}@keyframes pal-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.pal-field{display:flex;flex:none;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid rgb(var(--rule))}.pal-field:focus-within{box-shadow:inset 0 -2px rgb(var(--focus))}.pal-chevron{font-family:var(--font-mono);color:rgb(var(--ink-3))}.pal-field input{flex:1 1 auto;min-width:0;height:52px;border:0;background:transparent;font-family:var(--font-mono);font-size:16px;color:rgb(var(--ink));caret-color:rgb(var(--accent-ink))}.pal-field input::-moz-placeholder{color:rgb(var(--ink-3));opacity:1}.pal-field input::placeholder{color:rgb(var(--ink-3));opacity:1}.pal-field input:focus,.pal-field input:focus-visible{outline:none}.pal-key{padding:0 6px;border:1px solid rgb(var(--rule-strong));border-radius:4px;font-family:var(--font-mono);font-size:11.5px;line-height:1.6;color:rgb(var(--ink-2))}.pal-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding-block:4px 8px;overscroll-behavior:contain}.pal-group{padding:10px 16px 4px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-3))}.pal-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:0 16px;border-left:2px solid transparent;font-size:15px;color:rgb(var(--ink-2));cursor:pointer}.pal-row[data-selected]{border-left-color:rgb(var(--accent-ink));background:rgb(var(--accent-wash));color:rgb(var(--ink))}.pal-label{flex:none;max-width:62%}.pal-hit{background:transparent;color:rgb(var(--accent-ink));font-weight:650}.pal-hint{min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:12px;color:rgb(var(--ink-3))}.pal-row[data-selected] .pal-hint{color:rgb(var(--ink-2))}.pal-keys{flex:none;padding:0 6px;border:1px solid rgb(var(--rule-strong));border-radius:4px}.pal-copied{color:rgb(var(--ink))}.pal-empty{margin:0;padding:16px;font-size:15px;color:rgb(var(--ink-2))}.pal-foot{display:flex;flex:none;gap:16px;padding:8px 16px;border-top:1px solid rgb(var(--rule));font-family:var(--font-mono);font-size:11.5px;color:rgb(var(--ink-3))}@media (max-width: 767px){.pal-sheet{width:100%;max-height:none;height:100%;margin:0;border-width:0}.pal-row{min-height:48px}.pal-foot{display:none}.pal-label{max-width:58%}}@media (hover: none){.pal-foot{display:none}}html.rm .pal-sheet{animation:none}.keys-sheet{width:min(520px,calc(100% - 32px));max-height:calc(100% - 48px);margin:auto;padding:0;overflow:auto;border:1px solid rgb(var(--rule-strong));background:rgb(var(--surface));color:rgb(var(--ink));box-shadow:0 24px 64px #00000080}.keys-sheet::backdrop{background:rgb(var(--canvas) / .72)}.keys-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid rgb(var(--rule))}.keys-title{margin:0;font-size:18px;font-weight:650}.keys-close{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border:1px solid rgb(var(--rule-strong));border-radius:999px;background:transparent;font:inherit;font-size:14px;font-weight:500;color:rgb(var(--ink));cursor:pointer}.keys-close:hover{border-color:rgb(var(--ink))}.keys-close .icon{width:11px;height:11px}.keys-list{margin:0;padding:4px 20px;list-style:none}.keys-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;border-bottom:1px solid rgb(var(--rule));font-size:15px;color:rgb(var(--ink-2))}.keys-list li:last-child{border-bottom:0}.keys-combo{display:inline-flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:4px}.keys-combo kbd{min-width:24px;padding:1px 6px;border:1px solid rgb(var(--rule-strong));border-radius:4px;font-family:var(--font-mono);font-size:12px;line-height:1.5;text-align:center;color:rgb(var(--ink))}.keys-secret{color:rgb(var(--ink-3))}@media (max-width: 480px){.keys-list li.keys-secret{flex-wrap:wrap;justify-content:flex-start;gap:4px 16px;padding-block:10px}.keys-secret .keys-combo{justify-content:flex-start}}.keys-secret .keys-combo kbd{color:rgb(var(--ink-2))}.keys-switch{padding:12px 20px 16px;border-top:1px solid rgb(var(--rule))}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;padding:0;border:0;background:transparent;font:inherit;font-size:15px;text-align:left;color:rgb(var(--ink));cursor:pointer}.switch-track{position:relative;flex:none;width:40px;height:22px;border:1px solid rgb(var(--rule-strong));border-radius:999px}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:rgb(var(--ink-2));transition:transform .16s var(--ease-standard)}.switch-row[aria-checked=true] .switch-track{border-color:rgb(var(--ink));background:rgb(var(--raised))}.switch-row[aria-checked=true] .switch-track:after{transform:translate(18px);background:rgb(var(--ink))}.switch-note{margin:0;font-size:13.5px;line-height:1.5;color:rgb(var(--ink-3))}.toasts{position:fixed;left:50%;bottom:calc(var(--statusbar-h) + 16px + env(safe-area-inset-bottom,0px));z-index:95;display:grid;gap:8px;width:min(440px,calc(100% - 32px));transform:translate(-50%);pointer-events:none}.toast{padding:10px 16px;border:1px solid rgb(var(--rule-strong));background:rgb(var(--raised));font-size:14.5px;line-height:1.45;color:rgb(var(--ink));box-shadow:0 24px 64px #00000080;animation:pal-in .16s var(--ease-standard) both}html.sb-hidden .toasts{bottom:calc(16px + env(safe-area-inset-bottom,0px))}html.rm .toast{animation:none}@media print{.pal,.keys-sheet,.toasts{display:none!important}}@media print{@page{size:A4;margin:14mm 15mm 16mm}html,body{background:#fff!important}body{padding:0!important}.shell{width:100%}.topbar,.statusbar,.prompt-band,.skip-link,[role=dialog],.term-drawer,.email-menu-wrap,.hero-actions>.pill,.hero-links li:last-child,.row-visual,.row-actions,.also .stack-line,.also .row-actions,.also-details,.also-more,.work-head .section-lede,.stack .section-lede,.stack-phone,.evidence,.contact-mail-actions,.contact-ledger .facts-cell:nth-child(n+3),.contact-time,.footer-row{display:none!important}a[href^=http]:after{content:" (" attr(href) ")";font-family:var(--font-mono);font-size:.78em;font-weight:400;color:rgb(var(--ink-3));overflow-wrap:anywhere}a{text-decoration:none!important}.print-link{display:block!important;margin:6px 0 0;font-family:var(--font-mono);font-size:9pt;color:rgb(var(--ink-2))}.section,.work{padding:9mm 0 0!important}.contact{padding-bottom:0!important}.section .section-head,.work-head{margin-bottom:4mm!important}.section-title{font-size:19pt!important}.section-lede{margin-top:2mm!important;font-size:10.5pt!important}.section-head,.row-title,.row-rail,.row-summary,.also-title{-moz-column-break-after:avoid;break-after:avoid}.row-rail,.figures,.row-line,.row-bullets li,.stack-line,.case-study>div,.also-item,.exp-row,.exp-sub,.stack-row,.facts-ledger,.contact-mail{-moz-column-break-inside:avoid;break-inside:avoid}p,li,dd{orphans:3;widows:3}.hero{padding:0!important}.hero-namecol{grid-column:1 / span 6!important;max-width:74mm!important}.hero-now-long{display:inline!important}.hero-now-short{display:none!important}.hero-eyebrow{white-space:normal!important;font-size:9pt!important}.hero-lede-more{display:inline!important}.hero-lede{grid-column:7 / -1!important;grid-row:2!important;margin:-.39em 0 0!important;max-width:none!important;font-size:10.5pt!important}.hero-links{margin-top:2mm!important}.hero-links a{color:rgb(var(--ink))!important}.work-row{padding-block:5mm!important}.work .disclosure{display:block!important;visibility:visible!important;transition:none!important}.work .disclosure-inner{overflow:visible!important}.work .row-bullets{margin-top:3mm!important}.work .row-foot{display:block!important;margin-top:3mm!important}.row-summary,.also-summary{font-size:10.5pt!important}.figure-value{font-size:26pt!important}.figures,.row-line{margin-top:3mm!important;padding-block:2.5mm!important}.work .row-bullets li,.case-study dd,.also-details li,.exp-line{font-size:10.5pt!important;line-height:1.45!important}.case-study{margin-top:3mm!important}.case-study>div{padding-block:2mm!important}.also{padding-top:5mm!important}.also-title{margin-bottom:3mm!important}.also-list{display:block!important}.also-item+.also-item{margin-top:5mm}.exp-row{padding-block:4mm!important}.exp-sub-list{margin-top:3mm!important}.stack .stack-items{display:flex!important;font-size:11pt!important}.stack-row{padding-block:3mm!important}.skill{min-height:0!important;text-decoration:none!important}.contact-address{font-size:20pt!important}.contact-ledger{margin-top:4mm!important}.footer{margin-top:8mm;padding:0!important;border-top:1px solid rgb(var(--rule))}.footer-printed{display:block!important;margin:0;padding-top:3mm;font-family:var(--font-mono);font-size:8.5pt;color:rgb(var(--ink-3))}}.print-link{display:none}
