img:not([width]) {
  width: 100%;
}

.flex {
  display: flex;
}
.flex.column {
  flex-direction: column;
}
.flex-desktop {
  display: flex;
}
@media screen and (max-width: 768px) {
  .flex-desktop {
    flex-direction: column;
  }
}

.wrap {
  flex-wrap: wrap;
}

.just-start {
  justify-self: flex-start;
}

.just-middle {
  justify-self: center;
}

@media screen and (min-width: 768px) {
  .just-end {
    justify-self: flex-end;
  }
}

.just-initial {
  justify-self: initial;
}

.align-top {
  align-self: flex-start;
}

.align-middle {
  align-self: center;
}

.align-bottom {
  align-self: flex-end;
}

.align--initial {
  align-self: initial;
}

.bg-center {
  background-position: center;
}

.bg-bottom {
  background-position: bottom;
}

.desktop {
  display: none;
}
@media screen and (min-width: 450px) {
  .desktop {
    display: block;
  }
  .desktop.flex {
    display: flex;
  }
}

.mobile {
  display: block;
}
.mobile.flex {
  display: flex;
}
@media screen and (min-width: 768px) {
  .mobile {
    display: none;
  }
}

.footnote.sup {
  position: relative;
}
.footnote.sup sup:first-of-type {
  position: absolute;
  width: 10px;
  text-align: right;
  display: block;
  left: -10px;
  top: 5px;
}
.footnote.asterisk span:first-of-type {
  left: -4px;
}
.footnote + .footnote {
  margin-top: 0;
}

.asterisk {
  position: relative;
}
.asterisk span:first-of-type {
  position: absolute;
  left: -4px;
}
@media screen and (min-width: 768px) {
  .asterisk span:first-of-type {
    left: -7px;
  }
}

.small-caps {
  text-transform: uppercase;
  font-size: 80%;
}

a.external-link,
.external-link a {
  position: relative;
  margin-right: 25px;
}
a.external-link:after,
.external-link a:after {
  background-image: url(../icon/external.svg);
  background-repeat: no-repeat;
  position: absolute;
  display: block;
  content: "";
  width: 14px;
  height: 16px;
  top: 2px;
  left: auto;
  right: -25px;
  bottom: auto;
  filter: var(--svg-white);
}

.arrow-link {
  position: relative;
  color: var(--purple);
  text-decoration: none;
  font-weight: 700;
  font-variation-settings: "wdth" 150;
}
.arrow-link:after {
  background-image: url(../icon/arrow.svg);
  background-repeat: no-repeat;
  filter: var(--svg-purple);
}
.arrow-link.just-start {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  .arrow-link.just-start {
    margin-top: var(--space-xs);
    margin-bottom: var(--space-md);
  }
}
.arrow-link.just-start:after {
  transform: rotate(180deg);
  position: absolute;
  display: block;
  content: "";
  width: 19px;
  height: 16px;
  top: 0;
  left: -30px;
  right: auto;
  bottom: auto;
}
.arrow-link.just-end {
  margin-right: 30px;
  text-align: right;
}
.arrow-link.just-end:after {
  position: absolute;
  display: block;
  content: "";
  width: 19px;
  height: 16px;
  top: 0;
  left: auto;
  right: -30px;
  bottom: auto;
}
@media (hover: hover) {
  .arrow-link:hover {
    text-decoration: underline;
  }
}

.radius-full {
  border-radius: var(--radius-full);
}

.radius {
  border-radius: var(--radius);
}

.gap-xl {
  gap: var(--gap-xl);
}

.gap-lg {
  gap: var(--gap-lg);
}

.gap-md {
  gap: var(--gap-md);
}

.gap-sm {
  gap: var(--gap-sm);
}

.gap-xs {
  gap: var(--gap-xs);
}

.website-width {
  max-width: var(--website-width);
}

.width-xl {
  max-width: var(--width-xl);
}

.width-lg {
  max-width: var(--width-lg);
}

.width-md {
  max-width: var(--width-md);
}

.width-sm {
  max-width: var(--width-sm);
}

.width-xs {
  max-width: var(--width-xs);
}

.website-width,
.width-xl,
.width-lg,
.width-md,
.width-sm,
.width-xs {
  width: 100%;
}
.website-width.center,
.width-xl.center,
.width-lg.center,
.width-md.center,
.width-sm.center,
.width-xs.center {
  margin-left: auto;
  margin-right: auto;
}

.bg-teal {
  background-color: var(--teal);
}

.teal {
  color: var(--teal);
}

.bg-green {
  background-color: var(--green);
}

.green {
  color: var(--green);
}

.bg-black {
  background-color: var(--black);
}

.black {
  color: var(--black);
}

.bg-copy {
  background-color: var(--copy);
}

