@charset "UTF-8";
:root {
  --color--dark-accent-1: #15c;
  --color--light-neutral: #dde3ed;
  --color--med-neutral: #b0b7c4;
  --color--pillar-accent-1-light: #dabc70;
  --color--pillar-accent-1-dark: #815a15;
  --color--pillar-accent-2-light: #c1c5f1;
  --color--pillar-accent-2-dark: #5259b2;
  --color--pillar-accent-3-light: #f5b082;
  --color--pillar-accent-3-dark: #d9551b;
  --color--pillar-accent-4-light: #e7f3a6;
  --color--pillar-accent-4-dark: #74780b;
  --color--pillar-accent-5-light: #d9d0c4;
  --color--pillar-accent-5-dark: #896d5b;
  --color--pillar-accent-6-light: #f8b0b0;
  --color--pillar-accent-6-dark: #b54b52;
  --color--pillar-accent-7-light: #afd7c4;
  --color--pillar-accent-7-dark: #329666;
  --color--pillar-accent-8-light: #e9b5d1;
  --color--pillar-accent-8-dark: #bd598e;
  --color--pillar-accent-9-light: #c7d17e;
  --color--pillar-accent-9-dark: #578229;
  --color--primary: #000;
  --color--primary-70: #4d4d4d;
  --color--white: #fff;
}

:root {
  /* Font Family */
  --font-family--primary: "DM Sans", sans-serif;
  --font-family--secondary: "Source Serif 4", serif;
  --font-family--tertiary: "DM Mono", monospace;
  /* Font Size */
  --font-size--blockquote: clamp(1.0625rem, 1rem + 0.2083vw, 1.25rem); /* 17 / 20 */
  --font-size--button: clamp(0.9375rem, 0.9063rem + 0.1042vw, 1.031rem); /* 15 / 16.5 */
  --font-size--callout: clamp(1.0625rem, 1rem + 0.2083vw, 1.25rem); /* 17 / 20 */
  --font-size--caption: clamp(0.875rem, 0.8438rem + 0.1042vw, 0.968rem); /* 14 / 15.5 */
  --font-size--h1: clamp(2.375rem, 1.3125rem + 3.5417vw, 5.5625rem); /* 38 / 89 */
  --font-size--h2: clamp(1.875rem, 1.1875rem + 2.2917vw, 3.9375rem); /* 30 / 63 */
  --font-size--h3: clamp(1.5rem, 0.9375rem + 1.875vw, 3.1875rem); /* 24 / 51 */
  --font-size--h4: clamp(1.1875rem, 0.7813rem + 1.3542vw, 2.406rem); /* 19 / 38.5 */
  --font-size--h5: clamp(1rem, 0.75rem + 0.8333vw, 1.75rem); /* 16 / 28 */
  --font-size--h6: clamp(0.875rem, 0.8125rem + 0.2083vw, 1.0625rem); /* 14 / 17 */
  --font-size--p--lg: clamp(1rem, 0.9375rem + 0.2083vw, 1.1875rem); /* 16 / 19 */
  --font-size--p: clamp(0.875rem, 0.8438rem + 0.1042vw, 0.968rem); /* 14 / 15.5 */
  --font-size--mini-accent: 12px;
  /* Letter Spacing */
  --letter-spacing--h1: calc(var(--font-size--h1) * 0.02);
  --letter-spacing--h2: calc(var(--font-size--h2) * 0.02);
  --letter-spacing--h3: calc(var(--font-size--h3) * 0.02);
  --letter-spacing--h4: calc(var(--font-size--h4) * 0.02);
  --letter-spacing--h5: calc(var(--font-size--h5) * 0.02);
  --letter-spacing--h6: 0;
  /* H1 */
  --h1__font-family: var(--font-family--primary);
  --h1__font-size: var(--font-size--h1);
  --h1__font-weight: 400;
  --h1__letter-spacing: var(--letter-spacing--h1);
  --h1__line-height: 1.1;
  --h1__text-transform: inherit;
  --h1__text-wrap: pretty;
  /* H2 */
  --h2__font-family: var(--font-family--primary);
  --h2__font-size: var(--font-size--h2);
  --h2__font-weight: 400;
  --h2__letter-spacing: var(--letter-spacing--h2);
  --h2__line-height: 1.15;
  --h2__text-transform: inherit;
  --h2__text-wrap: pretty;
  /* H3 */
  --h3__font-family: var(--font-family--primary);
  --h3__font-size: var(--font-size--h3);
  --h3__font-weight: 400;
  --h3__letter-spacing: normal;
  --h3__line-height: 1.15;
  --h3__text-transform: inherit;
  --h3__text-wrap: pretty;
}
@media only screen and (width >= 768px) {
  :root {
    --h3__letter-spacing: var(--letter-spacing--h3);
  }
}
:root {
  /* H4 */
  --h4__font-family: var(--font-family--primary);
  --h4__font-size: var(--font-size--h4);
  --h4__font-weight: 400;
  --h4__letter-spacing: var(--letter-spacing--h4);
  --h4__line-height: 1.25;
  --h4__text-transform: inherit;
  --h4__text-wrap: pretty;
  /* H5 */
  --h5__font-family: var(--font-family--primary);
  --h5__font-size: var(--font-size--h5);
  --h5__font-weight: 300;
  --h5__letter-spacing: var(--letter-spacing--h5);
  --h5__line-height: 1.3;
  --h5__text-transform: inherit;
  --h5__text-wrap: pretty;
  /* H6 */
  --h6__font-family: var(--font-family--primary);
  --h6__font-size: var(--font-size--h6);
  --h6__font-weight: 800;
  --h6__letter-spacing: var(--letter-spacing--h6);
  --h6__line-height: 1.3;
  --h6__text-transform: inherit;
  --h6__text-wrap: pretty;
  /* Paragraph */
  --paragraph__font-family: var(--font-family--secondary);
  --paragraph__font-size: var(--font-size--p);
  --paragraph__font-weight: 400;
  --paragraph__line-height: 1.5;
  /* Blockquote */
  --blockquote__font-family: var(--font-family--secondary);
  --blockquote__font-size: var(--font-size--blockquote);
  --blockquote__font-style: italic;
  --blockquote__font-weight: 400;
  --blockquote__letter-spacing: var(--letter-spacing--blockquote);
  --blockquote__line-height: 1.45;
  /* Callout */
  --callout__font-family: var(--font-family--primary);
  --callout__font-size: var(--font-size--callout);
  --callout__font-weight: 400;
  --callout__letter-spacing: 0;
  --callout__line-height: 1.4;
  /* Caption */
  --caption__font-family: var(--font-family--primary);
  --caption__font-size: var(--font-size--caption);
  --caption__font-weight: 400;
  --caption__letter-spacing: 0;
  --caption__line-height: 1.4;
  /* Mini Accent */
  --mini-accent__font-family: var(--font-family--tertiary);
  --mini-accent__font-size: var(--font-size--mini-accent);
  --mini-accent__font-weight: 400;
  --mini-accent__letter-spacing: 0;
  --mini-accent__line-height: 1.25;
}

:root {
  --container-max: 1920px;
  --border-radius: 10px;
  --border-radius--md: 7px;
  --border-radius--sm: var(--gap-static--4);
  --container-inset-padding--top: var(--gap--100-140);
  --container-inset-padding--left-right: clamp(18px, 3vw, 60px);
  --container-inset-padding--bottom: clamp(5px, 1.5vw, 30px);
  --container-card-padding--top: 20px;
  --container-card-padding--left-right: clamp(5px, 1.5vw, 30px);
  --container-card-padding--bottom: clamp(5px, 1.5vw, 30px);
  --container-card-padding--gutter: clamp(5px, 1.5vw, 30px);
  --section-header-padding--bottom: var(--gap--40-70);
  --gap--10-20: clamp(10px, 5.68px + 0.9vw, 20px); /* 10 / 20 */
  --gap--20-60: clamp(20px, 6.6672px + 2.7778vw, 60px); /* 20 / 60 */
  --gap--20-50: clamp(20px, 10px + 2.0833vw, 50px); /* 20 / 50 */
  --gap--30-60: clamp(30px, 20px + 2.0833vw, 60px); /* 30 / 60 */
  --gap--40-70: clamp(40px, 26.24px + 2.5vw, 70px); /* 40 / 70 */
  --gap--50-80: clamp(50px, 40px + 2.0833vw, 80px); /* 50 / 80 */
  --gap--100-140: clamp(100px, 86.6672px + 2.7778vw, 140px); /* 100 / 140 */
  --gap-static--4: 4px;
  --gap-static--8: 8px;
  --gap-static--10: 10px;
  --gap-static--12: 12px;
  --gap-static--16: 16px;
  --gap-static--20: 20px;
  --gap-static--24: 24px;
  --gap-static--32: 32px;
  --gap-static--40: 40px;
  --gap-static--60: 60px;
  --gap-static--76: 76px;
  --gap-static--100: 100px;
  --transition-dur: 0.15s;
  --transition-dur--med: 0.25s;
  --transition-dur--slow: 0.5s;
}
@media only screen and (width >= 1280px) {
  :root {
    --gutter: 24px;
  }
}

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

