/* GENERATED FILE — do not edit directly.
   Site styles: src/styles/*.css · Kit blocks: src/styles/vendor/blocks/*.css
   Tokens: committed src/styles/tokens/ (surface-website.css, tokens.css)
   Blocks: (no kit) (none)
   Build: shared build-lib.mjs --optimize */

:root {
  --colour-neutral-0: rgb(255 255 255);
  --colour-neutral-50: rgb(250 250 250);
  --colour-neutral-100: rgb(242 242 242);
  --colour-neutral-200: rgb(230 230 230);
  --colour-neutral-300: rgb(214 214 214);
  --colour-neutral-500: rgb(154 154 154);
  --colour-neutral-600: rgb(112 112 112);
  --colour-neutral-800: rgb(52 52 52);
  --colour-neutral-825: rgb(42 42 42);
  --colour-neutral-900: rgb(24 24 24);
  --colour-neutral-950: rgb(10 10 10);
  --colour-accent-500: rgb(38 100 227);
}

:root, [data-theme="light"] {
  --colour-text-default: var(--colour-neutral-800);
  --colour-text-subtle: var(--colour-neutral-600);
  --colour-text-faint: var(--colour-neutral-500);
  --colour-surface-base: var(--colour-neutral-50);
  --colour-surface-sunken: var(--colour-neutral-100);
  --colour-border-default: var(--colour-neutral-300);
  --colour-border-subtle: var(--colour-neutral-200);
  --colour-action-primary: var(--colour-accent-500);
  --colour-action-primary-text: var(--colour-neutral-0);
}

[data-theme="dark"] {
  --colour-text-default: var(--colour-neutral-200);
  --colour-text-subtle: var(--colour-neutral-500);
  --colour-text-faint: var(--colour-neutral-600);
  --colour-surface-base: var(--colour-neutral-900);
  --colour-surface-sunken: var(--colour-neutral-950);
  --colour-border-default: var(--colour-neutral-800);
  --colour-border-subtle: var(--colour-neutral-825);
  --colour-action-primary: var(--colour-accent-500);
  --colour-action-primary-text: var(--colour-neutral-0);
}

