:root {
  --typography--inter-variable: "Inter Variable", Arial, sans-serif;
  --color--neutral--black: #000;
  --color--neutral--white: #fff;
  --typography--body: 1rem;
  --utility--global-padding: 1.5rem;
  --utility--container-small: 45rem;
  --utility--container-medium: 70.5rem;
  --color--neutral--ink-100: #e3e5e7;
  --utility--padding-section-large: clamp(4.5 * 1rem, ((4.5 - ((7 - 4.5) / (90 - 20) * 20)) * 1rem + ((7 - 4.5) / (90 - 20)) * 100vw), 7 * 1rem);
  --utility--padding-section-medium: clamp(4 * 1rem, ((4 - ((6 - 4) / (90 - 20) * 20)) * 1rem + ((6 - 4) / (90 - 20)) * 100vw), 6 * 1rem);
  --color--brand--purple-050: #efeaff;
  --utility--padding-section-small: clamp(3.5 * 1rem, ((3.5 - ((5 - 3.5) / (90 - 20) * 20)) * 1rem + ((5 - 3.5) / (90 - 20)) * 100vw), 5 * 1rem);
  --color--brand--purple-600: #8d5fff;
  --sizing--2-5rem: 2.5rem;
  --color--neutral--ink-300: #9e9e9e;
  --color--neutral--ink-600: #43464d;
  --color--brand--purple-700: #8352ff;
  --typography--eyebrow: .75rem;
  --typography--h1: clamp(2.25 * 1rem, ((2.25 - ((3 - 2.25) / (90 - 20) * 20)) * 1rem + ((3 - 2.25) / (90 - 20)) * 100vw), 3 * 1rem);
  --typography--lead: clamp(1.125 * 1rem, ((1.125 - ((1.25 - 1.125) / (90 - 20) * 20)) * 1rem + ((1.25 - 1.125) / (90 - 20)) * 100vw), 1.25 * 1rem);
  --color--brand--purple-400: #af8fff;
  --typography--mission: clamp(1.5 * 1rem, ((1.5 - ((1.875 - 1.5) / (90 - 20) * 20)) * 1rem + ((1.875 - 1.5) / (90 - 20)) * 100vw), 1.875 * 1rem);
  --typography--lead-small: clamp(1.0625 * 1rem, ((1.0625 - ((1.1875 - 1.0625) / (90 - 20) * 20)) * 1rem + ((1.1875 - 1.0625) / (90 - 20)) * 100vw), 1.1875 * 1rem);
  --typography--h3: clamp(1.5 * 1rem, ((1.5 - ((1.75 - 1.5) / (90 - 20) * 20)) * 1rem + ((1.75 - 1.5) / (90 - 20)) * 100vw), 1.75 * 1rem);
  --typography--h2: clamp(1.75 * 1rem, ((1.75 - ((2 - 1.75) / (90 - 20) * 20)) * 1rem + ((2 - 1.75) / (90 - 20)) * 100vw), 2 * 1rem);
  --typography--email: clamp(1.25 * 1rem, ((1.25 - ((1.5 - 1.25) / (90 - 20) * 20)) * 1rem + ((1.5 - 1.25) / (90 - 20)) * 100vw), 1.5 * 1rem);
  --sizing--0-5rem: .5rem;
  --sizing--1rem: 1rem;
  --sizing--1-25rem: 1.25rem;
  --sizing--1-5rem: 1.5rem;
  --sizing--2rem: 2rem;
  --sizing--3-5rem: 3.5rem;
  --sizing--5rem: 5rem;
  --sizing--6rem: 6rem;
  --sizing--7rem: 7rem;
  --sizing--0rem: 0rem;
  --sizing--0-125rem: .125rem;
  --sizing--0-25rem: .25rem;
  --sizing--0-75rem: .75rem;
  --sizing--1-75rem: 1.75rem;
  --sizing--3rem: 3rem;
  --sizing--4rem: 4rem;
  --sizing--4-5rem: 4.5rem;
  --sizing--8rem: 8rem;
  --sizing--9rem: 9rem;
  --sizing--10rem: 10rem;
  --sizing--12rem: 12rem;
  --sizing--14rem: 14rem;
  --sizing--16rem: 16rem;
}

.page-wrapper {
  background-color: var(--color--neutral--white);
  font-family: var(--typography--inter-variable);
  color: var(--color--neutral--black);
  font-size: var(--typography--body);
  font-weight: 400;
  line-height: 1.65;
  overflow: clip;
}

.main-wrapper {
  display: block;
}

.padding-global {
  padding-right: var(--utility--global-padding);
  padding-left: var(--utility--global-padding);
}

.container-small {
  width: 100%;
  max-width: var(--utility--container-small);
  margin-left: auto;
  margin-right: auto;
}

.container-medium {
  width: 100%;
  max-width: var(--utility--container-medium);
  margin-left: auto;
  margin-right: auto;
}

.sr-only, .skip-link, .global-styles {
  display: block;
}

.nav {
  border-bottom: 1px solid var(--color--neutral--ink-100);
}

.section_hero {
  padding-top: var(--utility--padding-section-large);
  padding-bottom: var(--utility--padding-section-medium);
}

.section_mission {
  padding-top: var(--utility--padding-section-medium);
  padding-bottom: var(--utility--padding-section-medium);
  background-color: var(--color--brand--purple-050);
}

