.nav[data-astro-cid-wpvy4v7s]{z-index:10;pointer-events:none;background:0 0;position:fixed;top:0;left:0;right:0}.nav-spacer[data-astro-cid-wpvy4v7s]{min-height:10rem}.nav-inner[data-astro-cid-wpvy4v7s]{justify-content:space-between;align-items:flex-start;max-width:none;margin:0;padding:0 clamp(2rem,5vw,5rem) 0 0;display:flex}.wordmark[data-astro-cid-wpvy4v7s]{font-family:var(--font-mono);color:var(--color-link);pointer-events:auto;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:500;text-decoration:none}.nav-menu[data-astro-cid-wpvy4v7s] ul[data-astro-cid-wpvy4v7s]{flex-direction:column;align-items:flex-end;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-menu[data-astro-cid-wpvy4v7s],.nav-toggle[data-astro-cid-wpvy4v7s]{pointer-events:auto}.nav-menu[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{font-size:clamp(1.1rem,1.5vw,1.35rem);text-decoration:underline}.nav-link[data-astro-cid-wpvy4v7s]{color:var(--color-link)}.nav-toggle[data-astro-cid-wpvy4v7s]{border:1px solid var(--color-link);cursor:pointer;background:0 0;padding:.4rem .6rem;display:none}.nav-toggle-icon[data-astro-cid-wpvy4v7s],.nav-toggle-icon[data-astro-cid-wpvy4v7s]:before,.nav-toggle-icon[data-astro-cid-wpvy4v7s]:after{background:var(--color-link);width:1.1rem;height:2px;display:block;position:relative}.nav-toggle-icon[data-astro-cid-wpvy4v7s]:before,.nav-toggle-icon[data-astro-cid-wpvy4v7s]:after{content:"";position:absolute;left:0}.nav-toggle-icon[data-astro-cid-wpvy4v7s]:before{top:-5px}.nav-toggle-icon[data-astro-cid-wpvy4v7s]:after{top:5px}@media (width<=640px){.nav-inner[data-astro-cid-wpvy4v7s]{padding-right:var(--space-2)}.nav-spacer[data-astro-cid-wpvy4v7s]{min-height:2.5rem}.nav-toggle[data-astro-cid-wpvy4v7s]{display:block}.nav-menu[data-astro-cid-wpvy4v7s]{background:var(--color-bg);border-bottom:1px solid var(--color-border);display:none;position:absolute;top:100%;left:0;right:0}.nav-menu[data-astro-cid-wpvy4v7s].is-open{display:block}.nav-menu[data-astro-cid-wpvy4v7s] ul[data-astro-cid-wpvy4v7s]{flex-direction:column;gap:0}.nav-menu[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s]{border-top:1px solid var(--color-border)}.nav-menu[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{padding:var(--space-2) var(--space-3);display:block}}:root{--font-sans:"Times New Roman", Times, serif;--font-mono:"Times New Roman", Times, serif;--color-bg:#fff;--color-bg-raised:#efece4;--color-text:#17160f;--color-text-muted:#5c584c;--color-border:#d8d3c6;--color-accent:#00e;--color-link:#00e;--measure:68ch;--page-max:840px;--portfolio-max:1200px;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6}::selection{background:var(--color-accent);color:var(--color-bg)}img,picture,svg{max-width:100%;display:block}a{color:var(--color-link)}h1,h2,h3,h4{font-family:var(--font-sans);letter-spacing:-.01em;margin:0 0 var(--space-2);font-weight:600;line-height:1.15}h1{font-size:clamp(2.1rem,4vw + 1rem,3.2rem)}h2{font-size:clamp(1.5rem,2vw + 1rem,2rem)}h3{font-size:1.25rem}p{margin:0 0 var(--space-2);max-width:var(--measure)}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:.8rem}.bracket-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem}.bracket-label:before{content:"["}.bracket-label:after{content:"]"}.path-tag{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.8rem}.dotted-rule{margin:var(--space-4) 0;border:none;border-top:1px dotted var(--color-border)}.page{max-width:var(--page-max);padding:0 var(--space-3);margin:0 auto}section{padding:var(--space-6) 0;border-bottom:1px dotted var(--color-border)}section:last-of-type{border-bottom:none}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.section-heading h2:before{content:"[ ";color:var(--color-text-muted);font-family:var(--font-mono);font-weight:400}.section-heading h2:after{content:" ]";color:var(--color-text-muted);font-family:var(--font-mono);font-weight:400}.link{color:var(--color-link);text-underline-offset:3px;text-decoration-line:underline;text-decoration-color:currentColor;transition:opacity .1s}.link:hover,.link:focus-visible{opacity:.7}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.skip-link{left:var(--space-2);background:var(--color-bg);color:var(--color-link);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);z-index:100;transition:top .15s;position:absolute;top:-3rem}.skip-link:focus{top:var(--space-2)}.btn{font-family:var(--font-sans);border:1px solid var(--color-link);color:var(--color-link);align-items:center;gap:.4em;padding:.6em 1.1em;font-size:.95rem;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.btn:hover,.btn:focus-visible{background:var(--color-link);color:var(--color-bg)}.btn-quiet{border-color:var(--color-link);color:var(--color-link)}.btn-quiet:hover,.btn-quiet:focus-visible{background:var(--color-link);color:var(--color-bg);border-color:var(--color-link)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tech-list{margin:var(--space-2) 0;font-family:var(--font-mono);color:var(--color-text-muted);flex-wrap:wrap;gap:.4em .6em;padding:0;font-size:.78rem;list-style:none;display:flex}.tech-list li{border:1px dotted var(--color-border);padding:.15em .5em}@media (pointer:fine) and (prefers-reduced-motion:no-preference){html{--site-cursor:url(/cursor-reticle-light.svg) 9 9, crosshair}html,html *{cursor:var(--site-cursor)!important}[data-cursor=view]{--site-cursor:url(/cursor-view-light.svg) 2 12, pointer}[data-cursor=inspect]{--site-cursor:url(/cursor-inspect-light.svg) 2 12, crosshair}a[target=_blank]{--site-cursor:url(/cursor-link-light.svg) 2 20, pointer}[data-cursor=view] .scan-corner,[data-cursor=inspect] .scan-corner{opacity:0}[data-cursor=view]:hover .scan-corner,[data-cursor=inspect]:hover .scan-corner{opacity:1}.scan-corner{border-color:var(--color-accent);pointer-events:none;width:12px;height:12px;transition:opacity .1s;position:absolute}.scan-corner-tl{border-top:1px solid;border-left:1px solid;top:-6px;left:-6px}.scan-corner-tr{border-top:1px solid;border-right:1px solid;top:-6px;right:-6px}.scan-corner-bl{border-bottom:1px solid;border-left:1px solid;bottom:-6px;left:-6px}.scan-corner-br{border-bottom:1px solid;border-right:1px solid;bottom:-6px;right:-6px}}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(8px)}.reveal.is-visible{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