:root {
  --viewport-width: min(100vw, 2263px);
  --canvas-scale: clamp(1px, calc(var(--viewport-width) / 1600), 1.414375px);
  --content-max-width: 2263px;
  --role-display-1-font-family: indivisible-variable, system-ui, sans-serif;
  --role-display-1-font-weight: 400;
  --role-heading-1-font-family: indivisible-variable, system-ui, sans-serif;
  --role-heading-1-font-weight: 400;
  --role-heading-2-font-family: indivisible-variable, system-ui, sans-serif;
  --role-heading-2-font-weight: 500;
  --role-heading-3-font-family: indivisible-variable, system-ui, sans-serif;
  --role-heading-3-font-weight: 500;
  --role-lead-font-family: indivisible-variable, system-ui, sans-serif;
  --role-lead-font-weight: 400;
  --role-body-font-family: indivisible-variable, system-ui, sans-serif;
  --role-body-font-weight: 400;
  --role-caption-font-family: indivisible-variable, system-ui, sans-serif;
  --role-caption-font-weight: 400;
  --role-code-font-family: ui-monospace, SFMono-Regular, monospace;
  --role-display-1-font-size: clamp(62px, calc(62px + 32 * ((var(--viewport-width) - 440px) / 460)), 94px);
  --role-display-1-line-height: clamp(76px, calc(76px + 38 * ((var(--viewport-width) - 440px) / 460)), 114px);
  --role-heading-1-font-size: clamp(40px, calc(40px + 10 * ((var(--viewport-width) - 440px) / 460)), 50px);
  --role-heading-1-line-height: clamp(48px, calc(48px + 12 * ((var(--viewport-width) - 440px) / 460)), 60px);
  --role-heading-2-font-size: clamp(32px, calc(32px + 8 * ((var(--viewport-width) - 440px) / 460)), 40px);
  --role-heading-2-line-height: clamp(40px, calc(40px + 8 * ((var(--viewport-width) - 440px) / 460)), 48px);
  --role-heading-3-font-size: clamp(26px, calc(26px + 6 * ((var(--viewport-width) - 440px) / 460)), 32px);
  --role-heading-3-line-height: clamp(38px, calc(38px + 8 * ((var(--viewport-width) - 440px) / 460)), 46px);
  --role-lead-font-size: clamp(20px, calc(20px + 2 * ((var(--viewport-width) - 440px) / 460)), 22px);
  --role-lead-line-height: clamp(28px, calc(28px + 4 * ((var(--viewport-width) - 440px) / 460)), 32px);
  --role-body-font-size: clamp(16px, calc(16px + 2 * ((var(--viewport-width) - 440px) / 460)), 18px);
  --role-body-line-height: clamp(24px, calc(24px + 2 * ((var(--viewport-width) - 440px) / 460)), 26px);
  --role-caption-font-size: clamp(12px, calc(12px + 2 * ((var(--viewport-width) - 440px) / 460)), 14px);
  --role-caption-line-height: clamp(18px, calc(18px + 2 * ((var(--viewport-width) - 440px) / 460)), 20px);
  --space-fine: clamp(8px, calc(8px + 2 * ((var(--viewport-width) - 440px) / 460)), 10px);
  --space-tight: clamp(16px, calc(16px + 2 * ((var(--viewport-width) - 440px) / 460)), 18px);
  --space-element: clamp(32px, calc(32px + 4 * ((var(--viewport-width) - 440px) / 460)), 36px);
  --space-group: clamp(64px, calc(64px + 8 * ((var(--viewport-width) - 440px) / 460)), 72px);
  --space-section: clamp(128px, calc(128px + 16 * ((var(--viewport-width) - 440px) / 460)), 144px);
  --space-before-heading-2: clamp(64px, calc(64px + 16 * ((var(--viewport-width) - 440px) / 460)), 80px);
  --space-before-heading-3: clamp(40px, calc(40px + 8 * ((var(--viewport-width) - 440px) / 460)), 48px);
  --space-before-lead: clamp(20px, calc(20px + 2 * ((var(--viewport-width) - 440px) / 460)), 22px);
  --space-before-body: clamp(16px, calc(16px + 2 * ((var(--viewport-width) - 440px) / 460)), 18px);
  --space-before-caption: clamp(12px, calc(12px + 2 * ((var(--viewport-width) - 440px) / 460)), 14px);
  --grid-1-margin: clamp(32px, calc(32px + 4 * ((var(--viewport-width) - 440px) / 460)), 36px);
  --grid-1-gutter: clamp(24px, calc(24px + 4 * ((var(--viewport-width) - 440px) / 460)), 28px);
  --grid-1-columns: 2;
}