.copy {
  color: var(--copy);
}

.bg-darkGrey {
  background-color: var(--darkGrey);
}

.darkGrey {
  color: var(--darkGrey);
}

.bg-grey {
  background-color: var(--grey);
}

.grey {
  color: var(--grey);
}

.bg-lightGrey {
  background-color: var(--lightGrey);
}

.lightGrey {
  color: var(--lightGrey);
}

.bg-white {
  background-color: var(--white);
}

.white {
  color: var(--white);
}

.bg-overlay {
  background-blend-mode: normal, multiply;
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
}

body {
  background-color: var(--copy);
  font-family: "Sora", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.code {
  font-family: monospace;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  color: var(--copy);
}

h1,
.heading1 {
  font-size: var(--font-h1);
}

h2,
.heading2 {
  font-size: var(--font-h2);
}

h3,
.heading3 {
  font-size: var(--font-h3);
}

h4,
.heading4,
th {
  font-size: var(--font-h4);
}

h1,
h2,
h3,
.heading1,
.heading2,
.heading3 {
  letter-spacing: -0.06em;
  line-height: 1.1;
  font-weight: 800;
}

p,
li,
td,
.heading-copy {
  font-size: var(--font-copy);
  font-weight: 400;
  line-height: 1.3;
}

.footnote {
  font-size: var(--font-footnote);
}

strong,
b {
  font-size: inherit;
  font-weight: 700;
}
strong strong,
strong b,
b strong,
b b {
  font-weight: 900;
}

em,
i {
  font-style: oblique;
}

a {
  font-size: inherit;
  color: inherit;
  text-decoration: underline;
}
@media (hover: hover) {
  a:not(.btn):not(.arrow-link):hover {
    text-decoration: none;
  }
}

sup {
  font-size: 0.55em;
  line-height: 0;
}
.btn sup {
  margin-top: -8px;
}

ul,
ol {
  margin: 0;
  padding: 0;
}
ul li,
ol li {
  color: var(--copy);
}

ul {
  padding: 0 0 0 30px;
}
ul ul {
  list-style-type: disc;
}

ol {
  display: inline;
  list-style-position: inside;
}
ol li {
  display: inline list-item;
}
ol li::marker {
  font-weight: 600;
}

table {
  width: 1050px;
}
.cta:has(table) {
  overflow-x: auto;
}

th {
  color: var(--purple);
  text-align: left;
}

td {
  width: 425px;
}
td:first-of-type {
  width: 200px;
}

th,
td {
  padding-bottom: var(--space-xs);
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

main {
  overflow: hidden;
}

html,
body {
  position: relative;
  min-height: 100%;
  overflow: inherit;
  margin: 0 auto;
}

body {
  background-color: var(--copy);
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body.fixed {
  overflow: hidden;
}

main {
  overflow: hidden;
  margin-bottom: calc(-1 * var(--footer-height));
}

section {
  background-size: cover;
  position: relative;
}

.container,
.grid {
  margin: 0 auto;
  width: 95vw;
  max-width: var(--website-width);
}
@media screen and (max-width: 992px) {
  .container,
  .grid {
    width: calc(100% - 40px);
  }
  .container .container,
  .grid .container {
    width: 100%;
  }
}

.full-width-container {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.has-video {
  position: relative;
}
.has-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  z-index: -1;
}

footer {
  width: 100%;
  max-width: var(--width-xl);
  background: var(--purple-gradient);
  backdrop-filter: blur(10px);
  border-radius: var(--radius) var(--radius) 0 0;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  z-index: 9;
  height: var(--footer-height);
}
footer p,
footer li,
footer a {
  color: var(--white);
  transition: 0s;
}
footer .container {
  padding: var(--space-lg) 0 0;
  box-sizing: border-box;
}
@media (hover: hover) {
  footer a:hover {
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .footer-top {
    flex-direction: column-reverse;
    gap: var(--space-lg);
  }
}
.footer-menu {
  width: 100%;
  max-width: var(--width-md);
  position: relative;
  list-style-type: none;
  padding: 0;
  margin: 0 auto var(--space-md) 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.footer-menu li {
  padding: 0;
  margin: 0;
}
.footer-menu a {
  text-decoration: none;
  font-variation-settings: "wght" 700, "wdth" 150;
}
@media (hover: hover) {
  .footer-menu a:hover {
    font-variation-settings: "wght" 900, "wdth" 150;
    text-decoration: underline;
  }
}

.footer-logo {
  width: 99px;
  margin-left: auto;
}
.footer-logo img {
  filter: var(--svg-white);
}

.syneos-menu {
  width: 100%;
  position: relative;
  list-style-type: none;
  padding: 0;
  margin: var(--space-md) 0 var(--space-sm);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-lg);
}
.syneos-menu li {
  padding: 0;
  margin: 0;
}

.footer-tagline {
  font-size: clamp(1rem, 11vw, 9rem);
  font-variation-settings: "wdth" 150;
  font-weight: 500;
  text-align: center;
}
.footer-tagline .char {
  display: inline-block;
}

#hamburger {
  display: none;
}

@media screen and (max-width: 800px) {
  #hamburger {
    display: block;
    width: 38px;
    height: 36px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
    z-index: 999;
    background-color: transparent;
    border: 0;
  }
  #hamburger span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: var(--copy);
    border-radius: 6px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: 0.25s ease-in-out;
  }
  #hamburger span:nth-child(1) {
    top: 0px;
  }
  #hamburger span:nth-child(2), #hamburger span:nth-child(3) {
    top: 13px;
  }
  #hamburger span:nth-child(4) {
    top: 26px;
  }
  #hamburger.open span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
  }
  #hamburger.open span:nth-child(2) {
    transform: rotate(45deg);
  }
  #hamburger.open span:nth-child(3) {
    transform: rotate(-45deg);
  }
  #hamburger.open span:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
  }
  #hamburger ._block, ._pill #hamburger {
    right: 35px;
  }
}
header {
  width: 100%;
  z-index: 999;
  position: relative;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(30px);
}
header > .container {
  min-height: var(--header-logo);
  box-sizing: border-box;
}
header:not(._full-width) {
  box-sizing: border-box;
  max-width: var(--width-xl);
}
header._sticky {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
header:not(._sticky) + main {
  margin-top: calc(var(--header-logo) * -1);
}
header._block .main-menu, header._pill .main-menu {
  max-width: var(--website-width);
  margin-left: auto;
  margin-right: auto;
}
header._pill {
  border-radius: 0 0 var(--radius) var(--radius);
}

.header-logo img {
  max-width: 68px;
  max-height: var(--header-logo);
}

#navigation {
  position: relative;
  display: flex;
  margin-top: 15px;
}
@media screen and (max-width: 800px) {
  #navigation {
    max-height: 0;
    overflow: hidden;
    transition: 0.3s linear;
    position: absolute;
    background-color: var(--white);
    margin-top: 0;
    top: 0;
    right: 0;
    width: 100%;
    flex-direction: column;
  }
  #navigation.open {
    max-height: 700px;
    border-bottom: 1px solid var(--copy);
  }
}

