@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100svh}img,picture,svg,video,canvas{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{padding:0;list-style:none}}@layer tokens{:root{color-scheme:light dark;--font-sans:"Inter var", "Inter", 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", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, "Liberation Mono", monospace;--ink-950:#08090b;--ink-900:#0f1114;--ink-800:#16191d;--ink-700:#23272d;--ink-600:#3a4048;--ink-500:#5b636e;--ink-450:#656d78;--ink-400:#838c98;--ink-300:#b2bac4;--ink-200:#d6dbe1;--ink-100:#e9ecef;--ink-050:#f4f6f8;--white:#fff;--signal-600:#00626d;--signal-500:#00707c;--signal-400:#0091a1;--signal-300:#00a3b4;--signal-200:#58cad6;--surface:var(--white);--surface-sunken:var(--ink-050);--surface-raised:var(--white);--surface-inverse:var(--ink-950);--surface-inverse-raised:var(--ink-800);--text:var(--ink-900);--text-muted:var(--ink-500);--text-subtle:var(--ink-450);--text-inverse:var(--ink-050);--text-inverse-muted:var(--ink-300);--accent-on-inverse:var(--signal-200);--border:var(--ink-200);--border-strong:var(--ink-300);--border-inverse:#ffffff1f;--link:var(--signal-500);--link-hover:var(--signal-600);--link-inverse:var(--signal-200);--focus-ring:var(--signal-400);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-2xl:clamp(3.5rem, 6vw, 5rem);--space-3xl:clamp(5rem, 9vw, 8rem);--step--1:clamp(.833rem, .81rem + .11vw, .889rem);--step-0:clamp(1rem, .96rem + .18vw, 1.0625rem);--step-1:clamp(1.2rem, 1.13rem + .34vw, 1.4rem);--step-2:clamp(1.44rem, 1.32rem + .6vw, 1.8rem);--step-3:clamp(1.728rem, 1.53rem + .99vw, 2.3rem);--step-4:clamp(2.074rem, 1.74rem + 1.66vw, 3rem);--step-5:clamp(2.488rem, 1.93rem + 2.79vw, 4rem);--measure:68ch;--container:76rem;--container-narrow:48rem;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--shadow-sm:0 1px 2px #0f111408, 0 1px 3px #0f111412;--shadow-md:0 2px 4px #0f111408, 0 8px 24px -8px #0f111424;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration:.22s}@media (prefers-color-scheme:dark){:root{--surface:var(--ink-950);--surface-sunken:#0c0e11;--surface-raised:var(--ink-900);--surface-inverse:var(--ink-050);--surface-inverse-raised:var(--white);--text:var(--ink-050);--text-muted:var(--ink-300);--text-subtle:var(--ink-400);--text-inverse:var(--ink-900);--text-inverse-muted:var(--ink-600);--accent-on-inverse:var(--signal-600);--border:#ffffff1c;--border-strong:#ffffff30;--border-inverse:#0f111420;--link:var(--signal-200);--link-hover:#8fdde6;--link-inverse:var(--signal-600);--shadow-sm:0 1px 2px #00000040;--shadow-md:0 2px 4px #00000040, 0 8px 24px -8px #0006}}}@layer base{body{background-color:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);font-synthesis-weight:none;margin:0;line-height:1.65}h1,h2,h3,h4{letter-spacing:-.021em;text-wrap:balance;font-weight:600;line-height:1.12}h1{font-size:var(--step-5)}h2{font-size:var(--step-4)}h3{font-size:var(--step-2);letter-spacing:-.014em}h4{font-size:var(--step-1);letter-spacing:-.01em}p{text-wrap:pretty}a{color:var(--link);text-underline-offset:.18em;transition:color var(--duration) var(--ease-out);text-decoration-thickness:1px}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}::selection{background:var(--signal-300);color:var(--ink-950)}hr{background:var(--border);border:0;height:1px}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border);padding:.15em .4em}pre{padding:var(--space-s);border-radius:var(--radius-md);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--step--1)}th,td{text-align:left;padding:var(--space-xs) var(--space-s);border-bottom:1px solid var(--border);vertical-align:top}th{font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}}@layer layout{.container{width:100%;max-width:var(--container);padding-inline:var(--space-m);margin-inline:auto}@media (width>=48rem){.container{padding-inline:var(--space-l)}}.container--narrow{max-width:var(--container-narrow)}.section{padding-block:var(--space-3xl)}.section--tight{padding-block:var(--space-2xl)}.section--sunken{background:var(--surface-sunken)}.section--inverse{background:var(--surface-inverse);color:var(--text-inverse)}.section--inverse h1,.section--inverse h2,.section--inverse h3{color:inherit}.section--inverse a:not(.button){color:var(--link-inverse)}.stack>*+*{margin-block-start:var(--flow,var(--space-s))}.grid{gap:var(--space-m);display:grid}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.grid--split{gap:var(--space-xl);grid-template-columns:1fr;display:grid}@media (width>=60rem){.grid--split{gap:var(--space-2xl);grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.skip-link{z-index:100;padding:var(--space-2xs) var(--space-s);background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--radius-sm);transition:inset-block-start var(--duration) var(--ease-out);text-decoration:none;position:absolute;inset-block-start:-4rem;inset-inline-start:var(--space-s)}.skip-link:focus-visible{inset-block-start:var(--space-s)}}@layer components{.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:500;display:block}.section--inverse .eyebrow{color:var(--accent-on-inverse)}.lede{font-size:var(--step-1);color:var(--text-muted);max-width:var(--measure);text-wrap:pretty;line-height:1.5}.section--inverse .lede{color:var(--text-inverse-muted)}.button{align-items:center;gap:var(--space-2xs);border-radius:var(--radius-md);font-size:var(--step-0);cursor:pointer;transition:background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);border:1px solid #0000;padding:.7em 1.35em;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button--primary{background:var(--surface-inverse);color:var(--text-inverse)}.button--primary:hover{background:var(--ink-700);color:var(--ink-050)}@media (prefers-color-scheme:dark){.button--primary:hover{background:var(--ink-200);color:var(--ink-950)}}.button--secondary{border-color:var(--border-strong);color:var(--text);background:0 0}.button--secondary:hover{border-color:var(--text);color:var(--text);background:var(--surface-sunken)}.section--inverse .button--primary{background:var(--white);color:var(--ink-950)}.section--inverse .button--primary:hover{background:var(--ink-200);color:var(--ink-950)}.section--inverse .button--secondary{border-color:var(--border-inverse);color:var(--text-inverse)}.section--inverse .button--secondary:hover{color:var(--text-inverse);background:#ffffff14;border-color:currentColor}.button__arrow{transition:transform var(--duration) var(--ease-out)}.button:hover .button__arrow{transform:translate(3px)}.card{gap:var(--space-xs);padding:var(--space-m);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);flex-direction:column;display:flex}.card--link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--link:focus-within{border-color:var(--focus-ring)}.card h3{font-size:var(--step-1)}.card p{color:var(--text-muted);font-size:var(--step-0);margin:0}.card__link:after{content:"";position:absolute;inset:0}.card--link{position:relative}.card__link{color:inherit;text-decoration:none}.card--link:hover .card__link{color:var(--link)}.tag{--tag-h:220;--tag-s:8%;--tag-l:28%;--tag-tint:.1;--tag-edge:.26;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:hsl(var(--tag-h) var(--tag-s) var(--tag-l));background:hsl(var(--tag-h) var(--tag-s) var(--tag-l) / var(--tag-tint));border:1px solid hsl(var(--tag-h) var(--tag-s) var(--tag-l) / var(--tag-edge));border-radius:999px;align-self:flex-start;align-items:center;gap:.4em;padding:.25em .7em;font-size:.72rem;font-weight:500;display:inline-flex}@media (prefers-color-scheme:dark){.tag{--tag-l:74%;--tag-tint:.14;--tag-edge:.3}}.tag[data-discipline=medical-biological-systems]{--tag-h:152;--tag-s:55%}.tag[data-discipline=electronic-systems]{--tag-h:28;--tag-s:70%}.tag[data-discipline=communications]{--tag-h:220;--tag-s:70%}.tag[data-discipline=artificial-intelligence]{--tag-h:262;--tag-s:60%}.prose{max-width:var(--measure);font-size:var(--step-0)}.prose>*+*{margin-block-start:var(--space-s)}.prose>h2{font-size:var(--step-3);margin-block-start:var(--space-xl)}.prose>h3{font-size:var(--step-1);margin-block-start:var(--space-l)}.prose>h2+*,.prose>h3+*{margin-block-start:var(--space-xs)}.prose ul,.prose ol{padding-inline-start:1.35em}.prose li+li{margin-block-start:var(--space-3xs)}.prose blockquote{border-inline-start:2px solid var(--border-strong);color:var(--text-muted);font-size:var(--step-1);padding-inline-start:var(--space-m);line-height:1.5}.prose img{border-radius:var(--radius-md)}.facts{gap:var(--space-m);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));margin:0;padding:0;display:grid}.facts div{border-block-start:1px solid var(--border);padding-block-start:var(--space-s)}.section--inverse .facts div{border-color:var(--border-inverse)}.facts dt{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.section--inverse .facts dt{color:var(--text-inverse-muted)}.facts dd{margin:var(--space-3xs) 0 0;font-size:var(--step-1);letter-spacing:-.012em;line-height:1.35}.notice{padding:var(--space-s) var(--space-m);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-muted);font-size:var(--step--1)}.notice p{margin:0}.notice p+p{margin-block-start:var(--space-2xs)}}@layer utilities{.visually-hidden:not(:focus):not(:active){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flow-l{--flow:var(--space-l)}.flow-m{--flow:var(--space-m)}.flow-xs{--flow:var(--space-xs)}.measure{max-width:var(--measure)}.text-muted{color:var(--text-muted)}.cluster{gap:var(--space-s);flex-wrap:wrap;align-items:center;display:flex}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--surface) 86%, transparent);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header__inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--space-m);flex-wrap:wrap;min-height:4rem;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--text);letter-spacing:-.02em;font-weight:600;font-size:var(--step-1);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand__word[data-astro-cid-nen7h5rs]{line-height:1}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-m);margin:0;padding:0;list-style:none;display:flex}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.button){color:var(--text-muted);font-size:var(--step-0);border-bottom:2px solid #0000;padding-block:.35rem;text-decoration:none}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.button):hover{color:var(--text)}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text);border-bottom-color:var(--signal-400)}.site-nav[data-astro-cid-nen7h5rs] .button[data-astro-cid-nen7h5rs]{font-size:var(--step--1);padding:.45em 1em}.nav-toggle[data-astro-cid-nen7h5rs],.nav-toggle__button[data-astro-cid-nen7h5rs]{display:none}@media (width<=52rem){.nav-toggle[data-astro-cid-nen7h5rs]{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;display:block;position:absolute}.nav-toggle__button[data-astro-cid-nen7h5rs]{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-inline-start:auto;display:inline-flex}.nav-toggle[data-astro-cid-nen7h5rs]:focus-visible+.nav-toggle__button[data-astro-cid-nen7h5rs]{outline:2px solid var(--focus-ring);outline-offset:2px}.nav-toggle__bars[data-astro-cid-nen7h5rs],.nav-toggle__bars[data-astro-cid-nen7h5rs]:before,.nav-toggle__bars[data-astro-cid-nen7h5rs]:after{width:1.1rem;height:1.5px;transition:transform var(--duration) var(--ease-out);background:currentColor;display:block}.nav-toggle__bars[data-astro-cid-nen7h5rs]:before,.nav-toggle__bars[data-astro-cid-nen7h5rs]:after{content:"";position:relative}.nav-toggle__bars[data-astro-cid-nen7h5rs]:before{top:-5.5px}.nav-toggle__bars[data-astro-cid-nen7h5rs]:after{top:4px}.site-nav[data-astro-cid-nen7h5rs]{flex-basis:100%;display:none}.nav-toggle[data-astro-cid-nen7h5rs]:checked~.site-nav[data-astro-cid-nen7h5rs]{padding-block-end:var(--space-s);display:block}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{flex-direction:column;align-items:stretch;gap:0}.site-nav[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs]{border-top:1px solid var(--border)}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:not(.button){padding-block:var(--space-xs);border-bottom:0;display:block}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--link);border-bottom:0}.site-nav__cta[data-astro-cid-nen7h5rs]{border-top:0;padding-block-start:var(--space-s)}.site-nav[data-astro-cid-nen7h5rs] .button[data-astro-cid-nen7h5rs]{justify-content:center;width:100%}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--surface-inverse);color:var(--text-inverse);margin-block-start:auto;padding-block-start:var(--space-2xl)}.site-footer__inner[data-astro-cid-jo6i4kqk]{gap:var(--space-xl);grid-template-columns:1fr;padding-block-end:var(--space-xl);display:grid}@media (width>=60rem){.site-footer__inner[data-astro-cid-jo6i4kqk]{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}.brand[data-astro-cid-jo6i4kqk]{color:inherit;font-weight:600;font-size:var(--step-2);letter-spacing:-.022em;align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.site-footer__blurb[data-astro-cid-jo6i4kqk]{max-width:34ch;color:var(--text-inverse-muted);font-size:var(--step-0);margin-block-start:var(--space-s)}.site-footer__contact[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);font-size:var(--step--1);margin-block-start:var(--space-s)}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-inverse-muted);text-decoration:none}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--text-inverse);text-decoration:underline}.site-footer__nav[data-astro-cid-jo6i4kqk]{gap:var(--space-l);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));display:grid}.site-footer__nav[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-on-inverse);font-weight:500}.site-footer__nav[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:var(--space-2xs);font-size:var(--step-0);margin-block-start:var(--space-s);display:grid}.site-footer__legal[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--space-s);padding-block:var(--space-m);border-top:1px solid var(--border-inverse);font-size:var(--step--1);color:var(--text-inverse-muted);flex-wrap:wrap;display:flex}.site-footer__legal[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{gap:var(--space-2xs);margin:0;display:flex}body{flex-direction:column;min-height:100svh;display:flex}main:focus{outline:none}
