@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2")}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-standard-normal.BpEBLj1O.woff2)format("woff2")}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-sans-3-latin-wght-normal.BqRLTx4X.woff2)format("woff2")}:root,.surface--paper{color-scheme:light;--bg-primary:#f8f7f3;--bg-secondary:#fcfcfa;--bg-blue-soft:#eaf0f8;--bg-green-soft:#e7efe9;--text-primary:#202a33;--text-heading:#17324a;--text-secondary:#4e5e6a;--text-muted:#5e6d78;--blue-primary:#3868b8;--blue-dark:#17324a;--blue-light:#7fa6df;--green-muted:#638c78;--green-dark:#496e5c;--border:#d9dee3;--border-strong:#9baec0;--diagram-line:#7a8d9f}:root{--radius-sm:3px;--radius-md:4px;--content-width:1240px;--prose-width:680px;--gutter:clamp(1.25rem, 5vw, 5rem);--section-space:clamp(5rem, 9vw, 8.5rem);--header-height:84px;--font-serif:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--font-sans:"Source Sans 3 Variable", "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, monospace;--transition:.16s ease}.section--navy,.site-footer{--text-primary:#f8f7f3;--text-heading:#fcfcfa;--text-secondary:#d3dde7;--text-muted:#b4c5d5;--border:#456077;--link-color:#b1cbef;--label-color:#b1cbef;--focus-color:#b1cbef;color-scheme:dark;color:var(--text-primary);background:var(--blue-dark)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem);background:var(--bg-primary)}body{background:var(--bg-primary);min-width:320px;color:var(--text-primary);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.65}::selection{background:var(--bg-blue-soft);color:var(--blue-dark)}a{color:inherit;text-decoration-color:var(--blue-light);text-underline-offset:.22em;transition:color var(--transition), border-color var(--transition), background-color var(--transition)}a:hover{color:var(--link-color,var(--blue-primary))}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--focus-color,var(--blue-primary));outline-offset:5px;border-radius:2px}img,svg{max-width:100%}p{line-height:1.65}h1,h2{color:var(--text-heading);font-family:var(--font-serif);letter-spacing:-.035em;text-wrap:balance;font-weight:450;line-height:1.12}h1{font-size:clamp(3rem,6.3vw,5.75rem)}h2{font-size:clamp(2.25rem,3.8vw,3.65rem)}h3,h4{color:var(--text-heading);font-family:var(--font-sans);letter-spacing:-.015em;text-wrap:balance;font-weight:600;line-height:1.25}h3{font-size:clamp(1.4rem,2.1vw,1.8rem)}.container{width:min(100% - (2 * var(--gutter)), var(--content-width));margin-inline:auto}.narrow{max-width:var(--prose-width)}.section{padding-block:var(--section-space);position:relative}.section--secondary{background:var(--bg-secondary)}.section--light{background:var(--bg-green-soft)}.section--bright{background:var(--bg-secondary)}.section-label,.eyebrow{color:var(--label-color,var(--blue-primary));font:600 .78rem/1.4 var(--font-sans);letter-spacing:.09em;text-transform:uppercase;margin:0 0 1.4rem}.lede{max-width:var(--prose-width);color:var(--text-secondary);margin:1.6rem 0 0;font-size:clamp(1.15rem,1.6vw,1.35rem)}.button{border:1px solid var(--blue-primary);border-radius:var(--radius-sm);background:var(--blue-primary);color:#fff;justify-content:center;align-items:center;gap:.65rem;min-height:46px;padding:.8rem 1.25rem;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}.button--small{min-height:40px;padding:.55rem .9rem;font-size:.9rem}.button--secondary{border-color:var(--blue-primary);color:var(--blue-dark);background:0 0}.button--secondary:hover{background:var(--bg-blue-soft);color:var(--blue-dark);border-color:var(--blue-dark)}.text-link{color:var(--link-color,var(--blue-dark));align-items:center;gap:.5rem;font-weight:600;text-decoration:underline 1px;display:inline-flex}.link-row{flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:2.2rem;display:flex}.page-hero{border-bottom:1px solid var(--border);background:var(--bg-primary);align-items:end;padding:clamp(4.5rem,8vw,7rem) 0;display:flex;position:relative}.page-hero__inner{position:relative}.page-hero h1{max-width:960px;margin:.9rem 0 0}.page-hero .lede{max-width:760px}.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(3rem,7vw,7rem);display:grid}.copy-stack p{color:var(--text-secondary);margin:0;font-size:clamp(1.08rem,1.35vw,1.2rem)}.copy-stack p+p{margin-top:1.3rem}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:3.5rem;display:grid}.card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.four-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin-top:3.8rem;display:grid}.concept{border-top:1px solid var(--border-strong);padding:1.4rem 0 0}.concept-index{color:var(--text-muted);font:500 .78rem/1.2 var(--font-sans);margin:0 0 1.6rem}.concept h3{margin:0;font-size:1.35rem}.concept p{color:var(--text-secondary);margin:.85rem 0 0;font-size:1.05rem}.callout{background:var(--bg-blue-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:clamp(1.6rem,4vw,3rem)}.callout p{color:var(--text-secondary);margin:0}.callout p+p{margin-top:1rem}.skip-link{z-index:100;background:var(--blue-dark);color:#fff;border-radius:var(--radius-sm);padding:.65rem 1rem;font-weight:600;position:fixed;top:.7rem;left:.7rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.mono{font-family:var(--font-mono)}.accent{color:var(--blue-primary)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=920px){.split{grid-template-columns:1fr;gap:2.5rem}.card-grid,.four-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){:root{--header-height:72px}.card-grid,.card-grid--2{grid-template-columns:1fr}.four-grid{gap:2rem 1.5rem}}@media (width<=380px){.four-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.brand-lockup[data-astro-cid-f7espo7c]{color:var(--text-heading);align-items:center;gap:.65rem;display:inline-flex}.brand-mark[data-astro-cid-f7espo7c]{flex:none;width:2.1rem;height:2.1rem;overflow:visible}.brand-mark__orbit[data-astro-cid-f7espo7c]{fill:none;stroke:currentColor;stroke-width:1.5px}.brand-mark__nucleus[data-astro-cid-f7espo7c]{fill:var(--link-color,var(--blue-primary))}.brand-mark__earth[data-astro-cid-f7espo7c]{fill:none;stroke:var(--bg-primary);stroke-width:1.4px;stroke-linecap:round}.brand-wordmark[data-astro-cid-f7espo7c]{letter-spacing:-.02em;white-space:nowrap;font-size:1.2rem;font-weight:600}@media (width<=380px){.brand-wordmark[data-astro-cid-f7espo7c]{font-size:1.08rem}.brand-mark[data-astro-cid-f7espo7c]{width:1.8rem;height:1.8rem}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;min-height:var(--header-height);background:var(--bg-primary);border-bottom:1px solid var(--border);align-items:center;display:flex;position:sticky;inset-block-start:0}.header-inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.brand-link[data-astro-cid-nen7h5rs]{text-decoration:none;display:inline-flex}.desktop-nav[data-astro-cid-nen7h5rs]{align-items:center;gap:1.2rem;display:flex}.desktop-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{align-items:center;gap:clamp(.8rem,1.4vw,1.5rem);margin:0;padding:0;list-style:none;display:flex}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.button){color:var(--text-secondary);font-size:.96rem;font-weight:500;text-decoration:none}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.button):hover,.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--blue-dark);text-decoration:underline;text-decoration-color:var(--blue-primary);text-underline-offset:.4em}.github-link[data-astro-cid-nen7h5rs]{border-inline-start:1px solid var(--border);padding-inline-start:1rem}.mobile-menu[data-astro-cid-nen7h5rs]{display:none}@media (width<=1120px){.desktop-nav[data-astro-cid-nen7h5rs]{display:none}.mobile-menu[data-astro-cid-nen7h5rs]{display:block}.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{cursor:pointer;min-width:44px;min-height:44px;color:var(--text-heading);justify-content:center;align-items:center;gap:.7rem;padding:0 .25rem;font-size:1rem;list-style:none;display:flex}.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]:focus-visible{outline:2px solid var(--blue-primary);outline-offset:4px}.mobile-menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.menu-icon[data-astro-cid-nen7h5rs],.menu-icon[data-astro-cid-nen7h5rs]:before{width:1.3rem;height:1px;transition:transform var(--transition);content:"";background:currentColor;display:block}.menu-icon[data-astro-cid-nen7h5rs]:before{transform:translateY(-5px)}.mobile-menu[data-astro-cid-nen7h5rs][open] .menu-icon[data-astro-cid-nen7h5rs]{transform:rotate(45deg)}.mobile-menu[data-astro-cid-nen7h5rs][open] .menu-icon[data-astro-cid-nen7h5rs]:before{transform:rotate(-90deg)}.mobile-menu[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs]{inset:var(--header-height) 0 auto;max-height:calc(100dvh - var(--header-height));background:var(--bg-primary);border-bottom:1px solid var(--border);padding:1rem var(--gutter) 1.5rem;position:absolute;overflow-y:auto}.mobile-menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{max-width:var(--content-width);margin:0 auto;padding:0;list-style:none}.mobile-menu[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs]+li[data-astro-cid-nen7h5rs]{border-top:1px solid var(--border)}.mobile-menu[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{min-height:50px;color:var(--text-primary);justify-content:space-between;align-items:center;font-size:1.05rem;text-decoration:none;display:flex}.mobile-menu[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--blue-primary);text-decoration:underline}}@media (width<=420px){.menu-label[data-astro-cid-nen7h5rs]{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}}.site-footer[data-astro-cid-jo6i4kqk]{padding:clamp(4rem,7vw,6rem) 0 1.5rem}.footer-main[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(240px,1.6fr) .75fr .65fr 1fr;gap:clamp(2rem,4vw,4rem);display:grid}.footer-brand[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{text-decoration:none}.footer-brand[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:310px;color:var(--text-secondary);font-family:var(--font-serif);margin:1.4rem 0 0;font-size:1.35rem;line-height:1.5}.footer-column[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{font:600 .85rem/1.4 var(--font-sans);letter-spacing:.025em;color:var(--text-primary);margin:.25rem 0 1.3rem}.footer-column[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}.footer-column[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]+li[data-astro-cid-jo6i4kqk]{margin-top:.65rem}.footer-column[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-secondary);font-size:1rem;text-decoration:none}.footer-column[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--link-color);text-decoration:underline}.footer-identity[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk],.footer-identity[data-astro-cid-jo6i4kqk] address[data-astro-cid-jo6i4kqk]{color:var(--text-secondary);margin:0;font-size:.98rem;font-style:normal;line-height:1.65}.footer-identity[data-astro-cid-jo6i4kqk] address[data-astro-cid-jo6i4kqk]{margin-top:1rem}.footer-bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;gap:2rem;margin-top:clamp(3rem,6vw,5rem);padding-top:1.25rem;font-size:.85rem;display:flex}.footer-bottom[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0}@media (width<=1000px){.footer-main[data-astro-cid-jo6i4kqk]{grid-template-columns:1.5fr 1fr 1fr}.footer-identity[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}@media (width<=560px){.footer-main[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.footer-brand[data-astro-cid-jo6i4kqk],.footer-identity[data-astro-cid-jo6i4kqk]{grid-column:1/-1}.footer-bottom[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:.5rem}}