.main-menu {
  width: 100%;
  justify-content: flex-start;
  gap: 32px;
}
.main-menu.space-between {
  justify-content: space-between;
}
.main-menu.right-align {
  justify-content: flex-end;
}
.main-menu.center-align {
  justify-content: center;
}
.main-menu.class {
  justify-content: flex-end;
}

.header-menu {
  display: flex;
  padding: 0;
  margin: 0 0 0 auto;
  width: 100%;
  max-width: 800px;
  gap: var(--space-sm);
}
@media screen and (max-width: 800px) {
  .header-menu {
    height: 100%;
    gap: 0;
    flex-direction: column;
  }
}
@media (min-width: 450px) and (max-width: 800px) {
  .header-menu {
    border-left: 1px solid var(--white);
    border-top: 1px solid var(--white);
  }
}
@media screen and (min-width: 800px) {
  .header-menu {
    justify-content: flex-end;
  }
}
.header-menu > li {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: 0;
}
.header-menu > li:not(.header-btn) {
  padding-top: 10px;
}
@media screen and (max-width: 800px) {
  .header-menu > li {
    width: calc(100% - 40px);
    margin: 0 auto;
    display: block;
  }
  .header-menu > li.header-btn {
    margin: 10px auto 20px;
  }
}
@media (hover: hover) {
  .header-menu > li:not(.header-btn):hover > a {
    text-decoration: underline;
    font-weight: 800;
  }
  .header-menu > li:not(.header-btn):hover .sub-menu {
    display: block;
  }
}
.header-menu a {
  text-decoration: none;
  cursor: pointer;
  color: var(--copy);
  font-size: var(--font-small);
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .header-menu a {
    font-size: var(--font-copy);
    height: 40px;
    display: flex;
    align-items: center;
    text-wrap: nowrap;
  }
}

@media screen and (min-width: 800px) {
  .header-menu .current-menu-item > a,
  .header-menu .current-page-parent > a {
    font-weight: 800;
  }
}

.col-single {
  flex-basis: 100%;
  flex-shrink: 0;
}

