.site-footer[data-astro-cid-2bymdrdw]{padding:1.75rem var(--gutter);border-block-start:var(--rule);font-size:var(--text-body);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-block-start:auto;line-height:1;display:flex}.site-footer__privacy[data-astro-cid-2bymdrdw]{font-size:var(--text-nav);color:var(--color-fg-muted);font-style:italic;text-decoration:none}.mark[data-astro-cid-6zmortgj]{color:currentColor;display:block;overflow:visible}.mark__ring[data-astro-cid-6zmortgj]{fill:none;stroke:currentColor;stroke-width:4px}.mark__core[data-astro-cid-6zmortgj]{fill:currentColor}.mark__node[data-astro-cid-6zmortgj]{fill:var(--color-bg);stroke:currentColor;stroke-width:4px;transform-box:view-box;transform-origin:50%}.mark--animated[data-astro-cid-6zmortgj] .mark__node[data-astro-cid-6zmortgj]{animation:24s linear infinite orbit}@keyframes orbit{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.mark--animated[data-astro-cid-6zmortgj] .mark__node[data-astro-cid-6zmortgj]{animation:none}}.site-header[data-astro-cid-j66rgoqb]{block-size:var(--header-block);padding-inline:var(--gutter);border-block-end:var(--rule);justify-content:space-between;align-items:center;display:flex}.brand[data-astro-cid-j66rgoqb]{align-items:center;gap:.6875rem;line-height:1;text-decoration:none;display:flex}.brand__mark[data-astro-cid-j66rgoqb]{position:relative;inset-block-start:-2.5px}.brand__name[data-astro-cid-j66rgoqb]{letter-spacing:-.01em;font-size:1.375rem}.site-nav[data-astro-cid-j66rgoqb]{align-items:center;gap:1.75rem;display:flex}.site-nav[data-astro-cid-j66rgoqb] .site-nav__contact{font-size:var(--text-nav);color:var(--color-fg-muted);transition:color var(--duration-color) ease;font-style:italic;text-decoration:none;&:hover{color:var(--color-accent)}}.site-nav__github[data-astro-cid-j66rgoqb]{align-items:center;display:flex}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:none;text-size-adjust:none}img,picture,svg,canvas,video{max-inline-size:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3{font-size:inherit;font-weight:inherit;overflow-wrap:break-word}ol,ul{padding:0;list-style:none}}@layer base{html{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-weight:400;line-height:1.5}body{flex-direction:column;min-block-size:100svh;display:flex}main{flex:1 0 auto}a{color:inherit;text-underline-offset:.15em;transition:color var(--duration-color) ease;text-decoration-thickness:1px;&:hover{color:var(--color-accent)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}::selection{background:var(--color-accent);color:var(--color-bg)}h1,h2,h3{letter-spacing:var(--tracking-title);text-wrap:balance;line-height:1.1}p{text-wrap:pretty}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}:root{color-scheme:light;--paper:#f2eee6;--ink:#14120f;--wine:#6b1f2e;--color-bg:var(--paper);--color-fg:var(--ink);--color-accent:var(--wine);--color-fg-strong:rgb(from var(--ink) r g b / .82);--color-fg-body:rgb(from var(--ink) r g b / .8);--color-fg-muted:rgb(from var(--ink) r g b / .75);--color-fg-soft:rgb(from var(--ink) r g b / .6);--color-rule:rgb(from var(--ink) r g b / .16);--color-underline:rgb(from var(--ink) r g b / .3);--font-serif:var(--font-newsreader,"Newsreader", Georgia, "Times New Roman", serif);--font-mono:var(--font-plex-mono,"IBM Plex Mono", ui-monospace, Menlo, monospace);--text-display:clamp(3.125rem, 7.2vw, 7rem);--text-title:clamp(1.875rem, 2.6vw, 2.625rem);--text-lead:clamp(1.125rem, 1.4vw, 1.375rem);--text-body:1.125rem;--text-nav:1.0625rem;--text-label:.75rem;--text-button:.8125rem;--tracking-display:-.028em;--tracking-title:-.015em;--tracking-label:.14em;--tracking-button:.06em;--gutter:clamp(1.25rem, 4vw, 3.5rem);--section-block:clamp(3rem, 7vh, 6rem);--header-block:4.5rem;--rule:1px solid var(--color-rule);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-rise:1s;--duration-color:.25s;--duration-reveal:.9s}@media (prefers-reduced-motion:reduce){:root{--duration-rise:0s;--duration-color:0s;--duration-reveal:0s}}@keyframes rise{0%{opacity:0;translate:0 22px}to{opacity:1;translate:0}}
