:root{--brand-dark-background:#080b10;--brand-elevated-surface:#11151d;--brand-action:#61abea;--brand-light-surface-elevated:#6eb2ec;--brand-primary-text:#f7faff;--brand-muted-text:#abb2be;--color-background:var(--brand-action);--color-surface:var(--brand-action);--color-surface-elevated:var(--brand-light-surface-elevated);--color-text:#fff;--color-text-muted:#ffffffc7;--color-action:#fff;--color-action-ink:var(--brand-action);--color-border:#ffffff3d;--color-border-strong:#ffffff7a;--color-focus:#fff;--color-accent-soft:#ffffff24;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4rem;--space-8:6rem;--radius-control:.5rem;--radius-surface:.5rem;--measure-reading:65ch;--type-hero:clamp(2.4rem, 6vw, 4rem);--type-h1:clamp(2rem, 4vw, 2.9rem);--type-h2:clamp(1.5rem, 3vw, 2rem);--type-h3:1.25rem;--type-body:clamp(1rem, .5vw + .9rem, 1.0625rem);--type-small:.875rem;--type-mono:.85rem;--line-height-body:1.6;--line-height-tight:1.2;--brand-dark-blue:var(--brand-dark-background);--brand-blue:var(--brand-action);--brand-white:var(--brand-primary-text);--bg:var(--color-background);--surface:var(--color-surface-elevated);--ink:var(--color-text);--ink-muted:var(--color-text-muted);--interactive:var(--color-action);--interactive-ink:var(--color-action-ink);--focus:var(--color-focus);--accent:var(--color-action);--accent-soft:var(--color-accent-soft);--border:var(--color-border);--border-strong:var(--color-border-strong);--brand-display:var(--color-text);--s-1:var(--space-1);--s-2:var(--space-2);--s-3:var(--space-3);--s-4:var(--space-4);--s-5:var(--space-5);--s-6:var(--space-6);--s-7:var(--space-7);--s-8:var(--space-8);--measure:var(--measure-reading);--p-hero:var(--type-hero);--p-h1:var(--type-h1);--p-h2:var(--type-h2);--p-h3:var(--type-h3);--p-body:var(--type-body);--p-small:var(--type-small);--p-mono:var(--type-mono);--lh-body:var(--line-height-body);--lh-tight:var(--line-height-tight)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:var(--brand-dark-background);--color-surface:var(--brand-elevated-surface);--color-surface-elevated:var(--brand-elevated-surface);--color-text:var(--brand-primary-text);--color-text-muted:var(--brand-muted-text);--color-action:var(--brand-action);--color-action-ink:#07111a;--color-border:color-mix(in srgb, var(--brand-muted-text) 22%, transparent);--color-border-strong:color-mix(in srgb, var(--brand-muted-text) 42%, transparent);--color-accent-soft:color-mix(in srgb, var(--brand-action) 18%, transparent);--brand-display:var(--brand-primary-text)}@font-face{font-family:AP Structural;src:url(/_astro/APStructuralDisplayBlack-v0.2.0-candidate.1.7MSOO9KG.woff2)format("woff2");font-style:normal;font-weight:900;font-display:swap}@font-face{font-family:AP Structural Fallback;src:local(Arial Black),local(Arial-Black);font-style:normal;font-weight:900;size-adjust:83.8%;ascent-override:113.37%;descent-override:29.83%;line-gap-override:0%}@font-face{font-family:AP Structural Fallback Neue;src:local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-style:normal;font-weight:900;size-adjust:97.55%;ascent-override:97.39%;descent-override:25.63%;line-gap-override:0%}:root{--font-interface:"Instrument Sans Variable", "Instrument Sans", -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--font-display:"AP Structural", "AP Structural Fallback", "AP Structural Fallback Neue", "Urbanist", var(--font-interface);--font-code:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans:var(--font-interface);--display:var(--font-display);--code:var(--font-code);--mono:var(--font-code)}.brand-display{font-family:var(--font-display);font-synthesis:none;font-style:normal;font-weight:900}:root{--motion-fast:.16s;--motion-standard:.24s;--motion-ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-reduced-motion:reduce){:root{--motion-fast:.01ms;--motion-standard:.01ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--d-hero:clamp(3rem, 12vw, 7rem);--d-hero-compact:clamp(3rem, 10vw, 6rem);--d-hero-detail:clamp(2.6rem, 6.6vw, 4.2rem);--d-lede:clamp(1.08rem, 2.2vw, 1.42rem);--radius-desktop-ui-media:.35rem;--paper-radius:.75rem;--paper-surface:#fff;--paper-surface-hover:#f7faff;--paper-ink:#0b1220;--paper-muted:#53627a;--paper-accent:#1247e6;--paper-shadow:0 .9rem 2.25rem #0e376e1a;--astro-code-foreground:var(--ink);--astro-code-background:var(--surface);--astro-code-token-constant:var(--ink);--astro-code-token-string:var(--ink-muted);--astro-code-token-comment:var(--ink-muted);--astro-code-token-keyword:var(--ink-muted);--astro-code-token-parameter:var(--ink);--astro-code-token-function:var(--interactive);--astro-code-token-string-expression:var(--ink-muted);--astro-code-token-punctuation:var(--ink-muted);--astro-code-token-link:var(--interactive)}*{box-sizing:border-box;scrollbar-width:none;scrollbar-gutter:auto}::-webkit-scrollbar{width:0;height:0;display:none}html,body{background-color:var(--bg);transition:none}html{background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overflow-x:clip}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper-surface:#11151d;--paper-surface-hover:#151b26;--paper-ink:#f7faff;--paper-muted:#abb2be;--paper-accent:#61abea;--paper-shadow:0 1rem 2.5rem #0000003d}body{min-height:100vh;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--p-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;margin:0;display:flex;position:relative;overflow-x:clip}body>:where(header,main,footer){z-index:1;position:relative}::selection{background:var(--ink);color:var(--interactive-ink)}a{color:inherit}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{font-family:var(--display);letter-spacing:0;font-synthesis:none;margin:0;font-weight:900;line-height:.95}h1{color:var(--brand-display)}@media (prefers-reduced-motion:no-preference){[data-rise]{opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) forwards rise;transform:translateY(14px)}[data-rise]:first-child{animation-delay:60ms}[data-rise]:nth-child(2){animation-delay:.16s}[data-rise]:nth-child(3){animation-delay:.26s}[data-rise]:nth-child(4){animation-delay:.36s}[data-rise]:nth-child(5){animation-delay:.46s}[data-rise]:nth-child(n+6){animation-delay:.54s}@keyframes rise{to{opacity:1;transform:none}}}.frame{width:100%;min-width:0;max-width:64rem;margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2.5rem)}.page{padding-block:var(--s-6) var(--s-8);gap:var(--s-8);flex-direction:column;flex:1 0 auto;display:flex}.page--listing{gap:clamp(2rem,5vw,3rem)}@media (width<880px){.page{padding-bottom:3rem}}.page--listing .page-hero__summary,.page--listing .page-intro{font-size:var(--d-lede);color:var(--ink-muted);text-wrap:pretty;max-width:none;margin:0;line-height:1.52}.section-label{font-family:var(--sans);font-size:.75rem;font-weight:600;line-height:var(--lh-tight);letter-spacing:0;text-transform:uppercase;color:var(--ink-muted)}h2.section-label{color:var(--ink)}.hero-title{font-size:var(--p-hero);letter-spacing:0;font-weight:900}.hero-summary{font-size:var(--p-body);color:var(--ink-muted);max-width:none;margin:0}.muted{color:var(--ink-muted)}.mono{font-family:var(--sans);font-weight:600;font-size:var(--p-mono)}.accent-link{color:var(--interactive);text-decoration:none}@media (hover:hover) and (pointer:fine){.accent-link:hover{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:.06em}}.quiet-link{color:var(--ink-muted);text-decoration:none;transition:color .2s}.quiet-link:focus-visible{color:var(--interactive)}@media (hover:hover) and (pointer:fine){.quiet-link:hover{color:var(--interactive)}}.row-link{padding:var(--s-3);margin-inline:calc(-1 * var(--s-3));border-radius:.5rem;text-decoration:none;transition:background .2s;display:block}@media (hover:hover) and (pointer:fine){.row-link:hover{background:var(--surface)}.row-link:hover .row-title{color:var(--ink)}}.row-title{font-family:var(--display);font-size:var(--p-h3);letter-spacing:0;font-synthesis:none;font-weight:900;line-height:1;transition:color .2s}.card{background:var(--paper-surface);color:var(--paper-ink);border-radius:var(--paper-radius);padding:var(--s-5);box-shadow:var(--paper-shadow)}:is(.work-card,.writing-card,.experience-feature,.coding-agent-card):focus-visible{outline:2px solid var(--paper-accent);outline-offset:4px}@media (width<880px),(pointer:coarse){.writing-card:active{background:var(--paper-surface-hover)}}a,button,summary{-webkit-tap-highlight-color:transparent}.pill{background:var(--surface);color:var(--ink);font-family:var(--sans);border-radius:99px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.stat-table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:var(--p-mono);font-variant-numeric:tabular-nums}.stat-table th{color:var(--ink-muted);text-transform:uppercase;letter-spacing:0;text-align:left;padding:var(--s-2) var(--s-3);font-size:.7rem;font-weight:400}.stat-table td{padding:var(--s-2) var(--s-3)}.stat-table th.num,.stat-table td.num{text-align:right}.stat-table tbody tr:nth-child(2n){background:var(--surface)}.field{font-family:var(--sans);font-size:var(--p-small);color:var(--ink);background:var(--surface);padding:var(--s-3);border:0;border-radius:.5rem;width:100%}.field:focus{box-shadow:0 0 0 2px var(--focus);outline:none}.field::placeholder{color:var(--ink-muted)}.fill{font-family:var(--sans);font-weight:500;font-size:var(--p-small);background:var(--interactive);color:var(--interactive-ink);min-height:44px;padding:0 var(--s-5);cursor:pointer;border:0;border-radius:.5rem}button.fill:disabled{opacity:.55;cursor:default}.chip{font-family:var(--sans);color:var(--ink-muted);background:var(--surface);cursor:pointer;border:0;border-radius:99px;min-height:36px;padding:.45rem .9rem;font-size:.75rem;font-weight:600}.chip[aria-pressed=true]{background:var(--interactive);color:var(--interactive-ink)}@media (width<=720px){.mobile-carousel{gap:var(--s-3);overscroll-behavior-inline:contain;scroll-padding-inline:var(--s-3);scroll-snap-type:inline mandatory;margin-inline:calc(-1 * var(--s-3));padding-inline:var(--s-3);padding-bottom:var(--s-2);-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-auto-columns:minmax(17rem,84vw);grid-auto-flow:column;display:grid;overflow-x:auto;grid-template-columns:none!important}.mobile-carousel::-webkit-scrollbar{display:none}.mobile-carousel>*{scroll-snap-align:start;min-width:0}}.article-body{max-width:var(--measure)}.article-body>p:first-of-type{font-size:calc(var(--p-body) * 1.1)}.article-body p{margin:0 0 var(--s-4)}.article-body h2{font-size:var(--p-h2);margin:var(--s-7) 0 var(--s-3);font-weight:900}.article-body h3{font-size:var(--p-h3);margin:var(--s-6) 0 var(--s-2);font-weight:900}.article-body a{color:var(--interactive);text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:.06em}.article-body ul,.article-body ol{margin:0 0 var(--s-4);padding-left:1.25rem}.article-body li{margin-bottom:var(--s-2)}.article-body li::marker{color:var(--ink-muted)}.article-body blockquote{margin:0 0 var(--s-4);padding-left:var(--s-4);color:var(--ink-muted);font-style:italic}.article-body img{max-width:100%;margin-block:var(--s-5);border-radius:.5rem}.article-body pre{padding:var(--s-4);font-family:var(--mono);font-size:var(--p-mono);margin:0 0 var(--s-4);border-radius:.5rem;overflow-x:auto;background:var(--surface)!important}.article-body code{font-family:var(--mono);font-size:.92em}.article-body :not(pre)>code{background:var(--surface);border-radius:.3rem;padding:.1em .35em}.article-body table{border-collapse:collapse;font-size:var(--p-small);margin:0 0 var(--s-4);display:block;overflow-x:auto}.article-body th{color:var(--ink-muted);text-transform:uppercase;letter-spacing:0;text-align:left;padding:var(--s-2) var(--s-3);font-weight:500}.article-body td{padding:var(--s-2) var(--s-3)}.article-body tbody tr:nth-child(2n){background:var(--surface)}html.editorial-detail .nav{z-index:20;margin-bottom:0}html.editorial-detail .page{padding-top:clamp(1rem,2vw,2rem)}html.editorial-detail:not(.writing-detail),html.editorial-detail[data-theme=dark]{--brand-primary-text:#0e2034;--brand-display:var(--ink);--focus:#1247e6;--border:color-mix(in srgb, var(--ink) 16%, transparent);--border-strong:color-mix(in srgb, var(--ink) 32%, transparent);--accent:var(--interactive);--accent-soft:color-mix(in srgb, var(--interactive) 12%, transparent);--interactive-ink:#fff;--bg:#f7faff;--ink:#0e2034;--ink-muted:#34465b;--paper-surface:#f7faff;--paper-ink:#0e2034;--paper-muted:#34465b;--surface:#e8eff8;--interactive:#1247e6}html.editorial-detail[data-theme=dark]{--brand-primary-text:#eff4fc;--brand-display:var(--ink);--focus:#8cc8f5;--interactive-ink:#080b10;--bg:#080b10;--ink:#eff4fc;--ink-muted:#b8c5d8;--paper-surface:#151b26;--paper-ink:#eff4fc;--paper-muted:#b8c5d8;--surface:#151b26;--interactive:#8cc8f5}html.editorial-detail{--detail-canvas:#cddaf9}html.editorial-detail.writing-detail{--detail-canvas:#58a0e4}html.editorial-detail[data-theme=dark]{--detail-canvas:#1a3556}html.editorial-detail.writing-detail[data-theme=dark]{--detail-canvas:#1c3b60}html.editorial-detail,html.editorial-detail body{background-color:var(--detail-canvas)}html.editorial-detail body{background-image:linear-gradient(var(--bg), var(--bg))}.editorial-detail .article-body{overflow-wrap:anywhere;width:100%;max-width:65ch;font-size:clamp(1.06rem,1.8vw,1.25rem);line-height:1.8}.editorial-detail .article-body>p:first-of-type{font-size:inherit}.editorial-detail .article-body p{margin-bottom:1.65em}.editorial-detail .article-body h2{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.2}.editorial-detail .article-body h3{font-size:clamp(1.3rem,2.5vw,1.7rem);line-height:1.3}.editorial-detail .article-body :is(video,iframe){border:0;border-radius:.75rem;width:100%;max-width:100%;display:block}.editorial-detail .article-body iframe{aspect-ratio:16/9}.editorial-detail .article-body figure{margin:2.5rem 0}.editorial-detail .article-body figure img{width:100%;height:auto;margin:0;display:block}.editorial-detail .article-body figcaption{color:var(--ink-muted);margin-top:.75rem;font-size:.85rem;line-height:1.6}.editorial-detail .article-body blockquote{border-left:2px solid var(--interactive);font-style:normal}::view-transition{display:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}html[data-navigation-settled] [data-rise]{opacity:1;transform:none;animation:none!important}.writing-card{-webkit-tap-highlight-color:transparent}.writing-card:active{box-shadow:var(--paper-shadow)}.writing-transition-surface{z-index:200;pointer-events:none;contain:strict;will-change:clip-path;position:fixed;inset:0;overflow:hidden}.writing-transition-fill{will-change:opacity;position:absolute;inset:0}.writing-transition-waves{transform-origin:0 0;will-change:transform, opacity;position:absolute;overflow:hidden}.writing-transition-word{z-index:300;pointer-events:none;font-synthesis:none;transform-origin:0 0;will-change:transform, opacity;margin:0;position:fixed}.writing-transition-slide{z-index:0;pointer-events:none;will-change:transform;position:fixed}.writing-transition-icon{z-index:300;pointer-events:none;will-change:opacity;position:fixed}a.writing-card[data-writing-pending] .affordance{color:var(--flow-3)}html[data-theme=dark] a.writing-card[data-writing-pending] .affordance{color:var(--flow-1)}[data-writing-article]>header h1[data-pointer-focus]:focus,a.writing-card[data-pointer-focus]:focus-visible{outline:none}a.writing-card[data-pointer-focus]:focus-visible:not(:hover) .affordance{color:var(--paper-muted)}html.writing-detail:not([data-theme=dark]){--brand-primary-text:#0a1a2c;--brand-display:#0a1a2c;--ink:#0a1a2c;--ink-muted:#142c46;--interactive:#0a1a2c;--interactive-ink:#61abea;--focus:#0a1a2c;--surface:#58a2e2;--border:#0a1a2c38;--border-strong:#0a1a2c70;--accent-soft:#0a1a2c14;--reading-paper:#f7faff}html.writing-detail:not([data-theme=dark]) :is(.article-body,.article-end,body>.foot){--ink:#0e2034;--ink-muted:#3a4b61;--interactive:#1247e6;--interactive-ink:#fff;--focus:#1247e6;--surface:#e8eff8;--border:#0e203429;--border-strong:#0e203452;--accent-soft:#1247e61a;--brand-display:#0e2034;color:var(--ink);background-color:var(--reading-paper)}html.writing-detail:not([data-theme=dark]) .topics .pill{border-color:#7c8898}html.writing-detail:not([data-theme=dark]) .article-body{border-image:radial-gradient(70vw 60vh at 100vw 70vh, #fcfdff, var(--reading-paper)) fill 0 / 0 / 0 100vw 400vh 100vw;margin-top:clamp(1.5rem,4vw,3rem);padding-top:clamp(1.5rem,4vw,3rem);position:relative}html.writing-detail:not([data-theme=dark]) .article-body[data-rise]{opacity:1;animation:none;transform:none}@media (prefers-reduced-motion:no-preference){html.writing-detail:not([data-theme=dark]) .article-body[data-rise]>*{opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) .16s forwards rise;transform:translateY(14px)}}html[data-navigation-settled].writing-detail .article-body[data-rise]>*{opacity:1;transform:none;animation:none!important}html.writing-detail:not([data-theme=dark]) .article{container-type:inline-size}html.writing-detail:not([data-theme=dark]) .article>.article-body:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23f7faff' d='M0 120V70C150 34 300 18 470 34S780 96 990 88 1300 26 1440 44V120Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;width:100vw;height:clamp(2rem,5vw,4.25rem);position:absolute;bottom:calc(100% - 1px);left:calc(50cqi - 50vw)}html.writing-detail:not([data-theme=dark]) .article-end{position:relative}html.writing-detail:not([data-theme=dark]) .article-body :not(pre)>code{color:#0e2034}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.brand-mark[data-astro-cid-ylfxk3bk]{width:100%;height:100%;color:var(--brand-primary-text,currentColor);display:block;overflow:visible}.brand-mark__half[data-astro-cid-ylfxk3bk]{fill:currentColor;transform-box:fill-box;transform-origin:50%;transition:transform .16s cubic-bezier(.2,.75,.25,1)}.wordmark:focus-visible .brand-mark__half--right[data-astro-cid-ylfxk3bk]{transform:translate(18%)}@media (hover:hover) and (pointer:fine){.wordmark:hover .brand-mark__half--right[data-astro-cid-ylfxk3bk],.wordmark[data-hover-continuity] .brand-mark__half--right[data-astro-cid-ylfxk3bk]{transform:translate(18%)}}.wordmark[data-hover-restored] .brand-mark__half[data-astro-cid-ylfxk3bk]{transition:none}@media (prefers-reduced-motion:reduce){.brand-mark__half[data-astro-cid-ylfxk3bk]{transition:none}.wordmark:focus-visible .brand-mark__half[data-astro-cid-ylfxk3bk],.wordmark[data-hover-continuity] .brand-mark__half[data-astro-cid-ylfxk3bk],.wordmark:hover .brand-mark__half[data-astro-cid-ylfxk3bk]{transform:none}}.nav[data-astro-cid-wpvy4v7s]{align-items:center;gap:var(--s-5);padding-block:var(--s-4);padding-top:calc(var(--s-4) + env(safe-area-inset-top,0px));margin-bottom:var(--s-6);display:flex}.wordmark[data-astro-cid-wpvy4v7s]{align-items:center;width:4rem;height:4rem;min-height:44px;margin-right:auto;text-decoration:none;display:inline-flex}.primary-nav[data-astro-cid-wpvy4v7s]{display:flex}.nav-links[data-astro-cid-wpvy4v7s]{column-gap:var(--s-4);flex-wrap:wrap;display:flex}.nav-link[data-astro-cid-wpvy4v7s]{font-size:var(--p-small);color:var(--ink-muted);align-items:center;min-height:44px;text-decoration:none;transition:color .2s;display:inline-flex}.nav-link[data-astro-cid-wpvy4v7s][aria-current=page]{color:var(--interactive)}@media (hover:hover) and (pointer:fine){.nav-link[data-astro-cid-wpvy4v7s]:hover{color:var(--interactive)}}.theme-toggle[data-astro-cid-wpvy4v7s]{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15rem;transition:color .2s;display:inline-flex}.theme-toggle[data-astro-cid-wpvy4v7s]:focus-visible{color:var(--interactive)}@media (hover:hover) and (pointer:fine){.theme-toggle[data-astro-cid-wpvy4v7s]:hover{color:var(--interactive)}}.nav-toggle[data-astro-cid-wpvy4v7s]{width:44px;height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.36rem;display:none}.nav-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]{background:currentColor;width:1.25rem;height:1px;transition:transform .18s cubic-bezier(.2,.7,.2,1),color .18s;display:block}@media (hover:hover) and (pointer:fine){.nav-toggle[data-astro-cid-wpvy4v7s]:hover{color:var(--interactive)}}[data-astro-cid-wpvy4v7s]:is(.wordmark,.theme-toggle,.nav-toggle,.nav-link):focus-visible{outline:2px solid var(--interactive);outline-offset:4px;border-radius:.5rem}@media (width<=720px){.nav[data-astro-cid-wpvy4v7s]{z-index:20;column-gap:var(--s-2);padding-block:.5rem;padding-top:calc(.5rem + env(safe-area-inset-top,0px));margin-bottom:var(--s-5);background:0 0;grid-template-columns:1fr 44px 44px;row-gap:0;display:grid;position:relative}.wordmark[data-astro-cid-wpvy4v7s]{width:3.25rem;height:3.25rem}.theme-toggle[data-astro-cid-wpvy4v7s]{border-radius:.5rem;margin-left:0}[data-astro-cid-wpvy4v7s]:is(.theme-toggle,.nav-toggle):active{color:var(--ink);background:color-mix(in srgb, var(--ink) 10%, transparent)}.nav-toggle[data-astro-cid-wpvy4v7s]{display:inline-flex}.primary-nav[data-astro-cid-wpvy4v7s]{opacity:0;visibility:hidden;grid-area:2/1/auto/-1;grid-template-rows:0fr;width:100%;transition:grid-template-rows .22s cubic-bezier(.2,.7,.2,1),opacity .16s,transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s linear .22s;display:grid;transform:translateY(-.35rem)}.primary-nav[data-astro-cid-wpvy4v7s][data-open=true]{opacity:1;visibility:visible;grid-template-rows:1fr;transition-delay:0s;transform:none}.nav-links[data-astro-cid-wpvy4v7s]{grid-template-columns:1fr;gap:0;min-height:0;display:grid;overflow:hidden}.primary-nav[data-astro-cid-wpvy4v7s][data-open=true] .nav-links[data-astro-cid-wpvy4v7s]{padding-top:var(--s-2)}.nav-link[data-astro-cid-wpvy4v7s]{min-height:52px;padding-inline:var(--s-3);border-radius:.5rem}.nav-link[data-astro-cid-wpvy4v7s][aria-current=page],.nav-link[data-astro-cid-wpvy4v7s]:active{background:color-mix(in srgb, var(--ink) 7%, transparent)}.primary-nav[data-astro-cid-wpvy4v7s][data-open=true] .nav-links[data-astro-cid-wpvy4v7s]{padding-block:var(--s-2)}.nav-toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] span[data-astro-cid-wpvy4v7s]:first-child{transform:translateY(.215rem)rotate(45deg)}.nav-toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] span[data-astro-cid-wpvy4v7s]:last-child{transform:translateY(-.215rem)rotate(-45deg)}}@media (prefers-reduced-motion:reduce){.primary-nav[data-astro-cid-wpvy4v7s],.nav-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]{transition:none}}.foot[data-astro-cid-jo6i4kqk]{padding-block:var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom,0px));align-items:center;gap:var(--s-5);font-size:var(--p-small);grid-template-columns:minmax(0,1fr) auto;margin-top:0;display:grid;position:relative}.glyphs[data-astro-cid-jo6i4kqk]{justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap;display:flex}.contact-copy[data-astro-cid-jo6i4kqk]{justify-items:start;min-width:0;display:grid}.contact-copy[data-astro-cid-jo6i4kqk]>span[data-astro-cid-jo6i4kqk]{color:var(--ink-muted);font-size:var(--p-small)}.contact-email[data-astro-cid-jo6i4kqk]{max-width:100%;min-height:44px;color:var(--ink);overflow-wrap:anywhere;align-items:center;font-size:1.05rem;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.contact-email[data-astro-cid-jo6i4kqk]:hover{color:var(--interactive);text-underline-offset:.2em;text-decoration:underline}}.glyph[data-astro-cid-jo6i4kqk]{color:var(--ink-muted);border-radius:.5rem;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;transition:color .2s;display:inline-flex}.glyph[data-astro-cid-jo6i4kqk]:focus-visible{color:var(--interactive);background:color-mix(in srgb, var(--ink) 7%, transparent)}@media (hover:hover) and (pointer:fine){.glyph[data-astro-cid-jo6i4kqk]:hover{color:var(--interactive);background:color-mix(in srgb, var(--ink) 7%, transparent)}}[data-astro-cid-jo6i4kqk]:is(.glyph,.contact-email):focus-visible{outline:2px solid var(--interactive);outline-offset:4px;border-radius:.5rem}.admin-glyph[data-astro-cid-jo6i4kqk]{font-size:.95rem}@media (width<=720px){.rss-glyph[data-astro-cid-jo6i4kqk]{display:none}.foot[data-astro-cid-jo6i4kqk]{align-items:start;gap:var(--s-3);grid-template-columns:minmax(0,1fr)}.glyphs[data-astro-cid-jo6i4kqk]{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.glyph[data-astro-cid-jo6i4kqk]{transition:none}}.page-current[data-astro-cid-uj22qpkn]{z-index:0;pointer-events:none;opacity:.14;position:absolute;inset:0;overflow:hidden}.page-current[data-astro-cid-uj22qpkn] svg[data-astro-cid-uj22qpkn]{width:100%;height:100%;display:block}.current--one[data-astro-cid-uj22qpkn]{fill:#2259bf}.current--two[data-astro-cid-uj22qpkn]{fill:#3d80d4}.current--three[data-astro-cid-uj22qpkn]{fill:#b0d8f5}html[data-theme=dark] .page-current[data-astro-cid-uj22qpkn]{opacity:.12}html[data-theme=dark] .current--one[data-astro-cid-uj22qpkn]{fill:#315787}html[data-theme=dark] .current--two[data-astro-cid-uj22qpkn]{fill:#284677}html[data-theme=dark] .current--three[data-astro-cid-uj22qpkn]{fill:#426f97}.inline-copy{overflow-wrap:anywhere}.inline-copy a{color:inherit;text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:.06em}.inline-copy a:focus-visible{color:var(--interactive)}@media (hover:hover) and (pointer:fine){.inline-copy a:hover{color:var(--interactive)}}.inline-copy .inline-image-run{white-space:nowrap}.inline-copy strong{font-weight:700}.inline-copy u{text-underline-offset:.2em}.inline-copy .inline-image{object-fit:contain;vertical-align:-.08em;border-radius:.16em;width:.94em;height:.94em;margin:0 .15em 0 0;display:inline-block}.inline-copy .inline-image-wide{border-radius:0;width:1.24em}.inline-copy .inline-image-mark{border-radius:0;width:1.08em;height:1.08em}.inline-copy .inline-image-white{filter:brightness(0)invert()}
