:root{--c-stone:#0a0a0a;--c-stone-deep:#151515;--c-raised:#1f1f1f;--c-line:#2a2a2a;--c-sand:#e6dcc8;--c-bronze:#cdbf9f;--c-muted:#9b978f;--c-ink:#f4f1ea;--c-charcoal:#141414;--c-black:#0a0a0a;--c-peach:#f2ece0;--viz-chrome:#222;--viz-chrome-2:#303030;--viz-chrome-text:#a8a5a0;--viz-paper:#181818;--viz-panel:#121212;--viz-line:#2e2e2e;--viz-ink:#f4f1ea;--viz-muted:#8f8b84;--viz-clay:#cdbf9f;--viz-sage:#3ccf8e;--bg:var(--c-stone);--surface:var(--c-stone-deep);--fg:var(--c-ink);--fg-muted:var(--c-muted);--rule:var(--c-line);--accent:var(--c-bronze);--font:"Satoshi", ui-sans-serif, system-ui, sans-serif;--font-display:"Clash Display", "Satoshi", ui-sans-serif, sans-serif;--font-serif:"Instrument Serif", ui-serif, Georgia, serif;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fs-display:clamp(3rem, 1.6rem + 6.2vw, 9.25rem);--fs-h1:clamp(2.625rem, 1.7rem + 4.4vw, 7rem);--fs-h2:clamp(2.125rem, 1.5rem + 2.9vw, 4.75rem);--fs-h3:clamp(1.5rem, 1.25rem + 1.05vw, 2.375rem);--fs-h4:clamp(1.1875rem, 1.1rem + .35vw, 1.5rem);--fs-lead:clamp(1.125rem, 1.04rem + .38vw, 1.4375rem);--fs-body:1rem;--fs-small:.875rem;--fs-label:.8125rem;--lh-display:.94;--lh-heading:1;--lh-snug:1.2;--lh-body:1.55;--tr-display:-.025em;--tr-heading:-.02em;--tr-snug:-.02em;--tr-body:-.005em;--cols:12;--margin:clamp(1.25rem, .6rem + 2.9vw, 4rem);--gutter:clamp(1rem, .75rem + 1vw, 1.75rem);--max:1760px;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:clamp(3rem, 2.4rem + 2.6vw, 5rem);--s-9:clamp(4.5rem, 3.4rem + 4.8vw, 8rem);--s-section:clamp(6rem, 4rem + 9vw, 13rem);--radius:18px;--radius-sm:10px;--radius-lg:28px;--radius-pill:999px;--hairline:1px solid var(--rule);--header-h:4.75rem;--ease-out:cubic-bezier(.19, 1, .22, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--d-fast:.22s;--d-base:.45s;--d-reveal:1.1s;--d-image:1.4s;--d-page:.9s;--stagger-line:85ms;--stagger-item:70ms;--rise:1.75rem;color-scheme:dark}[data-theme=dark]{--bg:var(--c-charcoal);--surface:#1c1c1c;--fg:var(--c-ink);--fg-muted:var(--c-muted);--rule:#2c2c2c;--accent:var(--c-bronze);color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--d-fast:0s;--d-base:0s;--d-reveal:0s;--d-image:0s;--d-page:0s}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;background:var(--c-stone)}body{min-height:100svh;font-family:var(--font);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);letter-spacing:var(--tr-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}img,svg,video{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0}ul,ol{list-style:none}::selection,[data-theme=dark] ::selection{background:var(--c-bronze);color:var(--c-black)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{top:var(--s-3);left:var(--s-3);z-index:100;padding:var(--s-3) var(--s-4);background:var(--c-ink);color:var(--c-black);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-theme]{background:var(--bg);color:var(--fg)}.t-display,.t-h1,.t-h2,.t-h3,.t-h4{font-family:var(--font-display);font-weight:var(--fw-medium);text-wrap:balance;font-kerning:normal}.t-display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tr-display)}.t-h1{font-size:var(--fs-h1);line-height:var(--lh-display);letter-spacing:var(--tr-display)}.t-h2{font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--tr-heading)}.t-h3{font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:var(--tr-snug)}.t-h4{font-size:var(--fs-h4);line-height:var(--lh-snug);letter-spacing:var(--tr-snug)}.t-lead{font-size:var(--fs-lead);letter-spacing:-.012em;text-wrap:pretty;line-height:1.42}.t-body{font-size:var(--fs-body);text-wrap:pretty}.t-small{font-size:var(--fs-small);line-height:1.5}.t-label{font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:0;line-height:1.3}.t-muted{color:var(--fg-muted)}p{text-wrap:pretty}:is(.t-display,.t-h1,.t-h2,.t-h3) em{font-family:var(--font-serif);letter-spacing:-.01em;padding-right:.04em;font-style:italic;font-weight:400}.line-mask{margin-bottom:-.1em;padding-bottom:.1em}.wrap{width:100%;max-width:calc(var(--max) + var(--margin) * 2);padding-inline:var(--margin);margin-inline:auto}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);display:grid}.grid>*{grid-column:1/-1;min-width:0}@media (width<=899px){:root{--cols:6}}@media (width<=599px){:root{--cols:4}}.section{padding-block:var(--s-section)}.section-head{margin-bottom:var(--s-8);row-gap:var(--s-4);align-items:end}.section-head+.section-head{margin-top:var(--s-9)}.cards{row-gap:var(--gutter)}@media (width>=900px){.section-head>:first-child{grid-column:1/span 8}.section-head>:nth-child(2){grid-column:9/-1}.cards>.span-4{grid-column:span 4}.cards>.span-8{grid-column:span 8}.cards>.span-6{grid-column:span 6}}.page-hero{padding-top:calc(var(--header-h) + var(--s-9));padding-bottom:var(--s-9)}.page-hero .grid{row-gap:var(--s-6);align-items:end}.page-hero__lead{max-width:34rem}@media (width>=900px){.page-hero__title{grid-column:1/span 8}.page-hero__lead{grid-column:9/-1}}.section--tight{padding-block:var(--s-9)}.rule{border-top:var(--hairline)}.grid-overlay{z-index:90;pointer-events:none;display:none;position:fixed;inset:0}.grid-overlay.is-on{display:block}.grid-overlay .grid{height:100%}.grid-overlay .grid>span{background:#8e745c14;border-inline:1px solid #8e745c2e;grid-column:auto}.btn{--btn-h:3.375rem;align-items:center;gap:var(--s-4);height:var(--btn-h);font-size:.9375rem;font-weight:var(--fw-medium);letter-spacing:-.01em;background:var(--fg);color:var(--bg);border-radius:var(--radius-pill);transition:background-color var(--d-fast) var(--ease-soft), color var(--d-fast) var(--ease-soft);white-space:nowrap;padding-inline:1.625rem;display:inline-flex}.btn:hover{background:var(--accent);color:var(--c-black)}[data-theme=dark] .btn:hover{color:var(--c-black)}.btn--small{--btn-h:2.75rem;padding-inline:1.25rem;font-size:.875rem}.btn--outline{color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg);background:0 0}.btn--outline:hover{background:var(--fg);color:var(--bg)}.roll{line-height:1.2;display:inline-grid;overflow:hidden}.roll>span{transition:transform var(--d-base) var(--ease-out);grid-area:1/1}.roll>span+span{transform:translateY(110%)}@media (hover:hover){:is(a,button):not([data-menu-toggle]):hover>.roll>span:first-child{transform:translateY(-110%)}:is(a,button):not([data-menu-toggle]):hover>.roll>span+span{transform:none}:is(a,button):hover>.arrow{transform:translate(.25em)}}:is(a,button):not([data-menu-toggle]):focus-visible>.roll>span:first-child{transform:translateY(-110%)}:is(a,button):not([data-menu-toggle]):focus-visible>.roll>span+span{transform:none}.arrow{width:.875em;height:.875em;transition:transform var(--d-base) var(--ease-out);flex:none}.link{align-items:center;gap:var(--s-3);font-weight:var(--fw-medium);transition:background-size var(--d-base) var(--ease-out), color var(--d-fast);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:.2em;display:inline-flex}.link:hover,.link--quiet{background-position:100% 100%;background-size:0 1px}.link--quiet:hover,.link--quiet[aria-current=page]{background-position:0 100%;background-size:100% 1px}.media{border-radius:var(--radius);background:var(--surface);isolation:isolate;position:relative;overflow:hidden}.media__inner{position:absolute;inset:0}.media__inner--parallax{inset:-8% 0}.media img{object-fit:cover;width:100%;height:100%}.field{gap:var(--s-2);display:grid}.field label{color:var(--fg-muted);transition:color var(--d-fast)}.field:focus-within label{color:var(--fg)}.field input,.field textarea{width:100%;padding:var(--s-3) 0;font-size:var(--fs-lead);letter-spacing:-.01em;border:0;border-bottom:1px solid var(--rule);transition:border-color var(--d-base) var(--ease-soft);background:0 0;border-radius:0;outline:none}.field textarea{resize:vertical;min-height:7.5rem;line-height:1.45}.field input:focus,.field textarea:focus{border-color:var(--fg)}.field[data-invalid] input{border-color:#ff7a5c}.field__error{color:#ff7a5c;min-height:0}.field__error:empty{display:none}.rows>*{border-top:var(--hairline)}.rows>:last-child{border-bottom:var(--hairline)}.card{border-radius:var(--radius);gap:var(--s-4);background:var(--surface);color:var(--fg);align-content:start;padding:clamp(1.25rem,.9rem + 1.2vw,2.25rem);display:grid}.card--raised{background:var(--c-raised)}[data-theme=dark] .card--raised{background:#1b1a18}a.card{transition:background-color var(--d-base) var(--ease-soft)}a.card:hover{background:var(--c-line)}.icon-draw{width:3rem;height:3rem;color:var(--fg);overflow:visible}.icon-draw .d{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square}.icon-draw .f{fill:var(--icon-bg,transparent)}.icon-draw .mv{transform-box:view-box;transition:transform 1.3s var(--ease-out) .85s}html.js:not(.motion-off) .icon-draw .d{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.2s var(--ease-out) calc(.3s + var(--i,0) * .16s)}html.js:not(.motion-off) .icon-draw.is-drawn .d{stroke-dashoffset:0}html.js:not(.motion-off) .icon-draw.is-drawn .mv{transform:none}.list-marked{gap:var(--s-3);display:grid}.list-marked>li{gap:var(--s-3);align-items:baseline;display:flex}.list-marked>li:before{content:"";background:var(--accent);flex:none;width:.375rem;height:.375rem;transform:translateY(-.2em)}html.js:not(.motion-off) [data-split]{visibility:hidden}html.js:not(.motion-off) [data-fade],html.js:not(.motion-off) [data-stagger]>*{opacity:0;transform:translateY(var(--rise))}html.js:not(.motion-off) [data-reveal]{clip-path:inset(100% 0 0)}html.js.morph-in [data-morph-target]{clip-path:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}@view-transition{navigation:auto}::view-transition{background:var(--c-charcoal)}::view-transition-old(root){animation:vt-sink var(--d-page) var(--ease-in-out) both}::view-transition-new(root){animation:vt-rise var(--d-page) var(--ease-in-out) both}@keyframes vt-sink{to{opacity:.35;transform:translateY(-8vh)scale(.98)}}@keyframes vt-rise{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.site-header{view-transition-name:site-header}::view-transition-group(site-header){z-index:10;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-group(project-hero){animation-duration:var(--d-page);animation-timing-function:var(--ease-in-out)}::view-transition-image-pair(project-hero){isolation:isolate}::view-transition-new(project-hero):only-child{animation:vt-rise var(--d-page) var(--ease-in-out) both}::view-transition-old(project-hero):only-child{animation:vt-sink var(--d-page) var(--ease-in-out) both}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}html,body{overflow-x:clip}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:var(--header-h);color:var(--c-ink);transition:transform .7s var(--ease-out), background-color var(--d-base) var(--ease-soft), box-shadow var(--d-base) var(--ease-soft);position:fixed;inset:0 0 auto}.site-header[data-astro-cid-nen7h5rs][data-hidden]{transform:translateY(-101%)}.site-header[data-astro-cid-nen7h5rs][data-menu-open]{box-shadow:none;color:var(--c-ink);background:0 0;transform:none}.site-header__inner[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--gutter);grid-template-columns:1fr auto 1fr;height:100%;display:grid}.site-header__logo[data-astro-cid-nen7h5rs]{justify-self:start}.site-header__logo[data-astro-cid-nen7h5rs] .logo{width:5.75rem;height:auto}.site-header__nav[data-astro-cid-nen7h5rs]{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(12px);background:#141414b3;gap:.25rem;padding:.3rem;font-size:.9375rem;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.site-header__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-pill);transition:background-color var(--d-fast), color var(--d-fast);background-image:none;padding:.45rem 1rem}.site-header__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background-color:#ffffff14}.site-header__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{background-color:var(--c-ink);color:var(--c-black)}.site-header__end[data-astro-cid-nen7h5rs]{justify-self:end;align-items:center;gap:var(--s-5);display:flex}.lang[data-astro-cid-nen7h5rs]{font-size:var(--fs-label);font-weight:var(--fw-medium);gap:.875rem;display:flex}.site-header[data-astro-cid-nen7h5rs] .lang[data-astro-cid-nen7h5rs],.site-header[data-astro-cid-nen7h5rs] .menu-toggle[data-astro-cid-nen7h5rs]{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(12px);background:#141414b3;padding:.55rem 1rem;box-shadow:inset 0 0 0 1px #ffffff14}.site-header[data-astro-cid-nen7h5rs] .menu-toggle[data-astro-cid-nen7h5rs]{height:auto;padding-inline:1.125rem}.lang__item[data-astro-cid-nen7h5rs]{color:var(--fg-muted,var(--c-muted));transition:color var(--d-fast)}.lang__item[data-astro-cid-nen7h5rs]:hover,.lang__item[data-astro-cid-nen7h5rs].is-current{color:currentColor}.site-header[data-astro-cid-nen7h5rs] .lang__item[data-astro-cid-nen7h5rs]{color:#f4f1ea73}.site-header[data-astro-cid-nen7h5rs] .lang__item[data-astro-cid-nen7h5rs].is-current,.site-header[data-astro-cid-nen7h5rs] .lang__item[data-astro-cid-nen7h5rs]:hover{color:var(--c-ink)}.menu-toggle[data-astro-cid-nen7h5rs]{font-size:.9375rem;font-weight:var(--fw-medium);height:2.75rem;display:none}.menu-toggle[data-astro-cid-nen7h5rs][aria-expanded=true]>.roll[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(-110%)}.menu-toggle[data-astro-cid-nen7h5rs][aria-expanded=true]>.roll[data-astro-cid-nen7h5rs]>span[data-astro-cid-nen7h5rs]+span[data-astro-cid-nen7h5rs]{transform:none}@media (width<=899px){.site-header__inner[data-astro-cid-nen7h5rs]{grid-template-columns:1fr auto}.site-header__nav[data-astro-cid-nen7h5rs],.site-header__end[data-astro-cid-nen7h5rs] .lang[data-astro-cid-nen7h5rs],.site-header__cta[data-astro-cid-nen7h5rs]{display:none}.menu-toggle[data-astro-cid-nen7h5rs]{display:block}}.menu[data-astro-cid-nen7h5rs]{z-index:49;clip-path:inset(0 0 100%);position:fixed;inset:0}.menu[data-astro-cid-nen7h5rs][hidden]{display:none}.menu__inner[data-astro-cid-nen7h5rs]{height:100%;padding-top:calc(var(--header-h) + var(--s-8));padding-bottom:var(--s-6);flex-direction:column;justify-content:space-between;display:flex}.menu__nav[data-astro-cid-nen7h5rs]{flex-direction:column;gap:.15em;display:flex}.menu__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{width:fit-content;display:block}.menu__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--c-sand)}.menu__foot[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:end;gap:var(--s-4);flex-wrap:wrap;display:flex}.cta[data-astro-cid-jo6i4kqk]{padding-bottom:var(--s-9)}.cta[data-astro-cid-jo6i4kqk] .grid[data-astro-cid-jo6i4kqk]{row-gap:var(--s-7);align-items:end}.cta__title[data-astro-cid-jo6i4kqk]{grid-column:1/span 8}.cta__body[data-astro-cid-jo6i4kqk]{gap:var(--s-6);max-width:30rem;display:grid}@media (width>=900px){.cta__body[data-astro-cid-jo6i4kqk]{grid-area:2/1/auto/span 4;align-self:end}.cta__media[data-astro-cid-jo6i4kqk]{grid-area:2/5/auto/-1}}.footer[data-astro-cid-jo6i4kqk]{padding-bottom:var(--s-5)}.footer__top[data-astro-cid-jo6i4kqk]{padding-top:var(--s-8);row-gap:var(--s-7)}.footer__brand[data-astro-cid-jo6i4kqk]{gap:var(--s-5);max-width:34rem;display:grid}.footer__logo{width:7rem;height:auto;margin-bottom:var(--s-3)}.footer__nav[data-astro-cid-jo6i4kqk]{align-items:flex-start;gap:var(--s-3);font-size:var(--fs-lead);flex-direction:column;display:flex}@media (width>=900px){.footer__brand[data-astro-cid-jo6i4kqk]{grid-column:1/span 8}.footer__nav[data-astro-cid-jo6i4kqk]{grid-column:9/-1}}.footer__mail[data-astro-cid-jo6i4kqk]{width:fit-content;max-width:100%;margin-block:var(--s-9) var(--s-7);font-size:min(clamp(1.75rem, .6rem + 5.6vw, 7.5rem), calc((100vw - var(--margin) * 2) / 11.5));white-space:nowrap;display:block}.footer__mail[data-astro-cid-jo6i4kqk]:hover{color:var(--c-sand)}.footer__mail[data-astro-cid-jo6i4kqk] .roll[data-astro-cid-jo6i4kqk]{line-height:1.05}.footer__mail[data-astro-cid-jo6i4kqk] .roll[data-astro-cid-jo6i4kqk]>span[data-astro-cid-jo6i4kqk]{padding-bottom:.16em}.footer__base[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--s-4) var(--s-6);padding-top:var(--s-5);border-top:var(--hairline);flex-wrap:wrap;display:flex}.footer__base[data-astro-cid-jo6i4kqk]>[data-astro-cid-jo6i4kqk]:first-child{margin-right:auto}.footer__legal[data-astro-cid-jo6i4kqk]{gap:var(--s-4);display:flex}.lang[data-astro-cid-jo6i4kqk]{font-weight:var(--fw-medium);gap:.875rem;display:flex}.lang__item[data-astro-cid-jo6i4kqk]{color:var(--fg-muted)}.lang__item[data-astro-cid-jo6i4kqk].is-current,.lang__item[data-astro-cid-jo6i4kqk]:hover{color:var(--fg)}.cookie[data-astro-cid-hq3mgpmn]{z-index:60;right:var(--margin);bottom:var(--margin);width:min(24rem, calc(100vw - var(--margin) * 2));gap:var(--s-3);padding:var(--s-5);background:var(--c-raised);color:var(--c-ink);border-radius:var(--radius);box-shadow:0 0 0 1px var(--c-line), 0 24px 48px -24px #0009;transition:opacity var(--d-base) var(--ease-soft), transform var(--d-base) var(--ease-out);display:grid;position:fixed}.cookie[data-astro-cid-hq3mgpmn][hidden]{display:none}.cookie[data-astro-cid-hq3mgpmn][data-leaving]{opacity:0;transform:translateY(1rem)}.cookie__actions[data-astro-cid-hq3mgpmn]{gap:var(--s-3);margin-top:var(--s-2);display:flex}