.col-double {
  display: grid;
  grid-template-columns: 1fr;
  margin-left: auto;
  margin-right: auto;
}
.col-double:not([class*=width-]) {
  max-width: calc(var(--website-width) / 2);
}
.col-double > div {
  box-sizing: border-box;
}
.col-double > div:has(.img) {
  width: 100%;
}
.col-double > div > div.img:only-child img {
  height: 100%;
  object-fit: cover;
  max-width: 100%;
  display: block;
}
@media screen and (min-width: 992px) {
  .col-double:not([class*=width-]) {
    max-width: 100%;
  }
  .col-double.md-md {
    grid-template-columns: 1fr 1fr;
  }
  .col-double.lg-sm {
    grid-template-columns: 5fr 3fr;
  }
  .col-double.sm-lg {
    grid-template-columns: 3fr 5fr;
  }
  .col-double.xl-xs {
    grid-template-columns: 3fr 1fr;
  }
  .col-double.xs-xl {
    grid-template-columns: 1fr 3fr;
  }
}

.col-trio {
  display: grid;
  grid-template-columns: 1fr;
  max-width: calc(var(--website-width) / 3);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 992px) {
  .col-trio {
    max-width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media screen and (min-width: 992px) {
  .overlap-top,
  .overlap-bottom {
    position: relative;
    z-index: 99;
  }
  .overlap-top {
    transform: translateY(-100px);
  }
  .overlap-bottom {
    transform: translateY(80px);
  }
}
.hero > .flex {
  gap: var(--space-lg);
  justify-content: space-between;
  padding: var(--space-xl);
  box-sizing: border-box;
}
.btn-container {
  display: flex;
}
.content + .btn-container {
  margin-top: var(--space-xs);
}
.btn-container:has(.btn:nth-child(2)) {
  flex-wrap: wrap;
  gap: 16px;
}
.text-center .btn-container {
  justify-content: center;
}
.text-right .btn-container {
  justify-content: flex-end;
}

.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 225px;
  width: fit-content;
  height: 60px;
  padding: 0 var(--gap-xl);
  box-sizing: border-box;
  border: 3px solid;
  border-radius: var(--radius-full);
  font-size: var(--font-copy);
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s;
  border-color: var(--black);
  box-shadow: 4px 4px var(--black);
}
@media (hover: hover) {
  .btn:hover {
    color: var(--copy);
    background-color: var(--white);
    box-shadow: 1px 1px var(--black);
  }
  .btn:hover.has-icon:after {
    filter: var(--svg-copy);
  }
}
.btn.bg-white {
  color: var(--copy);
}
.btn.bg-white:after {
  filter: var(--svg-copy);
}
@media (hover: hover) {
  .btn.bg-white:hover {
    background-color: var(--teal);
  }
}
.btn.bg-green, .btn.bg-black {
  color: var(--white);
}
.btn.bg-green.has-icon:after, .btn.bg-black.has-icon:after {
  filter: var(--svg-white);
}
@media (hover: hover) {
  .btn.bg-green:hover, .btn.bg-black:hover {
    color: var(--copy);
    background-color: var(--teal);
  }
  .btn.bg-green:hover.has-icon:after, .btn.bg-black:hover.has-icon:after {
    filter: var(--svg-copy);
  }
}
.btn.has-icon {
  position: relative;
}
.btn.has-icon:after {
  background-size: contain;
  background-repeat: no-repeat;
  transition: 0s;
}
.btn.has-icon:not(.arrowR) {
  padding-right: 55px;
}
.btn.has-icon:not(.arrowR):after {
  position: absolute;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  top: auto;
  left: auto;
  right: 23px;
  bottom: auto;
}
.btn.external:after {
  background-image: url(../icon/external.svg);
}
.btn.search:after {
  background-image: url(../icon/search.svg);
}
.btn.download:after {
  background-image: url(../icon/download.svg);
}
.btn.arrowL:after {
  background-image: url(../icon/arrow.svg);
}
.btn.arrowR {
  padding-left: 50px;
}
.btn.arrowR:after {
  position: absolute;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  top: 12px;
  left: 20px;
  right: auto;
  bottom: auto;
  background-image: url(../icon/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(180deg);
}
@media (prefers-contrast: more) {
  .btn {
    background-color: var(--white);
    color: var(--black);
    border-color: var(--black);
  }
  .btn:after {
    filter: none;
  }
}

.img {
  width: 100%;
  height: 100%;
}
.img img {
  border-radius: var(--radius);
}

.fpo {
  width: 100%;
  height: 100%;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--grey);
  border-radius: var(--radius);
}
.fpo p {
  font-size: var(--font-h1);
  font-weight: bold;
  color: var(--purple);
}

.spacer.space-xl {
  height: var(--space-xl);
}
.spacer.space-lg {
  height: var(--space-lg);
}
.spacer.space-md {
  height: var(--space-md);
}
.spacer.space-sm {
  height: var(--space-sm);
}
.spacer.space-xs {
  height: var(--space-xs);
}
/*# sourceMappingURL=styles.css.map */
