.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}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);background:#070707a6;border-bottom:1px solid transparent;transition:border-color .3s}html.scrolled .site-header[data-astro-cid-3ef6ksr2]{border-bottom-color:var(--line)}.bar[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:64px}.logo[data-astro-cid-3ef6ksr2]{font-size:1.7rem;line-height:1}.logo[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{color:var(--muted);transition:color .3s}.logo[data-astro-cid-3ef6ksr2]:hover span[data-astro-cid-3ef6ksr2]{color:var(--green)}nav[data-astro-cid-3ef6ksr2]{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#0f0f0f99}.nav-link[data-astro-cid-3ef6ksr2]{padding:6px 14px;border-radius:999px;font-size:.85rem;color:var(--muted);transition:color .3s,background .3s}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--text)}.nav-link[data-astro-cid-3ef6ksr2].active{color:#000;background:#fff}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--line);margin-top:40px}.foot[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:28px;padding-bottom:40px;font-size:.85rem}.socials[data-astro-cid-sz7xmlte]{display:flex;gap:18px;flex-wrap:wrap}.socials[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text)}:root{--bg: #070707;--bg-soft: #0f0f0f;--line: #1c1c1c;--line-strong: #2a2a2a;--text: #ededed;--muted: #8b8b8b;--faint: #555;--accent: #ffffff;--green: #4ade80;--sans: "Inter", system-ui, -apple-system, sans-serif;--serif: "Instrument Serif", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace;--w: 720px;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}::selection{background:#fff;color:#000}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--w);margin:0 auto;padding:0 20px}.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:.78rem;letter-spacing:.02em}.link{position:relative;color:var(--text)}.link:after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.link:hover:after{transform:scaleX(1);transform-origin:left}.label{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 28px;font-weight:400}.label:after{content:"";flex:1;height:1px;background:var(--line)}section{padding:56px 0}.btn{display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border-radius:999px;font-size:.9rem;font-weight:500;border:1px solid var(--line-strong);background:transparent;color:var(--text);cursor:pointer;font-family:inherit;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}.btn:hover{border-color:#555;transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#000;border-color:var(--accent)}.btn-primary:hover{background:#d9d9d9;border-color:#d9d9d9}.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}.btn:hover svg{transform:translate(2px)}.chip{display:inline-block;padding:4px 12px;border-radius:999px;border:1px solid var(--line-strong);font-size:.8rem;color:#cfcfcf;transition:border-color .3s,color .3s,background .3s}.chip:hover{border-color:#666;color:#fff;background:#141414}.reveal{opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:calc(var(--d, 0) * 80ms)}.reveal.in{opacity:1;transform:none;filter:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none;filter:none}}@media print{:root{--bg: #fff;--text: #111;--muted: #555;--line: #ddd;--line-strong: #ccc}body{background:#fff;color:#111;font-size:10.5pt;line-height:1.5}.no-print,.site-header,.site-footer,.fx{display:none!important}.reveal{opacity:1!important;transform:none!important;filter:none!important}section{padding:12px 0}.chip{border-color:#bbb;color:#222}a{color:#111}@page{margin:14mm}}.fx{position:fixed;inset:0;pointer-events:none}.spotlight{z-index:0;background:radial-gradient(600px circle at var(--mx, 50%) var(--my, -30%),rgba(255,255,255,.05),transparent 45%)}.glow{z-index:0;background:radial-gradient(ellipse 70% 45% at 50% -12%,rgba(255,255,255,.09),transparent 70%)}.grain{z-index:100;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}main,.site-footer{position:relative;z-index:1}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
