*,:before,:after{box-sizing:border-box}:not(dialog){margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;margin:0;padding:0;font-size:1rem;font-style:normal;font-weight:400}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}ul{margin:0;padding:0;list-style-type:none}li{margin:0;padding:0}:root{--spacing:.5rem;--s-1:var(--spacing);--s-2:calc(var(--spacing) * 2);--s-3:calc(var(--spacing) * 3);--s-4:calc(var(--spacing) * 4);--s-5:calc(var(--spacing) * 5);--s-6:calc(var(--spacing) * 6);--s-7:calc(var(--spacing) * 7);--s-8:calc(var(--spacing) * 8);--s-9:calc(var(--spacing) * 9);--s-10:calc(var(--spacing) * 10);--s-11:calc(var(--spacing) * 11);--s-12:calc(var(--spacing) * 12)}.w-full{width:100%}.flex{display:flex}.m-1{margin:var(--s-1)}.m-2{margin:var(--s-2)}.m-3{margin:var(--s-3)}.m-4{margin:var(--s-4)}.m-5{margin:var(--s-5)}.m-6{margin:var(--s-6)}.m-7{margin:var(--s-7)}.m-8{margin:var(--s-8)}.m-9{margin:var(--s-9)}.m-10{margin:var(--s-10)}.m-11{margin:var(--s-11)}.m-12{margin:var(--s-12)}.mb-1{margin-bottom:var(--s-1)}.mb-2{margin-bottom:var(--s-2)}.mb-3{margin-bottom:var(--s-3)}.mb-4{margin-bottom:var(--s-4)}.mb-5{margin-bottom:var(--s-5)}.mb-6{margin-bottom:var(--s-6)}.mb-7{margin-bottom:var(--s-7)}.mb-8{margin-bottom:var(--s-8)}.mb-9{margin-bottom:var(--s-9)}.mb-10{margin-bottom:var(--s-10)}.mb-11{margin-bottom:var(--s-11)}.mb-12{margin-bottom:var(--s-12)}.mt-1{margin-top:var(--s-1)}.mt-2{margin-top:var(--s-2)}.mt-3{margin-top:var(--s-3)}.mt-4{margin-top:var(--s-4)}.mt-5{margin-top:var(--s-5)}.mt-6{margin-top:var(--s-6)}.mt-7{margin-top:var(--s-7)}.mt-8{margin-top:var(--s-8)}.mt-9{margin-top:var(--s-9)}.mt-10{margin-top:var(--s-10)}.mt-11{margin-top:var(--s-11)}.mt-12{margin-top:var(--s-12)}.mx-1{margin-left:var(--s-1);margin-right:var(--s-1)}.mx-2{margin-left:var(--s-2);margin-right:var(--s-2)}.mx-3{margin-left:var(--s-3);margin-right:var(--s-3)}.mx-4{margin-left:var(--s-4);margin-right:var(--s-4)}.mx-5{margin-left:var(--s-5);margin-right:var(--s-5)}.mx-6{margin-left:var(--s-6);margin-right:var(--s-6)}.mx-7{margin-left:var(--s-7);margin-right:var(--s-7)}.mx-8{margin-left:var(--s-8);margin-right:var(--s-8)}.mx-9{margin-left:var(--s-9);margin-right:var(--s-9)}.mx-10{margin-left:var(--s-10);margin-right:var(--s-10)}.mx-11{margin-left:var(--s-11);margin-right:var(--s-11)}.mx-12{margin-left:var(--s-12);margin-right:var(--s-12)}.my-1{margin-top:var(--s-1);margin-bottom:var(--s-1)}.my-2{margin-top:var(--s-2);margin-bottom:var(--s-2)}.my-3{margin-top:var(--s-3);margin-bottom:var(--s-3)}.my-4{margin-top:var(--s-4);margin-bottom:var(--s-4)}.my-5{margin-top:var(--s-5);margin-bottom:var(--s-5)}.my-6{margin-top:var(--s-6);margin-bottom:var(--s-6)}.my-7{margin-top:var(--s-7);margin-bottom:var(--s-7)}.my-8{margin-top:var(--s-8);margin-bottom:var(--s-8)}.my-9{margin-top:var(--s-9);margin-bottom:var(--s-9)}.my-10{margin-top:var(--s-10);margin-bottom:var(--s-10)}.my-11{margin-top:var(--s-11);margin-bottom:var(--s-11)}.my-12{margin-top:var(--s-12);margin-bottom:var(--s-12)}.p-1{padding:var(--s-1)}.p-2{padding:var(--s-2)}.p-3{padding:var(--s-3)}.p-4{padding:var(--s-4)}.p-5{padding:var(--s-5)}.p-6{padding:var(--s-6)}.p-7{padding:var(--s-7)}.p-8{padding:var(--s-8)}.p-9{padding:var(--s-9)}.p-10{padding:var(--s-10)}.p-11{padding:var(--s-11)}.p-12{padding:var(--s-12)}.pb-1{padding-bottom:var(--s-1)}.pb-2{padding-bottom:var(--s-2)}.pb-3{padding-bottom:var(--s-3)}.pb-4{padding-bottom:var(--s-4)}.pb-5{padding-bottom:var(--s-5)}.pb-6{padding-bottom:var(--s-6)}.pb-7{padding-bottom:var(--s-7)}.pb-8{padding-bottom:var(--s-8)}.pb-9{padding-bottom:var(--s-9)}.pb-10{padding-bottom:var(--s-10)}.pb-11{padding-bottom:var(--s-11)}.pb-12{padding-bottom:var(--s-12)}.pt-1{padding-top:var(--s-1)}.pt-2{padding-top:var(--s-2)}.pt-3{padding-top:var(--s-3)}.pt-4{padding-top:var(--s-4)}.pt-5{padding-top:var(--s-5)}.pt-6{padding-top:var(--s-6)}.pt-7{padding-top:var(--s-7)}.pt-8{padding-top:var(--s-8)}.pt-9{padding-top:var(--s-9)}.pt-10{padding-top:var(--s-10)}.pt-11{padding-top:var(--s-11)}.pt-12{padding-top:var(--s-12)}.px-1{padding-left:var(--s-1);padding-right:var(--s-1)}.px-2{padding-left:var(--s-2);padding-right:var(--s-2)}.px-3{padding-left:var(--s-3);padding-right:var(--s-3)}.px-4{padding-left:var(--s-4);padding-right:var(--s-4)}.px-5{padding-left:var(--s-5);padding-right:var(--s-5)}.px-6{padding-left:var(--s-6);padding-right:var(--s-6)}.px-7{padding-left:var(--s-7);padding-right:var(--s-7)}.px-8{padding-left:var(--s-8);padding-right:var(--s-8)}.px-9{padding-left:var(--s-9);padding-right:var(--s-9)}.px-10{padding-left:var(--s-10);padding-right:var(--s-10)}.px-11{padding-left:var(--s-11);padding-right:var(--s-11)}.px-12{padding-left:var(--s-12);padding-right:var(--s-12)}.py-1{padding-top:var(--s-1);padding-bottom:var(--s-1)}.py-2{padding-top:var(--s-2);padding-bottom:var(--s-2)}.py-3{padding-top:var(--s-3);padding-bottom:var(--s-3)}.py-4{padding-top:var(--s-4);padding-bottom:var(--s-4)}.py-5{padding-top:var(--s-5);padding-bottom:var(--s-5)}.py-6{padding-top:var(--s-6);padding-bottom:var(--s-6)}.py-7{padding-top:var(--s-7);padding-bottom:var(--s-7)}.py-8{padding-top:var(--s-8);padding-bottom:var(--s-8)}.py-9{padding-top:var(--s-9);padding-bottom:var(--s-9)}.py-10{padding-top:var(--s-10);padding-bottom:var(--s-10)}.py-11{padding-top:var(--s-11);padding-bottom:var(--s-11)}.py-12{padding-top:var(--s-12);padding-bottom:var(--s-12)}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}.gap-6{gap:var(--s-6)}.gap-7{gap:var(--s-7)}.gap-8{gap:var(--s-8)}.gap-9{gap:var(--s-9)}.gap-10{gap:var(--s-10)}.gap-11{gap:var(--s-11)}.gap-12{gap:var(--s-12)}.br-1{border-radius:var(--s-1)}.br-2{border-radius:var(--s-2)}.br-max{border-radius:999px}:root{--framing-width:70rem;--footer-height:5rem;--header-height:5rem}.page-wrap{min-height:calc(100vh - var(--footer-height) - var(--header-height))}.site-header{height:var(--header-height);border-bottom:1px solid var(--accent);max-width:var(--framing-width);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.site-footer{gap:var(--s-4);height:var(--footer-height);border-top:1px solid var(--accent);max-width:var(--framing-width);justify-content:center;align-items:center;margin-inline:auto;display:flex}.color-scheme-button-group{background-color:var(--bg-subtle);border-radius:var(--s-4);display:inline-flex;position:relative}.color-scheme-button-group:after{content:"";position-anchor:--current-scheme;left:anchor(left);right:anchor(right);top:anchor(top);bottom:anchor(bottom);border-radius:var(--s-4);outline:2px solid var(--accent);z-index:99;transition:all .1s;position:absolute}.color-scheme-button{border-radius:var(--s-4);padding:var(--s-1);cursor:pointer;background-color:#0000;border:2px solid #0000;place-content:center;width:3rem;height:3rem;transition:color .2s linear;display:grid}.color-scheme-button:hover{background-color:var(--bg-subtle)}.color-scheme-button[data-active]{anchor-name:--current-scheme;background-color:var(--bg-subtle);color:var(--accent)}.color-scheme-icon{width:var(--s-3);aspect-ratio:1;display:block}.color-scheme-icon svg{height:100%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg-dark:oklch(22% .015 220);--bg-light:oklch(90% .015 220);--bg-dark-subtle:oklch(from var(--bg-dark) calc(l + .05) c h);--bg-light-subtle:oklch(from var(--bg-light) calc(l - .03) c h);--border-dark:oklch(from var(--bg-dark) calc(l + .15) c h);--border-light:oklch(from var(--bg-light) calc(l - .15) c h);--text-dark:oklch(90% .02 220);--text-light:oklch(30% .06 220);--text-dark-secondary:oklch(from var(--text-dark) calc(l - .2) c h);--text-light-secondary:oklch(from var(--text-light) calc(l + .15) c h);--bg:var(--lightningcss-light,var(--bg-light))var(--lightningcss-dark,var(--bg-dark));--bg-subtle:var(--lightningcss-light,var(--bg-light-subtle))var(--lightningcss-dark,var(--bg-dark-subtle));--bg-invert:var(--lightningcss-light,var(--bg-dark))var(--lightningcss-dark,var(--bg-light));--border:var(--lightningcss-light,var(--border-light))var(--lightningcss-dark,var(--border-dark));--text:var(--lightningcss-light,var(--text-light))var(--lightningcss-dark,var(--text-dark));--text-secondary:var(--lightningcss-light,var(--text-light-secondary))var(--lightningcss-dark,var(--text-dark-secondary));--text-invert:var(--lightningcss-light,var(--text-dark))var(--lightningcss-dark,var(--text-light));--accent:oklch(50% .2 180);--link:oklch(50% .25 240);--on-accent:oklch(from var(--accent) calc(l - .3) c h);--font-body:"Work Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-title:"Amarna", serif;--text-base:1rem;--text-scale:1.25;--fs-xs:calc(var(--text-base) / var(--text-scale) / var(--text-scale));--fs-sm:calc(var(--text-base) / var(--text-scale));--fs-md:var(--text-base);--fs-lg:calc(var(--text-base) * var(--text-scale));--fs-xl:calc(var(--text-base) * pow(var(--text-scale), 2));--fs-2xl:calc(var(--text-base) * pow(var(--text-scale), 3));--fs-3xl:calc(var(--text-base) * pow(var(--text-scale), 4));--fs-4xl:calc(var(--text-base) * pow(var(--text-scale), 5));--fs-5xl:calc(var(--text-base) * pow(var(--text-scale), 6));--fs-6xl:calc(var(--text-base) * pow(var(--text-scale), 7));--fs-7xl:calc(var(--text-base) * pow(var(--text-scale), 8))}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--bg);font-size:16px}p{font-family:monospace;font-size:var(--t20)}:focus-visible{outline-offset:4px;outline:3px solid var(--lightningcss-light,#000)var(--lightningcss-dark,#fff)}.fs-xs{font-size:var(--fs-xs)}.fs-sm{font-size:var(--fs-sm)}.fs-md{font-size:var(--fs-md)}.fs-lg{font-size:var(--fs-lg)}.fs-xl{font-size:var(--fs-xl)}.fs-2xl{font-size:var(--fs-2xl)}.fs-3xl{font-size:var(--fs-3xl)}.fs-4xl{font-size:var(--fs-4xl)}.fs-5xl{font-size:var(--fs-5xl)}.fs-6xl{font-size:var(--fs-6xl)}.fs-7xl{font-size:var(--fs-7xl)}.title{font-size:var(--fs-5xl);font-family:var(--font-title);color:var(--text);font-style:normal;font-weight:400;line-height:1.2}.header{font-size:var(--fs-2xl);font-family:var(--font-title);color:var(--text);font-style:normal;font-weight:400;line-height:1.2}.subheader{font-family:var(--font-title);font-size:var(--fs-xl);color:var(--accent);font-weight:400;line-height:1.2}.body-1{font-family:var(--font-body);color:var(--text-secondary);line-height:1.5;font-size:var(--fs-md);font-optical-sizing:auto;font-style:normal;font-weight:400}.body-2{font-family:var(--font-body);color:var(--text);letter-spacing:-.01rem;line-height:1.5;font-size:var(--fs-lg);font-optical-sizing:auto;font-style:normal;font-weight:400}.body-3{font-family:var(--font-body);color:var(--text);letter-spacing:-.01rem;line-height:1.5;font-size:var(--fs-xl);font-optical-sizing:auto;font-style:normal;font-weight:400}.link{cursor:pointer;text-underline-offset:4px;color:var(--link);text-decoration-thickness:2px;-webkit-text-decoration-color:oklch(from var(--link) l c h / calc(alpha - .7));text-decoration-color:oklch(from var(--link) l c h / calc(alpha - .7))}.link:hover{-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}.balance{text-wrap-style:balance}.highlight{background-color:var(--bg-subtle);color:var(--accent)}.invert{color:var(--text-invert)}.semibold{font-weight:500}.bold{font-weight:600}.italic{font-style:italic}.list{margin:0;padding:0}[class*=list-item]{padding:0 0 0 var(--s-4);text-align:left;list-style-type:none;position:relative}[class*=list-item]:before{content:attr(data-bullet);color:var(--accent);position:absolute;top:0;left:0}.tag{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.03rem;font-weight:500;font-size:var(--fs-sm);padding:0 var(--s-1);background-color:var(--accent);color:var(--on-accent);border-radius:1rem}.divider{border-top:1px solid var(--bg-subtle)}.project-view{max-width:54rem;padding:var(--s-6) var(--s-4);margin-inline:auto}.group-two{gap:var(--s-4);display:grid}@media (width>=400px){.group-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.group-three{gap:var(--s-4);display:grid}@media (width>=400px){.group-three{grid-template-columns:repeat(3,minmax(0,1fr))}}.image-lg{background-color:var(--bg-subtle);overflow:hidden}.fill-subtle{background-color:var(--bg-subtle)}.fill-bright{background-color:var(--accent)}