@media (min-width: 900px) {:root {
  --grid-1-columns: 8;
  --role-display-1-font-size: clamp(94px, calc(94px + 46 * ((var(--viewport-width) - 900px) / 700)), 140px);
  --role-display-1-line-height: clamp(114px, calc(114px + 54 * ((var(--viewport-width) - 900px) / 700)), 168px);
  --role-heading-1-font-size: clamp(50px, calc(50px + 12 * ((var(--viewport-width) - 900px) / 700)), 62px);
  --role-heading-1-line-height: clamp(60px, calc(60px + 16 * ((var(--viewport-width) - 900px) / 700)), 76px);
  --role-heading-2-font-size: clamp(40px, calc(40px + 10 * ((var(--viewport-width) - 900px) / 700)), 50px);
  --role-heading-2-line-height: clamp(48px, calc(48px + 12 * ((var(--viewport-width) - 900px) / 700)), 60px);
  --role-heading-3-font-size: clamp(32px, calc(32px + 8 * ((var(--viewport-width) - 900px) / 700)), 40px);
  --role-heading-3-line-height: clamp(46px, calc(46px + 10 * ((var(--viewport-width) - 900px) / 700)), 56px);
  --role-lead-font-size: clamp(22px, calc(22px + 4 * ((var(--viewport-width) - 900px) / 700)), 26px);
  --role-lead-line-height: clamp(32px, calc(32px + 6 * ((var(--viewport-width) - 900px) / 700)), 38px);
  --role-body-font-size: clamp(18px, calc(18px + 2 * ((var(--viewport-width) - 900px) / 700)), 20px);
  --role-body-line-height: clamp(26px, calc(26px + 2 * ((var(--viewport-width) - 900px) / 700)), 28px);
  --role-caption-font-size: clamp(14px, calc(14px + 2 * ((var(--viewport-width) - 900px) / 700)), 16px);
  --role-caption-line-height: clamp(20px, calc(20px + 4 * ((var(--viewport-width) - 900px) / 700)), 24px);
  --space-fine: 10px;
  --space-tight: clamp(18px, calc(18px + 2 * ((var(--viewport-width) - 900px) / 700)), 20px);
  --space-element: clamp(36px, calc(36px + 4 * ((var(--viewport-width) - 900px) / 700)), 40px);
  --space-group: clamp(72px, calc(72px + 8 * ((var(--viewport-width) - 900px) / 700)), 80px);
  --space-section: clamp(144px, calc(144px + 16 * ((var(--viewport-width) - 900px) / 700)), 160px);
  --space-before-heading-2: clamp(80px, calc(80px + 20 * ((var(--viewport-width) - 900px) / 700)), 100px);
  --space-before-heading-3: clamp(48px, calc(48px + 12 * ((var(--viewport-width) - 900px) / 700)), 60px);
  --space-before-lead: clamp(22px, calc(22px + 4 * ((var(--viewport-width) - 900px) / 700)), 26px);
  --space-before-body: clamp(18px, calc(18px + 2 * ((var(--viewport-width) - 900px) / 700)), 20px);
  --space-before-caption: clamp(14px, calc(14px + 2 * ((var(--viewport-width) - 900px) / 700)), 16px);
  --grid-1-margin: clamp(36px, calc(36px + 4 * ((var(--viewport-width) - 900px) / 700)), 40px);
  --grid-1-gutter: clamp(28px, calc(28px + 2 * ((var(--viewport-width) - 900px) / 700)), 30px);
}}

@media (min-width: 1600px) {:root {
  --grid-1-columns: 12;
  --role-display-1-font-size: calc(140 * var(--canvas-scale));
  --role-display-1-line-height: calc(168 * var(--canvas-scale));
  --role-heading-1-font-size: calc(62 * var(--canvas-scale));
  --role-heading-1-line-height: calc(76 * var(--canvas-scale));
  --role-heading-2-font-size: calc(50 * var(--canvas-scale));
  --role-heading-2-line-height: calc(60 * var(--canvas-scale));
  --role-heading-3-font-size: calc(40 * var(--canvas-scale));
  --role-heading-3-line-height: calc(56 * var(--canvas-scale));
  --role-lead-font-size: calc(26 * var(--canvas-scale));
  --role-lead-line-height: calc(38 * var(--canvas-scale));
  --role-body-font-size: calc(20 * var(--canvas-scale));
  --role-body-line-height: calc(28 * var(--canvas-scale));
  --role-caption-font-size: calc(16 * var(--canvas-scale));
  --role-caption-line-height: calc(24 * var(--canvas-scale));
  --space-fine: calc(10 * var(--canvas-scale));
  --space-tight: calc(20 * var(--canvas-scale));
  --space-element: calc(40 * var(--canvas-scale));
  --space-group: calc(80 * var(--canvas-scale));
  --space-section: calc(160 * var(--canvas-scale));
  --space-before-heading-2: calc(100 * var(--canvas-scale));
  --space-before-heading-3: calc(60 * var(--canvas-scale));
  --space-before-lead: calc(26 * var(--canvas-scale));
  --space-before-body: calc(20 * var(--canvas-scale));
  --space-before-caption: calc(16 * var(--canvas-scale));
  --grid-1-margin: calc(40 * var(--canvas-scale));
  --grid-1-gutter: calc(30 * var(--canvas-scale));
}}

