.nav[data-astro-cid-wpvy4v7s]{z-index:30;transition:transform .5s var(--ease-out), background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}.nav[data-astro-cid-wpvy4v7s].is-stuck{background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(16px)saturate(140%);border-bottom-color:var(--line)}.nav[data-astro-cid-wpvy4v7s].is-hidden{transform:translateY(-101%)}.nav-inner[data-astro-cid-wpvy4v7s]{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:clamp(.85rem,1.6vw,1.25rem);display:flex}.wordmark[data-astro-cid-wpvy4v7s]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:400;text-decoration:none;display:inline-flex}.links[data-astro-cid-wpvy4v7s]{align-items:center;gap:clamp(.85rem,2vw,1.75rem);display:flex}.navlink[data-astro-cid-wpvy4v7s]{font-family:var(--font-body);font-weight:500;font-size:var(--step-small);letter-spacing:-.01em;color:var(--ink-soft);transition:color .3s var(--ease);padding-block:.25rem;text-decoration:none;position:relative}.navlink[data-astro-cid-wpvy4v7s]:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform .45s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.navlink[data-astro-cid-wpvy4v7s]:hover,.navlink[data-astro-cid-wpvy4v7s]:focus-visible{color:var(--ink)}.navlink[data-astro-cid-wpvy4v7s]:hover:after,.navlink[data-astro-cid-wpvy4v7s]:focus-visible:after{transform-origin:0;transform:scaleX(1)}.navlink[data-astro-cid-wpvy4v7s].is-active{color:var(--ink)}.navlink[data-astro-cid-wpvy4v7s].is-active:after{background:var(--accent);transform:scaleX(1)}.divider[data-astro-cid-wpvy4v7s]{background:var(--line-strong);width:1px;height:16px}.icon[data-astro-cid-wpvy4v7s]{--magnet-x:0px;--magnet-y:0px;color:var(--ink-soft);transform:translate(var(--magnet-x), var(--magnet-y));transition:color .3s var(--ease), transform .3s var(--ease-out);place-items:center;display:grid}.icon[data-astro-cid-wpvy4v7s]:hover{color:var(--accent);transform:translate(var(--magnet-x), calc(var(--magnet-y) - 2px));transition:color .3s var(--ease), transform .15s var(--ease-out)}.progress[data-astro-cid-wpvy4v7s]{background:linear-gradient(90deg, var(--accent), var(--accent-light));transform-origin:0;height:2px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}@media (width<=560px){.navlink[data-astro-cid-wpvy4v7s].is-home,.divider[data-astro-cid-wpvy4v7s]{display:none}.wordmark-text[data-astro-cid-wpvy4v7s]{font-size:.95rem}}@media (width<=380px){.links[data-astro-cid-wpvy4v7s]{gap:.6rem}.nav-inner[data-astro-cid-wpvy4v7s]{gap:var(--space-2)}}.footer[data-astro-cid-jo6i4kqk]{color:var(--ink);padding-block:clamp(4rem,9vw,8rem);position:relative}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,1fr);align-items:center;display:grid}.col[data-astro-cid-jo6i4kqk]{text-align:center;justify-content:center;align-items:center;display:flex}.col-msg[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:.15rem}.col-msg[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{font-family:var(--font-body);color:var(--ink);margin:0;font-size:.95rem;font-weight:400;line-height:1.5}.col-msg[data-astro-cid-jo6i4kqk] .msg-strong[data-astro-cid-jo6i4kqk]{font-weight:700}.col-icons[data-astro-cid-jo6i4kqk]{gap:1.1rem}.col-icons[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.mail[data-astro-cid-jo6i4kqk]{color:var(--ink);transition:color .25s var(--ease);text-decoration:none}.col-icons[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{place-items:center;display:grid}.col-icons[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.col-icons[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:focus-visible,.mail[data-astro-cid-jo6i4kqk]:hover,.mail[data-astro-cid-jo6i4kqk]:focus-visible{color:var(--accent)}.mail[data-astro-cid-jo6i4kqk]{font-family:var(--font-body);letter-spacing:.005em;overflow-wrap:anywhere;font-size:1.05rem;font-weight:700}@media (width<=760px){.footer[data-astro-cid-jo6i4kqk]{padding-block:4rem 5rem}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr;gap:1.75rem}}:root{--bg:#fdfbf9;--bg-soft:#f6f1e9;--bg-elev:#f1ebdf;--ink:#101010;--ink-soft:#4a473f;--ink-faint:#726c60;--accent:#0057ff;--accent-light:#3378ff;--accent-ink:#fdfbf9;--accent-soft:#0057ff1a;--sage:#6f8a76;--line:#1010101a;--line-strong:#10101038;--font-display:"Instrument Serif", Georgia, "Times New Roman", serif;--font-serif:"Instrument Serif", Georgia, "Times New Roman", serif;--font-body:"Source Sans 3", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-quirky:"Permanent Marker", cursive;--step-display:clamp(2.75rem, 9.5vw, 7.5rem);--step-h1:clamp(2.1rem, 5.5vw, 4rem);--step-h2:clamp(1.6rem, 3vw, 2.5rem);--step-h3:clamp(1.15rem, 1.4vw, 1.5rem);--step-lead:clamp(1.1rem, 1.5vw, 1.45rem);--step-body:1.0625rem;--step-small:.8125rem;--step-micro:.6875rem;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--space-7:clamp(5rem, 12vw, 10rem);--gutter:clamp(1.25rem, 5vw, 3.5rem);--r-sm:0px;--r:0px;--r-lg:0px;--r-full:0px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease:cubic-bezier(.2, .7, .2, 1);--max-width:78rem;--measure:66ch}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);-webkit-text-size-adjust:100%;scroll-padding-top:6rem}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" 1, "cv05" 1;animation:page-in .45s var(--ease-out) both;margin:0;line-height:1.65;overflow-x:hidden}@keyframes page-in{0%{opacity:0}}body:after{content:"";z-index:9;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 var(--space-2);letter-spacing:-.01em;text-wrap:balance;font-weight:400;line-height:1.02}p{margin:0 0 var(--space-3);color:var(--ink-soft);max-width:var(--measure);text-wrap:pretty}strong{color:var(--ink);font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{max-width:var(--max-width);padding-inline:var(--gutter);margin:0 auto}.wrap-narrow{max-width:54rem;padding-inline:var(--gutter);margin:0 auto}.skip-link{left:var(--space-2);top:var(--space-2);z-index:100;background:var(--accent);color:var(--accent-ink);font-family:var(--font-body);font-weight:600;font-size:var(--step-small);border-radius:var(--r-full);transition:transform .2s var(--ease-out);padding:.6em 1em;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.2em;font-weight:600;font-size:var(--step-micro);color:var(--accent);margin:0 0 var(--space-3);align-items:center;gap:.6rem;display:inline-flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:1.75rem;height:1px}.serif{font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:400;position:relative}.serif:after{content:"";opacity:.55;transform-origin:0;background:currentColor;height:2px;position:absolute;bottom:-.06em;left:0;right:0;transform:scaleX(0)}@keyframes sweep-in{to{transform:scaleX(1)}}.lead{font-size:var(--step-lead);color:var(--ink);max-width:34ch;line-height:1.45}.btn{--magnet-x:0px;--magnet-y:0px;font-family:var(--font-body);font-weight:600;font-size:var(--step-small);letter-spacing:-.01em;border-radius:var(--r-full);background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);transform:translate(var(--magnet-x), var(--magnet-y));transition:transform .5s var(--ease-out), background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);align-items:center;gap:.55rem;padding:.95em 1.6em;text-decoration:none;display:inline-flex}.btn:hover{transform:translate(var(--magnet-x), calc(var(--magnet-y) - 3px));background:var(--accent-light);border-color:var(--accent-light);transition:transform .15s var(--ease-out), background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease)}.btn-outline{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn-outline:hover{border-color:var(--ink);color:var(--ink);background:#f5f3ef0f}.link-underline{text-decoration:none;position:relative}.link-underline:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform .45s var(--ease-out);background:currentColor;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.link-underline:hover:after,.link-underline:focus-visible:after{transform-origin:0;transform:scaleX(1)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-3);margin-bottom:var(--space-5);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--step-h1);margin:0}.section-count{font-family:var(--font-body);font-weight:600;font-size:var(--step-micro);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}html.js [data-reveal],html.js .prose>:is(p,h2,h3,h4,ul,ol,blockquote,figure){opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(26px)}html.js [data-reveal=fade]{transform:none}html.js [data-reveal].is-in,html.js .prose>.is-in{opacity:1;transform:none}html.js :where([data-reveal]) :where(.reveal-zoom){transition:transform 1.3s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:scale(1.07)}html.js :where([data-reveal].is-in) :where(.reveal-zoom){transform:scale(1)}html.lb-ready [data-zoomable]{cursor:zoom-in}html.intro-lock{overflow:hidden}.word{display:inline-block}html.has-cursor,html.has-cursor :not(.lb):not(.lb *){cursor:none!important}.cursor-dot{background:var(--accent);opacity:.9;pointer-events:none;z-index:200;will-change:transform;width:14px;height:14px;transition:width .25s var(--ease-out), height .25s var(--ease-out), margin .25s var(--ease-out), background .25s var(--ease), border-color .25s var(--ease), opacity .25s var(--ease);border-radius:50%;margin:-7px 0 0 -7px;position:fixed;top:0;left:0}.cursor-dot.is-active{border:1.5px solid var(--accent);background:0 0;width:42px;height:42px;margin:-21px 0 0 -21px}.cursor-dot.is-down{width:10px;height:10px;margin:-5px 0 0 -5px}.cursor-dot.is-hidden{opacity:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html.js [data-reveal],html.js .prose>:is(p,h2,h3,h4,ul,ol,blockquote,figure){opacity:1!important;transform:none!important}html.js [data-reveal] .reveal-zoom{transform:none!important}}
