@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:optional;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.woff2)format("woff2");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:Atkinson Hyperlegible Mono;font-style:normal;font-weight:200 800;font-display:optional;src:url(/_astro/atkinson-hyperlegible-mono-latin-wght-normal.CoA7y8X5.woff2)format("woff2");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{color-scheme:light dark;--font-text:"Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Atkinson Hyperlegible Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--color-bg:#fafaf8;--color-text:#151515;--color-muted:#5e5e59;--color-rule:#e3e2dd;--color-accent:#1f4fd1;--color-accent-tint:#e0e5f3;--text-base:1rem;--text-label:.875rem;--text-name:clamp(1rem, .9rem + .4vw, 1.125rem);--text-link:clamp(1rem, .95rem + .3vw, 1.125rem);--text-lead:clamp(1.125rem, 1rem + .6vw, 1.5rem);--text-display:clamp(2.375rem, .9rem + 5.2vw, 4.75rem);--leading-display:1.05;--leading-lead:1.4;--leading-body:1.5;--space-s:.75rem;--space-m:1rem;--space-l:1.5rem;--space-section:clamp(1.5rem, 6vw, 5rem);--gutter:1.25rem}@media (prefers-color-scheme:dark){:root{--color-bg:#101010;--color-text:#ecece8;--color-muted:#a4a49f;--color-rule:#2b2b29;--color-accent:#86a8ff;--color-accent-tint:#232836}}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-text);font-size:var(--text-base);line-height:var(--leading-body);overflow-wrap:break-word;margin:0}h1,h2,h3,p,ul{margin:0}a{color:var(--color-accent);text-underline-offset:.2em;scroll-margin-block:1rem;text-decoration-line:underline;text-decoration-thickness:.08em}@media (hover:hover){a:hover{text-decoration-thickness:.16em}}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:2px}::selection{background:var(--color-accent-tint);color:var(--color-text)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.hero{animation:.5s cubic-bezier(.2,.8,.2,1) rise}a{transition:text-decoration-thickness .15s ease-out}}@keyframes rise{0%{translate:0 .75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}main,.site-footer{max-width:60rem;padding-inline:var(--gutter);margin-inline:auto}main{overflow-y:clip}.hero{justify-content:center;gap:var(--space-m);min-height:100svh;padding-block:var(--space-section);flex-direction:column;display:flex;container-type:inline-size}.name{font-size:var(--text-name);font-weight:600}h1{max-width:20ch;font-size:var(--text-display);font-weight:650;line-height:var(--leading-display);letter-spacing:-.02em;text-wrap:balance}.keep{white-space:nowrap}@container (width<=14em){h1{hyphens:auto}.keep{white-space:normal}}.lede{max-width:34ch;font-size:var(--text-lead);line-height:var(--leading-lead);text-wrap:balance}h2{font-size:var(--text-lead);font-weight:650;line-height:var(--leading-lead)}.about{gap:var(--space-m);padding-block:var(--space-section);flex-direction:column;display:flex}.about p{max-width:65ch}.projects{gap:var(--space-m);padding-block:var(--space-section);flex-direction:column;display:flex}.hero:has(~.projects){min-height:calc(100svh - 10rem)}.site-footer{gap:var(--space-s);flex-direction:column;padding-block-end:var(--space-section);display:flex}.site-footer h2{border-block-start:1px solid var(--color-rule);color:var(--color-muted);font-size:var(--text-base);padding-block-start:var(--space-l)}.links{gap:0 var(--space-l);font-size:var(--text-link);flex-wrap:wrap;padding:0;list-style:none;display:flex}.links a,.home a{padding-block:var(--space-s);overflow-wrap:anywhere;display:inline-block}
