@font-face{font-family:Myflora;src:url(/fonts/Myflora.otf) format("opentype");font-weight:400;font-style:normal;unicode-range:U+0-2F,U+3A-10FFFF}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: oklch(.977 .008 95);--card: oklch(.945 .013 92);--border: oklch(.85 .014 90);--text: oklch(.26 .035 145);--text-muted: oklch(.48 .05 145);--accent: oklch(.5 .16 145);--accent-2: oklch(.74 .07 60);--green: oklch(.915 .042 140);--dash-width: 1.5px;--dash-color: oklch(.72 .05 80);--heading-ink: oklch(.26 .035 145);--heading-font: "Myflora", serif;--btn: oklch(.36 .11 145);--btn-hover: oklch(.5 .16 145);--btn-fg: oklch(.99 .004 130);--btn-2: var(--accent-2);--btn-2-hover: oklch(.82 .06 60);--font-heading: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-base: .25s;--dur-slow: .5s}html.menu-open,html.menu-open body{overflow:hidden}html.no-pendulum .lamp-anchor{display:none}[data-theme=dark]{--bg: oklch(.17 .03 278);--card: oklch(.22 .04 280);--border: oklch(.5 .05 282);--text: oklch(.95 .015 288);--text-muted: oklch(.72 .06 286);--accent: oklch(.64 .19 320);--accent-2: oklch(.62 .2 268);--green: color-mix(in oklch, var(--card) 82%, var(--accent) 18%);--dash-color: oklch(.34 .06 282);--heading-ink: oklch(.84 .07 295);--btn: var(--card);--btn-hover: color-mix(in oklch, var(--card) 78%, var(--accent) 22%);--btn-fg: var(--text);--btn-2: var(--card);--btn-2-hover: color-mix(in oklch, var(--card) 78%, var(--accent-2) 22%)}@media (prefers-reduced-motion: no-preference){.js-reveal [data-reveal]{opacity:0;transition:opacity var(--dur-slow) var(--ease-out),translate var(--dur-slow) var(--ease-out),scale var(--dur-slow) var(--ease-out),filter var(--dur-slow) var(--ease-out);transition-delay:var(--rd, 0s)}.js-reveal [data-reveal=up]{translate:0 28px}.js-reveal [data-reveal=scale]{scale:.94}.js-reveal [data-reveal=left]{translate:-32px 0}.js-reveal [data-reveal=right]{translate:32px 0}.js-reveal [data-reveal=fade]{translate:0 0}.js-reveal [data-reveal=blur]{translate:0 20px;filter:blur(10px)}.js-reveal [data-reveal=trigger]{opacity:1;transition:none}.js-reveal [data-reveal].is-in{opacity:1;translate:0 0;scale:1;filter:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-delay:0s!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}main>header,main>section,main>footer{position:relative}.hero{z-index:1}#me{z-index:2}#work{z-index:3}#projects{z-index:4}.site-footer{z-index:5}::selection{background:var(--accent);color:var(--bg)}html{font-family:var(--font-body);font-size:90%;background:var(--bg);color:var(--text);scroll-behavior:smooth;transition:background var(--dur-base),color var(--dur-base);font-weight:400;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.at-end{overscroll-behavior-y:none}body{--pad: 2rem;min-height:100vh;padding:max(var(--pad),env(safe-area-inset-top)) max(var(--pad),env(safe-area-inset-right)) var(--pad) max(var(--pad),env(safe-area-inset-left));overflow-x:hidden;background:var(--bg)}@media (max-width: 480px){body{--pad: 1rem}}.ib[data-astro-cid-hg6dtf5k]{--ib-size: 3.1rem;--ib-icon: 22px;--ib-travel: 150%;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--ib-size);height:var(--ib-size);padding:0;border:none;border-radius:999px;background:var(--ib-bg);color:var(--ib-fg);text-decoration:none;cursor:pointer;transition:background var(--dur-base) var(--ease-out)}.ib[data-astro-cid-hg6dtf5k][data-dir=up]{--tx: 0px;--ty: calc(-1 * var(--ib-travel));--rx: 0px;--ry: var(--ib-travel)}.ib[data-astro-cid-hg6dtf5k][data-dir=down]{--tx: 0px;--ty: var(--ib-travel);--rx: 0px;--ry: calc(-1 * var(--ib-travel))}.ib[data-astro-cid-hg6dtf5k][data-dir=left]{--tx: calc(-1 * var(--ib-travel));--ty: 0px;--rx: var(--ib-travel);--ry: 0px}.ib[data-astro-cid-hg6dtf5k][data-dir=right]{--tx: var(--ib-travel);--ty: 0px;--rx: calc(-1 * var(--ib-travel));--ry: 0px}.ib-viewport[data-astro-cid-hg6dtf5k]{position:absolute;inset:0;border-radius:inherit;overflow:hidden}.ib-icon[data-astro-cid-hg6dtf5k]{position:absolute;inset:0;display:grid;place-items:center;transition:transform var(--dur-slow) var(--ease-out)}.ib-icon--next[data-astro-cid-hg6dtf5k]{transform:translate(var(--rx),var(--ry))}.ib[data-astro-cid-hg6dtf5k]:hover .ib-icon--lead[data-astro-cid-hg6dtf5k],.ib[data-astro-cid-hg6dtf5k]:focus-visible .ib-icon--lead[data-astro-cid-hg6dtf5k]{transform:translate(var(--tx),var(--ty))}.ib[data-astro-cid-hg6dtf5k]:hover .ib-icon--next[data-astro-cid-hg6dtf5k],.ib[data-astro-cid-hg6dtf5k]:focus-visible .ib-icon--next[data-astro-cid-hg6dtf5k]{transform:translate(0)}.ib-icon[data-astro-cid-hg6dtf5k] svg[data-astro-cid-hg6dtf5k]{width:var(--ib-icon);height:var(--ib-icon)}.ib[data-astro-cid-hg6dtf5k]:after{content:"";position:absolute;z-index:0;inset:-7px;border:var(--dash-width) dashed var(--dash-color);border-radius:999px;opacity:0;transform:scale(.9);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.ib[data-astro-cid-hg6dtf5k]:hover:after,.ib[data-astro-cid-hg6dtf5k]:focus-visible:after{opacity:1;transform:scale(1)}.ib[data-astro-cid-hg6dtf5k]:focus-visible{outline:none}.ib[data-astro-cid-hg6dtf5k][data-variant=download]{--ib-bg: var(--btn-2);--ib-fg: var(--bg);margin-top:.4rem}.ib[data-astro-cid-hg6dtf5k][data-variant=download]:hover,.ib[data-astro-cid-hg6dtf5k][data-variant=download]:focus-visible{--ib-bg: var(--btn-2-hover)}[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=download]{--ib-fg: var(--text);border:var(--dash-width) dashed var(--dash-color)}.ib[data-astro-cid-hg6dtf5k][data-variant=accent],.ib[data-astro-cid-hg6dtf5k][data-variant=to-top]{--ib-size: 48px;--ib-bg: var(--btn);--ib-fg: var(--btn-fg)}.ib[data-astro-cid-hg6dtf5k][data-variant=accent]:hover,.ib[data-astro-cid-hg6dtf5k][data-variant=accent]:focus-visible,.ib[data-astro-cid-hg6dtf5k][data-variant=to-top]:hover,.ib[data-astro-cid-hg6dtf5k][data-variant=to-top]:focus-visible{--ib-bg: var(--btn-hover)}.ib[data-astro-cid-hg6dtf5k][data-variant=to-top]{position:fixed;right:clamp(1rem,3vw,1.75rem);bottom:clamp(1rem,3vw,1.75rem);z-index:90;opacity:0;visibility:hidden;translate:0 10px;transition:background var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out),translate var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base)}.ib[data-astro-cid-hg6dtf5k][data-variant=to-top]{--ib-bg: transparent;--ib-fg: oklch(.42 .06 70);border:var(--dash-width) dashed var(--dash-color)}:root:not([data-theme=dark]) .ib[data-astro-cid-hg6dtf5k][data-variant=to-top]:hover,:root:not([data-theme=dark]) .ib[data-astro-cid-hg6dtf5k][data-variant=to-top]:focus-visible{--ib-bg: color-mix(in oklch, var(--dash-color) 25%, transparent)}[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=to-top]{--ib-bg: transparent;--ib-fg: oklch(.84 .07 295);border-color:var(--dash-color)}[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=to-top]:hover,[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=to-top]:focus-visible{--ib-bg: color-mix(in oklch, var(--dash-color) 25%, transparent)}.ib[data-astro-cid-hg6dtf5k][data-variant=accent],.ib[data-astro-cid-hg6dtf5k][data-variant=to-top][data-tone=page]{--ib-bg: transparent;--ib-fg: oklch(.42 .06 70);border:var(--dash-width) dashed var(--dash-color)}.ib[data-astro-cid-hg6dtf5k][data-variant=accent]:hover,.ib[data-astro-cid-hg6dtf5k][data-variant=accent]:focus-visible,.ib[data-astro-cid-hg6dtf5k][data-variant=to-top][data-tone=page]:hover,.ib[data-astro-cid-hg6dtf5k][data-variant=to-top][data-tone=page]:focus-visible{--ib-bg: color-mix(in oklch, var(--dash-color) 25%, transparent)}[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=accent],[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=to-top][data-tone=page]{--ib-bg: transparent;--ib-fg: oklch(.84 .07 295);border-color:var(--dash-color)}[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=accent]:hover,[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=accent]:focus-visible,[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=to-top][data-tone=page]:hover,[data-theme=dark] .ib[data-astro-cid-hg6dtf5k][data-variant=to-top][data-tone=page]:focus-visible{--ib-bg: color-mix(in oklch, var(--dash-color) 25%, transparent)}:root:not([data-theme=dark]) .ib[data-astro-cid-hg6dtf5k]:is([data-variant=accent],[data-variant=to-top]){--ib-bg: oklch(.26 .035 145);--ib-fg: oklch(.945 .013 92);border-color:transparent}:root:not([data-theme=dark]) .ib[data-astro-cid-hg6dtf5k]:is([data-variant=accent],[data-variant=to-top]):after{border-color:#485b48}:root:not([data-theme=dark]) .ib[data-astro-cid-hg6dtf5k]:is([data-variant=accent],[data-variant=to-top]):is(:hover,:focus-visible){--ib-bg: oklch(.34 .05 145)}.ib[data-astro-cid-hg6dtf5k][data-variant=to-top].is-visible{opacity:1;visibility:visible;translate:0 0;transition-delay:0s}.footer-band[data-astro-cid-sz7xmlte]{--band-pad: 2rem;display:flow-root;position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:calc(-1 * var(--band-pad));padding:0 clamp(1.5rem,5vw,5rem) calc(var(--band-pad) + env(safe-area-inset-bottom,0px));--band-bg: oklch(.945 .013 92);background:var(--band-bg)}html:root{background:#f0ede3}html[data-theme=dark]:root{background:#17182d}html:root:has(.footer-band.is-flush){background:var(--bg)}.footer-band[data-astro-cid-sz7xmlte].is-rounded{margin-top:clamp(3rem,8vw,6rem);border-radius:clamp(28px,5vw,52px) clamp(28px,5vw,52px) 0 0}[data-theme=dark] .footer-band[data-astro-cid-sz7xmlte]{--band-bg: oklch(.22 .04 280)}.footer-band[data-astro-cid-sz7xmlte].is-flush{--band-bg: var(--bg)}.footer-band[data-astro-cid-sz7xmlte].is-flush .site-footer[data-astro-cid-sz7xmlte]{--footer-bg: var(--bg)}@media (max-width: 480px){.footer-band[data-astro-cid-sz7xmlte]{--band-pad: 1rem}}.site-footer[data-astro-cid-sz7xmlte]{--footer-bg: oklch(.945 .013 92);--footer-ink: oklch(.42 .06 70);--footer-muted: oklch(.42 .06 70);--footer-mark: oklch(.5 .16 145);position:relative;max-width:900px;margin:clamp(2.5rem,6vw,4.5rem) auto clamp(1.25rem,3vw,2.25rem);border:var(--dash-width) dashed var(--dash-color);border-radius:clamp(20px,3.5vw,36px);padding:clamp(2rem,4.5vw,3.25rem) clamp(1.5rem,4vw,2.75rem) clamp(1.25rem,2.5vw,1.75rem)}[data-theme=dark] .site-footer[data-astro-cid-sz7xmlte]{--footer-bg: oklch(.22 .04 280);--footer-ink: oklch(.84 .07 295);--footer-muted: oklch(.72 .08 290);--footer-mark: var(--accent)}.footer-inner[data-astro-cid-sz7xmlte]{position:relative;z-index:3}.footer-top[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(1.75rem,4vw,3rem);align-items:start}.footer-identity[data-astro-cid-sz7xmlte]{align-self:start}.footer-brand[data-astro-cid-sz7xmlte]{display:block;font-family:Myflora,serif;font-weight:700;font-size:clamp(2.3rem,5.4vw,3.4rem);line-height:.95;letter-spacing:.01em;color:var(--footer-ink)}.footer-note[data-astro-cid-sz7xmlte]{margin:.85rem 0 0;max-width:32ch;font-size:.92rem;line-height:1.55;color:color-mix(in oklch,var(--footer-muted) 72%,transparent)}.footer-columns[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.75rem)}.footer-actions[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:.7rem;margin-top:clamp(1.5rem,3vw,2rem)}.footer-switch[data-astro-cid-sz7xmlte]{position:relative;width:80px;height:44px;padding:0;border:var(--dash-width) dashed var(--dash-color);border-radius:999px;background:transparent;cursor:pointer;flex:none}.footer-switch[data-astro-cid-sz7xmlte]:focus,.footer-switch[data-astro-cid-sz7xmlte]:focus-visible{outline:none}.footer-switch-knob[data-astro-cid-sz7xmlte]{position:absolute;top:50%;left:3px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--footer-ink);color:var(--footer-bg);transform:translateY(-50%);transition:transform var(--dur-base) var(--ease-out)}[data-theme=dark] .footer-switch-knob[data-astro-cid-sz7xmlte]{transform:translate(37px,-50%)}.footer-switch-icon[data-astro-cid-sz7xmlte]{width:18px;height:18px}.icon-moon[data-astro-cid-sz7xmlte],[data-theme=dark] .icon-sun[data-astro-cid-sz7xmlte]{display:none}[data-theme=dark] .icon-moon[data-astro-cid-sz7xmlte]{display:block}.footer-heading[data-astro-cid-sz7xmlte]{font-family:Grenze,serif;font-size:clamp(1rem,1.5vw,1.15rem);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:color-mix(in oklch,var(--footer-ink) 88%,transparent);margin:0 0 .9rem}.footer-links[data-astro-cid-sz7xmlte]{--footer-link-size: .95rem;list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0}.footer-links[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.5rem;row-gap:.1rem}.footer-mark[data-astro-cid-sz7xmlte]{flex:none;font-family:Grenze,serif;font-style:italic;font-weight:500;font-size:calc(var(--footer-link-size) * 1.213);line-height:1.1;white-space:nowrap;color:var(--footer-mark)}.footer-icon[data-astro-cid-sz7xmlte]{display:none}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{position:relative;display:inline-block;font-family:var(--font-body);font-size:var(--footer-link-size);line-height:1.35;color:var(--footer-muted);text-decoration:none;padding-bottom:.15rem;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1.5px;transition:color var(--dur-base) var(--ease-out),background-size var(--dur-base) var(--ease-out)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--footer-ink);background-size:100% 1.5px}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:focus-visible{outline:2px solid var(--footer-ink);outline-offset:3px;border-radius:2px}.footer-base[data-astro-cid-sz7xmlte]{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;text-align:center;gap:.5rem 1.5rem;margin-top:clamp(2rem,4.5vw,3.25rem);padding-top:clamp(.85rem,1.6vw,1.15rem);font-size:.82rem;letter-spacing:.02em;color:color-mix(in oklch,var(--footer-muted) 62%,transparent)}.footer-base[data-astro-cid-sz7xmlte]:before{content:"";position:absolute;top:0;left:0;right:0;border-top:var(--dash-width) dashed var(--dash-color)}@media (max-width: 900px){.footer-band[data-astro-cid-sz7xmlte]{padding-bottom:calc(var(--band-pad) + 1.5rem + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom,var(--band-bg) calc(100% - 3.5rem),var(--bg) 100%)}html:root,html[data-theme=dark]:root{background:var(--bg)}#to-top{display:none}.site-footer[data-astro-cid-sz7xmlte]{margin-top:2rem;padding:1.75rem 1.5rem 1.1rem}.footer-top[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:1.5rem}.footer-identity[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand toggle" "note toggle";align-items:center;column-gap:1rem}.footer-brand[data-astro-cid-sz7xmlte]{grid-area:brand;font-size:clamp(2rem,9vw,2.8rem)}.footer-note[data-astro-cid-sz7xmlte]{grid-area:note;margin-top:.5rem;font-size:.88rem}.footer-actions[data-astro-cid-sz7xmlte]{grid-area:toggle;margin-top:0}.footer-columns[data-astro-cid-sz7xmlte]{grid-template-columns:minmax(0,1fr);padding-top:1.5rem;border-top:var(--dash-width) dashed var(--dash-color)}.footer-col-projects[data-astro-cid-sz7xmlte],.footer-col-about[data-astro-cid-sz7xmlte],.footer-heading[data-astro-cid-sz7xmlte]{display:none}.footer-links[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(3,minmax(0,5.5rem));justify-content:center;gap:.5rem clamp(.5rem,6vw,3rem)}.footer-links[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{justify-content:center}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:0;background-image:none;font-size:.78rem;letter-spacing:.02em}.footer-icon[data-astro-cid-sz7xmlte]{position:relative;display:block;flex:none;width:48px;height:48px;overflow:hidden;border:var(--dash-width) dashed var(--dash-color);border-radius:50%;transition:background-color var(--dur-base) var(--ease-out)}.fi[data-astro-cid-sz7xmlte]{position:absolute;inset:0;display:grid;place-items:center;transition:transform var(--dur-slow) var(--ease-out)}.fi[data-astro-cid-sz7xmlte] svg[data-astro-cid-sz7xmlte]{width:20px;height:20px}.fi-next[data-astro-cid-sz7xmlte]{transform:translateY(-150%)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:active .footer-icon[data-astro-cid-sz7xmlte]{background-color:color-mix(in oklch,var(--dash-color) 25%,transparent)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:active .fi-lead[data-astro-cid-sz7xmlte]{transform:translateY(150%)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:active .fi-next[data-astro-cid-sz7xmlte]{transform:translateY(0)}@media (hover: hover){.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover .footer-icon[data-astro-cid-sz7xmlte]{background-color:color-mix(in oklch,var(--dash-color) 25%,transparent)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover .fi-lead[data-astro-cid-sz7xmlte]{transform:translateY(150%)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover .fi-next[data-astro-cid-sz7xmlte]{transform:translateY(0)}}@media (max-width: 380px){.site-footer[data-astro-cid-sz7xmlte]{padding-inline:1rem}.footer-icon[data-astro-cid-sz7xmlte]{width:44px;height:44px}}.footer-mark[data-astro-cid-sz7xmlte],.footer-base[data-astro-cid-sz7xmlte]{display:none}}
