.playable-piano[data-astro-cid-752xcj35]{--n:14;--keys-h:clamp(5.75rem, 17svh, 10.5rem);z-index:3;width:100%;position:relative}.piano-keys[data-astro-cid-752xcj35]{height:var(--keys-h);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#000;position:relative;overflow:clip}.piano-key[data-astro-cid-752xcj35]{transform-origin:50% 0;transition:transform .5s var(--spring-lively), background-color .28s ease;border:0;padding:0;position:absolute;top:0}.piano-key[data-astro-cid-752xcj35]:not(:disabled){cursor:pointer}.white[data-astro-cid-752xcj35]{left:calc(var(--i) / var(--n) * 100%);width:calc(100% / var(--n) - 1px);background:linear-gradient(#cfccc4 0,#f3f1ea 12%,#f8f6f1 86%,#e6e3da 100%);border-radius:0 0 5px 5px;height:100%}.black[data-astro-cid-752xcj35]{left:calc((var(--i) + .72) / var(--n) * 100%);width:calc(.56 / var(--n) * 100%);z-index:1;background:linear-gradient(#050506 0,#1c1c20 70%,#2c2c31 94%,#0c0c0e 100%);border-radius:0 0 4px 4px;height:62%;box-shadow:0 3px 6px #0000008c}.white[data-astro-cid-752xcj35].is-down{background:linear-gradient(#b9b6ae 0,#dcdfe8 40%,#a9c1f7 100%);transition-duration:45ms,80ms;transition-timing-function:ease-out;transform:perspective(620px)rotateX(-5deg)}.black[data-astro-cid-752xcj35].is-down{background:linear-gradient(#050506 0,#1a2547 70%,#3a5cb0 100%);transition-duration:45ms,80ms;transition-timing-function:ease-out;transform:perspective(620px)rotateX(-8deg)}.piano-key[data-astro-cid-752xcj35]:focus-visible{outline-offset:-4px;border-radius:2px 2px 6px 6px;outline:2px solid #3473ff}.black[data-astro-cid-752xcj35]:focus-visible{outline-color:#7fa8ff}.piano-help[data-astro-cid-752xcj35]{right:calc(var(--page-edge) + min(40vw, 540px) + 1rem);pointer-events:none;align-items:flex-end;gap:.35rem;display:flex;position:absolute;bottom:calc(100% + .5rem)}.piano-help[data-astro-cid-752xcj35] svg[data-astro-cid-752xcj35]{flex-shrink:0;translate:0 6px}.piano-hint[data-astro-cid-752xcj35]{left:var(--page-edge);margin:0;position:absolute;bottom:calc(100% + .875rem)}.piano-hint[data-astro-cid-752xcj35] span[data-astro-cid-752xcj35]{display:none}@media (hover:hover) and (pointer:fine){.piano-hint[data-astro-cid-752xcj35] span[data-astro-cid-752xcj35]{display:inline}}html:not(.js) .piano-help[data-astro-cid-752xcj35],html:not(.js) .piano-hint[data-astro-cid-752xcj35]{display:none}.piano-glyphs[data-astro-cid-752xcj35]{pointer-events:none;height:0;position:absolute;inset:auto 0 100%}.piano-glyph{font-family:var(--font-hand);color:#7fa8ff;opacity:0;will-change:transform, opacity;font-size:1.75rem;line-height:1;position:absolute;bottom:0}@keyframes key-rise{0%{translate:0 102%}}@media (prefers-reduced-motion:no-preference){html:not([data-motion=off]) .piano-key[data-astro-cid-752xcj35]{animation:key-rise .95s var(--spring) both;animation-delay:calc(.32s + var(--i) * 26ms)}}@media (width<=760px){.playable-piano[data-astro-cid-752xcj35]{--n:8;--keys-h:clamp(5.5rem, 14svh, 7.25rem)}.piano-high[data-astro-cid-752xcj35]{display:none}.piano-help[data-astro-cid-752xcj35]{left:var(--page-edge);flex-direction:column;align-items:flex-start;gap:0;bottom:calc(100% + .5rem);right:auto}.piano-help[data-astro-cid-752xcj35] .hand[data-astro-cid-752xcj35]{font-size:1.125rem}.piano-help[data-astro-cid-752xcj35] svg[data-astro-cid-752xcj35]{align-self:center;width:30px;height:30px}.piano-hint[data-astro-cid-752xcj35]{display:none}}@media (width>=761px) and (width<=1100px){.piano-hint[data-astro-cid-752xcj35] span[data-astro-cid-752xcj35]{display:none}.piano-help[data-astro-cid-752xcj35]{right:calc(var(--page-edge) + 44vw + 1rem)}}.skill-explorer[data-astro-cid-epeeiyzc]{max-width:30rem;margin-top:3rem}.skill-hint[data-astro-cid-epeeiyzc]{margin:.375rem 0 1.125rem}.skill-grid[data-astro-cid-epeeiyzc]{grid-template-columns:repeat(5,minmax(0,1fr));gap:.625rem;display:grid}button[data-astro-cid-epeeiyzc]{aspect-ratio:1;border:1px solid var(--color-hairline);color:var(--skill-color);background:var(--color-surface);cursor:pointer;transition:border-color .2s ease, background-color .2s ease, transform .55s var(--spring-lively);border-radius:.875rem;place-items:center;display:grid}button[data-astro-cid-epeeiyzc] svg[data-astro-cid-epeeiyzc]{width:1.75rem;height:1.75rem}button[data-astro-cid-epeeiyzc]:hover{border-color:var(--color-hairline-strong);transform:translateY(-2px)}button[data-astro-cid-epeeiyzc]:active{transition-duration:.2s,.2s,50ms;transform:scale(.94)}button[data-astro-cid-epeeiyzc][aria-expanded=true]{border-color:var(--color-accent);background:var(--color-surface-2)}@media (prefers-reduced-motion:reduce){button[data-astro-cid-epeeiyzc]:hover,button[data-astro-cid-epeeiyzc]:active{transform:none}}.skill-detail[data-astro-cid-epeeiyzc]{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:.875rem;margin-top:1.25rem;padding:1.25rem 1.375rem}.skill-detail[data-astro-cid-epeeiyzc][hidden]{display:none}html:not(.js) .skill-detail[data-astro-cid-epeeiyzc][hidden]{display:block}html:not(.js) .skill-hint[data-astro-cid-epeeiyzc]{display:none}@media (prefers-reduced-motion:no-preference){html:not([data-motion=off]) .skill-detail[data-astro-cid-epeeiyzc]:not([hidden]){animation:rise .8s var(--spring) both}}h4[data-astro-cid-epeeiyzc]{letter-spacing:-.018em;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.skill-detail[data-astro-cid-epeeiyzc] p[data-astro-cid-epeeiyzc]{color:var(--color-fg-muted);font-size:.9375rem;line-height:1.6}h5[data-astro-cid-epeeiyzc]{color:var(--color-fg-muted);margin:1.25rem 0 .375rem;font-size:.8125rem;font-weight:600}ul[data-astro-cid-epeeiyzc]{margin:0;padding:0;list-style:none}li[data-astro-cid-epeeiyzc]{border-top:1px solid var(--color-hairline);padding-block:.625rem}li[data-astro-cid-epeeiyzc] a[data-astro-cid-epeeiyzc]{color:var(--color-accent);font-size:.9375rem;font-weight:500}li[data-astro-cid-epeeiyzc] a[data-astro-cid-epeeiyzc]:hover{text-underline-offset:3px;text-decoration:underline}li[data-astro-cid-epeeiyzc] small[data-astro-cid-epeeiyzc]{color:var(--color-fg-muted);margin-top:.125rem;font-size:.8125rem;line-height:1.5;display:block}@media (width<=760px){.skill-grid[data-astro-cid-epeeiyzc]{gap:.5rem}button[data-astro-cid-epeeiyzc] svg[data-astro-cid-epeeiyzc]{width:1.5rem;height:1.5rem}}.repo-rail-head[data-astro-cid-x64yixhp]{max-width:1320px;padding-inline:var(--spacing-gutter);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 auto 1rem;display:flex}.repo-rail[data-astro-cid-x64yixhp]{cursor:grab;scrollbar-width:thin;scrollbar-color:var(--color-hairline-strong) transparent;-webkit-user-select:none;user-select:none;padding-bottom:1rem;overflow:auto hidden}.repo-rail[data-astro-cid-x64yixhp][data-dragging]{cursor:grabbing}.repo-rail[data-astro-cid-x64yixhp][data-dragging] a[data-astro-cid-x64yixhp]{pointer-events:none}.repo-rail[data-astro-cid-x64yixhp]:focus-visible{outline-offset:-2px}@media (pointer:coarse){.repo-rail[data-astro-cid-x64yixhp]{scroll-snap-type:x proximity;scroll-padding-inline:var(--spacing-gutter)}li[data-astro-cid-x64yixhp]{scroll-snap-align:start}}ul[data-astro-cid-x64yixhp]{width:max-content;padding:.25rem max(var(--spacing-gutter), calc((100vw - 1320px) / 2 + var(--spacing-gutter)));gap:.75rem;margin:0;list-style:none;display:flex}li[data-astro-cid-x64yixhp]{display:flex}a[data-astro-cid-x64yixhp]{background:var(--color-surface);border:1px solid var(--color-hairline);width:15.5rem;min-height:9.5rem;transition:border-color .25s ease, transform .6s var(--spring);border-radius:.875rem;flex-direction:column;padding:1.125rem;display:flex}a[data-astro-cid-x64yixhp]:hover{border-color:var(--color-hairline-strong);transform:translateY(-3px)}strong[data-astro-cid-x64yixhp]{letter-spacing:-.015em;overflow-wrap:anywhere;font-size:1rem;font-weight:600}strong[data-astro-cid-x64yixhp] span[data-astro-cid-x64yixhp]{color:var(--color-accent)}p[data-astro-cid-x64yixhp]{color:var(--color-fg-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.5rem 0 .875rem;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}small[data-astro-cid-x64yixhp]{color:var(--color-fg-dim);justify-content:space-between;gap:.75rem;margin-top:auto;font-size:.75rem;display:flex}.repo-language[data-astro-cid-x64yixhp]{align-items:center;gap:.4rem;display:inline-flex}.repo-language[data-astro-cid-x64yixhp]:before{content:"";background:var(--language-color);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.notebook[data-astro-cid-dvba5yrm]{padding-block:clamp(4.5rem,10vw,8.5rem)}#community[data-astro-cid-dvba5yrm]{padding-top:0}.notebook-grid[data-astro-cid-dvba5yrm]{max-width:1320px;padding-inline:var(--spacing-gutter);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2.5rem,7vw,6.5rem);margin-inline:auto;display:grid}.notebook-heading[data-astro-cid-dvba5yrm] .hand[data-astro-cid-dvba5yrm]{margin-bottom:1.25rem}#source-title[data-astro-cid-dvba5yrm]{font-size:clamp(2rem,4.5vw,4rem)}.section-intro[data-astro-cid-dvba5yrm]{max-width:34ch;margin-top:1.75rem}.figures[data-astro-cid-dvba5yrm]{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:0;display:grid}.figures[data-astro-cid-dvba5yrm]>div[data-astro-cid-dvba5yrm]{border-top:1px solid var(--color-hairline-strong);flex-direction:column-reverse;justify-content:flex-end;gap:.625rem;padding-top:.875rem;display:flex}.figures[data-astro-cid-dvba5yrm] dd[data-astro-cid-dvba5yrm]{letter-spacing:-.05em;margin:0;font-size:clamp(2.25rem,4.6vw,4rem);font-weight:600;line-height:1}.figures[data-astro-cid-dvba5yrm] dt[data-astro-cid-dvba5yrm]{color:var(--color-fg-muted);max-width:18ch;font-size:.8125rem;line-height:1.4}.data-note[data-astro-cid-dvba5yrm]{margin:1rem 0 2.5rem}.ledger[data-astro-cid-dvba5yrm]{margin:0;padding:0;list-style:none}.ledger[data-astro-cid-dvba5yrm] li[data-astro-cid-dvba5yrm]{border-top:1px solid var(--color-hairline)}.ledger[data-astro-cid-dvba5yrm] a[data-astro-cid-dvba5yrm]{padding-block:1.125rem 1.25rem;display:block}.ledger-title[data-astro-cid-dvba5yrm]{align-items:baseline;gap:.75rem;display:flex}.ledger-title[data-astro-cid-dvba5yrm] strong[data-astro-cid-dvba5yrm]{letter-spacing:-.022em;font-size:1.25rem;font-weight:600;transition:color .2s}.ledger-arrow[data-astro-cid-dvba5yrm]{color:var(--color-accent);transition:transform .55s var(--spring-lively);margin-left:auto}.ledger[data-astro-cid-dvba5yrm] a[data-astro-cid-dvba5yrm]:hover strong[data-astro-cid-dvba5yrm]{color:var(--color-accent)}.ledger[data-astro-cid-dvba5yrm] a[data-astro-cid-dvba5yrm]:hover .ledger-arrow[data-astro-cid-dvba5yrm]{transform:translate(3px,-3px)}.ledger-body[data-astro-cid-dvba5yrm]{max-width:56ch;color:var(--color-fg-muted);margin-top:.5rem;font-size:.9375rem;line-height:1.6;display:block}.section-links[data-astro-cid-dvba5yrm]{flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:1.75rem;font-size:.9375rem;display:flex}.rail-slot[data-astro-cid-dvba5yrm]{margin-top:clamp(3.5rem,7vw,6rem)}.community-drawing[data-astro-cid-dvba5yrm]{width:min(85%,19.5rem);height:auto;margin-top:2.25rem;display:block}.roles[data-astro-cid-dvba5yrm] article[data-astro-cid-dvba5yrm]{border-top:1px solid var(--color-hairline);padding-block:1.75rem 2rem}.roles[data-astro-cid-dvba5yrm] article[data-astro-cid-dvba5yrm]:first-child{border-top:0;padding-top:0}.role-label[data-astro-cid-dvba5yrm]{margin-bottom:.375rem}.roles[data-astro-cid-dvba5yrm] h3[data-astro-cid-dvba5yrm] a[data-astro-cid-dvba5yrm]{transition:color .2s}.roles[data-astro-cid-dvba5yrm] h3[data-astro-cid-dvba5yrm] a[data-astro-cid-dvba5yrm]:hover{color:var(--color-accent)}.roles[data-astro-cid-dvba5yrm] .t-body[data-astro-cid-dvba5yrm]{margin-top:.75rem}@media (width<=760px){.notebook-grid[data-astro-cid-dvba5yrm]{grid-template-columns:minmax(0,1fr)}.figures[data-astro-cid-dvba5yrm]{gap:.75rem}.figures[data-astro-cid-dvba5yrm] dd[data-astro-cid-dvba5yrm]{letter-spacing:-.04em}.community-drawing[data-astro-cid-dvba5yrm]{width:min(70%,15rem);margin-top:1.5rem}}.playable-trombone[data-astro-cid-wbij672d]{width:100%}.trombone-drawing[data-astro-cid-wbij672d]{touch-action:pan-y;width:100%;height:auto;display:block;overflow:visible}.trombone-slide[data-astro-cid-wbij672d]{cursor:grab;touch-action:pan-y}.trombone-slide[data-astro-cid-wbij672d]:active{cursor:grabbing}.trombone-controls[data-astro-cid-wbij672d]{color:var(--color-fg-muted);grid-template-columns:auto 1fr;align-items:center;gap:.875rem;margin-top:1rem;font-size:.875rem;display:grid}input[data-astro-cid-wbij672d]{width:100%;min-width:0;min-height:2.75rem;accent-color:var(--color-accent);cursor:pointer;margin:0}.instrument-panel[data-astro-cid-wbij672d]{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:.75rem;display:flex}.trombone-play[data-astro-cid-wbij672d]{touch-action:none;-webkit-user-select:none;user-select:none}.playing[data-astro-cid-wbij672d] .trombone-play[data-astro-cid-wbij672d]{background:var(--color-accent);border-color:var(--color-accent);color:#08080a}output[data-astro-cid-wbij672d]{min-width:3rem;font-family:var(--font-sans);color:var(--color-accent);font-size:1.25rem;line-height:1}.partial-controls[data-astro-cid-wbij672d]{align-items:center;gap:.75rem;margin-left:auto;display:flex}.partial-stepper[data-astro-cid-wbij672d]{align-items:center;gap:.625rem;display:flex}.partial-stepper[data-astro-cid-wbij672d] button[data-astro-cid-wbij672d]{border:1px solid var(--color-hairline-strong);width:2.75rem;height:2.75rem;color:var(--color-fg);cursor:pointer;transition:border-color .2s ease, transform .5s var(--spring-lively);border-radius:999px;font-size:1.125rem}.partial-stepper[data-astro-cid-wbij672d] button[data-astro-cid-wbij672d]:hover:not(:disabled){border-color:var(--color-fg-muted)}.partial-stepper[data-astro-cid-wbij672d] button[data-astro-cid-wbij672d]:active:not(:disabled){transition-duration:.2s,50ms;transform:scale(.92)}.partial-stepper[data-astro-cid-wbij672d] button[data-astro-cid-wbij672d]:disabled{opacity:.32;cursor:default}.partial-label[data-astro-cid-wbij672d]{text-align:center;min-width:1ch}.trombone-hint[data-astro-cid-wbij672d]{margin:1rem 0 0}small[data-astro-cid-wbij672d]{margin-top:.25rem;display:block}html:not(.js) .instrument-panel[data-astro-cid-wbij672d],html:not(.js) .trombone-controls[data-astro-cid-wbij672d],html:not(.js) .trombone-hint[data-astro-cid-wbij672d],html:not(.js) .playable-trombone[data-astro-cid-wbij672d] small[data-astro-cid-wbij672d]{display:none}@media (width<=30rem){.partial-controls[data-astro-cid-wbij672d]{margin-left:0}}.flat[data-astro-cid-yybzyyif]{font-family:var(--font-sans);margin-left:-.12em}.music[data-astro-cid-yybzyyif]{background:var(--color-void);padding-block:clamp(4.5rem, 10vw, 8.5rem) calc(clamp(4.5rem, 10vw, 8.5rem) + var(--sheet-radius))}.music-grid[data-astro-cid-yybzyyif]{max-width:1320px;padding-inline:var(--spacing-gutter);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2.5rem,7vw,6.5rem);margin-inline:auto;display:grid}#music-title[data-astro-cid-yybzyyif]{font-size:clamp(2.25rem,5vw,4.5rem)}.hand[data-astro-cid-yybzyyif]{margin-bottom:1.25rem}.music-intro[data-astro-cid-yybzyyif]{max-width:36ch;margin-top:1.75rem}.music-links[data-astro-cid-yybzyyif]{flex-wrap:wrap;gap:.625rem;margin-top:1.75rem;display:flex}.instruments[data-astro-cid-yybzyyif]{margin-top:3rem}.instruments[data-astro-cid-yybzyyif] article[data-astro-cid-yybzyyif]{border-top:1px solid var(--color-hairline);padding-block:1.25rem 1.5rem}.instrument-heading[data-astro-cid-yybzyyif]{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.instrument-heading[data-astro-cid-yybzyyif]>span[data-astro-cid-yybzyyif]{color:var(--color-fg-muted);font-size:.9375rem}.instruments[data-astro-cid-yybzyyif] .t-caption[data-astro-cid-yybzyyif]{margin-top:.25rem}ul[data-astro-cid-yybzyyif]{margin:.75rem 0 0;padding:0;list-style:none}li[data-astro-cid-yybzyyif]{color:var(--color-fg-muted);padding-block:.25rem;font-size:.9375rem;line-height:1.5}.music-playground[data-astro-cid-yybzyyif]{position:sticky;top:6rem}.playground-note[data-astro-cid-yybzyyif]{margin-bottom:2.25rem}.music-playground[data-astro-cid-yybzyyif] h3[data-astro-cid-yybzyyif]{margin:0 0 .875rem}@media (width<=860px){.music-grid[data-astro-cid-yybzyyif]{grid-template-columns:minmax(0,1fr)}.music-playground[data-astro-cid-yybzyyif]{position:static}}.story-path[data-astro-cid-ggkg3qui]{padding-block:clamp(4.5rem,10vw,8.5rem);padding-inline:var(--spacing-gutter)}header[data-astro-cid-ggkg3qui]{text-align:center;margin:0 auto clamp(3.5rem,7vw,6rem)}header[data-astro-cid-ggkg3qui] .hand[data-astro-cid-ggkg3qui]{transform-origin:50%;margin-bottom:1.25rem}header[data-astro-cid-ggkg3qui] .t-lede[data-astro-cid-ggkg3qui]{margin-top:1.25rem}.story-route[data-astro-cid-ggkg3qui]{max-width:1100px;margin-inline:auto;position:relative}.story-trail[data-astro-cid-ggkg3qui]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-guide[data-astro-cid-ggkg3qui]{stroke:var(--color-hairline-strong);stroke-dasharray:2 7;stroke-linecap:round}.route-ink[data-astro-cid-ggkg3qui]{stroke:var(--color-accent)}.route-tip[data-astro-cid-ggkg3qui]{fill:var(--color-accent);opacity:0}.story-stops[data-astro-cid-ggkg3qui]{margin:0;padding:0;list-style:none;position:relative}.story-stop[data-astro-cid-ggkg3qui]{grid-template-columns:1fr 1fr;column-gap:clamp(3rem,7vw,6.5rem);padding-bottom:clamp(3rem,6vw,5.25rem);display:grid;position:relative}.story-stop[data-astro-cid-ggkg3qui] article[data-astro-cid-ggkg3qui]{grid-column:1}.story-stop[data-astro-cid-ggkg3qui]:nth-child(2n) article[data-astro-cid-ggkg3qui]{grid-column:2}.story-date[data-astro-cid-ggkg3qui]{background:var(--color-void);white-space:nowrap;transform-origin:50%;padding:.125rem .5rem;position:absolute;top:-.2rem;left:75%;translate:-50%}.story-stop[data-astro-cid-ggkg3qui]:nth-child(2n) .story-date[data-astro-cid-ggkg3qui]{left:25%}.t-body[data-astro-cid-ggkg3qui]{margin-top:.75rem}.story-achievements[data-astro-cid-ggkg3qui]{margin-top:1.25rem}.team-credit[data-astro-cid-ggkg3qui]{margin-bottom:.5rem}.story-achievements[data-astro-cid-ggkg3qui] ul[data-astro-cid-ggkg3qui]{margin:0;padding:0;list-style:none}.story-achievements[data-astro-cid-ggkg3qui] li[data-astro-cid-ggkg3qui]{align-items:flex-start;gap:.625rem;padding-block:.375rem;font-size:.9375rem;line-height:1.45;display:flex}.story-achievements[data-astro-cid-ggkg3qui] svg[data-astro-cid-ggkg3qui]{fill:none;width:1rem;height:1rem;stroke:var(--color-accent);stroke-width:1.6px;stroke-linejoin:round;flex-shrink:0;margin-top:.15rem}.story-link[data-astro-cid-ggkg3qui]{margin-top:1.25rem;font-size:.9375rem}.story-undated[data-astro-cid-ggkg3qui]{border-top:1px solid var(--color-hairline);text-align:center;max-width:28rem;margin:0 auto;padding-top:1.5rem}html:not(.js) .story-trail[data-astro-cid-ggkg3qui]{display:none}@media (width<=760px){header[data-astro-cid-ggkg3qui]{text-align:left}header[data-astro-cid-ggkg3qui] .hand[data-astro-cid-ggkg3qui]{transform-origin:0}.story-stop[data-astro-cid-ggkg3qui]{padding:0 0 2.75rem 2rem;display:block}.story-date[data-astro-cid-ggkg3qui],.story-stop[data-astro-cid-ggkg3qui]:nth-child(2n) .story-date[data-astro-cid-ggkg3qui]{margin:0 0 .375rem -.5rem;display:inline-block;position:static;translate:none}}.print-rail[data-astro-cid-rz5igiry]{cursor:grab;scrollbar-width:thin;scrollbar-color:var(--color-hairline-strong) transparent;-webkit-user-select:none;user-select:none;padding-bottom:2.5rem;overflow:auto hidden}.print-rail[data-astro-cid-rz5igiry][data-dragging]{cursor:grabbing}.print-rail[data-astro-cid-rz5igiry][data-dragging] a[data-astro-cid-rz5igiry]{pointer-events:none}.print-rail[data-astro-cid-rz5igiry]:focus-visible{outline-offset:-2px}ul[data-astro-cid-rz5igiry]{--edge:max(var(--spacing-gutter), calc((100vw - 1320px) / 2 + var(--spacing-gutter)));width:max-content;padding:2.5rem var(--edge) 1.5rem;align-items:flex-start;gap:clamp(1.25rem,3vw,2.75rem);margin:0;list-style:none;display:flex;position:relative}ul[data-astro-cid-rz5igiry]:before{content:"";background:linear-gradient(90deg,#ffffff30,#ffffff59 12% 88%,#ffffff30);height:1px;position:absolute;inset:1.5rem 0 auto}.print[data-astro-cid-rz5igiry]{transform-origin:50% -1rem;flex:none}.print[data-astro-cid-rz5igiry] a[data-astro-cid-rz5igiry]{transition:translate .7s var(--spring);background:#f4f2ec;padding:.625rem .625rem 0;display:block;position:relative;box-shadow:0 1px #fff,0 28px 50px -22px #000000f2}.print[data-astro-cid-rz5igiry] a[data-astro-cid-rz5igiry]:hover{translate:0 -5px}.print[data-astro-cid-rz5igiry] a[data-astro-cid-rz5igiry]:focus-visible{outline-offset:5px}@media screen{.print[data-astro-cid-rz5igiry][data-awaiting]:not(:focus-within) a[data-astro-cid-rz5igiry]{box-shadow:none;background:0 0}.print[data-astro-cid-rz5igiry][data-awaiting]:not(:focus-within) [data-astro-cid-rz5igiry]:is(img,.print-title){visibility:hidden}}.print-clip[data-astro-cid-rz5igiry]{background:linear-gradient(90deg,#2a2a2f,#55555d 45%,#1d1d21);border-radius:2px;width:.875rem;height:1.75rem;position:absolute;top:-1.375rem;left:50%;translate:-50%;box-shadow:0 1px 2px #000000b3}.print[data-astro-cid-rz5igiry] img[data-astro-cid-rz5igiry]{background:#1a1a1e;width:auto;max-width:none;height:clamp(15rem,50svh,30rem);display:block}.print-title[data-astro-cid-rz5igiry]{font-family:var(--font-hand);color:#172036;white-space:nowrap;padding:.5rem .125rem .625rem;font-size:1.1875rem;line-height:1.2;display:block}@media (pointer:coarse){.print-rail[data-astro-cid-rz5igiry]{scroll-snap-type:x proximity;scroll-padding-inline:var(--spacing-gutter)}.print[data-astro-cid-rz5igiry]{scroll-snap-align:start}}@media (width<=760px){.print[data-astro-cid-rz5igiry] img[data-astro-cid-rz5igiry]{height:min(clamp(14rem, 42svh, 22rem), calc((100vw - 2 * var(--spacing-gutter) - 1.25rem) / var(--ratio)))}}.skip-link{z-index:60;background:var(--color-fg);color:var(--color-void);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:.75rem}.hero{isolation:isolate;grid-template-rows:minmax(0,1fr) auto;min-height:max(100svh,40rem);display:grid;position:relative;overflow:clip}.hero-portrait{right:var(--page-edge);z-index:0;pointer-events:none;width:40vw;max-width:540px;height:min(68svh,48vw);position:absolute;bottom:clamp(5.75rem,17svh,10.5rem)}.hero-portrait img{object-fit:cover;object-position:50% 48%;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.hero-copy{z-index:1;width:100%;max-width:1320px;padding:6rem var(--spacing-gutter) 5rem;align-self:center;margin-inline:auto;position:relative}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(4.5rem,min(11.5vw,20svh),12rem);font-weight:600;line-height:.98}.hero-name{display:inline-block;position:relative}.hero-name .line{z-index:1;padding-right:.05em;position:relative}.hero-underline{z-index:0;width:105%;height:.13em;position:absolute;bottom:-.06em;left:-2%;right:-3%}.hero-underline path{transition-delay:.95s}.hero-lede{letter-spacing:-.016em;max-width:24em;color:var(--color-fg);margin:2rem 0 0;font-size:clamp(1.125rem,1.75vw,1.5rem);line-height:1.32}.hero-lede span{color:var(--color-fg-muted)}.hero-actions{flex-wrap:wrap;gap:.625rem;margin-top:1.75rem;display:flex}@keyframes write-in{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:no-preference){html:not([data-motion=off]) .hero-underline path{animation:1.05s cubic-bezier(.45,.05,.2,1) .8s both write-in}}@media (width<=1100px){.hero-copy{align-self:start;padding-top:10rem}.hero-portrait{width:44vw;height:min(72svh,65vw);transform:translateY(2.75rem)}.hero-actions{max-width:48%}.hero-lede{max-width:15em}}@media (width<=760px){.hero{grid-template-rows:auto auto auto}.hero-portrait{margin-right:var(--page-edge);grid-row:2;place-self:end;width:min(58vw,18rem);height:clamp(11rem,40svh,22rem);position:relative;bottom:auto;right:auto}.hero-copy{padding:5.5rem var(--spacing-gutter) 2rem;grid-row:1;align-self:start}.hero h1{font-size:clamp(4rem,21vw,7rem)}.hero-lede{max-width:19em;margin-top:1.25rem}.hero-actions{max-width:100%;margin-top:1.25rem}.hero-actions .btn{min-height:2.75rem;padding:.55rem 1.05rem;font-size:.875rem}}.chapter{background:var(--color-void);padding-block:clamp(5rem,11vw,9.5rem)}.chapter-inner{max-width:1320px;padding-inline:var(--spacing-gutter);margin-inline:auto}.chapter-lede{max-width:34ch;margin-top:1.5rem}.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);margin-top:clamp(4rem,9vw,8rem);display:grid}.product-wide{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.product-name{color:var(--color-accent);font-size:.9375rem;font-weight:600}.product h3{letter-spacing:-.032em;text-wrap:balance;max-width:22ch;margin:.625rem 0 0;font-size:clamp(1.625rem,2.9vw,2.625rem);font-weight:600;line-height:1.1}.product-body{max-width:46ch;margin-top:1.125rem}.product-note{margin-top:1.25rem}.product-links{flex-wrap:wrap;align-items:center;gap:.875rem 1.5rem;margin-top:1.75rem;font-size:.9375rem;display:flex}.device-stage{transform-style:preserve-3d;justify-content:center;align-items:flex-start;gap:clamp(1rem,2.4vw,1.75rem);display:flex}.device-stage>.drift-fast{margin-top:clamp(2.5rem,5vw,4rem)}.product-window-art{transform-style:preserve-3d}@media (width<=860px){.product,.product-wide{grid-template-columns:minmax(0,1fr)}.product-wide .product-art{order:2}}.observe{background:var(--color-void);position:relative}.observe-stage{padding:clamp(4rem, 9vw, 7rem) var(--page-edge);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:2rem;display:grid;position:relative;overflow:hidden}.observe-light,.observe-canvas{display:none}.observe-copy{z-index:2;position:relative}.observe-copy .hand{margin-bottom:1.25rem}.observe-fallback{mix-blend-mode:lighten;width:100%;height:auto}.observe-status{right:var(--spacing-gutter);margin:0;position:absolute;bottom:1.5rem}.observe-status[hidden],.observe .observe-note{display:none}.observe-print{z-index:2;pointer-events:none;transform-origin:0 0;will-change:transform;width:max-content;position:fixed;top:0;left:0}.observe-print[hidden]{display:none}.observe-print>*{display:block}.observe-print-mat{opacity:0;background:#f4f2ec;position:absolute;inset:0;box-shadow:0 1px #fff,0 28px 50px -22px #000000f2}@media (prefers-reduced-motion:no-preference){html.js:not([data-motion=off]) .observe:not([data-static]){height:280svh}html.js:not([data-motion=off]) .observe[data-state=ready]:not([data-static]) .observe-note{z-index:2;opacity:0;visibility:hidden;pointer-events:none;align-items:flex-end;gap:.25rem;margin:0;display:flex;position:absolute}html.js:not([data-motion=off]) .observe:not([data-static]) .observe-stage{touch-action:pan-y;align-items:center;height:100svh;padding-block:0;display:flex;position:sticky;top:0}html.js:not([data-motion=off]) .observe:not([data-static]) .observe-stage[tabindex]{cursor:grab}html.js:not([data-motion=off]) .observe:not([data-static]) .observe-stage[data-grabbed]{cursor:grabbing}html.js:not([data-motion=off]) .observe:not([data-static]) .observe-light{pointer-events:none;translate:calc(var(--turn,0) * -16%) 0;background:radial-gradient(46% 56% at 66%,#ffffff1a,#0000 72%);display:block;position:absolute;inset:0}html.js:not([data-motion=off]) .observe:not([data-static]) .observe-canvas{opacity:0;width:100%;height:100%;transition:opacity .9s;display:block;position:absolute;inset:0}html.js:not([data-motion=off]) .observe[data-state=ready]:not([data-static]) .observe-canvas{opacity:1}html.js:not([data-motion=off]) .observe[data-state=ready]:not([data-static]) .observe-fallback{display:none}html.js:not([data-motion=off]) .observe:not([data-static]) .observe-copy{max-width:min(32rem,44%)}html.js:not([data-motion=off]) .observe:not([data-state=ready]):not([data-static]) .observe-fallback{right:var(--page-edge);pointer-events:none;width:42%;position:absolute}}.observe-stage:focus-visible{outline-offset:-6px}@media (width<=760px){html.js:not([data-motion=off]) .observe:not([data-static]) .observe-light{background:radial-gradient(80% 36% at 50% 65%,#ffffff1a,#0000 72%);translate:none}.observe-stage{grid-template-columns:minmax(0,1fr)}html.js:not([data-motion=off]) .observe:not([data-static]) .observe-stage{align-items:flex-start;padding-top:5.5rem}html.js:not([data-motion=off]) .observe:not([data-static]) .observe-copy{max-width:100%}html.js:not([data-motion=off]) .observe:not([data-state=ready]):not([data-static]) .observe-fallback{width:80%;bottom:15%}}.frames{background:var(--color-void);padding-block:clamp(5rem,10vw,8.5rem) clamp(3rem,6vw,5rem);position:relative}@media print{.frames-head{opacity:1!important}.observe-print{display:none}}@media (prefers-reduced-motion:no-preference){html.js:not([data-motion=off]) .observe:not([data-static])+.frames{z-index:1;margin-top:-100svh}html.js:not([data-motion=off]) .observe[data-state=ready]:not([data-static])+.frames{background:0 0}}.frames-head{max-width:1320px;padding-inline:var(--spacing-gutter);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin:0 auto clamp(2rem,4vw,3rem);display:flex}.frames-foot{max-width:1320px;padding-inline:var(--spacing-gutter);margin:1.25rem auto 0}.resume-index{max-width:1320px;padding:clamp(3rem, 6vw, 5rem) var(--spacing-gutter) clamp(5rem, 10vw, 8.5rem);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2.5rem,7vw,6.5rem);margin-inline:auto;display:grid}.resume-index .hand{margin-bottom:1.25rem}.resume-actions{margin-top:1.75rem}.resume-contact{margin-top:1.75rem;scroll-margin-top:6rem;font-size:1.0625rem;font-style:normal}.resume-contact>div{flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.75rem;font-size:.9375rem;display:flex}.index-details h3{color:var(--color-fg-muted);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.index-details h3:not(:first-child){margin-top:2.75rem}.award-row{border-top:1px solid var(--color-hairline);align-items:baseline;gap:.75rem;padding-block:.75rem;font-size:.9375rem;line-height:1.4;display:flex}.award-row>span:first-child{transition:color .2s}a.award-row:hover>span:first-child{color:var(--color-accent)}.award-row>i{border-bottom:1px dotted var(--color-hairline-strong);flex:1;min-width:1rem;translate:0 -.25em}.award-row>b{color:var(--color-fg-dim);flex-shrink:0;font-size:.8125rem;font-weight:400}@media (width<=760px){.resume-index{grid-template-columns:minmax(0,1fr)}}.closing{max-width:1320px;padding:clamp(5rem, 11vw, 9.5rem) var(--spacing-gutter);margin-inline:auto}.closing-email{letter-spacing:-.025em;overflow-wrap:anywhere;margin-top:2rem;font-size:clamp(1.25rem,2.6vw,2.25rem);font-weight:500;display:inline-block}