.text-display-1 {
  font-family: var(--role-display-1-font-family);
  font-weight: var(--role-display-1-font-weight);
  font-size: var(--role-display-1-font-size);
  line-height: var(--role-display-1-line-height);
}

.text-heading-1 {
  font-family: var(--role-heading-1-font-family);
  font-weight: var(--role-heading-1-font-weight);
  font-size: var(--role-heading-1-font-size);
  line-height: var(--role-heading-1-line-height);
}

.text-heading-2 {
  font-family: var(--role-heading-2-font-family);
  font-weight: var(--role-heading-2-font-weight);
  font-size: var(--role-heading-2-font-size);
  line-height: var(--role-heading-2-line-height);
}

.text-heading-3 {
  font-family: var(--role-heading-3-font-family);
  font-weight: var(--role-heading-3-font-weight);
  font-size: var(--role-heading-3-font-size);
  line-height: var(--role-heading-3-line-height);
}

.text-lead {
  font-family: var(--role-lead-font-family);
  font-weight: var(--role-lead-font-weight);
  font-size: var(--role-lead-font-size);
  line-height: var(--role-lead-line-height);
}

.text-body {
  font-family: var(--role-body-font-family);
  font-weight: var(--role-body-font-weight);
  font-size: var(--role-body-font-size);
  line-height: var(--role-body-line-height);
}

.text-caption {
  font-family: var(--role-caption-font-family);
  font-weight: var(--role-caption-font-weight);
  font-size: var(--role-caption-font-size);
  line-height: var(--role-caption-line-height);
}

*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  height: 100%;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

a {
  color: inherit;
  text-decoration: none;
}

:root {
  --page-surface: var(--colour-surface-sunken);
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  
  scroll-padding-top: var(--space-group);
  background-color: var(--page-surface);
}

body {
  font-family: var(--role-body-font-family);
  font-size: var(--role-body-font-size);
  line-height: var(--role-body-line-height);
  color: var(--colour-text-default);
  background-color: var(--page-surface);
}

::selection {
  background-color: var(--colour-action-primary);
  color: var(--colour-action-primary-text);
}

.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-heading-2 { margin-block-start: var(--space-before-heading-2); }

.text-heading-3 { margin-block-start: var(--space-before-heading-3); }

.text-lead { margin-block-start: var(--space-before-lead); }

.text-body { margin-block-start: var(--space-before-body); }

.text-caption { margin-block-start: var(--space-before-caption); }

:where(.text-heading-2, .text-heading-3, .text-lead, .text-body, .text-caption):first-child {
  margin-block-start: 0;
}

.text-body { text-wrap: pretty; }

:root {
  --main-surface: var(--page-surface);
  --main-padding: var(--space-group);
}

.page {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.page__main {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-block: var(--main-padding);
  background-color: var(--main-surface);
}

.page__footer {
  border-block-start: 1px solid var(--colour-border-subtle);
  color: var(--colour-text-faint);
}

.page__footer-inner {
  padding-block: var(--space-tight);
}

.surface-container {
  width: 100%;
  max-width: var(--content-max-width);
  margin-inline: auto;
  padding-inline: var(--grid-1-margin);
}

:root {
  --section-surface: var(--colour-surface-base);
  --section-gap: var(--space-element);
  --section-padding: var(--space-element);
}

.section {
  background-color: var(--section-surface);
}

.section--sunken { background-color: var(--colour-surface-sunken); }

.section[data-theme="dark"] {
  color: var(--colour-text-default);
  background-color: var(--colour-surface-base);
}

.section__content {
  display: flex;
  flex-direction: column;
  gap: var(--section-gap);
  padding-block: var(--section-padding);
}

.section__content--center :is(.measure, .text-display-1, .text-display-2, .text-heading-1, .text-heading-2, .text-heading-3, .text-heading-4, .text-body, .text-lead, .text-caption) {
  margin-inline: auto;
}

.flow {
  display: flex;
  flex-direction: column;
  gap: var(--space-tight);
}

.flow > .button {
  margin-block-start: calc(var(--space-group) - var(--space-tight));
}

.section__content > .cluster {
  margin-block-start: calc(var(--space-group) - var(--space-element));
}

@media (min-width: 900px) {.section__content > .cluster {
    margin-block-start: 0;
  }}

@media (min-width: 900px) {.trailing-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-element);
  }

