/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentColor}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.dot.astro-2ochuadx{fill:var(--color-accent)}.letters.astro-2ochuadx{fill:currentColor}.top.astro-jo6i4kqk{padding-block:var(--space-2);position:relative;overflow:hidden}@media screen and (width>=55em){.top.astro-jo6i4kqk{padding-block:0}}.wordmark.astro-jo6i4kqk{width:108%;max-width:none;height:auto;color:var(--color-surface);--color-accent:var(--color-surface);position:absolute;bottom:0;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 50%,#0000);mask-image:linear-gradient(#000 50%,#0000)}@media screen and (width>=55em){.wordmark.astro-jo6i4kqk{width:100%;position:static;transform:none}}.top--no-claim.astro-jo6i4kqk{padding-block:0}@media screen and (width<=54.99em){.top--no-claim.astro-jo6i4kqk .wordmark.astro-jo6i4kqk{position:relative}}.claim-layer.astro-jo6i4kqk{position:relative}@media screen and (width>=55em){.claim-layer.astro-jo6i4kqk{position:absolute;inset:auto 0 25%}}.claim.astro-jo6i4kqk{color:var(--color-text);font-weight:var(--weight-medium);font-size:var(--text-h2-size);line-height:var(--text-h2-lh);grid-column:1/-1}.claim.astro-jo6i4kqk span.astro-jo6i4kqk{display:block}@media screen and (width>=55em){.claim.astro-jo6i4kqk{white-space:nowrap;container-type:inline-size}.claim.astro-jo6i4kqk span.astro-jo6i4kqk{font-size:min(var(--text-display-s-size), calc(100cqi / 14.6));line-height:1.1;display:inline}}.bottom.astro-jo6i4kqk{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);max-width:none;padding-block:var(--space-2);color:var(--color-text-muted);flex-wrap:wrap-reverse;display:flex}nav.astro-jo6i4kqk{gap:var(--space-4);display:flex}.site-header.astro-nen7h5rs{z-index:1000;background:var(--color-header-bg);-webkit-backdrop-filter:blur(var(--header-blur));transition:transform var(--duration-header) var(--ease-header);position:fixed;inset:0 0 auto}.site-header.astro-nen7h5rs.is-hidden{transform:translateY(-100%)}.site-header.astro-nen7h5rs:focus-within{transform:none}@media (prefers-reduced-motion:reduce){.site-header.astro-nen7h5rs{transition:none}}.container.astro-nen7h5rs{max-width:none;padding-block:var(--space-1-5);justify-content:space-between;align-items:center;display:flex}@media screen and (width>=48em){.container.astro-nen7h5rs{padding-block:var(--space-2)}}.home.astro-nen7h5rs{color:var(--color-text);border-radius:.25rem;display:block}.logo.astro-nen7h5rs{width:auto;height:1.5rem}@media screen and (width>=48em){.logo.astro-nen7h5rs{height:1.75rem}}:root{color-scheme:dark;--color-bg:#121212;--color-surface:#333;--color-text:#fff;--color-text-muted:#d9d9d9;--color-accent:#5cfb95;--color-on-accent:var(--color-bg);--accent-rgb:92, 251, 149;--color-accent-10:rgba(var(--accent-rgb), .1);--color-accent-25:rgba(var(--accent-rgb), .25);--color-accent-50:rgba(var(--accent-rgb), .5);--color-header-bg:#121212bf;--header-blur:16px;--font-family:"Poppins", "Helvetica Neue", Arial, sans-serif;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--text-display-size:clamp(3rem, 1.8857rem + 4.5714vw, 6rem);--text-display-lh:clamp(3.5rem, 2.3857rem + 4.5714vw, 6.5rem);--text-display-s-size:clamp(2.5rem, 1.5714rem + 3.8095vw, 5rem);--text-display-s-lh:clamp(3rem, 2.0714rem + 3.8095vw, 5.5rem);--text-h2-size:clamp(2rem, 1.6286rem + 1.5238vw, 3rem);--text-h2-lh:clamp(2.5rem, 1.9429rem + 2.2857vw, 4rem);--text-lead-size:clamp(1.5rem, 1.3143rem + .7619vw, 2rem);--text-lead-lh:clamp(2rem, 1.6286rem + 1.5238vw, 3rem);--text-body-l-size:clamp(1rem, .8143rem + .7619vw, 1.5rem);--text-body-l-lh:clamp(1.5rem, 1.2214rem + 1.1429vw, 2.25rem);--text-h3-size:clamp(1.25rem, .9714rem + 1.1429vw, 2rem);--text-h3-lh:clamp(1.75rem, 1.4714rem + 1.1429vw, 2.5rem);--text-body-m-size:clamp(1rem, .9536rem + .1905vw, 1.125rem);--text-body-m-lh:clamp(1.5rem, 1.4304rem + .2857vw, 1.6875rem);--text-body-size:1rem;--text-body-lh:1.5rem;--text-label-size:clamp(.875rem, .8286rem + .1905vw, 1rem);--text-label-lh:clamp(1.25rem, 1.1571rem + .381vw, 1.5rem);--text-eyebrow-size:clamp(.75rem, .7036rem + .1905vw, .875rem);--text-eyebrow-lh:clamp(1rem, .9071rem + .381vw, 1.25rem);--space-1:.5rem;--space-1-5:.75rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:4rem;--space-7:8rem;--space-8:10rem;--radius-tile:clamp(1rem, .8143rem + .7619vw, 1.5rem);--radius-pill:9999px;--page-max:120rem;--page-pad:1rem;--section-gap:4rem;--hero-pad:clamp(6rem, var(--section-gap), 8rem);--grid-columns:4;--grid-gap:var(--space-2);--touch-target:3rem;--ease-arrive:cubic-bezier(.16, .84, .3, 1);--ease-leave:cubic-bezier(.6, 0, .9, .4);--ease-header:cubic-bezier(.3, .7, .3, 1);--duration-header:.35s;--duration-tile:.5s;--duration-ripple:.5s}@media screen and (width>=24.375em){:root{--page-pad:1.5rem}}@media screen and (width>=48em){:root{--page-pad:2rem;--section-gap:6rem;--grid-columns:8;--grid-gap:var(--space-4)}}@media screen and (width>=64em){:root{--page-pad:3rem;--section-gap:8rem;--grid-columns:12}}@media screen and (width>=90em){:root{--page-pad:4rem;--section-gap:10rem}}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);min-height:100svh;color:var(--color-text-muted);font-family:var(--font-family);font-weight:var(--weight-regular);font-size:var(--text-body-size);line-height:var(--text-body-lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;display:flex}h1,h2,h3,p,ul,figure,blockquote{margin:0}h1,h2,h3{color:var(--color-text);font-weight:var(--weight-medium)}ul{padding:0}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.text-display{font-size:var(--text-display-size);line-height:var(--text-display-lh);font-weight:var(--weight-semibold)}.text-display-s{font-size:var(--text-display-s-size);line-height:var(--text-display-s-lh);font-weight:var(--weight-medium)}.text-h2{font-size:var(--text-h2-size);line-height:var(--text-h2-lh);font-weight:var(--weight-medium)}.text-lead{font-size:var(--text-lead-size);line-height:var(--text-lead-lh);font-weight:var(--weight-regular)}.text-body-l{font-size:var(--text-body-l-size);line-height:var(--text-body-l-lh);font-weight:var(--weight-regular)}.text-h3{font-size:var(--text-h3-size);line-height:var(--text-h3-lh);font-weight:var(--weight-semibold)}.text-body-m{font-size:var(--text-body-m-size);line-height:var(--text-body-m-lh);font-weight:var(--weight-regular)}.text-body{font-size:var(--text-body-size);line-height:var(--text-body-lh);font-weight:var(--weight-regular)}.text-label{font-size:var(--text-label-size);line-height:var(--text-label-lh);font-weight:var(--weight-semibold)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:1001;padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-weight:var(--weight-semibold);transform:translateY(calc(-100% - var(--space-4)));position:fixed}.skip-link:focus{transform:none}main:focus{outline:none}.container{box-sizing:border-box;width:100%;max-width:var(--page-max);padding-inline:var(--page-pad);margin-inline:auto}.grid{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));column-gap:var(--grid-gap);display:grid}.section{padding-block:var(--section-gap)}.split{row-gap:var(--space-4);align-items:start}.split>*{grid-column:1/-1}@media screen and (width>=64em){.split>:nth-child(odd of :not(script,style)){grid-column:1/span 6}.split>:nth-child(2n of :not(script,style)){grid-column:7/span 6}}.button{border-radius:var(--radius-pill);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;display:inline-flex;position:relative}.button:after{content:"";height:max(100%, var(--touch-target));position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.button:focus-visible{outline:none}.button:focus-visible .button-surface{outline:2px solid var(--color-accent);outline-offset:3px}.button-surface{--border:2px;isolation:isolate;border:var(--border) solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);white-space:nowrap;transition:color .3s var(--ease-arrive);align-items:center;display:inline-flex;position:relative;overflow:hidden}.button-surface:before{content:"";z-index:-1;left:var(--ripple-x,50%);top:var(--ripple-y,50%);width:calc(var(--ripple-r,12rem) * 2);height:calc(var(--ripple-r,12rem) * 2);background:var(--ripple-fill,var(--color-bg));transition:transform var(--duration-ripple) var(--ease-arrive);border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}.is-on>.button-surface{color:var(--color-accent)}.is-on>.button-surface:before{transform:translate(-50%,-50%)scale(1)}@media (prefers-reduced-motion:reduce){.button-surface,.button-surface:before{transition:none}}.button--default .button-surface{padding:calc(var(--space-1-5) - var(--border)) calc(var(--space-3) - var(--border))}@media screen and (width>=48em){.button--default .button-surface{padding:calc(var(--space-1-5) - var(--border)) calc(var(--space-4) - var(--border))}}.button--compact .button-surface{padding:calc(var(--space-1) - var(--border)) calc(var(--space-3) - var(--border))}@media screen and (width>=48em){.button--compact .button-surface{padding:calc(var(--space-1-5) - var(--border)) calc(var(--space-4) - var(--border))}}.icon-button .button-surface{--ripple-fill:var(--color-surface);width:var(--touch-target);height:var(--touch-target);border-color:var(--color-surface);color:var(--color-text-muted);background:0 0;justify-content:center}.icon-button .button-surface svg{width:1.5rem;height:1.5rem}.icon-button.is-on .button-surface{color:var(--color-text)}.icon-button--flip svg{transform:rotate(180deg)}button.button{cursor:pointer;background:0 0;border:0;padding:0}.link-wipe{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:var(--wipe-from,left) 100%;transition:background-size .35s var(--ease-arrive);background-size:0 2px}.link-wipe.is-on,.link-wipe:focus-visible{background-size:100% 2px}@media (prefers-reduced-motion:reduce){.link-wipe{transition:none}}.link-underline{text-underline-offset:.25em;text-decoration:underline 1px #0000;transition:text-decoration-color .2s}.link-underline:hover,.link-underline:focus-visible{text-decoration-color:currentColor}@media (prefers-reduced-motion:reduce){.link-underline{transition:none}}main{flex:1 0 auto;position:relative;overflow-x:clip}main>section{z-index:1;position:relative}.focus-glow{z-index:0;pointer-events:none;height:0;position:absolute;inset:0 0 auto}.glow{mix-blend-mode:screen;opacity:0;will-change:transform;border-radius:50%;position:absolute;top:0;left:0}.focus-dot{width:.22em;height:.22em;margin-left:var(--space-1);background:var(--color-accent);opacity:0;border-radius:50%;display:inline-block}.is-active>.focus-dot,.focus-dot.on{opacity:1}.focus-dot.in-top{animation:focus-in-top .6s var(--ease-arrive) .12s both}.focus-dot.in-bottom{animation:focus-in-bottom .6s var(--ease-arrive) .12s both}.focus-dot.out-down{animation:focus-out-down .38s var(--ease-leave) both}.focus-dot.out-up{animation:focus-out-up .38s var(--ease-leave) both}@media (prefers-reduced-motion:reduce){.focus-dot.in-top,.focus-dot.in-bottom{animation:.2s both focus-fade-in}.focus-dot.out-down,.focus-dot.out-up{animation:.2s both focus-fade-out}}@keyframes focus-in-top{0%{opacity:0;filter:blur(.12em);transform:translateY(-1.1em)}to{opacity:1;filter:blur();transform:none}}@keyframes focus-in-bottom{0%{opacity:0;filter:blur(.12em);transform:translateY(1.1em)}to{opacity:1;filter:blur();transform:none}}@keyframes focus-out-down{0%{opacity:1;filter:blur();transform:none}to{opacity:0;filter:blur(.12em);transform:translateY(.8em)}}@keyframes focus-out-up{0%{opacity:1;filter:blur();transform:none}to{opacity:0;filter:blur(.12em);transform:translateY(-.8em)}}@keyframes focus-fade-in{0%{opacity:0}to{opacity:1}}@keyframes focus-fade-out{0%{opacity:1}to{opacity:0}}.hero-intro h1,.hero-intro p{opacity:0;animation:1.1s cubic-bezier(.2,.7,.2,1) forwards focus-sharpen}.hero-intro h1{animation-delay:.45s}.hero-intro p{animation-delay:.7s}@media (prefers-reduced-motion:reduce){.hero-intro h1,.hero-intro p{opacity:1;animation:none}}[data-reveal].is-pending{opacity:0;filter:blur(16px)}[data-reveal].is-revealed{animation:.55s cubic-bezier(.2,.7,.2,1) backwards focus-sharpen}@keyframes focus-sharpen{0%{opacity:0;filter:blur(16px)}to{opacity:1;filter:blur()}}