.section_platform {
  padding-top: var(--utility--padding-section-medium);
  padding-bottom: var(--utility--padding-section-medium);
}

.section_contact {
  padding-top: var(--utility--padding-section-small);
  padding-bottom: var(--utility--padding-section-small);
  background-color: var(--color--brand--purple-600);
  color: var(--color--neutral--white);
}

.footer {
  padding-top: var(--sizing--2-5rem);
  padding-bottom: var(--sizing--2-5rem);
  background-color: var(--color--neutral--black);
  color: var(--color--neutral--white);
}

.hero_component {
  display: block;
}

.mission_component {
  text-align: center;
}

.platform_component, .contact_component {
  display: block;
}

.nav_component {
  justify-content: space-between;
  align-items: center;
  column-gap: 1.5rem;
  height: 4.75rem;
  display: flex;
}

.nav_brand {
  color: var(--color--neutral--black);
  align-items: center;
  column-gap: .6875rem;
  text-decoration: none;
  display: flex;
}

.nav_logo {
  flex: none;
  width: 1.875rem;
  height: 1.875rem;
  display: flex;
}

.nav_wordmark {
  align-items: baseline;
  column-gap: .4375rem;
  display: flex;
}

.nav_wordmark-text {
  letter-spacing: -.05em;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1;
}

.nav_wordmark-tag {
  color: var(--color--neutral--ink-300);
  letter-spacing: .16em;
  font-size: .625rem;
  font-weight: 700;
  line-height: 1;
}

.nav_list {
  align-items: center;
  column-gap: 1.75rem;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
  display: flex;
}

.nav_link {
  color: var(--color--neutral--ink-600);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: color .2s;
}

.nav_link:hover {
  color: var(--color--brand--purple-700);
}

.eyebrow {
  color: var(--color--brand--purple-600);
  font-size: var(--typography--eyebrow);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 500;
  line-height: 1.4;
}

.hero_heading {
  font-size: var(--typography--h1);
  letter-spacing: -.01em;
  text-wrap: balance;
  margin-top: 1.25rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.1;
}

.hero_lead {
  color: var(--color--neutral--ink-600);
  font-size: var(--typography--lead);
  margin-top: 0;
  margin-bottom: 2rem;
  line-height: 1.6;
}

.button {
  background-color: var(--color--brand--purple-600);
  min-width: 12rem;
  height: 3rem;
  color: var(--color--neutral--white);
  letter-spacing: -.05em;
  white-space: nowrap;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  column-gap: .625rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: background-color .2s, color .2s;
  display: inline-flex;
}

.button:hover {
  background-color: var(--color--brand--purple-400);
  color: var(--color--neutral--white);
}

.mission_statement {
  font-size: var(--typography--mission);
  letter-spacing: -.01em;
  text-wrap: balance;
  margin-top: 1.5rem;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1.35;
}

.platform_logo {
  width: auto;
  height: 2rem;
  margin-top: 1.25rem;
  margin-bottom: 1.5rem;
  display: block;
}

.platform_lead {
  font-size: var(--typography--lead-small);
  margin-top: 0;
  margin-bottom: 1.25rem;
  line-height: 1.6;
}

.platform_body {
  color: var(--color--neutral--ink-600);
  font-size: var(--typography--body);
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.65;
}

.platform_link {
  color: var(--color--brand--purple-600);
  font-size: var(--typography--body);
  margin-top: 1.25rem;
  font-weight: 500;
  line-height: 1.65;
  text-decoration: none;
  transition: color .2s;
  display: inline-block;
}

.platform_link:hover {
  color: var(--color--brand--purple-700);
}

.platform_divider {
  background-color: var(--color--neutral--ink-100);
  height: 1px;
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}

.signal_heading {
  font-size: var(--typography--h3);
  letter-spacing: -.01em;
  text-wrap: balance;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}

.contact_heading {
  color: var(--color--neutral--white);
  font-size: var(--typography--h2);
  letter-spacing: -.01em;
  text-wrap: balance;
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.15;
}

.contact_lead {
  opacity: .92;
  color: var(--color--neutral--white);
  margin-top: 0;
  margin-bottom: 1.75rem;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.contact_email {
  color: var(--color--neutral--white);
  font-size: var(--typography--email);
  letter-spacing: -.01em;
  text-underline-offset: .2em;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: opacity .2s;
  display: inline-block;
}

.contact_email:hover {
  opacity: .85;
  text-decoration: underline;
}

.footer_component {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  display: flex;
}

.footer_brand {
  align-items: center;
  column-gap: .625rem;
  display: flex;
}

.footer_logo {
  flex: none;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
}

.footer_wordmark {
  letter-spacing: -.05em;
  font-size: .9375rem;
  font-weight: 800;
  line-height: 1;
}

.footer_meta {
  color: var(--color--neutral--ink-300);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 1.25rem;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  font-size: .8125rem;
  line-height: 1.4;
  list-style-type: none;
  display: flex;
}

.footer_link {
  color: var(--color--neutral--ink-300);
  text-decoration: none;
  transition: color .2s;
}

.footer_link:hover {
  color: var(--color--neutral--white);
}

@media screen and (max-width: 479px) {
  .nav_component {
    height: 4rem;
  }

  .nav_wordmark-text {
    font-size: 1rem;
  }
}
