:root{--fp-black: #0c0714;--fp-navy: #130550;--fp-purple: #45108a;--fp-pink: #b4299a;--fp-blue: #4153bf;--fp-teal: #3796b4;--fp-orange: #ff7e17;--fp-red: #ef2619;--bg: #0a0612;--bg-raised: #110b1d;--surface: #150e24;--surface-2: #1c1430;--line: rgb(232 224 255 / .08);--line-strong: rgb(232 224 255 / .16);--text: #f4f1fb;--text-2: #bdb4d1;--text-3: #8a809f;--violet: #9b6bff;--magenta: #e45bc8;--teal: #5cc6e0;--orange: var(--fp-orange);--spectrum: linear-gradient(100deg, #9b6bff 0%, #e45bc8 48%, #ff7e17 100%);--paper: #f6f3fb;--paper-2: #ece6f6;--ink: #0c0714;--ink-2: #4a4060;--ink-3: #7a7090;--paper-line: rgb(12 7 20 / .1);--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Instrument Serif", ui-serif, Georgia, serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--step--1: clamp(.8rem, .78rem + .1vw, .86rem);--step-0: clamp(1rem, .97rem + .15vw, 1.08rem);--step-1: clamp(1.15rem, 1.08rem + .35vw, 1.35rem);--step-2: clamp(1.4rem, 1.25rem + .7vw, 1.85rem);--step-3: clamp(1.8rem, 1.5rem + 1.4vw, 2.7rem);--step-4: clamp(2.3rem, 1.75rem + 2.6vw, 4rem);--step-5: clamp(2.7rem, 1.8rem + 4.2vw, 5.6rem);--gutter: clamp(1rem, .5rem + 2.5vw, 2.5rem);--max: 1240px;--radius: 14px;--radius-lg: 22px;--header-h: 72px;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.6;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,svg,video{display:block;max-width:100%}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4{overflow-wrap:break-word}h1,h2,h3,h4{font-weight:550;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--fp-pink);color:#fff}:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:6px}.container{width:min(100% - 2 * var(--gutter),var(--max));margin-inline:auto}.section{padding-block:clamp(4.5rem,3rem + 7vw,9rem);position:relative}.section--tight{padding-block:clamp(3rem,2rem + 4vw,5.5rem)}.stack>*+*{margin-top:var(--space, 1rem)}.paper{background:var(--paper);color:var(--ink);color-scheme:light;--line: var(--paper-line);--line-strong: rgb(12 7 20 / .18);--text: var(--ink);--text-2: var(--ink-2);--text-3: var(--ink-3);--surface: #fff;--surface-2: var(--paper-2)}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}.eyebrow:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--spectrum);box-shadow:0 0 12px #e45bc899}.paper .eyebrow:before{box-shadow:none}.display{font-size:var(--step-5);letter-spacing:-.045em;line-height:.98}.h1{font-size:var(--step-4)}.h2{font-size:var(--step-3)}.h3{font-size:var(--step-2);letter-spacing:-.025em;line-height:1.15}.lede{font-size:var(--step-1);color:var(--text-2);line-height:1.5;max-width:38rem}.muted{color:var(--text-2)}.mono{font-family:var(--font-mono)}em,.accent{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;padding-right:.04em}h1 em,h2 em,.display em{background:var(--spectrum);-webkit-background-clip:text;background-clip:text;color:transparent}.paper h1 em,.paper h2 em{background:linear-gradient(100deg,var(--fp-purple),var(--fp-pink) 60%,#d9590a);-webkit-background-clip:text;background-clip:text}.section-head{display:grid;gap:1.1rem;max-width:46rem;margin-bottom:clamp(2.5rem,2rem + 3vw,4.5rem)}.section-head--split{max-width:none;grid-template-columns:1fr;align-items:end}@media(min-width:900px){.section-head--split{grid-template-columns:1.2fr 1fr;gap:3rem}}.btn{--h: 48px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;height:var(--h);padding-inline:1.35rem;border-radius:999px;font-size:.95rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background-color .25s,border-color .25s,box-shadow .25s}.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn--primary{background:var(--text);color:var(--fp-black)}.btn--primary:hover{box-shadow:0 0 0 4px #9b6bff40,0 10px 40px -10px #e45bc899}.paper .btn--primary{background:var(--fp-black);color:#fff}.btn--ghost{border-color:var(--line-strong);color:var(--text);background:#ffffff05}.btn--ghost:hover{border-color:var(--text-3);background:#ffffff0d}.btn--sm{--h: 40px;padding-inline:1.05rem;font-size:.9rem}.link-arrow{display:inline-flex;align-items:center;gap:.45rem;font-weight:500;color:var(--text);border-bottom:1px solid var(--line-strong);padding-bottom:2px;transition:border-color .2s,gap .3s var(--ease)}.link-arrow:hover{border-color:currentColor;gap:.7rem}.link-arrow svg{width:14px;height:14px}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.4rem,1rem + 1.5vw,2rem)}.glow-border{position:relative;isolation:isolate}.glow-border:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;z-index:-1;background:radial-gradient(400px circle at var(--mx, 50%) var(--my, 0%),rgb(228 91 200 / .55),transparent 45%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s}.glow-border:hover:before{opacity:1}.chip{display:inline-flex;align-items:center;gap:.45rem;height:28px;padding-inline:.7rem;border-radius:999px;border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--text-2);background:#ffffff05}.dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px var(--teal)}.dot--orange{background:var(--orange);box-shadow:0 0 10px var(--orange)}.dot--pink{background:var(--magenta);box-shadow:0 0 10px var(--magenta)}.grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);opacity:.6}@media(prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d, 0s)}.js [data-reveal].is-in{opacity:1;transform:none}}.field{display:grid;gap:.45rem}.field label{font-size:.85rem;color:var(--text-2);font-weight:500}.input{width:100%;min-height:50px;padding:.8rem 1rem;border-radius:12px;background:#ffffff08;border:1px solid var(--line-strong);color:var(--text);transition:border-color .2s,box-shadow .2s,background .2s}.input::placeholder{color:var(--text-3)}.input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 4px #9b6bff2e;background:#ffffff0d}textarea.input{min-height:150px;resize:vertical}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23bdb4d1' stroke-width='1.5'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}select.input option{background:var(--surface)}.prose{font-size:1.075rem;line-height:1.75;color:var(--text-2);max-width:68ch}.prose>*+*{margin-top:1.25em}.prose h2{font-size:var(--step-2);color:var(--text);margin-top:2.2em;letter-spacing:-.025em;line-height:1.2}.prose h3{font-size:var(--step-1);color:var(--text);margin-top:1.8em;letter-spacing:-.02em;line-height:1.3}.prose h4{font-size:1.05rem;color:var(--text);margin-top:1.6em;letter-spacing:-.01em;line-height:1.35}.prose sup{font-family:var(--font-mono);font-size:.65em;color:var(--magenta);margin-left:.1em}.prose img+em,.prose p>img+em{display:block;margin-top:.6rem;font-size:.9rem;color:var(--text-3);text-align:center}.prose img{margin-inline:auto}.prose a{color:var(--text);text-decoration:underline;text-decoration-color:var(--magenta);text-underline-offset:3px}.prose strong{color:var(--text);font-weight:600}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--magenta)}.prose blockquote{border-left:2px solid;border-image:var(--spectrum) 1;padding:.2em 0 .2em 1.4em;font-family:var(--font-serif);font-style:italic;font-size:1.5em;line-height:1.35;color:var(--text)}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-2);padding:.15em .4em;border-radius:6px;color:var(--text)}.prose pre{background:var(--surface);border:1px solid var(--line);padding:1.2rem;border-radius:var(--radius);overflow-x:auto}.prose pre code{background:none;padding:0}.prose hr{border:0;height:1px;background:var(--line-strong);margin-block:2.5em}.prose img{border-radius:var(--radius)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-100px;z-index:100;background:var(--text);color:var(--bg);padding:.6rem 1rem;border-radius:8px}.skip-link:focus{top:1rem}.site-header[data-astro-cid-3ef6ksr2]{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);transition:background-color .35s,border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}.site-header[data-astro-cid-3ef6ksr2].is-scrolled,.site-header[data-astro-cid-3ef6ksr2].is-open{background:#0a0612b8;backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom-color:var(--line)}.bar[data-astro-cid-3ef6ksr2]{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand[data-astro-cid-3ef6ksr2] img[data-astro-cid-3ef6ksr2]{width:150px;height:auto}@media(min-width:640px){.brand[data-astro-cid-3ef6ksr2] img[data-astro-cid-3ef6ksr2]{width:168px}}.nav[data-astro-cid-3ef6ksr2]{display:none}.nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;gap:.25rem;list-style:none;padding:.3rem;border-radius:999px;border:1px solid var(--line);background:#ffffff06}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:.45rem .9rem;border-radius:999px;font-size:.92rem;color:var(--text-2);transition:color .2s,background-color .2s}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--text)}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--text);background:#ffffff14}.actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.6rem}.dash-link[data-astro-cid-3ef6ksr2]{display:none;font-size:.92rem;color:var(--text-2);padding:.5rem .75rem}.dash-link[data-astro-cid-3ef6ksr2]:hover{color:var(--text)}.actions[data-astro-cid-3ef6ksr2] .btn[data-astro-cid-3ef6ksr2]{display:none}.menu-btn[data-astro-cid-3ef6ksr2]{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#ffffff0a;border:1px solid var(--line-strong);cursor:pointer}.menu-btn[data-astro-cid-3ef6ksr2] .i-close,.is-open[data-astro-cid-3ef6ksr2] .menu-btn[data-astro-cid-3ef6ksr2] .i-open{display:none}.is-open[data-astro-cid-3ef6ksr2] .menu-btn[data-astro-cid-3ef6ksr2] .i-close{display:block}@media(min-width:1080px){.nav[data-astro-cid-3ef6ksr2]{display:block}.menu-btn[data-astro-cid-3ef6ksr2]{display:none}.actions[data-astro-cid-3ef6ksr2] .btn[data-astro-cid-3ef6ksr2],.dash-link[data-astro-cid-3ef6ksr2]{display:inline-flex}}.mobile[data-astro-cid-3ef6ksr2]{position:fixed;inset:var(--header-h) 0 0;background:#0a0612f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow-y:auto;padding-block:1.5rem 3rem}.mobile[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{list-style:none;padding:0;margin-bottom:2rem}.mobile[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--line)}.mobile[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;padding:1.15rem 0;font-size:1.6rem;font-weight:500;letter-spacing:-.03em}.mobile[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--magenta)}.mobile[data-astro-cid-3ef6ksr2] .btn[data-astro-cid-3ef6ksr2]{width:100%}@media(prefers-reduced-motion:no-preference){.mobile[data-astro-cid-3ef6ksr2]:not([hidden]) li[data-astro-cid-3ef6ksr2]{animation:slide-in .5s var(--ease) both;animation-delay:calc(var(--i) * 45ms)}}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}}@media(min-width:1080px){.mobile[data-astro-cid-3ef6ksr2]{display:none!important}}.newsletter[data-astro-cid-motrwrji]{display:grid;gap:1.75rem;align-items:center;padding:clamp(1.5rem,1rem + 2vw,2.5rem);border-radius:var(--radius-lg);border:1px solid var(--line);position:relative;overflow:hidden;background:radial-gradient(600px 200px at 0% 0%,rgb(155 107 255 / .14),transparent 70%),radial-gradient(500px 220px at 100% 100%,rgb(255 126 23 / .08),transparent 70%),var(--bg-raised)}@media(min-width:900px){.newsletter[data-astro-cid-motrwrji]{grid-template-columns:1fr 1.1fr;gap:3rem}}.copy[data-astro-cid-motrwrji] p[data-astro-cid-motrwrji]{color:var(--text-2);margin-top:.6rem;max-width:30rem;font-size:.97rem}.form[data-astro-cid-motrwrji]{display:grid;gap:.75rem;grid-template-columns:1fr}.hp[data-astro-cid-motrwrji]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(min-width:520px){.form[data-astro-cid-motrwrji]{grid-template-columns:1fr auto}}.form[data-astro-cid-motrwrji] .btn[data-astro-cid-motrwrji]{--h: 50px}.status[data-astro-cid-motrwrji]{grid-column:1 / -1;font-size:.88rem;color:var(--teal);min-height:1.2em}.status[data-astro-cid-motrwrji].err{color:#ff8a80}.footer[data-astro-cid-sz7xmlte]{position:relative;overflow:hidden;border-top:1px solid var(--line);padding-top:clamp(3rem,2rem + 4vw,5rem);background:linear-gradient(to bottom,var(--bg),#07040d)}.top[data-astro-cid-sz7xmlte]{display:grid;gap:3rem;padding-block:clamp(3rem,2rem + 4vw,5rem);border-bottom:1px solid var(--line)}@media(min-width:960px){.top[data-astro-cid-sz7xmlte]{grid-template-columns:1.1fr 1.6fr;gap:4rem}}.about[data-astro-cid-sz7xmlte] img[data-astro-cid-sz7xmlte]{width:170px;margin-bottom:1.5rem}.about[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{color:var(--text-2);max-width:34rem;font-size:.97rem}.mail[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.5rem;font-family:var(--font-mono);font-size:.9rem;color:var(--text);border-bottom:1px solid var(--line-strong);padding-bottom:3px}.mail[data-astro-cid-sz7xmlte]:hover{border-color:var(--magenta)}.cols[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(2,1fr);gap:2.25rem 1.5rem}@media(min-width:640px){.cols[data-astro-cid-sz7xmlte]{grid-template-columns:repeat(4,1fr)}}h3[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:1rem}ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;display:grid;gap:.6rem}ul[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text-2);font-size:.95rem;transition:color .2s}ul[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text)}.bottom[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.75rem;font-size:.85rem;color:var(--text-3)}.bottom[data-astro-cid-sz7xmlte] .mono[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.55rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.giant[data-astro-cid-sz7xmlte]{width:min(1400px,110%);max-width:none;margin:0 auto -6%;opacity:.05;position:relative;left:50%;transform:translate(-50%);mask-image:linear-gradient(to bottom,#000 30%,transparent 95%);-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 95%);pointer-events:none;user-select:none}
