@import"https://fonts.googleapis.com/css2?family=Geist:wght@300..700&family=JetBrains+Mono:wght@400;500&display=swap";.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg: #121f36;--bg-rise: #1a2845;--paper: #f2efe7;--paper-dim: #d4d0c6;--paper-mute:#8a8983;--paper-sub: #5a5854;--rule: #1f2c46;--rule-soft: #1a2540;--accent: #7eb4e8;--accent-h: #a4c8ee;--accent-d: #5b9bd6;--ff-body: "Geist", -apple-system, system-ui, sans-serif;--ff-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-mono-xs: .7rem;--fs-mono-sm: .78rem;--fs-mono: .85rem;--fs-body: 1rem;--fs-body-lg: 1.125rem;--fs-h3: 1.35rem;--fs-h2: clamp(1.85rem, 3.4vw, 2.6rem);--fs-h1: clamp(2.6rem, 5.8vw, 4.4rem);--fs-display: clamp(2.8rem, 6.5vw, 5rem);--gutter: clamp(1.25rem, 4vw, 2.5rem);--section-y: clamp(4rem, 9vw, 7rem);--t-fast: .18s;--t-base: .28s;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}@media(min-width:1400px){html{font-size:17px}}@media(min-width:1800px){html{font-size:18px}}body{background:var(--bg);color:var(--paper-dim);font-family:var(--ff-body);font-weight:400;font-size:var(--fs-body);line-height:1.55;min-height:100dvh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11","tnum" 0;background-image:radial-gradient(circle at 50% 0%,rgba(126,180,232,.045),transparent 55%),radial-gradient(circle at 1px 1px,rgba(126,180,232,.05) 1px,transparent 0);background-size:auto,28px 28px;background-attachment:fixed,fixed;background-position:0 0,0 0}@media(min-width:1320px){body:before,body:after{content:"";position:fixed;top:0;bottom:0;width:1px;background:var(--rule-soft);pointer-events:none;z-index:1}body:before{left:max(2rem,calc((100vw - 1240px)/2 - 1px))}body:after{right:max(2rem,calc((100vw - 1240px)/2 - 1px))}}h1,h2,h3,h4{font-family:var(--ff-body);font-weight:600;color:var(--paper);line-height:1.05;letter-spacing:-.025em}h1{font-size:var(--fs-h1);font-weight:700;letter-spacing:-.035em}h2{font-size:var(--fs-h2);font-weight:700;letter-spacing:-.03em}h3{font-size:var(--fs-h3);letter-spacing:-.018em}p{max-width:64ch}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}.mono{font-family:var(--ff-mono);font-size:var(--fs-mono);font-weight:400;letter-spacing:.01em}.mono-sm{font-family:var(--ff-mono);font-size:var(--fs-mono-sm);letter-spacing:.02em}.mono-xs{font-family:var(--ff-mono);font-size:var(--fs-mono-xs);letter-spacing:.04em}.ilink{color:var(--paper);border-bottom:1px solid var(--paper-sub);padding-bottom:.05em;transition:border-color var(--t-fast),color var(--t-fast)}.ilink:hover{border-bottom-color:var(--accent);color:var(--accent)}.rule{height:1px;background:var(--rule);border:0;width:100%}.rule-soft{background:var(--rule-soft)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #7eb4e829;vertical-align:middle;margin-right:.5em}.page{max-width:1200px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}@keyframes reveal-up{0%{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:translateY(0)}}[data-reveal]{opacity:0;animation:reveal-up .7s var(--ease-out) forwards;animation-delay:var(--d, 0ms)}[data-scroll]{opacity:0;transform:translateY(1.2rem);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--d, 0ms)}[data-scroll].is-in{opacity:1;transform:translateY(0)}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}.nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);border-bottom:1px solid var(--rule-soft)}.nav-inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;padding-bottom:1rem;gap:2rem}.brand[data-astro-cid-dmqpwcec]{display:inline-flex;align-items:baseline;color:var(--paper);font-weight:700;font-size:1.05rem;letter-spacing:-.025em;text-decoration:none}.brand-name[data-astro-cid-dmqpwcec]{color:var(--paper)}.brand-tld[data-astro-cid-dmqpwcec]{color:var(--accent);font-weight:600}.menu[data-astro-cid-dmqpwcec]{list-style:none;display:flex;align-items:center;gap:1.6rem}.menu[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{color:var(--paper-dim);font-size:.95rem;padding:.4em 0;border-bottom:1px solid transparent;transition:color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.menu[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{color:var(--paper)}.menu[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec].is-current{color:var(--paper);border-bottom-color:var(--accent)}.cta-btn[data-astro-cid-dmqpwcec]{background:var(--accent);color:var(--bg)!important;border:1px solid var(--accent);padding:.45em .95em!important;font-weight:600;font-size:.92rem!important;border-radius:6px;transition:background var(--t-fast)}.cta-btn[data-astro-cid-dmqpwcec]:hover{background:var(--accent-h);border-color:var(--accent-h);border-bottom-color:var(--accent-h)!important}.toggle[data-astro-cid-dmqpwcec]{display:none;background:none;border:none;cursor:pointer;padding:.4rem;width:32px;height:32px}.toggle-line[data-astro-cid-dmqpwcec]{display:block;width:18px;height:1px;background:var(--paper);margin:5px 0;transition:transform var(--t-fast) var(--ease-out)}.toggle[data-astro-cid-dmqpwcec][aria-expanded=true] .toggle-line[data-astro-cid-dmqpwcec]:first-child{transform:translateY(3px) rotate(45deg)}.toggle[data-astro-cid-dmqpwcec][aria-expanded=true] .toggle-line[data-astro-cid-dmqpwcec]:last-child{transform:translateY(-3px) rotate(-45deg)}@media(max-width:800px){.toggle[data-astro-cid-dmqpwcec]{display:block;z-index:60}.menu[data-astro-cid-dmqpwcec]{position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--rule);padding:.6rem var(--gutter) 1.4rem;transform:translateY(-6px);opacity:0;pointer-events:none;transition:transform var(--t-base) var(--ease-out),opacity var(--t-base) var(--ease-out);box-shadow:0 8px 24px #0000002e}.menu[data-astro-cid-dmqpwcec].is-open{transform:translateY(0);opacity:1;pointer-events:auto}.menu[data-astro-cid-dmqpwcec] li[data-astro-cid-dmqpwcec]:not(.cta-li){border-top:1px solid var(--rule-soft)}.menu[data-astro-cid-dmqpwcec] li[data-astro-cid-dmqpwcec]:first-child{border-top:none}.menu[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{padding:1.05rem 0;font-size:1.1rem;min-height:48px;display:flex;align-items:center}.cta-li[data-astro-cid-dmqpwcec]{padding-top:1rem}.cta-btn[data-astro-cid-dmqpwcec]{text-align:center;justify-content:center;padding:1em 1.2em!important;font-size:1rem!important}}.nav-backdrop[data-astro-cid-dmqpwcec]{display:none;position:fixed;inset:0;background:#00000073;z-index:40;opacity:0;transition:opacity var(--t-base) var(--ease-out);backdrop-filter:blur(2px)}.nav-backdrop[data-astro-cid-dmqpwcec].is-open{display:block;opacity:1}@media(min-width:801px){.nav-backdrop[data-astro-cid-dmqpwcec]{display:none!important}}.footer[data-astro-cid-sz7xmlte]{margin-top:clamp(5rem,10vw,8rem);padding-top:3rem;padding-bottom:1.5rem;border-top:1px solid var(--rule)}.footer-top[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:end;padding-bottom:2.5rem}@media(max-width:720px){.footer-top[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:1.2rem;align-items:start}}.ft-right[data-astro-cid-sz7xmlte]{text-align:right}@media(max-width:720px){.ft-right[data-astro-cid-sz7xmlte]{text-align:left}}.ft-brand[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:baseline;color:var(--paper);font-weight:700;font-size:1.05rem;letter-spacing:-.025em;text-decoration:none;margin-bottom:.8rem}.ft-name[data-astro-cid-sz7xmlte]{color:var(--paper)}.ft-tld[data-astro-cid-sz7xmlte]{color:var(--accent);font-weight:600}.ft-bio[data-astro-cid-sz7xmlte]{color:var(--paper-mute);font-size:.96rem;line-height:1.6}.ft-bio[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--paper-dim);border-bottom:1px solid transparent;transition:border-color var(--t-fast)}.ft-bio[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{border-bottom-color:var(--paper-sub)}.ft-right[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}@media(min-width:721px){.ft-right[data-astro-cid-sz7xmlte]{align-items:flex-end;text-align:right}}.ft-cta[data-astro-cid-sz7xmlte]{color:var(--paper);background:transparent;border:1px solid var(--paper-sub);padding:.7em 1.2em;border-radius:6px;font-weight:500;font-size:.95rem;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.ft-cta[data-astro-cid-sz7xmlte]:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.ft-contact[data-astro-cid-sz7xmlte]{color:var(--paper-mute);font-size:.92rem}.ft-contact[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--paper-dim);border-bottom:1px solid transparent;transition:border-color var(--t-fast)}.ft-contact[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{border-bottom-color:var(--paper-sub)}.ft-sep[data-astro-cid-sz7xmlte]{color:var(--rule);margin:0 .5em}.footer-bottom[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.4rem;font-size:.85rem}.ft-copy[data-astro-cid-sz7xmlte]{color:var(--paper-sub)}.ft-links[data-astro-cid-sz7xmlte]{list-style:none;display:flex;gap:1.4rem;align-items:center}.ft-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--paper-mute);transition:color var(--t-fast)}.ft-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--paper)}
