:root{color-scheme:light;--color-bg: #ffffff;--color-bg-alt: #f7f8fa;--color-bg-inset: #eef0f4;--color-fg: #0e1116;--color-fg-muted: #545b66;--color-fg-subtle: #8b95a3;--color-border: #e3e6ec;--color-border-strong: #cdd2db;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-fg: #ffffff;--color-accent-soft: #eef3ff;--color-success: #047857;--color-warning: #b45309;--color-danger: #b91c1c;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: .78rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-3xl: 2.5rem;--fs-4xl: 3.25rem;--lh-tight: 1.15;--lh-snug: 1.3;--lh-normal: 1.55;--lh-relaxed: 1.7;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-8: 3rem;--sp-10: 4rem;--sp-12: 6rem;--sp-16: 8rem;--container-max: 72rem;--container-narrow: 48rem;--container-pad: 1.25rem;--radius-sm: 4px;--radius: 8px;--radius-lg: 14px;--radius-xl: 22px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 4px 14px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .1), 0 2px 6px rgba(15, 23, 42, .05);--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-fg);background:var(--color-bg);min-height:100dvh;display:flex;flex-direction:column}main{flex:1;overflow-x:clip}img,svg,video{display:block;max-width:100%;height:auto}a{color:var(--color-accent);text-decoration:none;transition:color var(--dur) var(--ease)}a:hover{color:var(--color-accent-hover)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--sp-4);line-height:var(--lh-tight);font-weight:700;letter-spacing:-.015em}h1{font-size:var(--fs-4xl);letter-spacing:-.025em}h2{font-size:var(--fs-3xl);letter-spacing:-.02em}h3{font-size:var(--fs-2xl)}h4{font-size:var(--fs-xl)}h5{font-size:var(--fs-lg)}h6{font-size:var(--fs-md)}p{margin:0 0 var(--sp-4)}ul,ol{margin:0 0 var(--sp-4);padding-left:1.5rem}li{margin-bottom:var(--sp-2)}code{font-family:var(--font-mono);font-size:.92em;background:var(--color-bg-inset);padding:.15em .4em;border-radius:var(--radius-sm)}pre{font-family:var(--font-mono);background:var(--color-bg-inset);padding:var(--sp-4);border-radius:var(--radius);overflow-x:auto;font-size:var(--fs-sm);line-height:var(--lh-snug)}pre code{background:transparent;padding:0}hr{border:none;border-top:1px solid var(--color-border);margin:var(--sp-8) 0}@media(max-width:640px){h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--container-pad)}.section{padding:var(--sp-12) 0}.section-tight{padding:var(--sp-8) 0}.page-header+.section-tight{padding-top:0}@media(max-width:640px){.section{padding:var(--sp-10) 0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:.7rem 1.25rem;font-size:var(--fs-base);font-weight:600;font-family:inherit;line-height:1;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur-fast) var(--ease);text-decoration:none;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);color:var(--color-accent-fg)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-accent-fg)}.btn-secondary{background:transparent;color:var(--color-fg);border-color:var(--color-border-strong)}.btn-secondary:hover{border-color:var(--color-fg);color:var(--color-fg)}.btn-ghost{background:transparent;color:var(--color-fg)}.btn-ghost:hover{background:var(--color-bg-alt);color:var(--color-fg)}.btn-sm{padding:.5rem .85rem;font-size:var(--fs-sm)}.btn-lg{padding:.9rem 1.6rem;font-size:var(--fs-md)}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-5);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.card-hover:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.field label{font-size:var(--fs-sm);font-weight:600;color:var(--color-fg)}.field input,.field textarea,.field select{font-family:inherit;font-size:var(--fs-base);padding:.65rem .85rem;background:var(--color-bg);color:var(--color-fg);border:1px solid var(--color-border-strong);border-radius:var(--radius);transition:border-color var(--dur) var(--ease)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.text-muted{color:var(--color-fg-muted)}.text-subtle{color:var(--color-fg-subtle)}.text-center{text-align:center}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.eyebrow{display:inline-block;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);margin-bottom:var(--sp-3)}.lead{font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--color-fg-muted)}.grid{display:grid;gap:var(--sp-5)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.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}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--color-border)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:80px;gap:var(--sp-5)}.brand[data-astro-cid-3ef6ksr2]{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:700;color:var(--color-fg);font-size:var(--fs-md);letter-spacing:-.01em}.brand[data-astro-cid-3ef6ksr2]:hover{color:var(--color-fg)}.brand-logo[data-astro-cid-3ef6ksr2]{display:block;height:64px;width:auto}.primary-nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--sp-5)}.primary-nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--sp-5);list-style:none;margin:0;padding:0}.primary-nav[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{margin:0}.primary-nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--color-fg-muted);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;padding:.4rem .1rem;border-bottom:2px solid transparent;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.primary-nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--color-fg);border-bottom-color:var(--color-accent)}.nav-cta[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--sp-4)}.nav-signin[data-astro-cid-3ef6ksr2]{color:var(--color-fg-muted);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;transition:color var(--dur) var(--ease)}.nav-signin[data-astro-cid-3ef6ksr2]:hover{color:var(--color-fg)}.nav-toggle[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border-strong);background:transparent;border-radius:var(--radius);cursor:pointer;gap:4px;align-items:center}.nav-toggle[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:block;width:18px;height:2px;background:var(--color-fg);transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}@media(max-width:1060px){.header-inner[data-astro-cid-3ef6ksr2]{height:64px}.brand-logo[data-astro-cid-3ef6ksr2]{height:48px}.nav-toggle[data-astro-cid-3ef6ksr2]{display:flex}.primary-nav[data-astro-cid-3ef6ksr2]{position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;padding:var(--sp-4) var(--container-pad);background:var(--color-bg);border-bottom:1px solid var(--color-border);gap:var(--sp-3);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.primary-nav[data-astro-cid-3ef6ksr2].open{opacity:1;pointer-events:auto;transform:translateY(0)}.primary-nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:var(--sp-2)}.primary-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:var(--sp-2) 0;font-size:var(--fs-base)}.nav-cta[data-astro-cid-3ef6ksr2]{padding-top:var(--sp-3);border-top:1px solid var(--color-border)}}.subscribe-lead[data-astro-cid-ogjhcnvc]{margin:0 0 .6rem;font-size:.9375rem;color:var(--color-text-muted)}.subscribe-post[data-astro-cid-ogjhcnvc] .subscribe-lead[data-astro-cid-ogjhcnvc]{font-size:1rem;color:var(--color-text)}.subscribe-form[data-astro-cid-ogjhcnvc]{display:flex;gap:.5rem;flex-wrap:wrap}.subscribe-form[data-astro-cid-ogjhcnvc] input[data-astro-cid-ogjhcnvc][type=email]{flex:1 1 220px;min-width:0;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);font:inherit;font-size:.9375rem;background:var(--color-bg);color:var(--color-text)}.subscribe-note[data-astro-cid-ogjhcnvc]{margin:.6rem 0 0;font-size:.875rem;color:var(--color-text-muted)}.subscribe-post[data-astro-cid-ogjhcnvc]{margin:2.5rem 0 0;padding:1.25rem 1.5rem;border:1px solid var(--color-border);background:var(--color-surface, var(--color-bg-alt))}.hp[data-astro-cid-ogjhcnvc]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.sr-only[data-astro-cid-ogjhcnvc]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.site-footer[data-astro-cid-sz7xmlte]{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:var(--sp-10) 0 var(--sp-6)}.footer-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:var(--sp-8)}@media(max-width:880px){.footer-grid[data-astro-cid-sz7xmlte]{grid-template-columns:repeat(2,1fr)}.footer-brand[data-astro-cid-sz7xmlte]{grid-column:1 / -1}}.brand[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:700;color:var(--color-fg);margin-bottom:var(--sp-3)}.brand-logo[data-astro-cid-sz7xmlte]{display:block;height:48px;width:auto;margin-bottom:var(--sp-3)}.footer-tagline[data-astro-cid-sz7xmlte]{text-wrap:balance}.footer-grid[data-astro-cid-sz7xmlte] .footer-social[data-astro-cid-sz7xmlte]{display:flex;gap:var(--sp-2);list-style:none;padding:0;margin:0 0 var(--sp-6)}.footer-grid[data-astro-cid-sz7xmlte] .footer-social[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{margin:0}.footer-grid[data-astro-cid-sz7xmlte] .footer-social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border);color:var(--color-fg-muted);transition:color .15s,border-color .15s}.footer-grid[data-astro-cid-sz7xmlte] .footer-social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-fg);border-color:var(--color-fg-subtle)}.footer-grid[data-astro-cid-sz7xmlte] h4[data-astro-cid-sz7xmlte]{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-fg-subtle);margin-bottom:var(--sp-3)}.footer-grid[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin:0}.footer-grid[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{margin-bottom:var(--sp-2)}.footer-grid[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-fg-muted);font-size:var(--fs-sm)}.footer-grid[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-fg)}.footer-bottom[data-astro-cid-sz7xmlte]{margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--color-border);color:var(--color-fg-subtle);font-size:var(--fs-sm);text-align:center}.skip-link{position:absolute;top:-40px;left:1rem;background:var(--color-accent);color:var(--color-accent-fg);padding:.5rem 1rem;border-radius:var(--radius);text-decoration:none;z-index:1000;transition:top var(--dur) var(--ease)}.skip-link:focus{top:1rem}
