:root{color-scheme:dark;--bg: #0b0d11;--bg-raised: #0f1217;--bg-card: #12161c;--bg-card-hover: #161b22;--line: #1f252e;--line-strong: #2c343f;--text: #e9edf2;--text-soft: #c8d0da;--text-muted: #9ea8b5;--text-faint: #7b8593;--accent: #f3a65b;--accent-strong: #ffbb75;--accent-soft: rgba(243, 166, 91, .12);--accent-line: rgba(243, 166, 91, .35);--green: #4bd793;--green-soft: rgba(75, 215, 147, .12);--blue: #7cb7ff;--glow-cool: rgba(70, 116, 204, .2);--glow-warm: rgba(243, 166, 91, .09);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-hero: clamp(2.6rem, 1.5rem + 4.6vw, 5rem);--fs-h2: clamp(1.95rem, 1.35rem + 2.3vw, 3rem);--fs-h3: clamp(1.1rem, 1.02rem + .35vw, 1.3rem);--fs-lead: clamp(1.06rem, .99rem + .33vw, 1.22rem);--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--container: 1180px;--gutter: clamp(16px, 4vw, 32px);--section-space: clamp(72px, 9vw, 120px);--header-h: 68px;--shadow-lg: 0 40px 90px -30px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .03);--ease-out: cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}main{flex:1 0 auto}img,video{display:block;max-width:100%;height:auto}svg{flex-shrink:0}h1,h2,h3,h4{margin:0;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}p{margin:0}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}a:hover{color:var(--accent-strong)}button{font:inherit}::selection{background:var(--accent);color:#1a1208}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.section{position:relative;padding-block:var(--section-space)}.section+.section{border-top:1px solid var(--line)}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem 2rem;margin-bottom:clamp(2rem,4vw,3.25rem)}.eyebrow{display:inline-flex;align-items:center;gap:.65em;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.eyebrow:before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid currentColor;box-shadow:0 0 0 3px var(--accent-soft)}.section-title{margin-top:.85rem;font-size:var(--fs-h2);font-weight:800;line-height:1.06;letter-spacing:-.035em}.section-lead{margin-top:1rem;max-width:62ch;color:var(--text-muted);font-size:var(--fs-lead)}.text-gradient{background:linear-gradient(100deg,var(--accent) 0%,var(--accent-strong) 45%,#ffe2c2 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:46px;padding:.7em 1.3em;border:1px solid transparent;border-radius:999px;font-size:.95rem;font-weight:600;line-height:1.1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .2s var(--ease-out),background-color .2s,border-color .2s,color .2s,box-shadow .2s}.btn svg{width:1.1em;height:1.1em}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);color:#1b1309;box-shadow:0 10px 30px -12px #f3a65ba6,inset 0 1px #ffffff59}.btn--primary:hover{background:var(--accent-strong);color:#1b1309;transform:translateY(-1px)}.btn--ghost{background:rgba(255,255,255,.03);border-color:var(--line-strong);color:var(--text)}.btn--ghost:hover{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}.btn--sm{min-height:38px;padding:.5em 1em;font-size:.875rem}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}.link-arrow{display:inline-flex;align-items:center;gap:.4em;font-weight:600;text-decoration:none;color:var(--accent)}.link-arrow svg{width:1em;height:1em;transition:transform .2s var(--ease-out)}.link-arrow:hover svg{transform:translate(3px)}.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;padding:.42em .72em;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem;line-height:1.2;white-space:nowrap}.card{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0) 60%),var(--bg-card)}.dot-grid{background-image:radial-gradient(circle,rgba(158,168,181,.14) 1.2px,transparent 1.7px);background-size:24px 24px;background-position:center}.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;top:-100px;left:16px;z-index:100;padding:.6rem 1rem;border-radius:var(--radius-sm);background:var(--accent);color:#1b1309;font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}.prose{color:var(--text-soft);font-size:1.0625rem;line-height:1.75;overflow-wrap:break-word}.prose>*+*{margin-top:1.15em}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--text);letter-spacing:-.02em}.prose h1{margin-top:2em;font-size:1.9rem}.prose h2{margin-top:2em;font-size:1.55rem}.prose h3{margin-top:1.8em;font-size:1.25rem}.prose h4{margin-top:1.6em;font-size:1.05rem}.prose>:first-child{margin-top:0}.prose strong{color:var(--text)}.prose a{text-decoration:underline;text-decoration-color:var(--accent-line)}.prose a:hover{text-decoration-color:currentColor}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--accent)}.prose img{margin-inline:auto;border:1px solid var(--line);border-radius:var(--radius)}.prose p>a>img,.prose h1 img{display:inline-block;margin:.15rem .2rem;border:0;border-radius:0;vertical-align:middle}.prose blockquote{margin-inline:0;padding:.25rem 0 .25rem 1.1rem;border-left:3px solid var(--accent);color:var(--text-muted)}.prose hr{margin-block:2.5em;border:0;border-top:1px solid var(--line)}.prose :not(pre)>code{padding:.15em .4em;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.05);color:var(--text);font-family:var(--font-mono);font-size:.86em}.prose pre{padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);font-size:.875rem;line-height:1.65;overflow-x:auto}.prose pre code{font-family:var(--font-mono)}.prose table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.9rem}.prose th,.prose td{padding:.6em .85em;border:1px solid var(--line);text-align:left;vertical-align:top}.prose th{background:var(--bg-raised);color:var(--text);font-weight:600}.site-header:where(.astro-USU3JJGW){position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(11,13,17,.78);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}.bar:where(.astro-USU3JJGW){display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:var(--header-h)}.brand:where(.astro-USU3JJGW){display:inline-flex;align-items:center;gap:.7rem;color:var(--text);font-weight:700;letter-spacing:-.01em;text-decoration:none}.brand:where(.astro-USU3JJGW):hover{color:var(--text)}.brand-mark:where(.astro-USU3JJGW){display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--accent);border-radius:50%;background:radial-gradient(circle,rgba(243,166,91,.2),transparent 70%);box-shadow:0 0 0 4px var(--accent-soft);color:var(--accent-strong);font-family:var(--font-mono);font-size:.8rem;font-weight:600;letter-spacing:-.04em;transition:box-shadow .25s}.brand:where(.astro-USU3JJGW):hover .brand-mark:where(.astro-USU3JJGW){box-shadow:0 0 0 6px var(--accent-soft),0 0 24px #f3a65b59}.nav:where(.astro-USU3JJGW){display:flex;align-items:center;gap:1.25rem}.nav:where(.astro-USU3JJGW) ul:where(.astro-USU3JJGW){display:flex;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}.nav:where(.astro-USU3JJGW) ul:where(.astro-USU3JJGW) a:where(.astro-USU3JJGW){display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .75rem;border-radius:999px;color:var(--text-muted);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s,background-color .2s}.nav:where(.astro-USU3JJGW) ul:where(.astro-USU3JJGW) a:where(.astro-USU3JJGW):hover{background:rgba(255,255,255,.04);color:var(--text)}.nav:where(.astro-USU3JJGW) ul:where(.astro-USU3JJGW) a:where(.astro-USU3JJGW)[aria-current=page]{background:rgba(255,255,255,.06);color:var(--text)}.nav-toggle:where(.astro-USU3JJGW){display:none;place-items:center;width:44px;height:44px;margin-right:-6px;border:0;border-radius:10px;background:transparent;color:var(--text);cursor:pointer}.nav-toggle:where(.astro-USU3JJGW) .icon-close{display:none}@media (max-width: 960px){.brand-name:where(.astro-USU3JJGW){font-size:.95rem}.nav-toggle:where(.astro-USU3JJGW){display:grid}.nav:where(.astro-USU3JJGW){position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:1rem;padding:.75rem var(--gutter) 1.5rem;border-bottom:1px solid var(--line);background:rgba(11,13,17,.97);box-shadow:0 30px 60px -20px #000000b3;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s var(--ease-out),visibility 0s linear .2s}.nav:where(.astro-USU3JJGW) ul:where(.astro-USU3JJGW){flex-direction:column;align-items:stretch}.nav:where(.astro-USU3JJGW) ul:where(.astro-USU3JJGW) a:where(.astro-USU3JJGW){justify-content:space-between;padding:.85rem .9rem;border-radius:10px;font-size:1.05rem}.nav-cv:where(.astro-USU3JJGW){align-self:flex-start}:where(.astro-USU3JJGW)[data-open] .nav:where(.astro-USU3JJGW){visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .2s var(--ease-out)}:where(.astro-USU3JJGW)[data-open] .icon-open{display:none}:where(.astro-USU3JJGW)[data-open] .icon-close{display:block}}.site-footer:where(.astro-ITHSDKBK){margin-top:auto;padding-top:clamp(48px,7vw,80px);border-top:1px solid var(--line);background:linear-gradient(180deg,var(--bg-raised),var(--bg));color:var(--text-muted);font-size:.925rem}.footer-grid:where(.astro-ITHSDKBK){display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:2.5rem}.brand:where(.astro-ITHSDKBK){display:inline-flex;align-items:center;gap:.7rem;color:var(--text);font-weight:700;text-decoration:none}.brand-mark:where(.astro-ITHSDKBK){display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--accent);border-radius:50%;color:var(--accent-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:-.04em}.footer-brand:where(.astro-ITHSDKBK) p:where(.astro-ITHSDKBK){max-width:38ch;margin-top:1rem}h2:where(.astro-ITHSDKBK){margin-bottom:.9rem;color:var(--text);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}ul:where(.astro-ITHSDKBK){display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.footer-links:where(.astro-ITHSDKBK) a:where(.astro-ITHSDKBK){display:inline-flex;align-items:center;gap:.55rem;color:var(--text-muted);text-decoration:none}.footer-links:where(.astro-ITHSDKBK) a:where(.astro-ITHSDKBK):hover{color:var(--accent-strong)}.footer-bottom:where(.astro-ITHSDKBK){display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:clamp(40px,6vw,64px);padding-block:1.5rem;border-top:1px solid var(--line);color:var(--text-faint);font-size:.85rem}.footer-bottom:where(.astro-ITHSDKBK) a:where(.astro-ITHSDKBK){color:var(--text-muted)}@media (max-width: 720px){.footer-grid:where(.astro-ITHSDKBK){grid-template-columns:1fr 1fr}.footer-brand:where(.astro-ITHSDKBK){grid-column:1 / -1}}
