@font-face{font-family:"Space Grotesk";font-weight:500;font-style:normal;font-display:swap;src:url("../assets/fonts/space-grotesk-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-style:normal;font-display:swap;src:url("../assets/fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url("../assets/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}
:root{
  --nf-carbon: #0E1112;
  --nf-graphite: #23272B;
  --nf-warm-white: #F2EFE9;
  --nf-mineral-gray: #596067;
  --nf-mineral-gray-light: #A6ADB3;
  --nf-violet: #4C55CA;
  --nf-lime: #D6ED4C;
  --nf-bg: #F2EFE9;
  --nf-bg-inverse: #0E1112;
  --nf-surface-inverse: #23272B;
  --nf-text: #0E1112;
  --nf-text-muted: #596067;
  --nf-text-inverse: #F2EFE9;
  --nf-line: #A6ADB3;
  --nf-accent: #4C55CA;
  --nf-signal: #D6ED4C;
  --nf-signal-text: #0E1112;
  --nf-space-1: 4px;
  --nf-space-2: 8px;
  --nf-space-3: 16px;
  --nf-space-4: 24px;
  --nf-space-5: 40px;
  --nf-space-6: 72px;
  --nf-space-7: 112px;
  --nf-gutter: clamp(32px, 7.21vw - 27.8px, 76px);
  --nf-col-gap: clamp(20px, 2.2vw, 32px);
  --nf-section-y: clamp(64px, 5.6vw, 96px);
  --nf-head-gap: clamp(32px, 3vw, 48px);
  --nf-block-gap: clamp(48px, 5vw, 80px);
  --nf-stack: clamp(16px, 1.6vw, 24px);
  --nf-measure: 62ch;
  --nf-measure-lead: 50ch;
  --nf-control-h: 48px;
  --nf-control-h-lg: 56px;
  --nf-dur-fast: 200ms;
  --nf-dur-base: 300ms;
  --nf-ease: cubic-bezier(.2, .7, .2, 1);
  --nf-gutter-sm: 20px;
  --nf-header-sm: 64px;
  --nf-header-md: 76px;
  --nf-header-lg: 84px;
  --nf-dur-exit: 150ms;
  --nf-dur-enter: 240ms;
  --nf-dur-fade: 400ms;
  --nf-dur-reveal: 600ms;
  --nf-stagger: 80ms;
  --nf-container: 1440px;
  --nf-fs-display: clamp(48px, 19.2px + 5vw, 96px);
  --nf-lh-display: 1.06;
  --nf-ls-display: -0.015em;
  --nf-fs-h2: clamp(40px, 16px + 2.8vw, 60px);
  --nf-lh-h2: 1.1;
  --nf-ls-h2: -0.01em;
  --nf-fs-h3: clamp(26px, 18px + 1vw, 34px);
  --nf-lh-h3: 1.2;
  --nf-ls-h3: -0.01em;
  --nf-fs-lead: clamp(18px, 14px + 0.5vw, 22px);
  --nf-lh-lead: 1.55;
  --nf-ls-lead: 0;
  --nf-fs-body: clamp(16px, 14.4px + 0.15vw, 18px);
  --nf-lh-body: 1.6;
  --nf-ls-body: 0;
  --nf-fs-hero: clamp(40px, 39.7px + 2.381vw, 74px);
  --nf-lh-hero: 1.06;
  --nf-ls-hero: 0;
  --nf-fs-hero-lead: clamp(16px, 15.26px + 0.19vw, 18px);
  --nf-lh-hero-lead: 1.52;
  --nf-ls-hero-lead: 0;
  --nf-fs-eyebrow: clamp(12px, 11.63px + 0.095vw, 13px);
  --nf-lh-eyebrow: 1.38;
  --nf-ls-eyebrow: 0;
  --nf-fs-chapter: clamp(45px, 17.08px + 3.606vw, 69px);
  --nf-lh-chapter: 1.066;
  --nf-ls-chapter: 0;
  --nf-fs-chapter-lead: clamp(15px, 11.08px + 0.481vw, 18px);
  --nf-lh-chapter-lead: 1.53;
  --nf-ls-chapter-lead: 0;
  --nf-fs-column: clamp(30px, 19.23px + 1.442vw, 40px);
  --nf-lh-column: 1.16;
  --nf-ls-column: 0;
  --nf-fs-column-body: clamp(14px, 9.08px + 0.481vw, 16px);
  --nf-lh-column-body: 1.6;
  --nf-ls-column-body: 0;
  --nf-fs-evidence-h2: clamp(32px, 14.46px + 2.885vw, 56px);
  --nf-lh-evidence-h2: 1.16;
  --nf-ls-evidence-h2: 0;
  --nf-fs-team-h2: clamp(48px, 8.62px + 3.846vw, 64px);
  --nf-lh-team-h2: 1.09;
  --nf-ls-team-h2: 0;
  --nf-fs-contact-h2: clamp(78px, -5.69px + 8.173vw, 112px);
  --nf-lh-contact-h2: 1;
  --nf-ls-contact-h2: 0;
  --nf-fs-evidence-sub: clamp(24px, 21.08px + 0.481vw, 28px);
  --nf-lh-evidence-sub: 1.3;
  --nf-ls-evidence-sub: 0;
  --nf-fs-ev-h2-sm: clamp(32px, 27.08px + 1.262vw, 40px);
  --nf-lh-ev-h2-sm: 1.1875;
  --nf-ls-ev-h2-sm: 0;
  --nf-fs-ev-h2: clamp(40px, 20.31px + 1.923vw, 48px);
  --nf-lh-ev-h2: 1.17;
  --nf-ls-ev-h2: 0;
  --nf-fs-dev-lead: clamp(15px, 8.62px + 0.721vw, 19px);
  --nf-lh-dev-lead: 1.58;
  --nf-ls-dev-lead: 0;
  --nf-fs-ev-sample: clamp(14px, 10.08px + 0.481vw, 17px);
  --nf-lh-ev-sample: 1.62;
  --nf-ls-ev-sample: 0;
  --nf-fs-evidence-lead: clamp(15px, 13.54px + 0.24vw, 17px);
  --nf-lh-evidence-lead: 1.52;
  --nf-ls-evidence-lead: 0;
  --font-display: "Space Grotesk", Arial, sans-serif;
  --font-body: "IBM Plex Sans", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "Courier New", monospace;
}
.h1{font:500 64px/68px var(--font-display);letter-spacing:-0.01em}
.h2{font:500 44px/48px var(--font-display);letter-spacing:-0.01em}
.h3{font:500 30px/36px var(--font-display);letter-spacing:-0.01em}
.nav-lg{font:500 30px/40px var(--font-display);letter-spacing:0}
.body-lg{font:400 18px/28px var(--font-body);letter-spacing:0}
.body{font:400 16px/24px var(--font-body);letter-spacing:0}
.ui{font:500 14px/20px var(--font-body);letter-spacing:0}
.label{font:500 12px/16px var(--font-body);letter-spacing:0}
.technical-label{font:500 12px/16px var(--font-mono);letter-spacing:0;text-transform:uppercase}
.team-label{font:400 12px/18px var(--font-body);letter-spacing:0}
.team-index{font:500 14px/20px var(--font-body);letter-spacing:0}
.member-name{font:500 16px/22px var(--font-body);letter-spacing:0}
.member-role{font:400 13px/20px var(--font-body);letter-spacing:0}
.member-role-sm{font:400 12px/18px var(--font-body);letter-spacing:0}
.bio-kicker{font:500 11.5px/14px var(--font-mono);letter-spacing:0}
.bio-kicker-sm{font:500 11.5px/12px var(--font-mono);letter-spacing:0}
.bio-name{font:500 28px/32px var(--font-display);letter-spacing:0}
.bio-name-t{font:500 26px/32px var(--font-display);letter-spacing:0}
.bio-name-sm{font:500 24px/28px var(--font-display);letter-spacing:0}
.bio-role{font:400 13px/18px var(--font-body);letter-spacing:0}
.bio-text{font:400 16px/26px var(--font-body);letter-spacing:0}
.bio-text-t{font:400 14px/22px var(--font-body);letter-spacing:0}
.bio-text-sm{font:400 14px/21px var(--font-body);letter-spacing:0}
.contact-kicker{font:500 13px/20px var(--font-mono);letter-spacing:0.4px}
.contact-h2-sm{font:500 52px/58px var(--font-display);letter-spacing:0}
.contact-lead{font:400 23px/33px var(--font-body);letter-spacing:0}
.contact-lead-t{font:400 19px/28px var(--font-body);letter-spacing:0}
.contact-lead-sm{font:400 17px/26px var(--font-body);letter-spacing:0}
.field-label{font:500 12px/18px var(--font-body);letter-spacing:0.85px}
.field-input{font:400 16px/22px var(--font-body);letter-spacing:0}
.contact-send{font:500 16px/20px var(--font-body);letter-spacing:0}
.contact-note{font:400 13px/20px var(--font-body);letter-spacing:0}
.footer-top{font:500 14px/20px var(--font-body);letter-spacing:0}
.chapter-sm{font:500 36px/42px var(--font-display);letter-spacing:0}
.diagram{font:500 11.5px/14px var(--font-body);letter-spacing:0.2px}
.diagram-2{font:500 11.5px/14.5px var(--font-body);letter-spacing:0.3px}
.diagram-mark{font:500 13.5px/18.9px var(--font-body);letter-spacing:1.1px}
.diagram-mark-sm{font:500 10.5px/14.7px var(--font-body);letter-spacing:1.1px}
.evidence-caption{font:400 13px/19px var(--font-body);letter-spacing:0}
.evidence-note-sm{font:400 12.5px/18px var(--font-body);letter-spacing:0}
.ev-h2-320{font:500 28px/35px var(--font-display);letter-spacing:0}
.ev-h2-360{font:500 30px/38px var(--font-display);letter-spacing:0}