body,
h1,
h2,
h3,
p {
  margin: 0;
}

img {
  display: block;
  max-width: 100%;
}

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

html {
  scroll-behavior: smooth;
}

body {
  background: var(--color--white);
  color: var(--color--primary);
  font-family: var(--font-family--secondary);
  font-size: var(--font-size--p);
  line-height: 1.5;
  margin: 0;
  text-wrap: pretty;
}

::selection {
  background: var(--color--dark-accent-1);
  color: var(--color--white);
}

.top-wrapper ::selection,
.hero ::selection {
  background: var(--color--white);
  color: var(--color--dark-accent-1);
}

p {
  color: var(--color--primary);
}

a {
  color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

h1 {
  color: var(--heading__color, var(--color--white));
  font-family: var(--heading__font-family, var(--h1__font-family));
  font-size: var(--heading__font-size, var(--h1__font-size));
  font-weight: var(--heading__font-weight, var(--h1__font-weight));
  letter-spacing: var(--heading__letter-spacing, var(--h1__letter-spacing));
  line-height: var(--heading__line-height, var(--h1__line-height));
  margin: 0;
  text-transform: var(--heading__text-transform, var(--h1__text-transform));
  text-wrap: var(--heading__text-wrap, var(--h1__text-wrap));
}

h2 {
  color: var(--heading__color, var(--color--primary));
  font-family: var(--heading__font-family, var(--h2__font-family));
  font-size: var(--heading__font-size, var(--h2__font-size));
  font-weight: var(--heading__font-weight, var(--h2__font-weight));
  letter-spacing: var(--heading__letter-spacing, var(--h2__letter-spacing));
  line-height: var(--heading__line-height, var(--h2__line-height));
  margin: 0;
  text-transform: var(--heading__text-transform, var(--h2__text-transform));
  text-wrap: var(--heading__text-wrap, var(--h2__text-wrap));
}

h3,
.h3 {
  color: var(--heading__color, var(--color--primary));
  font-family: var(--heading__font-family, var(--h3__font-family));
  font-size: var(--heading__font-size, var(--h3__font-size));
  font-weight: var(--heading__font-weight, var(--h3__font-weight));
  letter-spacing: var(--heading__letter-spacing, var(--h3__letter-spacing));
  line-height: var(--heading__line-height, var(--h3__line-height));
  margin: 0;
  text-transform: var(--heading__text-transform, var(--h3__text-transform));
  text-wrap: var(--heading__text-wrap, var(--h3__text-wrap));
}

h6,
.h6 {
  color: var(--heading__color, var(--color--primary));
  font-family: var(--heading__font-family, var(--h6__font-family));
  font-size: var(--heading__font-size, var(--h6__font-size));
  font-weight: var(--heading__font-weight, var(--h6__font-weight));
  line-height: var(--heading__line-height, var(--h6__line-height));
  margin: 0;
  text-transform: var(--heading__text-transform, var(--h6__text-transform));
  text-wrap: var(--heading__text-wrap, var(--h6__text-wrap));
}

.callout {
  color: var(--callout__color, var(--color--primary));
  font-family: var(--callout__font-family);
  font-size: var(--callout__font-size);
  font-weight: var(--callout__font-weight);
  letter-spacing: var(--callout__letter-spacing);
  line-height: var(--callout__line-height);
  text-transform: var(--callout__text-transform);
  text-wrap: var(--callout__text-wrap);
}
.callout:not(:last-child) {
  margin-bottom: var(--gap--10-20);
}

.mini-accent {
  color: var(--color--primary);
  font-family: var(--mini-accent__font-family);
  font-size: var(--mini-accent__font-size);
  font-style: var(--mini-accent__font-style);
  font-weight: var(--mini-accent__font-weight);
  letter-spacing: var(--mini-accent__letter-spacing);
  line-height: var(--mini-accent__line-height);
}

.caption {
  color: var(--caption__color, var(--color--primary));
  font-family: var(--caption__font-family);
  font-size: var(--caption__font-size);
  font-weight: var(--caption__font-weight);
  letter-spacing: var(--caption__letter-spacing);
  line-height: var(--caption__line-height);
  text-transform: var(--caption__text-transform);
  text-wrap: var(--caption__text-wrap);
}

.container {
  margin-inline: auto;
  max-width: var(--container-max);
  padding-left: var(--container-card-padding--left-right);
  padding-right: var(--container-card-padding--left-right);
  width: 100%;
}
.container--inset {
  padding-left: var(--container-inset-padding--left-right);
  padding-right: var(--container-inset-padding--left-right);
}

.grid {
  display: grid;
  gap: var(--grid__gap, var(--gap-static--20));
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media only screen and (width >= 768px) {
  .grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
@media only screen and (width >= 1024px) {
  .grid--lg {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }
}

.section {
  background: var(--color--light-neutral);
  margin: 0 auto;
  max-width: var(--container-max);
  padding: var(--container-inset-padding--top) 0 0;
  position: relative;
  z-index: 1;
}
.section:has(.two-column-cards) {
  padding: var(--container-inset-padding--bottom) 0;
}

.section-header {
  --grid__gap: var(--gap-static--16) var(--gap-static--20);
  padding: 0 0 var(--section-header-padding--bottom);
}
@media only screen and (width >= 1024px) {
  .section-header {
    --grid__gap: var(--gap-static--24) var(--gap-static--20);
  }
}
.section-header > * {
  grid-column: 1/-1;
}
@media only screen and (width >= 768px) {
  .section-header > * {
    grid-column: 1/span 10;
  }
}
@media only screen and (width >= 1024px) {
  .section-header > * {
    grid-column: 1/span 8;
  }
}

.top-wrapper {
  align-items: center;
  background-color: var(--color--dark-accent-1);
  border-bottom: 1px dashed var(--color--white);
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-static--24);
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--container-max);
  padding: var(--gap-static--24) var(--container-inset-padding--left-right);
  width: 100%;
}
@media only screen and (width >= 768px) {
  .top-wrapper {
    align-items: center;
    flex-wrap: nowrap;
  }
}
@media only screen and (width >= 1280px) {
  .top-wrapper {
    padding: var(--gap-static--32) var(--container-inset-padding--left-right);
  }
}

.logo {
  opacity: 1;
  transition: all var(--transition-dur);
  width: clamp(5.125rem, 1.3514rem + 18.8679vw, 7rem); /* 82px // 112px */
}
@media only screen and (width >= 480px) {
  .logo {
    width: 112px;
  }
}
.logo:hover {
  opacity: 0.8;
}

.footer-wrapper {
  background-color: var(--color--light-neutral);
  padding-bottom: var(--container-inset-padding--left-right);
  padding-top: var(--container-inset-padding--top);
  text-align: center;
}
.footer-wrapper p {
  color: var(--caption__color, var(--color--primary));
  font-family: var(--caption__font-family);
  font-size: var(--caption__font-size);
  font-weight: var(--caption__font-weight);
  letter-spacing: var(--caption__letter-spacing);
  line-height: var(--caption__line-height);
  text-transform: var(--caption__text-transform);
  text-wrap: var(--caption__text-wrap);
}
.footer-wrapper p span {
  color: var(--color--dark-accent-1);
}

:root {
  --button__box-size: clamp(2.8125rem, 2.625rem + 0.9375vw, 3.75rem);
  --button__icon-size: clamp(0.8125rem, 0.7875rem + 0.125vw, 0.9375rem);
}

.btn {
  align-items: center;
  background-color: var(--color--white);
  border: none;
  border-radius: var(--border-radius--md);
  color: var(--color--primary);
  cursor: pointer;
  display: flex;
  font-family: var(--font-family--primary);
  font-size: var(--font-size--button);
  font-weight: 400;
  gap: var(--gap-static--10);
  justify-content: center;
  line-height: 1.4;
  padding: var(--gap-static--10) var(--gap-static--16);
  text-decoration: none;
  transition: background-color var(--transition-dur), color var(--transition-dur);
}
@media only screen and (width >= 768px) {
  .btn {
    padding: var(--gap-static--10) var(--gap-static--20);
  }
}
@media only screen and (width >= 1024px) {
  .btn {
    padding: var(--gap-static--12) var(--gap-static--20);
  }
}
.btn::after {
  background-color: color-mix(in srgb, var(--color--primary), transparent 50%);
  content: "";
  display: inline-block;
  height: 13px;
  mask-image: url("../img/download.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 13px;
  transition: background-color var(--transition-dur);
  width: 13px;
}
@media only screen and (width >= 1024px) {
  .btn::after {
    height: 15px;
    mask-size: 15px;
    width: 15px;
  }
}
.btn:visited {
  color: var(--color--primary);
}
.btn:hover {
  background-color: var(--color--light-neutral);
  color: var(--color--primary);
}
.btn:hover::after {
  background-color: var(--color--primary);
}
.btn--blue {
  background-color: var(--color--dark-accent-1);
  color: var(--color--white);
}
.btn--blue:visited {
  color: var(--color--white);
}
.btn--blue::after {
  background-color: color-mix(in srgb, var(--color--white), transparent 50%);
}
.btn--blue:hover {
  color: var(--color--primary);
}

.btn-full-width {
  color: var(--callout__color, var(--color--primary));
  font-family: var(--callout__font-family);
  font-size: var(--callout__font-size);
  font-weight: var(--callout__font-weight);
  letter-spacing: var(--callout__letter-spacing);
  line-height: var(--callout__line-height);
  text-transform: var(--callout__text-transform);
  text-wrap: var(--callout__text-wrap);
  align-items: center;
  color: var(--color--dark-accent-1);
  display: flex;
  gap: var(--gap-static--24);
  text-decoration: none;
  transition: background-color var(--transition-dur);
}
.btn-full-width::before {
  background-color: var(--color--dark-accent-1);
  background-image: url("../img/download.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: var(--button__icon-size);
  border-radius: var(--border-radius--sm);
  content: "";
  display: inline-block;
  height: var(--button__box-size);
  transition: background-color var(--transition-dur);
  width: var(--button__box-size);
}
.btn-full-width:hover {
  color: var(--color--primary);
}
.btn-full-width:hover::before {
  background-color: var(--color--primary);
}

.btn-top {
  color: var(--color--primary);
  font-family: var(--mini-accent__font-family);
  font-size: var(--mini-accent__font-size);
  font-style: var(--mini-accent__font-style);
  font-weight: var(--mini-accent__font-weight);
  letter-spacing: var(--mini-accent__letter-spacing);
  line-height: var(--mini-accent__line-height);
  align-items: center;
  color: var(--color--primary-70);
  display: flex;
  gap: var(--gap-static--8);
  text-decoration: none;
  transition: color var(--transition-dur);
}
.btn-top::before {
  background-color: var(--color--primary-70);
  content: "";
  display: inline-block;
  height: 9.5px;
  mask-image: url("../img/arrow-up.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 9.5px;
  transition: background-color var(--transition-dur);
  width: 9.5px;
}
.btn-top:visited {
  color: var(--color--primary-70);
}
.btn-top:hover {
  color: var(--color--dark-accent-1);
}
.btn-top:hover::before {
  background-color: var(--color--dark-accent-1);
}

.btn-scroll {
  background-color: var(--color--white);
  border-radius: var(--border-radius--sm);
  height: 55px;
  transition: background-color var(--transition-dur);
  width: 55px;
}
.btn-scroll::after {
  background-color: var(--color--dark-accent-1);
  content: "";
  display: inline-block;
  height: 100%;
  mask-image: url("../img/arrow-up.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 15px;
  transform: rotate(180deg);
  transition: background-color var(--transition-dur);
  width: 100%;
}
.btn-scroll:hover {
  background-color: var(--color--dark-accent-1);
}
.btn-scroll:hover::after {
  background-color: var(--color--white);
}

.hero {
  --hero-dash-horizontal: repeating-linear-gradient(to right, var(--color--white) 0 3px, transparent 3px 6px);
  --hero-dash-vertical: repeating-linear-gradient(to bottom, var(--color--white) 0 3px, transparent 3px 6px);
  background-color: var(--color--dark-accent-1);
  color: var(--color--white);
  margin: 0 auto;
  max-width: var(--container-max);
  overflow: hidden;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 0;
}
.hero__content {
  min-height: inherit;
  padding-block: 0;
  position: relative;
}
.hero__grid {
  --grid__gap: var(--gap-static--20);
  --hero-half-grid-gap: 10px;
  --hero-grid-columns: 6;
  --hero-grid-rows: clamp(82px, 15.7vw, 94px) clamp(82px, 15.7vw, 94px) minmax(clamp(164px, 31.4vw, 188px), auto)
    clamp(20px, calc(14.9701vw - 69.8204px), 45px);
  grid-template-rows: var(--hero-grid-rows);
  min-height: inherit;
  padding-inline: var(--container-inset-padding--left-right);
  position: relative;
  row-gap: 0;
}
@media only screen and (width >= 600px) {
  .hero__grid {
    --hero-grid-rows: 94px 94px minmax(188px, auto) clamp(20px, calc(14.9701vw - 69.8204px), 45px);
    grid-template-rows: var(--hero-grid-rows);
  }
}
@media only screen and (width >= 768px) {
  .hero__grid {
    --grid__gap: clamp(11.2px, 1.458vw, 28px);
    --hero-half-grid-gap: clamp(5.6px, 0.729vw, 14px);
    --hero-grid-columns: 12;
    --hero-space-16: clamp(6.4px, 0.833vw, 16px);
    --hero-space-50: clamp(20px, 2.604vw, 50px);
    --hero-space-60: clamp(24px, 3.125vw, 60px);
    --hero-grid-rows: clamp(82.668px, 10.764vw, 206.67px) clamp(84px, 10.9375vw, 210px) clamp(84px, 10.9375vw, 210px)
      clamp(82.668px, 10.764vw, 206.67px);
    grid-template-columns: repeat(var(--hero-grid-columns), minmax(0, 1fr));
    grid-template-rows: var(--hero-grid-rows);
    min-height: 0;
    padding-inline: var(--hero-space-60);
  }
}
.hero__intro {
  color: var(--heading__color, var(--color--primary));
  font-family: var(--heading__font-family, var(--h5__font-family));
  font-size: var(--heading__font-size, var(--h5__font-size));
  font-weight: var(--heading__font-weight, var(--h5__font-weight));
  letter-spacing: var(--heading__letter-spacing, var(--h5__letter-spacing));
  line-height: var(--heading__line-height, var(--h5__line-height));
  margin: 0;
  text-transform: var(--heading__text-transform, var(--h5__text-transform));
  text-wrap: var(--heading__text-wrap, var(--h5__text-wrap));
  align-self: start;
  color: var(--color--white);
  grid-column: 1/5;
  grid-row: 3;
  margin: 0;
  padding: var(--gap--20-50) var(--container-inset-padding--left-right) calc(var(--gap-static--60) + var(--gap--20-50)) 0;
}
@media only screen and (width >= 768px) {
  .hero__intro {
    grid-column: 9/13;
    grid-row: 1;
    padding: var(--hero-space-60) var(--hero-space-16) var(--hero-space-60) var(--hero-space-50);
    position: relative;
    z-index: 1;
  }
}
@media only screen and (width >= 1024px) {
  .hero__intro {
    padding: var(--gap--30-60) var(--gap-static--16) var(--gap--30-60) calc(var(--gap--30-60) - 10px);
  }
}
.hero__title {
  display: contents;
  margin: 0;
}
.hero__title-line {
  align-self: center;
  white-space: nowrap;
}
@media only screen and (width >= 768px) {
  .hero__title-line {
    position: relative;
    z-index: 1;
  }
}
.hero__title-line--one {
  grid-column: 2/6;
  grid-row: 1;
  padding: var(--gap--20-50) var(--container-inset-padding--left-right);
}
@media only screen and (width >= 768px) {
  .hero__title-line--one {
    font-size: clamp(36px, 4.7vw, var(--h1__font-size));
    grid-column: 2/6;
    grid-row: 2;
    padding: 0 0 0 var(--hero-space-60);
  }
}
.hero__title-line--two {
  grid-column: 2/-1;
  grid-row: 2;
  padding: var(--gap--20-50) var(--container-inset-padding--left-right);
}
@media only screen and (width >= 768px) {
  .hero__title-line--two {
    font-size: clamp(36px, 4.7vw, var(--h1__font-size));
    grid-column: 4/9;
    grid-row: 3;
    padding: 0;
  }
}
.hero__date {
  color: var(--color--primary);
  font-family: var(--mini-accent__font-family);
  font-size: var(--mini-accent__font-size);
  font-style: var(--mini-accent__font-style);
  font-weight: var(--mini-accent__font-weight);
  letter-spacing: var(--mini-accent__letter-spacing);
  line-height: var(--mini-accent__line-height);
  align-self: end;
  color: var(--color--white);
  grid-column: 1/5;
  grid-row: 3;
  margin: 0;
  padding: 0 var(--container-inset-padding--left-right) var(--gap--20-50) 0;
  position: relative;
  z-index: 1;
}
@media only screen and (width >= 768px) {
  .hero__date {
    grid-column: 9/13;
    grid-row: 3;
    padding: var(--hero-space-60);
    position: relative;
    z-index: 1;
  }
}
@media only screen and (width >= 1024px) {
  .hero__date {
    padding: var(--gap--30-60);
  }
}
.hero__lines {
  column-gap: var(--grid__gap);
  display: grid;
  grid-column: 1/-1;
  grid-row: 1/-1;
  grid-template-columns: repeat(var(--hero-grid-columns), minmax(0, 1fr));
  grid-template-rows: var(--hero-grid-rows);
  pointer-events: none;
  position: relative;
  z-index: 0;
}
@media only screen and (width >= 768px) {
  .hero__lines {
    grid-template-columns: repeat(var(--hero-grid-columns), minmax(0, 1fr));
  }
}
.hero__line {
  border: 0;
}
.hero__line--one {
  background-image: var(--hero-dash-vertical);
  background-position: right top;
  background-repeat: repeat-y;
  background-size: 1px 6px;
  grid-column: 1/2;
  grid-row: 1/3;
  justify-self: end;
  transform: translateX(var(--hero-half-grid-gap));
  width: 1px;
}
@media only screen and (width >= 768px) {
  .hero__line--one {
    grid-column: 1/2;
    grid-row: 1;
    height: auto;
    justify-self: end;
    transform: translateX(var(--hero-half-grid-gap));
    width: 1px;
  }
}
.hero__line--two {
  grid-column: 1/6;
  grid-row: 1;
  position: relative;
  transform: translateX(var(--hero-half-grid-gap));
}
.hero__line--two::after {
  background-image: var(--hero-dash-horizontal);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 1px;
  bottom: 0;
  content: "";
  height: 1px;
  left: calc(20% - 16px);
  position: absolute;
  width: 100vw;
}
@media only screen and (width >= 600px) {
  .hero__line--two {
    background-image: var(--hero-dash-vertical);
    background-position: right top;
    background-repeat: repeat-y;
    background-size: 1px 6px;
  }
}
@media only screen and (width >= 768px) {
  .hero__line--two {
    background-image: var(--hero-dash-horizontal), var(--hero-dash-vertical);
    background-position: left bottom, right top;
    background-repeat: repeat-x, repeat-y;
    background-size: 6px 1px, 1px 6px;
    grid-column: 1/6;
    grid-row: 1;
    margin-left: calc(0px - var(--hero-space-60) - var(--hero-half-grid-gap));
    position: static;
    transform: translateX(var(--hero-half-grid-gap));
  }
  .hero__line--two::after {
    content: none;
  }
}
.hero__line--three {
  background-image: var(--hero-dash-horizontal), var(--hero-dash-vertical);
  background-position: left bottom, right top;
  background-repeat: repeat-x, repeat-y;
  background-size: 6px 1px, 1px 6px;
  grid-column: 1/-1;
  grid-row: 2;
  margin-left: calc(0px - var(--container-inset-padding--left-right) - var(--hero-half-grid-gap));
  margin-right: calc(0px - var(--container-inset-padding--left-right));
  transform: translateX(var(--hero-half-grid-gap));
}
@media only screen and (width >= 768px) {
  .hero__line--three {
    background-image: var(--hero-dash-vertical);
    background-position: right top;
    background-repeat: repeat-y;
    background-size: 1px 6px;
    grid-column: 1/6;
    grid-row: 2;
    margin-left: calc(0px - var(--hero-space-60) - var(--hero-half-grid-gap));
    margin-right: 0;
    transform: translateX(var(--hero-half-grid-gap));
  }
}
.hero__line--four {
  background-image: var(--hero-dash-horizontal), var(--hero-dash-vertical);
  background-position: left bottom, right top;
  background-repeat: repeat-x, repeat-y;
  background-size: 6px 1px, 1px 6px;
  grid-column: 1/5;
  grid-row: 3;
  margin-left: calc(0px - var(--container-inset-padding--left-right) - var(--hero-half-grid-gap));
  transform: translateX(var(--hero-half-grid-gap));
}
@media only screen and (width >= 768px) {
  .hero__line--four {
    background-image: var(--hero-dash-vertical);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 1px 6px;
    grid-column: 3/4;
    grid-row: 3;
    justify-self: center;
    margin-left: 0;
    margin-right: 0;
    position: relative;
    transform: none;
    width: 1px;
  }
  .hero__line--four::after {
    background-image: var(--hero-dash-horizontal);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 6px 1px;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100vw;
  }
}
.hero__line--five {
  background-image: var(--hero-dash-horizontal);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 6px 1px;
  grid-column: 5/-1;
  grid-row: 3;
  margin-left: calc(0px - var(--hero-half-grid-gap));
  margin-right: calc(0px - var(--container-inset-padding--left-right));
}
@media only screen and (width >= 768px) {
  .hero__line--five {
    background-image: var(--hero-dash-vertical);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 1px 6px;
    grid-column: 9;
    grid-row: 1/4;
    margin-left: 0;
    margin-right: 0;
    transform: translateX(calc(0px - var(--hero-half-grid-gap)));
  }
}
.hero__line--six {
  display: none;
}
@media only screen and (width >= 768px) {
  .hero__line--six {
    background-image: var(--hero-dash-horizontal);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 6px 1px;
    display: block;
    grid-column: 1/9;
    grid-row: 2;
    margin-left: calc(0px - var(--hero-space-60));
    margin-right: calc(0px - var(--hero-half-grid-gap));
  }
}
.hero__line--seven {
  display: none;
}
@media only screen and (width >= 768px) {
  .hero__line--seven {
    background-image: var(--hero-dash-vertical);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 1px 6px;
    display: block;
    grid-column: 3/4;
    grid-row: 4;
    justify-self: center;
    width: 1px;
  }
}
.hero__line--eight {
  display: none;
}
@media only screen and (width >= 768px) {
  .hero__line--eight {
    background-image: var(--hero-dash-vertical);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 1px 6px;
    display: block;
    grid-column: 12;
    grid-row: 4;
    transform: translateX(calc(0px - var(--hero-half-grid-gap)));
  }
}

.cta {
  --grid__gap: var(--gap--30-60) var(--gap-static--20);
  --heading__color: var(--color--white);
  align-items: center;
  background: var(--color--primary);
  border-radius: var(--border-radius);
  color: var(--color--white);
  grid-column: 1/-1;
  margin: auto;
  padding: var(--gap--20-60);
  width: 100%;
}
@media only screen and (width >= 768px) {
  .cta {
    --grid__gap: var(--gap--30-60);
  }
}
@media only screen and (width >= 1024px) {
  .cta {
    padding: var(--gap--30-60) 0;
  }
}
.cta__content {
  grid-column: 1/-1;
}
@media only screen and (width >= 768px) {
  .cta__content {
    grid-column: 1/span 6;
  }
}
@media only screen and (width >= 1024px) {
  .cta__content {
    grid-column: 2/span 6;
  }
}
.cta__content img {
  display: none;
  margin-bottom: var(--gap--30-60);
  width: clamp(6.875rem, 6.375rem + 1.0417vw, 7.3125rem);
}
@media only screen and (width >= 768px) {
  .cta__content img {
    display: block;
  }
}
.cta__content > *:not(:last-child) {
  margin-bottom: var(--gap--10-20);
}
.cta__downloads {
  display: flex;
  flex-direction: column;
  gap: var(--gap--10-20);
  grid-column: 1/-1;
}
@media only screen and (width >= 768px) {
  .cta__downloads {
    grid-column: 7/span 6;
  }
}
@media only screen and (width >= 1024px) {
  .cta__downloads {
    grid-column: 9/span 6;
    padding-right: var(--gap--20-60);
  }
}
.cta__download-item {
  border: 1px solid color-mix(in srgb, var(--color--med-neutral), transparent 70%);
  padding: var(--gap-static--24);
}
.cta p {
  color: var(--color--white);
}
.cta p.cta__caption {
  color: var(--color--med-neutral);
}
.cta__details {
  display: flex;
  justify-content: space-between;
  margin-bottom: var(--gap-static--16);
  width: 100%;
}
.cta__details p {
  color: var(--color--med-neutral);
}
.cta__caption {
  margin: var(--gap-static--8) 0 var(--gap-static--20);
}

.intro {
  background-color: var(--color--light-neutral);
}
.intro__image {
  display: none;
  grid-column: 1/-1;
}
@media only screen and (width >= 768px) {
  .intro__image {
    display: block;
    grid-column: 1/span 5;
  }
}
.intro__lines {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 383px;
  overflow: visible;
  width: 100%;
}
.intro__path {
  clip-path: url("#intro-line-reveal");
  fill: var(--color--dark-accent-1);
}
.intro__line-mask {
  transform: scaleX(0);
  transform-origin: left center;
}
.intro__dot {
  fill: var(--color--dark-accent-1);
  opacity: 0;
  transform: scale(0);
  transform-box: fill-box;
  transform-origin: center;
}
.intro__lines.is-visible .intro__line-mask {
  animation: intro-line-reveal 1s ease-out 0.35s both;
}
.intro__lines.is-visible .intro__dot {
  animation: intro-dot-appear 0.25s ease-out both;
}
.intro__lines.is-visible .intro__dot--start {
  animation-delay: 0s;
}
.intro__lines.is-visible .intro__dot--end {
  animation-delay: 1.35s;
}
.intro__content {
  grid-column: 1/-1;
}
@media only screen and (width >= 768px) {
  .intro__content {
    grid-column: 6/span 6;
  }
}
.intro__content h6 {
  margin-bottom: var(--gap-static--8);
}
.intro__content p:not(:last-child) {
  margin-bottom: var(--gap-static--20);
}

@keyframes intro-dot-appear {
  from {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes intro-line-reveal {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
.two-column-cards > * {
  border-radius: var(--border-radius);
}
.two-column-cards__left {
  display: grid;
  grid-column: 1/-1;
  overflow: hidden;
  position: relative;
}
@media only screen and (width >= 768px) {
  .two-column-cards__left {
    gap: var(--gap-static--20);
    grid-column: 1/span 5;
  }
}
@media only screen and (width >= 1024px) {
  .two-column-cards__left {
    grid-column: 1/span 6;
  }
}
.two-column-cards__image-wrap {
  aspect-ratio: 4/3;
  border-radius: var(--border-radius);
  order: 1;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media only screen and (width >= 768px) {
  .two-column-cards__image-wrap {
    aspect-ratio: 1/1;
    height: 100%;
    min-height: 320px;
    order: 2;
  }
}
.two-column-cards__image {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
.two-column-cards__caption {
  color: var(--color--primary);
  font-family: var(--mini-accent__font-family);
  font-size: var(--mini-accent__font-size);
  font-style: var(--mini-accent__font-style);
  font-weight: var(--mini-accent__font-weight);
  letter-spacing: var(--mini-accent__letter-spacing);
  line-height: var(--mini-accent__line-height);
  backdrop-filter: blur(30px);
  background-color: color-mix(in srgb, var(--color--light-neutral), transparent 40%);
  border-radius: 5px;
  bottom: var(--gap--10-20);
  color: var(--color--primary);
  left: var(--gap--10-20);
  margin: 0 var(--gap--10-20) 0 0;
  padding: var(--gap-static--8) var(--gap-static--12);
  position: absolute;
  z-index: 1;
}
.two-column-cards__content {
  align-content: start;
  align-items: start;
  background-color: var(--color--primary);
  color: var(--color--white);
  display: grid;
  grid-column: 1/-1;
  padding: var(--gap--30-60);
  position: relative;
}
@media only screen and (width >= 768px) {
  .two-column-cards__content {
    grid-column: 6/-1;
    padding: var(--gap-static--76);
  }
}
@media only screen and (width >= 1024px) {
  .two-column-cards__content {
    grid-column: 7/-1;
    padding: var(--gap--50-80);
  }
}
.two-column-cards__content > * {
  color: inherit;
}
.two-column-cards__content h2:not(:last-child) {
  margin-bottom: var(--gap--10-20);
}
.two-column-cards__content p:not(:last-child) {
  margin-bottom: var(--gap-static--20);
}
.two-column-cards__content .btn-scroll {
  bottom: var(--gap-static--20);
  display: none;
  position: absolute;
  right: var(--gap-static--20);
}
@media only screen and (width >= 1280px) {
  .two-column-cards__content .btn-scroll {
    display: block;
  }
}

.tabbed-diagram__layout {
  --grid__gap: var(--gap--50-80) var(--gap-static--20);
  align-items: center;
}
.tabbed-diagram__list {
  display: grid;
  gap: 0;
  grid-column: 1/-1;
}
@media only screen and (width >= 768px) {
  .tabbed-diagram__list {
    grid-column: 1/span 5;
  }
}
@media only screen and (width >= 1024px) {
  .tabbed-diagram__list {
    grid-column: 2/span 4;
    max-width: 84.51%;
  }
}
.tabbed-diagram__tab {
  color: var(--caption__color, var(--color--primary));
  font-family: var(--caption__font-family);
  font-size: var(--caption__font-size);
  font-weight: var(--caption__font-weight);
  letter-spacing: var(--caption__letter-spacing);
  line-height: var(--caption__line-height);
  text-transform: var(--caption__text-transform);
  text-wrap: var(--caption__text-wrap);
  align-items: center;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid color-mix(in srgb, var(--color--primary), transparent 80%);
  border-radius: var(--radius);
  color: var(--color--primary);
  cursor: pointer;
  display: flex;
  gap: var(--gap-static--32);
  padding: var(--gap-static--12) 0;
  text-align: left;
  transition: background-color var(--transition-dur), border-color var(--transition-dur), color var(--transition-dur);
  width: 100%;
}
@media only screen and (width >= 768px) {
  .tabbed-diagram__tab {
    padding: var(--gap-static--16) 0;
  }
}
.tabbed-diagram__tab:focus-visible {
  color: var(--color--primary);
}
.tabbed-diagram__tab-number {
  color: var(--color--primary);
  font-family: var(--mini-accent__font-family);
  font-size: var(--mini-accent__font-size);
  font-style: var(--mini-accent__font-style);
  font-weight: var(--mini-accent__font-weight);
  letter-spacing: var(--mini-accent__letter-spacing);
  line-height: var(--mini-accent__line-height);
  color: var(--color--primary-70);
  transition: color var(--transition-dur), opacity var(--transition-dur);
}
.tabbed-diagram__tab-title {
  transition: opacity var(--transition-dur);
}
.tabbed-diagram__tab.is-active .tabbed-diagram__tab-number {
  color: var(--color--primary);
}
.tabbed-diagram.has-active .tabbed-diagram__tab:not(.is-active) .tabbed-diagram__tab-number,
.tabbed-diagram.has-active .tabbed-diagram__tab:not(.is-active) .tabbed-diagram__tab-title {
  opacity: 0.2;
}
.tabbed-diagram__stage {
  display: none;
  place-items: center;
}
@media only screen and (width >= 768px) {
  .tabbed-diagram__stage {
    display: grid;
    grid-column: 6/span 7;
  }
}
@media only screen and (width >= 1024px) {
  .tabbed-diagram__stage {
    grid-column: 6/span 6;
  }
}
.tabbed-diagram__orbit {
  --diagram-orbit-size: min(100%, max(320px, 73vw));
  --diagram-node-size: max(66px, 15vw);
  --diagram-icon-size: max(31px, 7.04vw);
  --diagram-node-content-offset: max(4px, 0.91vw);
  --diagram-radius: max(112px, 27.5vw);
  aspect-ratio: 1;
  border: 1px solid var(--color--light-neutral);
  border-radius: 50%;
  position: relative;
  width: var(--diagram-orbit-size);
}
@media only screen and (width >= 768px) {
  .tabbed-diagram__orbit {
    --diagram-orbit-size: min(100%, max(380px, 48vw));
    --diagram-node-size: max(89px, 11.3vw);
    --diagram-icon-size: max(41px, 5.2vw);
    --diagram-node-content-offset: max(5px, 0.61vw);
    --diagram-radius: max(143px, 18.1vw);
  }
}
@media only screen and (width >= 1024px) {
  .tabbed-diagram__orbit {
    --diagram-orbit-size: min(100%, max(430px, 38.333vw));
    --diagram-node-size: max(104px, 9.03vw);
    --diagram-icon-size: max(48px, 4.167vw);
    --diagram-node-content-offset: max(6px, 0.49vw);
    --diagram-radius: max(162px, 14.45vw);
  }
}
@media only screen and (width >= 1280px) {
  .tabbed-diagram__orbit {
    --diagram-orbit-size: min(100%, max(320px, 38.333vw));
    --diagram-node-size: max(48px, 9.03vw);
    --diagram-icon-size: max(21px, 4.167vw);
    --diagram-node-content-offset: max(3px, 0.49vw);
    --diagram-radius: max(112px, 14.45vw);
  }
}
.tabbed-diagram__connections {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
  z-index: 0;
}
.tabbed-diagram__connections line,
.tabbed-diagram__connections polygon {
  fill: none;
  stroke: var(--color--med-neutral);
  stroke-linecap: round;
  stroke-width: 0.94px;
  vector-effect: non-scaling-stroke;
}
.tabbed-diagram__node {
  align-items: center;
  background: var(--color--white);
  border: 1px solid var(--color--light-neutral);
  border-radius: 50%;
  color: var(--color--primary);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  gap: var(--gap-static--4);
  height: var(--diagram-node-size);
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) rotate(var(--diagram-node-angle)) translateY(calc(-1 * var(--diagram-radius))) rotate(calc(-1 * var(--diagram-node-angle)));
  transition: background-color var(--transition-dur), border-color var(--transition-dur), color var(--transition-dur), transform var(--transition-dur);
  width: var(--diagram-node-size);
  z-index: 1;
}
@media only screen and (width >= 768px) {
  .tabbed-diagram__node {
    gap: var(--gap-static--10);
  }
}
.tabbed-diagram__node.is-active {
  background: var(--pillar-theme-light-color);
  border-color: var(--pillar-theme-light-color);
  color: var(--color--primary);
}
.tabbed-diagram__node.is-active .tabbed-diagram__node-number {
  color: var(--color--primary);
}
.tabbed-diagram__node:focus-visible {
  outline: 2px solid var(--color--dark-accent-1);
  outline-offset: 4px;
}
.tabbed-diagram__node--1 {
  --pillar-theme-light-color: var(--color--pillar-accent-1-light);
  --diagram-node-angle: 0deg;
}
.tabbed-diagram__node--2 {
  --pillar-theme-light-color: var(--color--pillar-accent-2-light);
  --diagram-node-angle: 45deg;
}
.tabbed-diagram__node--3 {
  --pillar-theme-light-color: var(--color--pillar-accent-3-light);
  --diagram-node-angle: 90deg;
}
.tabbed-diagram__node--4 {
  --pillar-theme-light-color: var(--color--pillar-accent-4-light);
  --diagram-node-angle: 135deg;
}
.tabbed-diagram__node--5 {
  --pillar-theme-light-color: var(--color--pillar-accent-5-light);
  --diagram-node-angle: 180deg;
}
.tabbed-diagram__node--6 {
  --pillar-theme-light-color: var(--color--pillar-accent-6-light);
  --diagram-node-angle: 225deg;
}
.tabbed-diagram__node--7 {
  --pillar-theme-light-color: var(--color--pillar-accent-7-light);
  --diagram-node-angle: 270deg;
}
.tabbed-diagram__node--8 {
  --pillar-theme-light-color: var(--color--pillar-accent-8-light);
  --diagram-node-angle: 315deg;
}
.tabbed-diagram__node--center {
  --pillar-theme-light-color: var(--color--pillar-accent-9-light);
  height: var(--diagram-node-size);
  transform: translate(-50%, -50%);
  width: var(--diagram-node-size);
}
.tabbed-diagram__node-number {
  color: var(--color--primary);
  font-family: var(--mini-accent__font-family);
  font-size: var(--mini-accent__font-size);
  font-style: var(--mini-accent__font-style);
  font-weight: var(--mini-accent__font-weight);
  letter-spacing: var(--mini-accent__letter-spacing);
  line-height: var(--mini-accent__line-height);
  color: var(--color--primary-70);
  display: block;
  font-size: clamp(0.375rem, 0.196rem + 0.8949vw, 0.625rem); /* 6px // 10px @ 767px */
  line-height: 1;
  transform: translateY(calc(-1 * var(--diagram-node-content-offset)));
  transition: color var(--transition-dur), opacity var(--transition-dur);
}
@media only screen and (width >= 768px) {
  .tabbed-diagram__node-number {
    font-size: var(--mini-accent__font-size);
  }
}
.tabbed-diagram__icon {
  display: block;
  height: var(--diagram-icon-size);
  object-fit: contain;
  transform: translateY(calc(-1 * var(--diagram-node-content-offset)));
  transition: opacity var(--transition-dur);
  width: var(--diagram-icon-size);
}
.tabbed-diagram.has-active .tabbed-diagram__node:not(.is-active) .tabbed-diagram__node-number,
.tabbed-diagram.has-active .tabbed-diagram__node:not(.is-active) .tabbed-diagram__icon {
  opacity: 0.2;
}

.tabbed-scrolling__layout {
  --grid__gap: var(--container-card-padding--gutter);
  align-items: start;
}
.tabbed-scrolling__mobile-nav {
  background-color: var(--color--light-neutral);
  grid-column: 1/-1;
  margin-bottom: calc(var(--container-card-padding--gutter) * -1);
  padding: var(--container-card-padding--gutter) 0;
  position: sticky;
  top: 0;
  z-index: 3;
}
.tabbed-scrolling__mobile-nav[data-active-pillar="1"] {
  --pillar-theme-light-color: var(--color--pillar-accent-1-light);
}
.tabbed-scrolling__mobile-nav[data-active-pillar="2"] {
  --pillar-theme-light-color: var(--color--pillar-accent-2-light);
}
.tabbed-scrolling__mobile-nav[data-active-pillar="3"] {
  --pillar-theme-light-color: var(--color--pillar-accent-3-light);
}
.tabbed-scrolling__mobile-nav[data-active-pillar="4"] {
  --pillar-theme-light-color: var(--color--pillar-accent-4-light);
}
.tabbed-scrolling__mobile-nav[data-active-pillar="5"] {
  --pillar-theme-light-color: var(--color--pillar-accent-5-light);
}
.tabbed-scrolling__mobile-nav[data-active-pillar="6"] {
  --pillar-theme-light-color: var(--color--pillar-accent-6-light);
}
.tabbed-scrolling__mobile-nav[data-active-pillar="7"] {
  --pillar-theme-light-color: var(--color--pillar-accent-7-light);
}
.tabbed-scrolling__mobile-nav[data-active-pillar="8"] {
  --pillar-theme-light-color: var(--color--pillar-accent-8-light);
}
.tabbed-scrolling__mobile-nav[data-active-pillar="9"] {
  --pillar-theme-light-color: var(--color--pillar-accent-9-light);
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__mobile-nav {
    display: none;
  }
}
.tabbed-scrolling__mobile-toggle {
  color: var(--caption__color, var(--color--primary));
  font-family: var(--caption__font-family);
  font-size: var(--caption__font-size);
  font-weight: var(--caption__font-weight);
  letter-spacing: var(--caption__letter-spacing);
  line-height: var(--caption__line-height);
  text-transform: var(--caption__text-transform);
  text-wrap: var(--caption__text-wrap);
  align-items: center;
  background-color: var(--pillar-theme-light-color, var(--color--white));
  border: none;
  border-radius: var(--border-radius);
  color: var(--color--primary);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  padding: var(--gap-static--10) var(--gap-static--16);
  text-align: left;
  transition: background-color var(--transition-dur);
  width: 100%;
}
.tabbed-scrolling__mobile-toggle::after {
  border-bottom: 1px solid currentcolor;
  border-right: 1px solid currentcolor;
  content: "";
  display: block;
  flex: 0 0 auto;
  height: 8px;
  transform: translateY(-2px) rotate(45deg);
  transform-origin: center;
  transition: transform var(--transition-dur);
  width: 8px;
}
.tabbed-scrolling__mobile-toggle[aria-expanded=true]::after {
  transform: translateY(2px) rotate(225deg);
}
.tabbed-scrolling__mobile-menu {
  background-color: var(--color--white);
  border-radius: var(--border-radius);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--color--primary), transparent 88%);
  display: none;
  overflow: hidden;
  position: absolute;
  width: 100%;
}
.tabbed-scrolling__mobile-menu.is-open {
  display: grid;
}
.tabbed-scrolling__mobile-link {
  color: var(--caption__color, var(--color--primary));
  font-family: var(--caption__font-family);
  font-size: var(--caption__font-size);
  font-weight: var(--caption__font-weight);
  letter-spacing: var(--caption__letter-spacing);
  line-height: var(--caption__line-height);
  text-transform: var(--caption__text-transform);
  text-wrap: var(--caption__text-wrap);
  background-color: transparent;
  border: none;
  color: var(--color--primary);
  cursor: pointer;
  padding: var(--gap-static--12) var(--gap-static--16);
  text-align: left;
  text-decoration: none;
  transition: background-color var(--transition-dur);
  width: 100%;
}
.tabbed-scrolling__mobile-link:hover, .tabbed-scrolling__mobile-link:focus-visible, .tabbed-scrolling__mobile-link.is-active {
  background-color: var(--pillar-theme-light-color, var(--color--pillar-accent-1-light));
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=organizing-infrastructure] {
  --pillar-theme-light-color: var(--color--pillar-accent-1-light);
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=advocacy] {
  --pillar-theme-light-color: var(--color--pillar-accent-2-light);
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=communications] {
  --pillar-theme-light-color: var(--color--pillar-accent-3-light);
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=technical-assistance] {
  --pillar-theme-light-color: var(--color--pillar-accent-4-light);
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=government-community-partnerships] {
  --pillar-theme-light-color: var(--color--pillar-accent-5-light);
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=workforce-development] {
  --pillar-theme-light-color: var(--color--pillar-accent-6-light);
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=capital-financing] {
  --pillar-theme-light-color: var(--color--pillar-accent-7-light);
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=research-data-tracking] {
  --pillar-theme-light-color: var(--color--pillar-accent-8-light);
}
.tabbed-scrolling__mobile-link[data-scrolling-mobile-link=ecosystem-builders] {
  --pillar-theme-light-color: var(--color--pillar-accent-9-light);
}
.tabbed-scrolling__mobile-link--default:disabled {
  color: var(--color--primary-70);
  cursor: default;
  opacity: 0.45;
}
.tabbed-scrolling__mobile-link--default:hover, .tabbed-scrolling__mobile-link--default:focus-visible, .tabbed-scrolling__mobile-link--default.is-active {
  background-color: var(--color--white);
}
.tabbed-scrolling__mobile-link--default:disabled:hover, .tabbed-scrolling__mobile-link--default:disabled:focus-visible {
  background-color: transparent;
}
.tabbed-scrolling__nav {
  align-self: start;
  display: none;
  gap: var(--gap-static--10);
  grid-column: 1/-1;
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__nav {
    display: grid;
    grid-column: 1/span 3;
    position: sticky;
    top: var(--gap--40-70);
  }
}
.tabbed-scrolling__link {
  color: var(--caption__color, var(--color--primary));
  font-family: var(--caption__font-family);
  font-size: var(--caption__font-size);
  font-weight: var(--caption__font-weight);
  letter-spacing: var(--caption__letter-spacing);
  line-height: var(--caption__line-height);
  text-transform: var(--caption__text-transform);
  text-wrap: var(--caption__text-wrap);
  align-items: center;
  background-color: var(--color--white);
  border-radius: var(--border-radius);
  color: var(--color--primary);
  display: flex;
  gap: var(--gap-static--12);
  padding: var(--gap-static--12) var(--gap-static--16);
  text-decoration: none;
  transition: background-color var(--transition-dur);
}
.tabbed-scrolling__link[data-scrolling-tab=advocacy] {
  --pillar-theme-light-color: var(--color--pillar-accent-2-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-2-dark);
}
.tabbed-scrolling__link[data-scrolling-tab=communications] {
  --pillar-theme-light-color: var(--color--pillar-accent-3-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-3-dark);
}
.tabbed-scrolling__link[data-scrolling-tab=technical-assistance] {
  --pillar-theme-light-color: var(--color--pillar-accent-4-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-4-dark);
}
.tabbed-scrolling__link[data-scrolling-tab=government-community-partnerships] {
  --pillar-theme-light-color: var(--color--pillar-accent-5-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-5-dark);
}
.tabbed-scrolling__link[data-scrolling-tab=workforce-development] {
  --pillar-theme-light-color: var(--color--pillar-accent-6-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-6-dark);
}
.tabbed-scrolling__link[data-scrolling-tab=capital-financing] {
  --pillar-theme-light-color: var(--color--pillar-accent-7-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-7-dark);
}
.tabbed-scrolling__link[data-scrolling-tab=research-data-tracking] {
  --pillar-theme-light-color: var(--color--pillar-accent-8-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-8-dark);
}
.tabbed-scrolling__link[data-scrolling-tab=ecosystem-builders] {
  --pillar-theme-light-color: var(--color--pillar-accent-9-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-9-dark);
}
.tabbed-scrolling__link:hover, .tabbed-scrolling__link:focus-visible {
  background-color: var(--pillar-theme-light-color, var(--color--pillar-accent-1-light));
}
.tabbed-scrolling__link.is-active {
  background-color: var(--pillar-theme-light-color, var(--color--pillar-accent-1-light));
}
.tabbed-scrolling__link.is-active .tabbed-scrolling__link-number::after {
  margin-left: var(--gap-static--12);
  opacity: 1;
  transform: scale(100%);
  width: 10px;
}
.tabbed-scrolling__link-number {
  color: var(--color--primary);
  font-family: var(--mini-accent__font-family);
  font-size: var(--mini-accent__font-size);
  font-style: var(--mini-accent__font-style);
  font-weight: var(--mini-accent__font-weight);
  letter-spacing: var(--mini-accent__letter-spacing);
  line-height: var(--mini-accent__line-height);
  align-items: center;
  display: flex;
  flex: 0 0 auto;
}
.tabbed-scrolling__link-number::after {
  background-color: var(--pillar-theme-dark-color, var(--color--pillar-accent-1-dark));
  border-radius: 100%;
  content: "";
  display: inline-block;
  height: 10px;
  opacity: 0;
  transform: scale(0);
  transition: background-color var(--transition-dur), margin-left var(--transition-dur), opacity var(--transition-dur), transform var(--transition-dur), width var(--transition-dur);
  width: 0;
}
.tabbed-scrolling__content {
  display: grid;
  gap: var(--container-card-padding--gutter);
  grid-column: 1/-1;
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__content {
    grid-column: 4/span 11;
  }
}
.tabbed-scrolling__panel {
  --pillar-header__background-image: url("../img/pillar-1-header.svg");
  background-color: var(--color--white);
  border-radius: var(--border-radius);
  min-height: clamp(28rem, 62vh, 42rem);
  overflow: hidden;
  scroll-margin-top: calc(var(--container-card-padding--gutter) + 48px);
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__panel {
    scroll-margin-top: var(--gap--40-70);
  }
}
.tabbed-scrolling__panel#advocacy {
  --pillar-header__background-image: url("../img/pillar-2-header.svg");
  --pillar-theme-light-color: var(--color--pillar-accent-2-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-2-dark);
}
.tabbed-scrolling__panel#communications {
  --pillar-header__background-image: url("../img/pillar-3-header.svg");
  --pillar-theme-light-color: var(--color--pillar-accent-3-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-3-dark);
}
.tabbed-scrolling__panel#technical-assistance {
  --pillar-header__background-image: url("../img/pillar-4-header.svg");
  --pillar-theme-light-color: var(--color--pillar-accent-4-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-4-dark);
}
.tabbed-scrolling__panel#government-community-partnerships {
  --pillar-header__background-image: url("../img/pillar-5-header.svg");
  --pillar-theme-light-color: var(--color--pillar-accent-5-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-5-dark);
}
.tabbed-scrolling__panel#workforce-development {
  --pillar-header__background-image: url("../img/pillar-6-header.svg");
  --pillar-theme-light-color: var(--color--pillar-accent-6-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-6-dark);
}
.tabbed-scrolling__panel#capital-financing {
  --pillar-header__background-image: url("../img/pillar-7-header.svg");
  --pillar-theme-light-color: var(--color--pillar-accent-7-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-7-dark);
}
.tabbed-scrolling__panel#research-data-tracking {
  --pillar-header__background-image: url("../img/pillar-8-header.svg");
  --pillar-theme-light-color: var(--color--pillar-accent-8-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-8-dark);
}
.tabbed-scrolling__panel#ecosystem-builders {
  --pillar-header__background-image: url("../img/pillar-9-header.svg");
  --pillar-theme-light-color: var(--color--pillar-accent-9-light);
  --pillar-theme-dark-color: var(--color--pillar-accent-9-dark);
}
.tabbed-scrolling__panel-header {
  align-items: end;
  background-color: var(--pillar-theme-light-color, var(--color--pillar-accent-1-light));
  background-image: var(--pillar__background-image, url("../img/grid.svg"));
  background-position: top left;
  background-repeat: repeat;
  display: block;
  overflow: hidden;
  padding: var(--gap--20-50) var(--gap--20-60) var(--gap--20-60) var(--gap--20-60);
  position: relative;
}
@media only screen and (width >= 600px) {
  .tabbed-scrolling__panel-header {
    display: flex;
    gap: var(--gap--50-80);
  }
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__panel-header {
    padding: var(--gap-static--100) var(--gap--20-60) var(--gap--20-60) var(--gap--20-60);
  }
}
.tabbed-scrolling__panel-header::before {
  background-image: var(--pillar-header__background-image);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  display: none;
  height: 100%;
  left: 0;
  opacity: 0.3;
  position: absolute;
  top: 0;
  width: 100%;
}
@media only screen and (width >= 600px) {
  .tabbed-scrolling__panel-header::before {
    background-size: 100% auto;
    display: block;
  }
}
@media only screen and (width >= 1280px) {
  .tabbed-scrolling__panel-header::before {
    background-size: 1081px 485px;
  }
}
.tabbed-scrolling__panel-header .eyebrow {
  color: var(--heading__color, var(--color--primary));
  font-family: var(--heading__font-family, var(--h6__font-family));
  font-size: var(--heading__font-size, var(--h6__font-size));
  font-weight: var(--heading__font-weight, var(--h6__font-weight));
  line-height: var(--heading__line-height, var(--h6__line-height));
  margin: 0;
  text-transform: var(--heading__text-transform, var(--h6__text-transform));
  text-wrap: var(--heading__text-wrap, var(--h6__text-wrap));
  align-items: center;
  display: flex;
}
.tabbed-scrolling__panel-header .eyebrow::before {
  background-color: var(--pillar-theme-dark-color, var(--color--pillar-accent-1-dark));
  border-radius: 100%;
  content: "";
  display: inline-block;
  height: 10px;
  margin-right: var(--gap-static--12);
  width: 10px;
}
.tabbed-scrolling__panel-header .eyebrow,
.tabbed-scrolling__panel-header h2 {
  color: inherit;
  margin: 0;
}
.tabbed-scrolling__panel-image {
  height: auto;
  margin-bottom: var(--gap--30-60);
  max-height: 155px;
  max-width: 178px;
  object-fit: contain;
  object-position: left top;
  order: 1;
  position: relative;
  width: 100%;
  z-index: 0;
}
@media only screen and (width >= 600px) {
  .tabbed-scrolling__panel-image {
    height: 155px;
    margin-bottom: 0;
    margin-left: auto;
    max-height: unset;
    max-width: unset;
    object-position: right bottom;
    order: 2;
    width: 178px;
  }
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__panel-image {
    height: clamp(155px, 98.33px + 7.3785vw, 275px);
    object-fit: unset;
    object-position: unset;
    width: clamp(178px, 113.33px + 8.4201vw, 275px);
  }
}
.tabbed-scrolling__panel-header-content {
  display: grid;
  gap: var(--gap-static--10);
  max-width: 46rem;
  position: relative;
  z-index: 1;
}
.tabbed-scrolling__panel-body {
  display: grid;
  gap: 0 var(--gap--50-80);
  padding: var(--gap--20-50) var(--gap--20-60);
}
.tabbed-scrolling__panel-body:not(:has(.tabbed-scrolling__accordion)) .tabbed-scrolling__notice {
  margin-top: var(--gap--30-60);
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__panel-body:not(:has(.tabbed-scrolling__accordion)) .tabbed-scrolling__notice {
    margin-top: var(--gap-static--40);
  }
}
.tabbed-scrolling__panel-body:not(:has(.tabbed-scrolling__accordion), :has(.tabbed-scrolling__testimonial)) .tabbed-scrolling__notice {
  margin-bottom: var(--gap--30-60);
}
@media only screen and (width >= 1024px) {
  .tabbed-scrolling__panel-body {
    gap: 0 var(--gap--50-80);
  }
  .tabbed-scrolling__panel-body:has(.tabbed-scrolling__accordion) {
    grid-template-columns: repeat(2, 1fr);
  }
}
.tabbed-scrolling__copy p:not(:last-child) {
  margin-bottom: var(--gap-static--20);
}
.tabbed-scrolling__accordion {
  margin: var(--gap--30-60) 0 var(--gap-static--40);
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__accordion {
    margin-top: 0;
  }
}
.tabbed-scrolling__accordion h6 {
  margin-bottom: var(--gap-static--16);
}
.tabbed-scrolling__accordion-item {
  border-bottom: 1px solid var(--color--light-neutral);
}
.tabbed-scrolling__accordion-item:first-of-type {
  border-top: 1px solid var(--color--light-neutral);
}
.tabbed-scrolling__accordion-trigger {
  align-items: start;
  cursor: pointer;
  display: flex;
  font-weight: 800;
  gap: var(--gap-static--16);
  justify-content: space-between;
  list-style: none;
  padding: var(--gap-static--16) 0;
}
.tabbed-scrolling__accordion-trigger::-webkit-details-marker {
  display: none;
}
.tabbed-scrolling__accordion-trigger::after {
  background-color: var(--pillar-theme-dark-color, var(--color--pillar-accent-1-dark));
  content: "";
  flex: 0 0 auto;
  font-size: 1.4em;
  height: 9px;
  line-height: 1;
  margin-top: 6px;
  mask-image: url("../img/plus.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 9px;
  transition: background-color var(--transition-dur);
  width: 9px;
}
.tabbed-scrolling__accordion-trigger:hover::after {
  background-color: var(--color--primary);
}
.tabbed-scrolling__accordion-title {
  align-items: start;
  display: flex;
  gap: var(--gap-static--16);
}
.tabbed-scrolling__accordion-number {
  color: var(--color--primary);
  font-family: var(--mini-accent__font-family);
  font-size: var(--mini-accent__font-size);
  font-style: var(--mini-accent__font-style);
  font-weight: var(--mini-accent__font-weight);
  letter-spacing: var(--mini-accent__letter-spacing);
  line-height: var(--mini-accent__line-height);
  flex: 0 0 1ch;
  padding-top: var(--gap-static--4);
}
.tabbed-scrolling__accordion-item[open] .tabbed-scrolling__accordion-trigger::after {
  mask-image: url("../img/minus.svg");
}
.tabbed-scrolling__accordion-content {
  padding: 0 0 var(--gap-static--20) calc(1ch + var(--gap-static--16));
}
.tabbed-scrolling__accordion-content p {
  margin: 0;
}
.tabbed-scrolling__notice {
  background-color: var(--color--light-neutral);
  border-radius: var(--border-radius);
  padding: var(--gap-static--16) var(--gap-static--20);
}
.tabbed-scrolling__testimonial {
  border-top: 1px solid var(--color--light-neutral);
  display: grid;
  gap: var(--gap--10-20);
  grid-column: 1/-1;
  margin: var(--gap--30-60) 0 0 0;
  margin-inline: 0;
  max-width: 100%;
  padding: var(--gap--20-50) 0 var(--gap-static--40) 0;
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__testimonial {
    padding: var(--gap--20-50) 0 var(--gap--50-80) 0;
  }
}
.tabbed-scrolling__testimonial blockquote {
  margin: 0;
  padding: 0;
  width: 72%;
}
.tabbed-scrolling__testimonial p {
  color: var(--color--primary);
  font-family: var(--blockquote__font-family);
  font-size: var(--blockquote__font-size);
  font-style: var(--blockquote__font-style);
  font-weight: var(--blockquote__font-weight);
  letter-spacing: var(--blockquote__letter-spacing);
  line-height: var(--blockquote__line-height);
  position: relative;
}
.tabbed-scrolling__testimonial p:first-child::before {
  content: "“";
  left: calc(clamp(0.5625rem, 0.5rem + 0.2083vw, 0.75rem) * -1);
  position: absolute;
  top: 0;
}
.tabbed-scrolling__testimonial p:last-child::after {
  content: "”";
}
.tabbed-scrolling__testimonial figcaption {
  color: var(--caption__color, var(--color--primary));
  font-family: var(--caption__font-family);
  font-size: var(--caption__font-size);
  font-weight: var(--caption__font-weight);
  letter-spacing: var(--caption__letter-spacing);
  line-height: var(--caption__line-height);
  text-transform: var(--caption__text-transform);
  text-wrap: var(--caption__text-wrap);
}
.tabbed-scrolling__actions {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  grid-column: 1/-1;
  justify-content: space-between;
}
.tabbed-scrolling__actions::before {
  border-top: 1px dashed var(--color--dark-accent-1);
  content: "";
  display: block;
  height: 1px;
  margin-left: auto;
  position: relative;
  top: 1px;
  transition: border-color var(--transition-dur);
  width: calc(100% - var(--button__box-size));
}
.tabbed-scrolling__actions .btn-full-width {
  flex: 0 0 100%;
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__actions .btn-full-width {
    flex: auto;
  }
}
.tabbed-scrolling__actions:has(.btn-full-width:hover)::before {
  border-top: 1px dashed var(--color--primary);
}
.tabbed-scrolling__back-top {
  margin-left: auto;
  margin-top: var(--gap-static--40);
}
@media only screen and (width >= 768px) {
  .tabbed-scrolling__back-top {
    margin-top: 0;
  }
}