.footer[data-astro-cid-jo6i4kqk]{font-size:var(--font-size-small);background-color:var(--color-footer-bg);color:var(--color-footer-text);padding-block:var(--footer-padding);border-top:1px solid light-dark(transparent,var(--color-border))}.footer-wrap[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:flex-start;gap:var(--gutter);flex-wrap:wrap;display:flex}.footer-logo[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);font-size:var(--font-size-base);color:var(--color-accent-on-dark)}.nav[data-astro-cid-jo6i4kqk]{column-gap:var(--space-l);row-gap:var(--space-s);grid-template-columns:1fr 1fr;display:grid}.heading[data-astro-cid-jo6i4kqk]{font-size:var(--font-size-subtle);color:var(--color-accent-on-dark);font-weight:var(--font-weight-semi-bold);grid-row:1/2}.links[data-astro-cid-jo6i4kqk]{--flow-space:var(--space-xs)}.active[data-astro-cid-3o5q7yvo]{color:var(--color-link-active)}.primary-header[data-astro-cid-wpvy4v7s]{--anchor-text-decoration:none;padding-block:var(--gutter)}.nav-wrapper[data-astro-cid-wpvy4v7s]{justify-content:space-between;align-items:center;gap:var(--space-m);flex-wrap:wrap;display:flex}.nav-list[data-astro-cid-wpvy4v7s]{gap:var(--space-m);font-size:var(--font-size-subtle);flex-wrap:wrap;display:flex}.logo-mark[data-astro-cid-wpvy4v7s]{font-family:var(--font-display);font-size:2rem;font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--leading-flat);white-space:nowrap;transition:transform var(--transition-base);&:active{transform:scale(.95)}&:hover{color:var(--color-accent);& .dot{color:var(--color-text)}}}.dot[data-astro-cid-wpvy4v7s]{transition:color var(--transition-base);color:var(--color-accent)}@layer reset{*,:before,:after{box-sizing:border-box}:where(html){text-size-adjust:none;scroll-behavior:smooth;hanging-punctuation:first allow-end last;word-break:break-word;overflow-y:auto;@media (prefers-reduced-motion:no-preference){interpolate-size:allow-keywords}}:where(body){min-height:100vh;line-height:1.4}:where(:not(dialog)){margin:0}:where(ul[class],ol[class]){padding:0;list-style:none}:where(ul,ol):not([class]){& ul,& ol{margin-top:.75em}&>li+li{margin-top:.5em}}:where(h1,h2,h3,h4,h5,h6,button,input,label){line-height:1.1}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance}:where(p,li,dd){text-wrap:pretty}:where(a){text-decoration-skip-ink:auto;color:currentColor}:where(input,button,textarea,select){font:inherit}:where(button){cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;padding:0;display:block}:where(input:not([type=submit],[type=checkbox],[type=radio],[type=button],[type=reset])){inline-size:100%}:where(img,video){block-size:auto;max-inline-size:100%;display:block}:where(svg){block-size:auto;max-inline-size:100%;display:inline-block;&:not([class]){block-size:1lh}}:where(figure){inline-size:fit-content;margin-inline:auto}:where(figcaption){contain:inline-size;font-size:90%}}@layer base{body{background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-body);font-optical-sizing:auto;line-height:var(--leading-standard);font-size-adjust:from-font;gap:var(--space-xl);grid-template-rows:[header]auto[main]1fr[footer]auto;min-block-size:100svh;display:grid;@media (prefers-reduced-motion:no-preference){transition:color var(--transition-base)}}a{color:currentColor;text-decoration:var(--anchor-text-decoration,none);transition:color var(--transition-base), text-decoration-thickness var(--transition-base);text-decoration-thickness:1px;&:hover{color:var(--color-link-active);text-decoration-thickness:2px}main &{text-decoration:var(--anchor-text-decoration);text-underline-offset:.15em;transition:text-underline-offset var(--transition-base);&:hover{text-underline-offset:.2em}}}main{--anchor-text-decoration:underline}hr{height:0;margin-block:var(--hr-space,var(--space-s));border-width:0;border-top:1px solid var(--color-border)}strong{font-weight:var(--font-weight-semi-bold)}main img{outline-offset:-1px;outline:1px solid light-dark(#0000001a,#ffffff1a)}@supports ((-moz-appearance:none)){:root{--focus-offset:.08em}}:focus{outline:none}:focus-visible{outline:2px solid var(--focus-color,currentColor);outline-offset:var(--focus-offset,.2lh)}::selection{color:var(--selection-text-color);background:var(--selection-background)}:where(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6){font-family:var(--font-display);font-weight:var(--font-weight-bold);letter-spacing:var(--heading-letter-spacing,-.02em)}:where(h1,.h1){font-size:var(--font-size-h1,var(--text-size-step-6))}:where(h2,.h2){font-size:var(--font-size-h2,var(--text-size-step-5))}:where(h3,.h3){font-size:var(--font-size-h3,var(--text-size-step-4))}:where(h4,.h4){font-size:var(--font-size-h4,var(--text-size-step-3))}:where(h5,.h5,h6,.h6){font-size:var(--font-size-h5,var(--text-size-step-2))}s{text-decoration-thickness:2px;text-decoration-color:var(--strikethrough-color,var(--color-link-active));color:color-mix(in srgb, currentColor, transparent 30%)}}@layer utilities{.content-grid{--gap:clamp(1rem, 6vw, 3rem);--full:minmax(var(--gap), 1fr);--content:min(80rem, 100% - var(--gap) * 2);grid-template-columns:[full-start] var(--full) [content-start] var(--content) [content-end] var(--full) [full-end];align-content:start;display:grid;&>*{grid-column:content}}:where(.flow>*+*):not(hr){margin-block-start:var(--flow-space,1em)}.prose{& h1{max-inline-size:var(--prose-h1-max-width,20ch)}& h2{max-inline-size:var(--prose-h1-max-width,35ch)}& h3{max-inline-size:var(--prose-h1-max-width,40ch)}& :is(p,li,dl,figcaption,blockquote){max-width:var(--prose-width,var(--prose-max-width))}}.subtle{font-size:var(--font-size-subtle)}:where(.grid){grid-template-columns:repeat(var(--grid-placement,auto-fill), minmax(var(--grid-min-item-size,16rem), 1fr));gap:var(--gutter,var(--space-l));display:grid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:0;margin:0;padding:0;position:absolute;overflow:hidden}}:root{--shadow-light:0px 0px 0px 1px #0000000f, 0px 1px 2px -1px #0000000f, 0px 2px 4px 0px #0000000a;--shadow-dark:0px 0px 0px 1px #00000014, 0px 1px 2px -1px #00000014, 0px 2px 4px 0px #0000000f;--animation-duration-snappy:.15s;--animation-duration-base:.2s;--animation-duration-fade:.5s;--animation-easing-standard:ease-in-out;--animation-easing-linear:linear;--animation-transition-base:.2s ease-in-out 0s;--animation-transition-fade:.5s ease-in-out 0s;--animation-transition-snappy:.15s linear 0s;--color-clay-400:oklch(68.5% .13 31);--color-clay-500:oklch(60.8% .135 31);--color-clay-600:oklch(56.6% .135 31);--color-gray-50:oklch(97.7% .004 76);--color-gray-100:oklch(95.8% .006 73);--color-gray-200:oklch(94% .008 70);--color-gray-300:oklch(91.5% .01 66);--color-gray-400:oklch(86.9% .014 62);--color-gray-700:oklch(38.4% .022 52);--color-gray-800:oklch(32.8% .018 50);--color-gray-900:oklch(16.2% .018 46);--color-gray-950:oklch(9.6% .014 44);--border-radius-s:.2rem;--border-radius-m:.75rem;--border-radius-l:2.5rem;--space-xs:clamp(.4375rem, .41rem + .11vw, .5rem);--space-s:clamp(.875rem, .83rem + .22vw, 1rem);--space-m:clamp(1.3125rem, 1.24rem + .33vw, 1.5rem);--space-l:clamp(2.1875rem, 2.07rem + .56vw, 2.5rem);--space-xl:clamp(3.0625rem, 2.9rem + .78vw, 3.5rem);--space-2xl:clamp(3.5rem, 3.32rem + .89vw, 4rem);--space-3xl:clamp(4.375rem, 4.15rem + 1.11vw, 5rem);--space-4xl:clamp(6.5625rem, 6.22rem + 1.67vw, 7.5rem);--space-5xl:clamp(8.75rem, 8.29rem + 2.22vw, 10rem);--text-weights-regular:400;--text-weights-medium:500;--text-weights-semibold:600;--text-weights-bold:700;--text-line-height-flat:1;--text-line-height-fine:1.2;--text-line-height-standard:1.4;--text-line-height-loose:1.7;--text-size-step-000:clamp(.740625rem, .73rem + .07vw, .78125rem);--text-size-step-00:clamp(.833125rem, .79rem + .19vw, .9375rem);--text-size-step-0:clamp(.9375rem, .87rem + .33vw, 1.125rem);--text-size-step-1:clamp(1.055rem, .95rem + .52vw, 1.35rem);--text-size-step-2:clamp(1.18625rem, 1.03rem + .77vw, 1.62rem);--text-size-step-3:clamp(1.335rem, 1.11rem + 1.08vw, 1.94375rem);--text-size-step-4:clamp(1.50188rem, 1.2rem + 1.48vw, 2.3325rem);--text-size-step-5:clamp(1.68938rem, 1.28rem + 1.97vw, 2.79938rem);--text-size-step-6:clamp(1.90063rem, 1.37rem + 2.59vw, 3.35938rem);--text-size-step-7:clamp(2.13813rem, 1.44rem + 3.37vw, 4.03125rem);--text-size-step-8:clamp(2.40563rem, 1.51rem + 4.32vw, 4.8375rem);--text-size-step-9:clamp(2.70625rem, 1.57rem + 5.51vw, 5.805rem);--text-size-step-10:clamp(3.04438rem, 1.61rem + 6.97vw, 6.96563rem)}:root{color-scheme:light dark;--theme:light;@media (prefers-color-scheme:dark){--theme:dark}&[data-theme]{color-scheme:var(--theme)}&[data-theme=light]{--theme:light}&[data-theme=dark]{--theme:dark}--gutter:var(--space-m);--nav-padding:var(--gutter);--footer-padding:var(--gutter);--prose-max-width:70ch;--radius-tight:var(--border-radius-s);--radius-base:var(--border-radius-s);--color-accent:light-dark(var(--color-clay-600),var(--color-clay-400));--color-accent-on-dark:var(--color-clay-400);--color-bg:light-dark(var(--color-gray-50),var(--color-gray-950));--color-surface:light-dark(var(--color-gray-200),var(--color-gray-800));--color-border:light-dark(var(--color-gray-400),var(--color-gray-700));--color-footer-bg:var(--color-gray-950);--color-text:light-dark(var(--color-gray-900),var(--color-gray-400));--color-link-active:var(--color-accent);--color-footer-text:var(--color-gray-50);--focus-color:var(--color-accent);--selection-text-color:light-dark(var(--color-gray-100),var(--color-gray-900));--selection-background:light-dark(var(--color-gray-900),var(--color-gray-300));--shadow-base:var(--shadow-light);--shadow-lifted:var(--shadow-dark);--font-display:var(--font-Fraunces);--font-body:var(--font-Epilogue);--font-code:var(--font-Fira);--font-weight-regular:400;--font-weight-medium:500;--font-weight-semi-bold:600;--font-weight-bold:700;--font-weight-black:900;--font-size-extra-small:var(--text-size-step-000);--font-size-small:var(--text-size-step-00);--font-size-subtle:var(--text-size-step-0);--font-size-base:var(--text-size-step-1);--font-size-h1:var(--text-size-step-6);--font-size-h2:var(--text-size-step-4);--font-size-h3:var(--text-size-step-3);--font-size-h4:var(--text-size-step-3);--font-size-h5:var(--text-size-step-2);--font-size-h6:var(--text-size-step-1);--leading-flat:var(--text-line-height-flat);--leading-fine:var(--text-line-height-fine);--leading-standard:var(--text-line-height-standard);--leading-loose:var(--text-line-height-loose);--transition-base:var(--animation-transition-base);--transition-fade:var(--animation-transition-fade);--transition-snappy:var(--animation-transition-snappy)}
