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

:root {
  --max-page-width: 2560px;
  --site-title-size-value: 2;
  --heading-3-size-value: 2.2;
  --heading-line-height: 1.4;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background-color: rgb(157, 130, 168);
  color: #000;
  font-family: Poppins, sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 28.8px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.menu-open {
  overflow: hidden;
}

a {
  color: inherit;
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
  padding: 0.75rem 1rem;
  background: #000;
  color: #fff;
  text-decoration: none;
}

.skip-link:focus {
  left: 1rem;
  top: 1rem;
}

.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
}

.header-inner {
  position: relative;
  z-index: 101;
  width: 100%;
}

.header-background {
  position: absolute;
  inset: 0;
  background: transparent;
}

.header-display-desktop,
.header-display-mobile {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 6vw 6vw 0;
}

.header-title-nav-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  min-width: 0;
}

.header-title-text a {
  font-family: acumin-pro, sans-serif;
  font-size: calc(
    (var(--site-title-size-value) - 1) * calc(0.012 * min(100vh, 900px)) + 1rem
  );
  font-weight: 500;
  line-height: var(--heading-line-height);
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.header-nav-list {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.header-nav-item a {
  display: flex;
  padding: 1.6px 0;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28.8px;
  text-decoration: none;
}

.header-display-mobile .header-nav {
  display: none;
}

.header-burger {
  display: flex;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

.header-burger-btn {
  display: flex;
  margin: 0;
  padding: 1px 6px;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: inherit;
}

.burger-box {
  width: 28px;
  height: 18px;
  position: relative;
}

.burger-inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.top-bun,
.patty,
.bottom-bun {
  position: absolute;
  left: 0;
  width: 28px;
  height: 1px;
  background: #000;
  transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
}

.header-menu-icon-doubleLineHamburger .top-bun {
  top: 4px;
}

.header-menu-icon-doubleLineHamburger .patty {
  top: 13px;
}

.header-menu-icon-doubleLineHamburger .bottom-bun {
  display: none;
}

.header-burger-btn.is-active .top-bun {
  top: 9px;
  transform: rotate(45deg);
}

.header-burger-btn.is-active .patty {
  top: 9px;
  transform: rotate(-45deg);
}

.header-menu {
  position: fixed;
  inset: 0;
  z-index: 90;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.header-menu.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.header-menu-bg {
  position: absolute;
  inset: 0;
  background-color: rgb(157, 130, 168);
}

.header-menu-nav {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  padding-top: 22vh;
}

.header-menu-nav-list,
.header-menu-nav-wrapper {
  width: 100%;
}

.header-menu-nav-item a {
  display: inline-flex;
  margin: 43.2px 72px;
  padding: 0;
  font-family: Poppins, sans-serif;
  font-size: 33.15px;
  font-weight: 300;
  line-height: 1;
  text-decoration: none;
}

.page-section {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 10vh;
  padding-top: 84px;
}

.content-wrapper {
  width: 100%;
  padding-top: calc(10vmax / 10);
  padding-bottom: calc(10vmax / 10);
}

.content {
  width: 100%;
}

.fluid-engine {
  --sqs-site-max-width: 1500px;
  --sqs-site-gutter: 2vw;
  --sqs-mobile-site-gutter: 6vw;
  --grid-gutter: calc(var(--sqs-mobile-site-gutter) - 11px);
  --cell-max-width: calc((var(--sqs-site-max-width) - (11px * (8 - 1))) / 8);

  display: grid;
  position: relative;
  grid-template-rows: repeat(23, minmax(24px, auto));
  grid-template-columns:
    minmax(var(--grid-gutter), 1fr)
    repeat(8, minmax(0, var(--cell-max-width)))
    minmax(var(--grid-gutter), 1fr);
  row-gap: 11px;
  column-gap: 11px;
  overflow-x: clip;
}

.fe-block-heading {
  grid-area: 3 / 2 / 10 / 10;
  z-index: 0;
}

.fe-block-credits {
  grid-area: 10 / 2 / 15 / 10;
  z-index: 1;
}

.fe-block-image {
  grid-area: 15 / 2 / 23 / 10;
  z-index: 2;
  --image-size: calc(8 * 24px + 7 * 11px);
}

.sqs-block {
  height: 100%;
}

.sqs-block-content,
.sqs-block-alignment-wrapper {
  height: 100%;
}

.fe-block-heading .sqs-block {
  display: flex;
  justify-content: flex-start;
}

.fe-block-heading .sqs-block-alignment-wrapper {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.fe-block-credits .sqs-block {
  display: flex;
  justify-content: center;
}

.fe-block-credits .sqs-block-alignment-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
}

.fe-block-image .sqs-block {
  display: flex;
  justify-content: center;
}

.fe-block-image .sqs-block-alignment-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.sqs-html-content h3 {
  margin: 0;
  font-family: acumin-pro, sans-serif;
  font-size: calc(
    (var(--heading-3-size-value) - 1) * calc(0.012 * min(100vh, 900px)) + 1rem
  );
  font-weight: 500;
  line-height: calc(
    var(--heading-line-height) * (1 + (1 - var(--heading-3-size-value)) / 25)
  );
  white-space: pre-wrap;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.sqs-html-content h3 a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  font-weight: 500;
}

.sqs-html-content p {
  margin: 0 0 16px;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 28.8px;
  white-space: pre-wrap;
}

.sqs-html-content p + p {
  margin-top: 16px;
  margin-bottom: 0;
}

.sqs-html-content em {
  font-family: Poppins, sans-serif;
  font-style: italic;
  font-weight: 300;
}

.fluid-image-container {
  position: relative;
  width: var(--image-size, 100%);
  height: var(--image-size, auto);
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  clip-path: url("#hero-clip");
  -webkit-clip-path: url("#hero-clip");
}

.fluid-image-container img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

@media (min-width: 768px) {
  .header-display-desktop {
    display: flex;
    padding: 1.8vw 2vw 0;
  }

  .header-display-mobile {
    display: none;
  }

  .header-title-text a {
    font-size: min(
      calc((var(--site-title-size-value) - 1) * 1.2vw + 1rem),
      max(
        calc(
          (var(--site-title-size-value) - 1) * 0.012 * var(--max-page-width) + 1rem
        ),
        calc(var(--site-title-size-value) * 1rem)
      )
    );
  }

  .page-section {
    padding-top: 98px;
  }

  .content-wrapper {
    padding-top: calc(10vmax / 10);
    padding-bottom: calc(10vmax / 10);
  }

  .sqs-html-content h3 {
    font-size: min(
      calc((var(--heading-3-size-value) - 1) * 1.2vw + 1rem),
      max(
        calc(
          (var(--heading-3-size-value) - 1) * 0.012 * var(--max-page-width) + 1rem
        ),
        calc(var(--heading-3-size-value) * 1rem)
      )
    );
  }

  .fluid-engine {
    --grid-gutter: calc(var(--sqs-site-gutter) - 11px);
    --cell-max-width: calc((var(--sqs-site-max-width) - (11px * (24 - 1))) / 24);
    --row-height-scaling-factor: 0.0215;
    --container-width: min(
      var(--max-page-width),
      calc(100vw - var(--sqs-site-gutter) * 2)
    );

    grid-template-rows: repeat(
      19,
      minmax(calc(var(--container-width) * var(--row-height-scaling-factor)), auto)
    );
    grid-template-columns:
      minmax(var(--grid-gutter), 1fr)
      repeat(24, minmax(0, var(--cell-max-width)))
      minmax(var(--grid-gutter), 1fr);
  }

  .fe-block-heading {
    grid-area: 3 / 2 / 8 / 13;
  }

  .fe-block-credits {
    grid-area: 10 / 2 / 14 / 12;
  }

  .fe-block-image {
    grid-area: 3 / 14 / 18 / 26;
    --row-min-height: calc(var(--container-width) * var(--row-height-scaling-factor));
    --image-size: calc(15 * var(--row-min-height) + 14 * 11px);
  }
}

@media (max-width: 767px) {
  .header-display-desktop {
    display: none;
  }

  .header-display-mobile {
    display: flex;
  }
}