.trailing-col > * {
    grid-column: 2;
  }}

.measure { max-width: 66ch; }

.heading--measure { max-width: 30ch; text-wrap: balance; }

.term-row {
  display: grid;
  gap: var(--space-fine);
  padding-block: var(--space-element);
  border-block-start: 1px solid var(--colour-border-default);
}

.term-row > * { margin-block-start: 0; }

.term-row:last-child { padding-block-end: 0; }

@media (min-width: 900px) {.term-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-element);
  }}

.term-row dt a:hover, .term-row dt a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

:root {
  --main-padding: 0;
  --page-surface: var(--colour-surface-base);
}

:root {
  --section-padding: var(--space-group);
}

@media (min-width: 900px) {:root {
  --section-padding: var(--space-section);
}}

:root {
  --hero-ground: var(--colour-text-default);
}

.section.hero-band {
  background-color: var(--hero-ground);
}

.hero {
  --section-gap: var(--space-section);
}

.hero {
  min-height: 100vh;
  min-height: 100svh;
  justify-content: space-between;
}

.closing-band {
  --section-gap: var(--space-section);
}

.statement-band {
  --section-gap: var(--space-section);
}

@media (min-width: 900px) {.statement-band {
    --section-gap: var(--space-group);
  }}

.wordmark > svg {
  display: block;
  width: 100%;
  height: auto;
}

.venture-mark {
  display: block;
  width: 100%;
  height: auto;
}

.person {
  display: grid;
  gap: var(--space-element);
  padding-block: var(--space-group);
  border-block-start: 1px solid var(--colour-border-default);
}

.person > * {
  margin-block-start: 0;
}

.person:last-child {
  padding-block-end: 0;
}

@media (min-width: 900px) {.person {
    grid-template-columns: repeat(var(--grid-1-columns), minmax(0, 1fr));
    column-gap: var(--grid-1-gutter);
    align-items: start;
  }

.person {
    grid-template-rows: min-content 1fr;
  }

.person__portrait { grid-column: 1 / 3; grid-row: 1 / span 2; }

.person__name { grid-column: 3 / -1; grid-row: 1; }

.person__bio { grid-column: 3 / -1; grid-row: 2; }

.person__name { margin-block-start: var(--space-tight); }}

@media (min-width: 1600px) {.person {
    grid-template-rows: auto;
  }

.person__portrait { grid-row: 1; }

.person__name { grid-column: 3 / 8; grid-row: 1; }

.person__bio { grid-column: 8 / -1; grid-row: 1; }

.person__bio { margin-block-start: var(--space-tight); }}

.person__portrait {
  aspect-ratio: 5 / 6;
  background-color: var(--colour-surface-sunken);
}

.person__portrait {
  max-width: 50%;
}

@media (min-width: 900px) {.person__portrait { max-width: none; }}

.page__footer[data-theme="dark"] {
  background-color: var(--colour-surface-base);
  border-block-start: 0;
}

pre[class*="language-"] {
  background: var(--colour-surface-sunken);
  border-radius: 4px;
  overflow-x: auto;
}

code[class*="language-"] {
  font-family: var(--role-code-font-family);
  font-weight: 400;
}

.u-text-subtle { color: var(--colour-text-subtle); }

.u-medium { font-weight: 500; }

.u-semibold { font-weight: 600; }

.u-mt-0 { margin-block-start: 0; }

.list-plain {
  list-style: none;
  padding: 0;
}
