:root{--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Spectral", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);--text-3xl: clamp(2rem, 1.5rem + 2vw, 3rem);--text-4xl: clamp(2.5rem, 1.8rem + 3vw, 4rem);--text-5xl: clamp(3rem, 2rem + 4vw, 5rem);--container: 1200px;--container-wide: 1440px;--container-narrow: 760px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--dur-ui: .18s;--dur-md: .26s;--dur-lg: .5s;--canvas: #ffffff;--surface: #ffffff;--ink: #000000;--muted: #555555;--accent: #000000;--border: #e5e5e5;--success: #2f6b3f;--warning: #a66800;--danger: #a1241b;--on-accent: #ffffff;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);color-scheme:light}:root[data-theme=dark]{--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 1px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5), 0 4px 8px rgba(0, 0, 0, .3);color-scheme:dark}*{box-sizing:border-box}html{font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--ink);background:var(--canvas);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body{margin:0;min-height:100svh;font-size:1rem;line-height:1.6;background:var(--canvas);color:var(--ink);transition:background-color var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out)}body{padding-bottom:64px}@media(max-width:480px){body{padding-bottom:56px}}img,svg,video,canvas{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.1;letter-spacing:-.01em;margin:0 0 var(--space-4);color:var(--ink)}h1{font-size:var(--text-5xl);font-weight:500}h2{font-size:var(--text-3xl);font-weight:500}h3{font-size:var(--text-xl);font-weight:600}h4{font-size:var(--text-lg);font-weight:600}p{margin:0 0 var(--space-4)}p:last-child{margin-bottom:0}a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}ul,ol{margin:0 0 var(--space-4);padding-left:1.25rem}hr{border:0;border-top:1px solid var(--border);margin:var(--space-6) 0}strong{font-weight:600}em{font-style:italic}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{background:var(--surface);border:1px solid var(--border);padding:.1em .35em;border-radius:var(--radius-sm)}.skip-link{position:absolute;left:var(--space-4);top:-100px;background:var(--ink);color:var(--canvas);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);z-index:1000;transition:top var(--dur-ui) var(--ease-out);text-decoration:none}.skip-link:focus{top:var(--space-4)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-5)}.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--space-5)}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--space-5)}.section{padding:var(--space-9) 0}.section-tight{padding:var(--space-7) 0}.section+.section{border-top:1px solid var(--border)}.section-head{max-width:60ch;margin-bottom:var(--space-7)}.section-head .lede{margin-bottom:0}.stack>*+*{margin-top:var(--space-4)}.stack-sm>*+*{margin-top:var(--space-2)}.stack-lg>*+*{margin-top:var(--space-6)}.eyebrow{font-family:var(--font-display);font-weight:600;font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--space-3);display:block}.lede{font-size:var(--text-md);color:var(--muted);max-width:60ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;padding:.75rem 1.25rem;border-radius:var(--radius-sm);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:transform var(--dur-ui) var(--ease-out),background-color var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out),border-color var(--dur-ui) var(--ease-out);will-change:transform}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink) 12%)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-ghost:hover{background:var(--surface)}.btn-link{background:transparent;color:var(--accent);padding:0;border:0;text-decoration:underline}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.chip{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:600;padding:.25rem .625rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid transparent}.chip-neutral{background:var(--surface);color:var(--muted);border-color:var(--border)}.chip-success{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.chip-warning{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.chip-danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);transition:transform var(--dur-ui) var(--ease-out),box-shadow var(--dur-ui) var(--ease-out)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:var(--text-sm)}table.data th,table.data td{text-align:left;padding:.75rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}table.data th{font-weight:600;color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}table.data tr:last-child td{border-bottom:0}@media(max-width:640px){table.data thead{display:none}table.data,table.data tbody,table.data tr,table.data td{display:block;width:100%}table.data tr{padding:.5rem 0;border-bottom:1px solid var(--border)}table.data td{border:0;padding:.25rem 0}table.data td:before{content:attr(data-label) ": ";color:var(--muted);font-weight:600;font-size:var(--text-xs)}}.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}.text-center{text-align:center}.text-muted{color:var(--muted)}.nowrap{white-space:nowrap}.hide-on-mobile{display:none}@media(min-width:768px){.hide-on-mobile{display:revert}.hide-on-desktop{display:none}}.js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity var(--dur-md) var(--ease-out),transform var(--dur-md) var(--ease-out)}.js [data-reveal].is-visible{opacity:1;transform:none}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;animation:none!important;transition:none!important}body{font-size:11pt}.section{padding:.5rem 0;page-break-inside:avoid}.section+.section{border-top:1px solid #ccc}[data-reveal]{opacity:1!important;transform:none!important}a[href]:after{content:" (" attr(href) ")";font-size:9pt;color:#555}.no-print,.skip-link,.demo-pill{display:none!important}main{padding:0!important}}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-md)}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--canvas) 88%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);padding-bottom:var(--space-3)}.logo[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--ink);text-decoration:none}.logo-text[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.01em;white-space:nowrap}.primary-nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-5)}.primary-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--ink);text-decoration:none;font-size:var(--text-sm);font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent;transition:color var(--dur-ui) var(--ease-out),border-color var(--dur-ui) var(--ease-out)}.primary-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.primary-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].is-active{border-bottom-color:var(--accent);color:var(--accent)}.header-actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-3)}.theme-toggle[data-astro-cid-3ef6ksr2]{display:inline-grid;place-items:center;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--ink);cursor:pointer;transition:background-color var(--dur-ui) var(--ease-out)}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{background:var(--surface)}.theme-toggle[data-astro-cid-3ef6ksr2] .icon-moon[data-astro-cid-3ef6ksr2]{display:none}:root[data-theme=dark] .theme-toggle[data-astro-cid-3ef6ksr2] .icon-sun[data-astro-cid-3ef6ksr2]{display:none}:root[data-theme=dark] .theme-toggle[data-astro-cid-3ef6ksr2] .icon-moon[data-astro-cid-3ef6ksr2]{display:block}.header-cta[data-astro-cid-3ef6ksr2]{white-space:nowrap;padding:.55rem 1rem;font-size:var(--text-sm)}.nav-toggle[data-astro-cid-3ef6ksr2]{display:none}@media(max-width:1199px){.primary-nav[data-astro-cid-3ef6ksr2],.header-cta[data-astro-cid-3ef6ksr2]{display:none}.nav-toggle[data-astro-cid-3ef6ksr2]{display:inline-grid;place-items:center;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer}}.mobile-nav[data-astro-cid-3ef6ksr2]{display:none;padding:var(--space-4) var(--space-5) var(--space-6);background:var(--canvas);border-bottom:1px solid var(--border)}.mobile-nav[data-astro-cid-3ef6ksr2][data-open=true]{display:block}.mobile-nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{list-style:none;margin:0;padding:0}.mobile-nav[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--border)}.mobile-nav[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2]:last-child{border-bottom:0}.mobile-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;color:var(--ink);text-decoration:none;padding:var(--space-3) 0;font-size:var(--text-md)}.mobile-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].is-active{color:var(--accent)}.mobile-nav[data-astro-cid-3ef6ksr2] .mobile-cta[data-astro-cid-3ef6ksr2]{padding-top:var(--space-4);border-bottom:0}.mobile-nav[data-astro-cid-3ef6ksr2] .mobile-cta[data-astro-cid-3ef6ksr2] .btn[data-astro-cid-3ef6ksr2]{display:block;text-align:center}@media(min-width:1200px){.mobile-nav[data-astro-cid-3ef6ksr2]{display:none!important}}.site-footer[data-astro-cid-sz7xmlte]{background:var(--surface);border-top:1px solid var(--border);margin-top:var(--space-9)}.footer-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-7)}@media(max-width:768px){.footer-grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr 1fr;gap:var(--space-5)}.footer-brand[data-astro-cid-sz7xmlte]{grid-column:1 / -1}}.footer-brand[data-astro-cid-sz7xmlte] .logo-text[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-weight:600;font-size:1.5rem;color:var(--ink);margin:0}.footer-tagline[data-astro-cid-sz7xmlte]{color:var(--muted);margin:var(--space-2) 0 0;max-width:32ch}.footer-meta[data-astro-cid-sz7xmlte]{color:var(--muted);font-size:var(--text-xs);margin:var(--space-3) 0 0}.footer-heading[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 var(--space-3);font-weight:600}.footer-nav[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;margin:0;padding:0}.footer-nav[data-astro-cid-sz7xmlte] li[data-astro-cid-sz7xmlte]{margin-bottom:var(--space-2)}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--ink);text-decoration:none;font-size:var(--text-sm)}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent);text-decoration:underline}.footer-contact[data-astro-cid-sz7xmlte] address[data-astro-cid-sz7xmlte]{font-style:normal;color:var(--ink);margin-bottom:var(--space-3)}.footer-contact[data-astro-cid-sz7xmlte] .address-line[data-astro-cid-sz7xmlte]{display:block}.footer-contact[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:var(--space-1) 0}.footer-contact[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--ink);text-decoration:none;font-size:var(--text-sm)}.footer-contact[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent);text-decoration:underline}.footer-bottom[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);padding:var(--space-4) 0}.footer-bottom-inner[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.footer-bottom[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0;color:var(--muted);font-size:var(--text-xs)}.footer-social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--ink);text-decoration:none}.footer-social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{text-decoration:underline}.demo-pill[data-astro-cid-dhcnce2i]{position:fixed;right:12px;bottom:12px;z-index:100;font-family:var(--font-body)}.demo-pill-toggle[data-astro-cid-dhcnce2i]{display:inline-grid;place-items:center;width:40px;height:40px;background:var(--ink);color:var(--canvas);border:0;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-lg);transition:transform var(--dur-ui) var(--ease-out),background-color var(--dur-ui) var(--ease-out)}.demo-pill-toggle[data-astro-cid-dhcnce2i]:hover{transform:translateY(-1px)}.demo-pill-toggle-label[data-astro-cid-dhcnce2i]{display:none}.demo-pill-panel[data-astro-cid-dhcnce2i]{position:absolute;right:0;bottom:calc(100% + 8px);width:280px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-lg);color:var(--ink)}@media(max-width:480px){.demo-pill[data-astro-cid-dhcnce2i]{right:8px;bottom:8px}.demo-pill-toggle[data-astro-cid-dhcnce2i]{width:36px;height:36px}.demo-pill-panel[data-astro-cid-dhcnce2i]{width:calc(100vw - 16px)}}.demo-pill[data-astro-cid-dhcnce2i].is-faded{opacity:.15}.demo-pill[data-astro-cid-dhcnce2i].is-faded:hover,.demo-pill[data-astro-cid-dhcnce2i].is-faded:focus-within{opacity:1}.demo-pill[data-astro-cid-dhcnce2i]{transition:opacity var(--dur-ui) var(--ease-out)}.demo-pill-head[data-astro-cid-dhcnce2i]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.demo-pill-head[data-astro-cid-dhcnce2i] strong[data-astro-cid-dhcnce2i]{font-family:var(--font-display);font-weight:600}.demo-pill-close[data-astro-cid-dhcnce2i]{background:transparent;border:0;color:var(--muted);width:24px;height:24px;font-size:20px;line-height:1;cursor:pointer;border-radius:var(--radius-sm)}.demo-pill-close[data-astro-cid-dhcnce2i]:hover{color:var(--ink);background:var(--canvas)}.demo-pill-row[data-astro-cid-dhcnce2i]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.demo-pill-label[data-astro-cid-dhcnce2i]{font-size:var(--text-xs);color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.demo-pill-seg[data-astro-cid-dhcnce2i]{display:inline-flex;background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.demo-pill-seg[data-astro-cid-dhcnce2i] button[data-astro-cid-dhcnce2i]{background:transparent;border:0;color:var(--muted);padding:.25rem .625rem;font-size:var(--text-xs);font-weight:600;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:background-color var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out)}.demo-pill-seg[data-astro-cid-dhcnce2i] button[data-astro-cid-dhcnce2i].is-active,.demo-pill-seg[data-astro-cid-dhcnce2i] button[data-astro-cid-dhcnce2i][aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.demo-pill-hint[data-astro-cid-dhcnce2i]{font-size:var(--text-xs);color:var(--muted);margin:var(--space-3) 0 0;line-height:1.5}.demo-pill-hint[data-astro-cid-dhcnce2i] code[data-astro-cid-dhcnce2i]{font-family:var(--font-mono)}.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}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-Regular.woff2) format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-Medium.woff2) format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-Italic.woff2) format("woff2");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Spectral;src:url(/fonts/Spectral-Regular.woff2) format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/Spectral-Medium.woff2) format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Spectral;src:url(/fonts/Spectral-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap;font-style:normal}
