@charset "UTF-8";
:root {
  --scrollbar-width: 0;
  --font-display: "Sole Sans Hairline", serif;
  --font-text: "Sole Sans", sans-serif;
  --max-width: 80rem;
  --hero-max-width: var(--max-width);
  --size-heading-1: clamp(2rem, 5vw, 4.5rem);
  --size-heading-2: clamp(1.625rem, 5vw, 3.5rem);
  --size-heading-3: clamp(1.5rem, 5vw, 2.5rem);
  --size-heading-4: clamp(1.25rem, 5vw, 2rem);
  --size-section-description: clamp(1.125rem, 5vw, 1.75rem);
  --size-body-xlarge: clamp(1.25rem, 5vw, 1.5rem);
  --size-body-large: clamp(1.125rem, 5vw, 1.25rem);
  --size-body-default: 1.0625rem;
  --size-body-small: 0.9375rem;
  --size-caption: 0.875rem;
  --number-small: clamp(1.25rem, 5vw, 1.875rem);
  --number-medium: clamp(1.5rem, 5vw, 2.625rem);
  --number-large: clamp(1.75rem, 5vw, 5rem);
  --number-xlarge: min(20vw, 10.625rem);
  --color-black-val: 0, 3%, 13%;
  --color-dark-val: 0, 3%, 56%;
  --color-gray-30-val: 0, 3%, 30%;
  --color-gray-val: 0, 3%, 74%;
  --color-white-val: 50, 33%, 97%;
  --color-pink-1-val: 323, 100%, 50%;
  --color-pink-2-val: 324, 61%, 36%;
  --color-pink-3-val: 324, 0%, 16%;
  --color-blue-1-val: 188, 98%, 65%;
  --color-blue-2-val: 173, 100%, 50%;
  --color-black: hsl(var(--color-black-val));
  --color-dark: hsl(var(--color-dark-val));
  --color-gray-30: hsl(var(--color-gray-30-val));
  --color-gray: hsl(var(--color-gray-val));
  --color-white: hsl(var(--color-white-val));
  --color-pink-1: hsl(var(--color-pink-1-val));
  --color-pink-2: hsl(var(--color-pink-2-val));
  --color-pink-3: hsl(var(--color-pink-3-val));
  --color-blue-1: hsl(var(--color-blue-1-val));
  --color-blue-2: hsl(var(--color-blue-2-val));
  --space-none: 0;
  --space-xs: 0.125rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 2rem;
  --space-1xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 8rem;
  --space-10vh: max(10vh, 12rem);
  --space-20vh: max(20vh, 18rem);
  --space-limiter-margin: 1rem;
  --default-duration: 150ms;
  --long-duration: 500ms;
  --default-timing: cubic-bezier(0,0.6,0.35,1);
  --animation-duration: 1000ms;
  --animation-delay: 0;
  --z1: 100;
  --z2: 200;
  --z3: 300;
  --z4: 400;
  --z5: 500;
  --z6: 600;
  --z7: 700;
  --z8: 800;
  --z9: 900;
  --z10: 1000;
}
@media (min-width: 30rem) {
  :root {
    --space-limiter-margin: 1.5rem;
  }
}
@media (min-width: 50rem) {
  :root {
    --space-limiter-margin: 4rem;
  }
}

@font-face {
  font-family: "Sole Sans";
  src: url("https://assets.sparkbox.com/fonts/sole/sole-sans-vf-regular-extra-condensed/font.woff2") format("woff2-variations");
  font-weight: 100 800;
  font-style: normal;
  font-stretch: 80% 130%;
}
@font-face {
  font-family: "Sole Sans";
  src: url("https://assets.sparkbox.com/fonts/sole/sole-sans-vf-regular-extra-condensed-italic/font.woff2") format("woff2-variations");
  font-weight: 100 800;
  font-style: italic;
  font-stretch: 80% 130%;
}
@font-face {
  font-family: "Sole Sans Hairline";
  src: url("https://assets.sparkbox.com/fonts/sole/sole-serif-hairline/font.woff2") format("woff2"), url("https://assets.sparkbox.com/fonts/sole/sole-serif-hairline/font.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Sole Sans Hairline";
  src: url("https://assets.sparkbox.com/fonts/sole/sole-serif-hairline-italic/font.woff2") format("woff2"), url("https://assets.sparkbox.com/fonts/sole/sole-serif-hairline-italic/font.woff") format("woff");
  font-weight: 400;
  font-style: italic;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font: 100%/1.5 var(--font-text);
  color: var(--color-white);
  background-color: var(--color-black);
  position: relative;
  overflow-x: hidden;
}
@media (min-width: 80rem) {
  body {
    overflow-x: unset;
  }
}
@supports (mix-blend-mode: overlay) {
  body::before, body::after {
    content: "";
    position: absolute;
    z-index: calc(var(--z10) + 1);
    pointer-events: none;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    mix-blend-mode: overlay;
  }
  body::before {
    background: url("/images/noise-white.png") center/150px auto;
    opacity: 0.25;
  }
  body::after {
    background: url("/images/halftone.png") center/320px auto fixed;
    opacity: 0.2;
  }
}

b,
strong {
  font-weight: bolder;
}

textarea {
  overflow: auto;
}

img, svg {
  max-width: 100%;
}

article {
  position: relative;
}

*:not([tabindex="-1"]):focus {
  outline: none;
}
html.safe-focus *:not([tabindex="-1"]):focus {
  -webkit-box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
          box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
}

button:-moz-focusring {
  outline: none;
}
html.safe-focus button:-moz-focusring {
  box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
}

h1, h2, h3, h4, h5, h6 {
  font: inherit;
  margin: unset;
}

h2:not([class]) {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-1);
  font-weight: 200;
  margin: 1em 0;
}

h3:not([class]) {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-2);
  font-weight: 200;
  margin: 1em 0;
}

h4:not([class]) {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-3);
  font-weight: 200;
  margin: 1em 0;
}

h5:not([class]) {
  font-family: var(--font-display);
  line-height: 1.4;
  font-size: var(--size-heading-4);
  font-weight: 200;
  margin: 1em 0;
}

h6:not([class]) {
  font-family: var(--font-display);
  line-height: 1.4;
  font-size: var(--size-section-description);
  font-weight: 200;
  margin: 1em 0;
}

p:not([class]) {
  font-size: var(--size-body-default);
  font-weight: 200;
}

a {
  color: inherit;
}

a:not([class]) {
  -webkit-text-decoration-color: hsla(var(--color-white-val), 0.75);
     -moz-text-decoration-color: hsla(var(--color-white-val), 0.75);
          text-decoration-color: hsla(var(--color-white-val), 0.75);
  -webkit-transition: -webkit-text-decoration-color 150ms ease-in-out;
  transition: -webkit-text-decoration-color 150ms ease-in-out;
  -o-transition: text-decoration-color 150ms ease-in-out;
  transition: text-decoration-color 150ms ease-in-out;
  transition: text-decoration-color 150ms ease-in-out, -webkit-text-decoration-color 150ms ease-in-out, -moz-text-decoration-color 150ms ease-in-out;
}
a:not([class]):hover {
  -webkit-text-decoration-color: hsla(var(--color-white-val), 0);
     -moz-text-decoration-color: hsla(var(--color-white-val), 0);
          text-decoration-color: hsla(var(--color-white-val), 0);
}

hr {
  margin: 0;
  width: 8rem;
  border: none;
  border-top: 1px solid var(--color-dark);
}

.obj-width-limiter {
  width: min(100% - var(--space-limiter-margin) * 2, var(--max-width));
  margin: 0 auto;
}

.obj-grid {
  --grid-size: 6;
  --gap: initial;
  --gap-row: initial;
  --gap-col: initial;
  --gap-sm: var(--gap);
  --gap-row-sm: var(--gap-row);
  --gap-col-sm: var(--gap-col);
  --gap-md: var(--gap-sm);
  --gap-row-md: var(--gap-row-sm);
  --gap-col-md: var(--gap-col-sm);
  --gap-lg: var(--gap-md);
  --gap-row-lg: var(--gap-row-md);
  --gap-col-lg: var(--gap-col-md);
  display: grid;
  grid-template-columns: repeat(var(--grid-size), 1fr);
  grid-auto-rows: minmax(1rem, auto);
  row-gap: var(--gap-row, var(--gap));
  -webkit-column-gap: var(--gap-col, var(--gap));
     -moz-column-gap: var(--gap-col, var(--gap));
          column-gap: var(--gap-col, var(--gap));
}
@media (min-width: 30rem) {
  .obj-grid {
    --grid-size: 6;
    row-gap: var(--gap-row-sm, var(--gap-sm));
    -webkit-column-gap: var(--gap-col-sm, var(--gap-sm));
       -moz-column-gap: var(--gap-col-sm, var(--gap-sm));
            column-gap: var(--gap-col-sm, var(--gap-sm));
  }
}
@media (min-width: 50rem) {
  .obj-grid {
    --grid-size: 8;
    row-gap: var(--gap-row-md, var(--gap-md));
    -webkit-column-gap: var(--gap-col-md, var(--gap-md));
       -moz-column-gap: var(--gap-col-md, var(--gap-md));
            column-gap: var(--gap-col-md, var(--gap-md));
  }
}
@media (min-width: 70rem) {
  .obj-grid {
    --grid-size: 12;
    row-gap: var(--gap-row-lg, var(--gap-lg));
    -webkit-column-gap: var(--gap-col-lg, var(--gap-lg));
       -moz-column-gap: var(--gap-col-lg, var(--gap-lg));
            column-gap: var(--gap-col-lg, var(--gap-lg));
  }
}
.obj-grid__col {
  --start: 1;
  --span: 6;
  --align: start;
  --row-span: 1;
  --row-start: auto;
  --order: auto;
  --position: unset;
  --top: 0;
  --start-sm: var(--start);
  --span-sm: var(--span);
  --align-sm: var(--align);
  --row-span-sm: var(--row-span);
  --row-start-sm: var(--row-start);
  --order-sm: var(--order);
  --position-sm: var(--position);
  --top-sm: var(--top);
  --start-md: var(--start-sm);
  --span-md: var(--span-sm);
  --align-md: var(--align-sm);
  --row-span-md: var(--row-span-sm);
  --row-start-md: var(--row-start-sm);
  --order-md: var(--order-sm);
  --position-md: var(--position-sm);
  --top-md: var(--top-sm);
  --start-lg: var(--start-md);
  --span-lg: var(--span-md);
  --align-lg: var(--align-md);
  --row-span-lg: var(--row-span-md);
  --row-start-lg: var(--row-start-md);
  --order-lg: var(--order-md);
  --position-lg: var(--position-md);
  --top-lg: var(--top-md);
  grid-column: var(--start)/span var(--span);
  grid-row: var(--row-start)/span var(--row-span);
  align-self: var(--align);
  -webkit-box-ordinal-group: var(--order);
     -moz-box-ordinal-group: var(--order);
      -ms-flex-order: var(--order);
          order: var(--order);
  position: var(--position);
  top: var(--top);
}
@media (min-width: 30rem) {
  .obj-grid__col {
    grid-column: var(--start-sm)/span var(--span-sm);
    grid-row: var(--row-start-sm)/span var(--row-span-sm);
    align-self: var(--align-sm);
    -webkit-box-ordinal-group: var(--order-sm);
       -moz-box-ordinal-group: var(--order-sm);
        -ms-flex-order: var(--order-sm);
            order: var(--order-sm);
    position: var(--position-sm);
    top: var(--top-sm);
  }
}
@media (min-width: 50rem) {
  .obj-grid__col {
    grid-column: var(--start-md)/span var(--span-md);
    grid-row: var(--row-start-md)/span var(--row-span-md);
    align-self: var(--align-md);
    -webkit-box-ordinal-group: var(--order-md);
       -moz-box-ordinal-group: var(--order-md);
        -ms-flex-order: var(--order-md);
            order: var(--order-md);
    position: var(--position-md);
    top: var(--top-md);
  }
}
@media (min-width: 70rem) {
  .obj-grid__col {
    grid-column: var(--start-lg)/span var(--span-lg);
    grid-row: var(--row-start-lg)/span var(--row-span-lg);
    align-self: var(--align-lg);
    -webkit-box-ordinal-group: var(--order-lg);
       -moz-box-ordinal-group: var(--order-lg);
        -ms-flex-order: var(--order-lg);
            order: var(--order-lg);
    position: var(--position-lg);
    top: var(--top-lg);
  }
}

@-webkit-keyframes fade {
  to {
    opacity: 1;
  }
}

@keyframes fade {
  to {
    opacity: 1;
  }
}
@-webkit-keyframes slide {
  to {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1;
  }
}
@keyframes slide {
  to {
    -webkit-transform: translate(0);
            transform: translate(0);
    opacity: 1;
  }
}
@-webkit-keyframes grow {
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes grow {
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes toc-link {
  to {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes toc-link {
  to {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  [data-animation]:not(.animation-ready) {
    -webkit-animation: fade var(--default-duration) 500ms var(--default-timing) forwards;
            animation: fade var(--default-duration) 500ms var(--default-timing) forwards;
  }

  [data-animation=fade].animation-ready {
    opacity: 0;
  }
  [data-animation=fade].animation-ready.fade {
    -webkit-animation: fade 1s var(--default-timing) forwards;
            animation: fade 1s var(--default-timing) forwards;
  }

  [data-animation=slide-right].animation-ready {
    opacity: 0;
    -webkit-transform: translateX(-2rem);
        -ms-transform: translateX(-2rem);
            transform: translateX(-2rem);
  }
  [data-animation=slide-right].animation-ready.slide-right {
    -webkit-animation: slide 1s var(--default-timing) forwards;
            animation: slide 1s var(--default-timing) forwards;
  }

  [data-animation=slide-left].animation-ready {
    opacity: 0;
    -webkit-transform: translateX(2rem);
        -ms-transform: translateX(2rem);
            transform: translateX(2rem);
  }
  [data-animation=slide-left].animation-ready.slide-left {
    -webkit-animation: slide 1s var(--default-timing) forwards;
            animation: slide 1s var(--default-timing) forwards;
  }

  [data-animation=grow].animation-ready {
    opacity: 0;
    -webkit-transform: scale(0.75);
        -ms-transform: scale(0.75);
            transform: scale(0.75);
  }
  [data-animation=grow].animation-ready.grow {
    -webkit-animation: grow 1s var(--default-timing) forwards;
            animation: grow 1s var(--default-timing) forwards;
  }

  [data-animation=grow-large].animation-ready {
    opacity: 0;
    -webkit-transform: scale(0.85);
        -ms-transform: scale(0.85);
            transform: scale(0.85);
  }
  [data-animation=grow-large].animation-ready.grow-large {
    -webkit-animation: grow 1s var(--default-timing) forwards;
            animation: grow 1s var(--default-timing) forwards;
  }

  [data-animation=toc-link].animation-ready {
    opacity: 0;
    -webkit-filter: blur(0.75rem);
            filter: blur(0.75rem);
    -webkit-transform: scale(0.75);
        -ms-transform: scale(0.75);
            transform: scale(0.75);
  }
  [data-animation=toc-link].animation-ready.toc-link {
    -webkit-animation: toc-link 1500ms 350ms var(--default-timing) forwards;
            animation: toc-link 1500ms 350ms var(--default-timing) forwards;
  }
}
.cmp-type-heading-1 {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-1);
  font-weight: 200;
}

.cmp-type-heading-2 {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-2);
  font-weight: 200;
}

.cmp-type-heading-3 {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-3);
  font-weight: 200;
}

.cmp-type-heading-4 {
  font-family: var(--font-display);
  line-height: 1.4;
  font-size: var(--size-heading-4);
  font-weight: 200;
}

.cmp-type-section-description {
  font-family: var(--font-display);
  line-height: 1.4;
  font-size: var(--size-section-description);
  font-weight: 200;
}

.cmp-type-body-xlarge {
  font-size: var(--size-body-xlarge);
  font-weight: 200;
}

.cmp-type-body-large {
  font-size: var(--size-body-large);
  font-weight: 200;
}

.cmp-type-body-large strong,
.cmp-type-body-large-regular {
  font-size: var(--size-body-large);
  font-weight: 400;
}

.cmp-type-body-default {
  font-size: var(--size-body-default);
  font-weight: 200;
}

.cmp-type-body-small {
  font-size: var(--size-body-small);
  font-weight: 200;
}

.cmp-type-caption {
  font-size: var(--size-caption);
  font-weight: 200;
  line-height: 1.2;
  font-style: italic;
}

.cmp-button {
  background-color: transparent;
  color: inherit;
  border: none;
  margin: 0;
  padding: 0;
  text-align: inherit;
  font: inherit;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 400;
  display: inline-block;
  padding: var(--space-sm) var(--space-lg);
  background-color: var(--color-white);
  color: var(--color-black);
  position: relative;
  -webkit-box-shadow: 0 0 0 0 var(--color-black), 0 0 0 0 var(--color-dark);
          box-shadow: 0 0 0 0 var(--color-black), 0 0 0 0 var(--color-dark);
  -webkit-transition: -webkit-box-shadow var(--default-duration) var(--default-timing);
  transition: -webkit-box-shadow var(--default-duration) var(--default-timing);
  -o-transition: box-shadow var(--default-duration) var(--default-timing);
  transition: box-shadow var(--default-duration) var(--default-timing);
  transition: box-shadow var(--default-duration) var(--default-timing), -webkit-box-shadow var(--default-duration) var(--default-timing);
}
.cmp-button:hover {
  -webkit-box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
          box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
}

.cmp-fixed-sides {
  display: none;
}
@media (hover: hover) and (min-width: 50rem) {
  .cmp-fixed-sides {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 2rem;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: calc(var(--z10) + 2);
    gap: var(--space-md);
  }
  .cmp-fixed-sides__arrow {
    -o-object-fit: contain;
       object-fit: contain;
    height: 100%;
    width: 100%;
  }
  .cmp-fixed-sides__top, .cmp-fixed-sides__dot {
    display: block;
    border-radius: 50%;
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .cmp-fixed-sides__top {
    width: 1rem;
    height: 1rem;
  }
  .cmp-fixed-sides__dot {
    border: 1px solid var(--color-white);
    height: 0.5rem;
    width: 0.5rem;
  }
  .cmp-fixed-sides__dot--active {
    background-color: var(--color-white);
  }
  .cmp-fixed-sides__dot:not(.cmp-fixed-sides__dot--active):hover {
    background-color: hsla(var(--color-white-val), 0.4);
  }
  .cmp-fixed-sides__dot::before {
    content: "";
    position: absolute;
    inset: calc(var(--space-md) * -1);
  }
  .cmp-fixed-sides__top::after, .cmp-fixed-sides__dot::after {
    content: attr(data-label);
    position: absolute;
    left: calc(100% + var(--space-md));
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 0.875rem;
    white-space: nowrap;
    padding: var(--space-xs) var(--space-sm);
    border: 2px solid var(--color-dark);
    color: var(--color-white);
    background-color: var(--color-black);
    border-radius: 1rem;
    -webkit-transform: translateX(-1rem);
        -ms-transform: translateX(-1rem);
            transform: translateX(-1rem);
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity var(--default-duration) var(--default-timing), -webkit-transform var(--default-duration) var(--default-timing);
    transition: opacity var(--default-duration) var(--default-timing), -webkit-transform var(--default-duration) var(--default-timing);
    -o-transition: opacity var(--default-duration) var(--default-timing), transform var(--default-duration) var(--default-timing);
    transition: opacity var(--default-duration) var(--default-timing), transform var(--default-duration) var(--default-timing);
    transition: opacity var(--default-duration) var(--default-timing), transform var(--default-duration) var(--default-timing), -webkit-transform var(--default-duration) var(--default-timing);
  }
  .cmp-fixed-sides__top:focus::after, .cmp-fixed-sides__top:hover::after, .cmp-fixed-sides__dot:focus::after, .cmp-fixed-sides__dot:hover::after {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

.cmp-hero {
  padding: var(--space-1xl) 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  min-height: 100vh;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.cmp-hero.animation-ready {
  opacity: 1;
}
.cmp-hero__intro {
  font-weight: 200;
  line-height: 0.875;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: ". a" "b ." "c d";
}
.cmp-hero__title {
  font-family: var(--font-display);
  grid-area: b;
  font-size: min(12vw, var(--hero-max-width) * 0.12);
}
@media (min-width: 80rem) {
  .cmp-hero__title {
    font-size: min(14vw, var(--hero-max-width) * 0.14);
  }
}
@-webkit-keyframes hero-line-grow {
  100% {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes hero-line-grow {
  100% {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
.cmp-hero__title::after {
  z-index: var(--z3);
  content: "";
  pointer-events: none;
  position: absolute;
  bottom: -0.25em;
  right: calc(50% - 0.5em);
  height: 2.75em;
  width: 1.875em;
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' width%3D'290' height%3D'439'%3E%3Cpath d%3D'm287 2.327-284 435' stroke%3D'hsl(0, 3%25, 74%25)' stroke-width%3D'5'/%3E%3C/svg%3E") no-repeat center/contain;
}
@media (prefers-reduced-motion: no-preference) {
  .cmp-hero__title::after {
    opacity: 0;
    -webkit-transform: translate(1.875em, -2.75em);
        -ms-transform: translate(1.875em, -2.75em);
            transform: translate(1.875em, -2.75em);
    -webkit-animation: hero-line-grow 1000ms var(--default-timing) forwards;
            animation: hero-line-grow 1000ms var(--default-timing) forwards;
  }
}
@-webkit-keyframes hero-move-in {
  50% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes hero-move-in {
  50% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
.cmp-hero__title-line {
  position: relative;
  z-index: var(--z2);
}
@media (prefers-reduced-motion: no-preference) {
  .cmp-hero__title-line {
    opacity: 0;
    -webkit-filter: blur(0.75rem);
            filter: blur(0.75rem);
    -webkit-transform: translateX(-10rem);
        -ms-transform: translateX(-10rem);
            transform: translateX(-10rem);
    -webkit-animation: hero-move-in 1500ms var(--default-timing) forwards;
            animation: hero-move-in 1500ms var(--default-timing) forwards;
  }
  .cmp-hero__title-line--1 {
    -webkit-animation-delay: 150ms;
            animation-delay: 150ms;
  }
  .cmp-hero__title-line--2 {
    -webkit-animation-delay: 300ms;
            animation-delay: 300ms;
  }
  .cmp-hero__title-line--3 {
    -webkit-animation-delay: 450ms;
            animation-delay: 450ms;
  }
}
.cmp-hero__year {
  display: block;
  font-weight: 100;
  font-stretch: 80%;
  text-align: right;
  grid-area: d;
  align-self: end;
  color: var(--color-gray);
  position: relative;
  z-index: var(--z2);
  white-space: nowrap;
  font-size: min(20vw, var(--hero-max-width) * 0.2);
}
@media (min-width: 80rem) {
  .cmp-hero__year {
    font-size: min(24vw, var(--hero-max-width) * 0.24);
  }
}
@-webkit-keyframes hero-year {
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes hero-year {
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .cmp-hero__year-number {
    display: inline-block;
    -webkit-animation: hero-year 1500ms var(--default-timing) forwards;
            animation: hero-year 1500ms var(--default-timing) forwards;
  }
  .cmp-hero__year-number--1 {
    -webkit-animation-delay: 150ms;
            animation-delay: 150ms;
    opacity: 0;
    -webkit-filter: blur(0.75rem);
            filter: blur(0.75rem);
    -webkit-transform: translateY(-0.75em);
        -ms-transform: translateY(-0.75em);
            transform: translateY(-0.75em);
  }
  .cmp-hero__year-number--2 {
    -webkit-animation-delay: 350ms;
            animation-delay: 350ms;
    opacity: 0;
    -webkit-filter: blur(0.75rem);
            filter: blur(0.75rem);
    -webkit-transform: translateY(0.5em);
        -ms-transform: translateY(0.5em);
            transform: translateY(0.5em);
  }
  .cmp-hero__year-number--3 {
    -webkit-animation-delay: 200ms;
            animation-delay: 200ms;
    opacity: 0;
    -webkit-filter: blur(0.75rem);
            filter: blur(0.75rem);
    -webkit-transform: translateY(-0.75em);
        -ms-transform: translateY(-0.75em);
            transform: translateY(-0.75em);
  }
  .cmp-hero__year-number--4 {
    -webkit-animation-delay: 150ms;
            animation-delay: 150ms;
    -webkit-animation-duration: 1800ms;
            animation-duration: 1800ms;
    opacity: 0;
    -webkit-filter: blur(0.75rem);
            filter: blur(0.75rem);
    -webkit-transform: translateY(0.25em);
        -ms-transform: translateY(0.25em);
            transform: translateY(0.25em);
  }
}
@-webkit-keyframes edition-pop {
  50% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes edition-pop {
  50% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.cmp-hero__edition {
  font-weight: 200;
  font-size: min(5vw, var(--hero-max-width) * 0.025);
  grid-area: c;
  align-self: center;
  color: var(--color-gray);
}
@media (prefers-reduced-motion: no-preference) {
  .cmp-hero__edition {
    -webkit-transform-origin: 0 0;
        -ms-transform-origin: 0 0;
            transform-origin: 0 0;
    -webkit-filter: blur(0.75rem);
            filter: blur(0.75rem);
    opacity: 0;
    -webkit-transform: scale(0.5);
        -ms-transform: scale(0.5);
            transform: scale(0.5);
    -webkit-animation: edition-pop 1000ms 500ms var(--default-timing) forwards;
            animation: edition-pop 1000ms 500ms var(--default-timing) forwards;
  }
}
.cmp-hero__logo {
  width: 40vw;
  max-width: 11.875rem;
  justify-self: end;
  grid-area: a;
}
@media (prefers-reduced-motion: no-preference) {
  .cmp-hero__logo {
    opacity: 0;
    -webkit-filter: blur(0.75rem);
            filter: blur(0.75rem);
    -webkit-transform: translateX(var(--space-limiter-margin)-0.25rem);
        -ms-transform: translateX(var(--space-limiter-margin)-0.25rem);
            transform: translateX(var(--space-limiter-margin)-0.25rem);
    -webkit-animation: hero-move-in 1000ms var(--default-timing) forwards;
            animation: hero-move-in 1000ms var(--default-timing) forwards;
  }
}
.cmp-hero__sparkbox-link {
  display: block;
  -webkit-transition: opacity var(--default-duration) var(--default-timing);
  -o-transition: opacity var(--default-duration) var(--default-timing);
  transition: opacity var(--default-duration) var(--default-timing);
}
.cmp-hero__sparkbox-link:hover {
  opacity: 0.5;
}

.cmp-circle {
  position: fixed;
  --distance: 2rem;
  top: var(--distance);
  left: var(--distance);
  right: var(--distance);
  bottom: var(--distance);
  z-index: var(--z1);
  -webkit-clip-path: circle();
          clip-path: circle();
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
@supports (mix-blend-mode: hard-light) {
  .cmp-circle {
    z-index: var(--z10);
    pointer-events: none;
    mix-blend-mode: hard-light;
  }
}
@media (min-width: 70rem) {
  .cmp-circle {
    -webkit-transform: var(--circle-rotate, unset);
        -ms-transform: var(--circle-rotate, unset);
            transform: var(--circle-rotate, unset);
  }
}
.cmp-circle__hero-1 {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: calc(var(--z1) + 2);
  background: -o-linear-gradient(305deg, hsla(var(--color-blue-1-val), 0.15) 15%, hsla(var(--color-blue-2-val), 0.15) 25%, hsla(var(--color-black-val), 0) 65%);
  background: linear-gradient(145deg, hsla(var(--color-blue-1-val), 0.15) 15%, hsla(var(--color-blue-2-val), 0.15) 25%, hsla(var(--color-black-val), 0) 65%);
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, black), color-stop(80%, rgba(0, 0, 0, 0)));
  -webkit-mask-image: linear-gradient(180deg, black 20%, rgba(0, 0, 0, 0) 80%);
          mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, black), color-stop(80%, rgba(0, 0, 0, 0)));
          mask-image: linear-gradient(180deg, black 20%, rgba(0, 0, 0, 0) 80%);
}
.cmp-circle__hero-2 {
  position: absolute;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  --distance: -20vmax;
  top: calc(3 * var(--distance));
  left: var(--distance);
  right: var(--distance);
  bottom: calc(3 * var(--distance));
  z-index: calc(var(--z1) + 1);
  -webkit-transform: rotate(-45deg) translate(20vw, 30vw);
      -ms-transform: rotate(-45deg) translate(20vw, 30vw);
          transform: rotate(-45deg) translate(20vw, 30vw);
  background: -o-radial-gradient(ellipse, hsl(var(--color-pink-1-val)) 0%, hsl(var(--color-pink-2-val)) 50%, hsl(var(--color-black-val)) 100%) center no-repeat;
  background: radial-gradient(ellipse, hsl(var(--color-pink-1-val)) 0%, hsl(var(--color-pink-2-val)) 50%, hsl(var(--color-black-val)) 100%) center no-repeat;
  -webkit-mask-image: radial-gradient(circle, rgba(0, 0, 0, 0.1333333333) 0%, rgba(0, 0, 0, 0.1333333333) 50%, rgba(0, 0, 0, 0) 120%);
          mask-image: radial-gradient(circle, rgba(0, 0, 0, 0.1333333333) 0%, rgba(0, 0, 0, 0.1333333333) 50%, rgba(0, 0, 0, 0) 120%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.cmp-toc-link {
  --default-color: var(--color-gray);
  display: block;
  line-height: 1.25;
  text-decoration: none;
  color: var(--default-color);
  -webkit-transition: color var(--default-duration) var(--default-timing);
  -o-transition: color var(--default-duration) var(--default-timing);
  transition: color var(--default-duration) var(--default-timing);
  position: relative;
}
.cmp-toc-link:hover {
  --default-color: var(--color-white);
}
.cmp-toc-link::after {
  --max-size: 20rem;
  content: "";
  display: block;
  height: min(30vmin, var(--max-size));
  width: min(30vmin, var(--max-size));
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  mix-blend-mode: hard-light;
  opacity: 0;
  -webkit-transition: opacity var(--long-duration) var(--default-timing), -webkit-transform var(--long-duration) var(--default-timing);
  transition: opacity var(--long-duration) var(--default-timing), -webkit-transform var(--long-duration) var(--default-timing);
  -o-transition: opacity var(--long-duration) var(--default-timing), transform var(--long-duration) var(--default-timing);
  transition: opacity var(--long-duration) var(--default-timing), transform var(--long-duration) var(--default-timing);
  transition: opacity var(--long-duration) var(--default-timing), transform var(--long-duration) var(--default-timing), -webkit-transform var(--long-duration) var(--default-timing);
}
.cmp-toc-link--1::after {
  background-image: url("/images/2022/section-1.svg");
}
.cmp-toc-link--2::after {
  background-image: url("/images/2022/section-2.svg");
}
.cmp-toc-link--3::after {
  background-image: url("/images/2022/section-3.svg");
}
.cmp-toc-link--4::after {
  background-image: url("/images/2022/section-4.svg");
}
.cmp-toc-link--5::after {
  background-image: url("/images/2022/section-5.svg");
}
.cmp-toc-link--6::after {
  background-image: url("/images/2022/section-6.svg");
}
.cmp-toc-link:focus::after, .cmp-toc-link:hover::after {
  opacity: 1;
  -webkit-transform: translate(1.5rem, -3rem);
      -ms-transform: translate(1.5rem, -3rem);
          transform: translate(1.5rem, -3rem);
}
.cmp-toc-link__number {
  display: block;
  line-height: 1;
  font-size: var(--number-large);
  font-weight: 200;
  font-stretch: 80%;
}
.cmp-toc-link__text {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-3);
  font-weight: 200;
  border-bottom: 1px solid var(--default-color);
  color: var(--color-white);
  -webkit-transition: border-bottom-color var(--default-duration) var(--default-timing);
  -o-transition: border-bottom-color var(--default-duration) var(--default-timing);
  transition: border-bottom-color var(--default-duration) var(--default-timing);
}
.cmp-toc-link__last {
  display: inline-block;
  white-space: nowrap;
}
.cmp-toc-link__arrow {
  -webkit-transform: translate(0.25rem, 0.125rem);
      -ms-transform: translate(0.25rem, 0.125rem);
          transform: translate(0.25rem, 0.125rem);
  -webkit-transition: margin-left var(--default-duration) var(--default-timing);
  -o-transition: margin-left var(--default-duration) var(--default-timing);
  transition: margin-left var(--default-duration) var(--default-timing);
}
.cmp-toc-link:focus .cmp-toc-link__arrow, .cmp-toc-link:hover .cmp-toc-link__arrow {
  margin-left: var(--space-md);
}

.cmp-section-header {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: var(--space-10vh) var(--space-limiter-margin) 0;
  margin: 0 calc(var(--space-limiter-margin) * -1) var(--space-10vh);
  position: relative;
}
.cmp-section-header::after {
  --max-size: 40rem;
  content: "";
  display: block;
  height: min(50vmin, var(--max-size));
  width: min(50vmin, var(--max-size));
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  mix-blend-mode: hard-light;
}
.cmp-section-header--item-1::after {
  background-image: url("/images/2022/section-1.svg");
}
.cmp-section-header--item-2::after {
  background-image: url("/images/2022/section-2.svg");
}
.cmp-section-header--item-3::after {
  background-image: url("/images/2022/section-3.svg");
}
.cmp-section-header--item-4::after {
  background-image: url("/images/2022/section-4.svg");
}
.cmp-section-header--item-5::after {
  background-image: url("/images/2022/section-5.svg");
}
.cmp-section-header--item-6::after {
  background-image: url("/images/2022/section-6.svg");
}
.cmp-section-header__title {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-1);
  font-weight: 200;
  line-height: 1;
  position: relative;
  padding-top: var(--space-1xp);
  min-height: var(--space-2xl);
  display: grid;
  grid-template-columns: minmax(3rem, -webkit-max-content) auto;
  grid-template-columns: minmax(3rem, max-content) auto;
  -webkit-box-align: end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: var(--space-sm);
}
.cmp-section-header__title::before {
  pointer-events: none;
  font-family: var(--font-text);
  font-size: var(--number-small);
  font-weight: 200;
  font-stretch: 80%;
  content: "0" attr(data-number);
  -ms-flex-item-align: stretch;
      align-self: stretch;
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  place-items: start;
  padding-right: 2em;
  color: var(--color-gray);
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' width%3D'290' height%3D'439'%3E%3Cpath d%3D'm287 2.327-284 435' stroke%3D'hsl(0, 3%25, 56%25)' stroke-width%3D'5'/%3E%3C/svg%3E") no-repeat top right/contain;
}
.cmp-section-header p {
  font-family: var(--font-display);
  line-height: 1.4;
  font-size: var(--size-section-description);
  font-weight: 200;
}

.cmp-number {
  border-top: 1px solid var(--color-dark);
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--space-lg);
}
.cmp-number--small {
  padding: 1rem 0;
}
.cmp-number--large {
  padding: 1.75rem 0;
}
.cmp-number__value {
  text-align: left;
  line-height: 0.75;
}
@media (prefers-reduced-motion: no-preference) {
  .animation-ready .cmp-number__value {
    -webkit-transform: translateX(-0.75rem);
        -ms-transform: translateX(-0.75rem);
            transform: translateX(-0.75rem);
    -webkit-transition: -webkit-transform 1200ms var(--default-timing);
    transition: -webkit-transform 1200ms var(--default-timing);
    -o-transition: transform 1200ms var(--default-timing);
    transition: transform 1200ms var(--default-timing);
    transition: transform 1200ms var(--default-timing), -webkit-transform 1200ms var(--default-timing);
  }
  .animation-ready.fade .cmp-number__value {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}
.cmp-number__value--small {
  font-size: var(--number-medium);
  font-weight: 200;
  font-stretch: 80%;
}
.cmp-number__value--large {
  font-size: var(--number-xlarge);
  font-weight: 200;
  font-stretch: 80%;
}
.cmp-number__title {
  text-align: right;
}
@media (prefers-reduced-motion: no-preference) {
  .animation-ready .cmp-number__title {
    -webkit-transform: translateX(0.75rem);
        -ms-transform: translateX(0.75rem);
            transform: translateX(0.75rem);
    -webkit-transition: -webkit-transform 1200ms var(--default-timing);
    transition: -webkit-transform 1200ms var(--default-timing);
    -o-transition: transform 1200ms var(--default-timing);
    transition: transform 1200ms var(--default-timing);
    transition: transform 1200ms var(--default-timing), -webkit-transform 1200ms var(--default-timing);
  }
  .animation-ready.fade .cmp-number__title {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}
.cmp-number__title--small {
  font-size: var(--size-body-default);
  font-weight: 200;
  line-height: 1.2;
}
.cmp-number__title--large {
  font-size: var(--size-body-xlarge);
  font-weight: 200;
}

.cmp-gauge {
  --gauge-value: 0;
}
.cmp-gauge__value {
  position: relative;
  padding-bottom: 100%;
}
@supports (aspect-ratio: 1/1) {
  .cmp-gauge__value {
    padding-bottom: 0;
    aspect-ratio: 1/1;
  }
}
.cmp-gauge__value::before {
  --percent: calc(var(--gauge-value) / 100);
  --deg: calc(360deg * var(--percent));
  content: "";
  display: block;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: conic-gradient(var(--color-gray) 0deg, var(--color-gray) var(--deg), transparent var(--deg)) no-repeat, url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'6' width%3D'6' fill%3D'hsla(0, 3%25, 74%25, 0.8)' viewBox%3D'0 0 6 6'%3E%3Ccircle cy%3D'0' cx%3D'0' r%3D'0.5' /%3E%3Ccircle cy%3D'6' cx%3D'0' r%3D'0.5' /%3E%3Ccircle cy%3D'0' cx%3D'6' r%3D'0.5' /%3E%3Ccircle cy%3D'6' cx%3D'6' r%3D'0.5' /%3E%3Ccircle cy%3D'3' cx%3D'3' r%3D'0.5' /%3E%3C/svg%3E") repeat fixed;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'10' width%3D'10' viewBox%3D'0 0 10 10' fill%3D'none'%3E%3Ccircle cx%3D'5' cy%3D'5' stroke%3D'%23000' vector-effect%3D'non-scaling-stroke' stroke-width%3D'10' r%3D'4.5' /%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'10' width%3D'10' viewBox%3D'0 0 10 10' fill%3D'none'%3E%3Ccircle cx%3D'5' cy%3D'5' stroke%3D'%23000' vector-effect%3D'non-scaling-stroke' stroke-width%3D'10' r%3D'4.5' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transform: scale(0.99);
      -ms-transform: scale(0.99);
          transform: scale(0.99);
}
@media (min-width: 30rem) {
  .cmp-gauge__value::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'10' width%3D'10' viewBox%3D'0 0 10 10' fill%3D'none'%3E%3Ccircle cx%3D'5' cy%3D'5' stroke%3D'%23000' vector-effect%3D'non-scaling-stroke' stroke-width%3D'16' r%3D'4.5' /%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'10' width%3D'10' viewBox%3D'0 0 10 10' fill%3D'none'%3E%3Ccircle cx%3D'5' cy%3D'5' stroke%3D'%23000' vector-effect%3D'non-scaling-stroke' stroke-width%3D'16' r%3D'4.5' /%3E%3C/svg%3E");
  }
}
.cmp-gauge__percent {
  font-size: var(--number-medium);
  font-weight: 200;
  font-stretch: 80%;
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.animation-ready .cmp-gauge__percent {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition: -webkit-transform var(--animation-duration) var(--default-timing);
  transition: -webkit-transform var(--animation-duration) var(--default-timing);
  -o-transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing), -webkit-transform var(--animation-duration) var(--default-timing);
}
.animation-ready.grow .cmp-gauge__percent {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}
.cmp-gauge__percent--large {
  font-size: var(--number-large);
}
.cmp-gauge__title {
  font-size: var(--size-body-default);
  font-weight: 200;
  line-height: 1.2;
  text-align: center;
  margin-top: var(--space-md);
}

.cmp-related-reading {
  border-top: 1px solid var(--color-dark);
  padding-top: var(--space-sm);
  margin-top: var(--space-10vh);
  margin-bottom: var(--space-20vh);
}
.cmp-related-reading__link {
  text-decoration: none;
  display: block;
}
.cmp-related-reading__link + .cmp-related-reading__link {
  margin-top: var(--space-1xl);
}
.cmp-related-reading__image {
  -webkit-box-shadow: 0 0 0 0 var(--color-black), 0 0 0 0 var(--color-dark);
          box-shadow: 0 0 0 0 var(--color-black), 0 0 0 0 var(--color-dark);
  -webkit-transition: -webkit-box-shadow var(--default-duration) var(--default-timing);
  transition: -webkit-box-shadow var(--default-duration) var(--default-timing);
  -o-transition: box-shadow var(--default-duration) var(--default-timing);
  transition: box-shadow var(--default-duration) var(--default-timing);
  transition: box-shadow var(--default-duration) var(--default-timing), -webkit-box-shadow var(--default-duration) var(--default-timing);
}
.cmp-related-reading__link:hover .cmp-related-reading__image {
  -webkit-box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
          box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
}
.cmp-related-reading__title {
  font-size: var(--size-body-xlarge);
  font-weight: 200;
  line-height: 1.1;
  font-weight: 400;
  margin: 0 0 var(--space-sm);
}
.cmp-related-reading__arrow {
  margin-left: var(--space-sm);
  -webkit-transition: margin-left var(--default-duration) var(--default-timing);
  -o-transition: margin-left var(--default-duration) var(--default-timing);
  transition: margin-left var(--default-duration) var(--default-timing);
}
.cmp-related-reading__link:focus .cmp-related-reading__arrow, .cmp-related-reading__link:hover .cmp-related-reading__arrow {
  margin-left: var(--space-md);
}

.cmp-key-finding {
  background-color: var(--color-black);
  position: relative;
  margin: var(--space-20vh) 0;
}
.cmp-key-finding::before, .cmp-key-finding::after {
  content: "";
  display: block;
  position: absolute;
}
.cmp-key-finding::before {
  inset: -0.75rem;
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'6' width%3D'6' fill%3D'hsla(0, 3%25, 74%25, 0.8)' viewBox%3D'0 0 6 6'%3E%3Ccircle cy%3D'0' cx%3D'0' r%3D'0.5' /%3E%3Ccircle cy%3D'6' cx%3D'0' r%3D'0.5' /%3E%3Ccircle cy%3D'0' cx%3D'6' r%3D'0.5' /%3E%3Ccircle cy%3D'6' cx%3D'6' r%3D'0.5' /%3E%3Ccircle cy%3D'3' cx%3D'3' r%3D'0.5' /%3E%3C/svg%3E") repeat fixed;
  z-index: var(--z1);
}
@media (min-width: 30rem) {
  .cmp-key-finding::before {
    inset: -1.5rem;
  }
}
.cmp-key-finding::after {
  inset: 0;
  background-color: var(--color-black);
  z-index: calc(var(--z1) + 1);
}
.cmp-key-finding__content {
  position: relative;
  z-index: calc(var(--z1) + 2);
  padding: var(--space-1xl) 0 var(--space-2xl);
}
.cmp-key-finding__title {
  font-size: var(--size-body-default);
  font-weight: 200;
  border-top: 1px solid var(--color-dark);
  padding-top: var(--space-sm);
}
.animation-ready .cmp-key-finding__title {
  -webkit-transform: translateY(1rem);
      -ms-transform: translateY(1rem);
          transform: translateY(1rem);
  -webkit-transition: -webkit-transform var(--animation-duration) var(--default-timing);
  transition: -webkit-transform var(--animation-duration) var(--default-timing);
  -o-transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing), -webkit-transform var(--animation-duration) var(--default-timing);
}
.animation-ready.grow-large .cmp-key-finding__title {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
.cmp-key-finding__text {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-2);
  font-weight: 200;
  line-height: 1.25;
  margin: var(--space-lg) 0 0;
}
.animation-ready .cmp-key-finding__text {
  -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: -webkit-transform var(--animation-duration) var(--default-timing);
  transition: -webkit-transform var(--animation-duration) var(--default-timing);
  -o-transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing), -webkit-transform var(--animation-duration) var(--default-timing);
}
.animation-ready.grow-large .cmp-key-finding__text {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.cmp-quote {
  margin: var(--space-20vh) 0;
  padding: var(--space-1xl) 0 var(--space-2xl);
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'8' width%3D'8' viewBox%3D'0 0 8 8' stroke%3D'hsla(0, 3%25, 56%25, 0.2)' stroke-width%3D'1'%3E%3Cpath d%3D'M-1,16 16,-1 M-1,8 8,-1' vector-effect%3D'non-scaling-stroke' /%3E%3C/svg%3E") repeat fixed;
}
.cmp-quote__text {
  font-family: var(--font-display);
  line-height: 1.2;
  font-size: var(--size-heading-3);
  font-weight: 200;
  margin: 0 0 var(--space-lg);
}
.cmp-quote__text::before {
  font-family: var(--font-display);
  font-size: 8rem;
  content: "“";
  display: block;
  line-height: 0.75;
}
.animation-ready .cmp-quote__text {
  -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: -webkit-transform var(--animation-duration) var(--default-timing);
  transition: -webkit-transform var(--animation-duration) var(--default-timing);
  -o-transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing), -webkit-transform var(--animation-duration) var(--default-timing);
}
.animation-ready.grow-large .cmp-quote__text {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}
.cmp-quote__source {
  font-size: var(--size-body-default);
  font-weight: 200;
  margin: 0;
}
.animation-ready .cmp-quote__source {
  -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: -webkit-transform var(--animation-duration) var(--default-timing);
  transition: -webkit-transform var(--animation-duration) var(--default-timing);
  -o-transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing);
  transition: transform var(--animation-duration) var(--default-timing), -webkit-transform var(--animation-duration) var(--default-timing);
}
.animation-ready.grow-large .cmp-quote__source {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.cmp-bar-chart + .cmp-bar-chart {
  margin-top: var(--space-lg);
}
.cmp-bar-chart__title {
  font-size: var(--size-body-default);
  font-weight: 200;
  margin-bottom: var(--space-sm);
}
.cmp-bar-chart__value {
  width: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--number-small);
  font-weight: 200;
  font-stretch: 80%;
  line-height: 1;
}
.cmp-bar-chart__value::before {
  content: "";
  display: block;
  height: 1em;
  width: var(--width);
  margin-right: var(--space-md);
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'6' width%3D'6' viewBox%3D'0 0 6 6'%3E%3Cpath d%3D'M1,0 1,6' fill%3D'none' stroke-width%3D'0.5' stroke%3D'white' /%3E%3C/svg%3E");
}

.cmp-pie-chart {
  --object-1: 0;
  --object-2: 0;
  --object-3: 0;
  --total: calc(var(--object-1) + var(--object-2) + var(--object-3));
  --turn-1: calc((var(--object-1) / var(--total)) * 360deg);
  --turn-2: calc(((var(--object-2) / var(--total)) * 360deg) + var(--turn-1));
  --turn-3: calc(((var(--object-3) / var(--total)) * 360deg) + var(--turn-2));
  position: relative;
}
.cmp-pie-chart__diagram {
  position: relative;
  width: 100%;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--color-white);
  -webkit-transform: scale(0.99);
      -ms-transform: scale(0.99);
          transform: scale(0.99);
}
.cmp-pie-chart__diagram::after {
  content: "";
  display: block;
  padding-top: 100%;
}
.cmp-pie-chart__divider {
  position: absolute;
  top: 0;
  left: calc(50% - 0.5px);
  width: 1px;
  height: 50%;
  background-color: white;
  z-index: var(--z2);
  -webkit-transform-origin: 50% 100%;
      -ms-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
}
.cmp-pie-chart__divider--object-1 {
  -webkit-transform: rotate(var(--turn-1));
      -ms-transform: rotate(var(--turn-1));
          transform: rotate(var(--turn-1));
}
.cmp-pie-chart__divider--object-2 {
  -webkit-transform: rotate(var(--turn-2));
      -ms-transform: rotate(var(--turn-2));
          transform: rotate(var(--turn-2));
}
.cmp-pie-chart__divider--object-3 {
  -webkit-transform: rotate(var(--turn-3));
      -ms-transform: rotate(var(--turn-3));
          transform: rotate(var(--turn-3));
}
.cmp-pie-chart__piece {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.cmp-pie-chart__piece--object-1 {
  background-color: var(--color-black);
  -webkit-mask-image: conic-gradient(#000 0deg, #000 var(--turn-1), transparent var(--turn-1));
          mask-image: conic-gradient(#000 0deg, #000 var(--turn-1), transparent var(--turn-1));
}
.cmp-pie-chart__piece--object-2 {
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'6' width%3D'6' viewBox%3D'0 0 6 6' stroke%3D'hsla(0, 3%25, 74%25, 0.8)' stroke-width%3D'0.5'%3E%3Cpath d%3D'M-1,12 12,-1 M-1,6 6,-1' vector-effect%3D'non-scaling-stroke' /%3E%3C/svg%3E") fixed;
  -webkit-mask-image: conic-gradient(transparent 0deg, transparent var(--turn-1), #000 var(--turn-1), #000 var(--turn-2), transparent var(--turn-2));
          mask-image: conic-gradient(transparent 0deg, transparent var(--turn-1), #000 var(--turn-1), #000 var(--turn-2), transparent var(--turn-2));
}
.cmp-pie-chart__piece--object-3 {
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'12' width%3D'12' fill%3D'hsla(0, 3%25, 74%25, 0.8)' viewBox%3D'0 0 12 12'%3E%3Ccircle cy%3D'0' cx%3D'0' r%3D'1' /%3E%3Ccircle cy%3D'12' cx%3D'0' r%3D'1' /%3E%3Ccircle cy%3D'0' cx%3D'12' r%3D'1' /%3E%3Ccircle cy%3D'12' cx%3D'12' r%3D'1' /%3E%3Ccircle cy%3D'6' cx%3D'6' r%3D'1' /%3E%3C/svg%3E") center/6px 6px fixed;
  -webkit-mask-image: conic-gradient(transparent 0deg, transparent var(--turn-2), #000 var(--turn-2), #000 var(--turn-3), transparent var(--turn-3));
          mask-image: conic-gradient(transparent 0deg, transparent var(--turn-2), #000 var(--turn-2), #000 var(--turn-3), transparent var(--turn-3));
}
.cmp-pie-chart__keys {
  margin-top: var(--space-lg);
  border: 1px solid var(--color-dark);
  -webkit-transform: translateX(0.5rem);
      -ms-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
}
@media (min-width: 30rem) {
  .cmp-pie-chart__keys {
    border: none;
    margin: auto;
    -webkit-transform: unset;
        -ms-transform: unset;
            transform: unset;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: var(--z3);
  }
}
.cmp-pie-chart__key {
  font-size: var(--size-body-default);
  font-weight: 200;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}
.cmp-pie-chart__key + .cmp-pie-chart__key {
  border-top: 1px solid var(--color-dark);
}
@media (min-width: 30rem) {
  .cmp-pie-chart__key {
    display: inline-block;
    background-color: var(--color-black);
    border: 1px solid var(--color-dark);
    position: absolute;
    padding: var(--space-xs) var(--space-sm);
  }
  .cmp-pie-chart__key::before, .cmp-pie-chart__key::after {
    content: "";
    background-color: var(--color-gray);
    position: absolute;
  }
  .cmp-pie-chart__key::before {
    height: 2rem;
    width: 1px;
    top: 100%;
    left: 50%;
  }
  .cmp-pie-chart__key::after {
    height: 4px;
    width: 4px;
    border-radius: 50%;
    top: calc(100% + 2rem);
    left: calc(50% - 2px);
  }
}
@media (min-width: 50rem) {
  .cmp-pie-chart__key {
    padding: var(--space-sm) var(--space-md);
  }
}
@media (min-width: 70rem) {
  .cmp-pie-chart__key {
    white-space: nowrap;
  }
  .cmp-pie-chart__key::before {
    height: 1px;
    width: 2rem;
    left: 100%;
    top: calc(50% - 0.5px);
  }
  .cmp-pie-chart__key::after {
    top: calc(50% - 2px);
    left: calc(100% + 2rem);
  }
}
@media (min-width: 30rem) {
  .cmp-pie-chart__key--item-1 {
    top: 50%;
    left: 53%;
  }
}
@media (min-width: 70rem) {
  .cmp-pie-chart__key--item-1 {
    top: 30%;
    left: 80%;
  }
  .cmp-pie-chart__key--item-1::before {
    left: auto;
    right: 100%;
  }
  .cmp-pie-chart__key--item-1::after {
    left: auto;
    right: calc(100% + 2rem);
  }
}
@media (min-width: 30rem) {
  .cmp-pie-chart__key--item-2 {
    top: 40%;
    left: 2%;
  }
}
@media (min-width: 70rem) {
  .cmp-pie-chart__key--item-2 {
    left: auto;
    top: 50%;
    right: 85%;
  }
}
@media (min-width: 30rem) {
  .cmp-pie-chart__key--item-3 {
    top: 3%;
    left: 10%;
  }
}
@media (min-width: 70rem) {
  .cmp-pie-chart__key--item-3 {
    left: auto;
    top: 10%;
    right: 60%;
  }
}
.cmp-pie-chart__key-title {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.25em;
  -webkit-box-flex: 3;
     -moz-box-flex: 3;
      -ms-flex: 3 0 auto;
          flex: 3 0 auto;
  position: relative;
}
@media (min-width: 30rem) {
  .cmp-pie-chart__key-title {
    display: inline;
    padding: unset;
    position: unset;
  }
}
.cmp-pie-chart__key-title::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  right: 100%;
  height: 100%;
  width: 1rem;
  border: 1px solid var(--color-dark);
  border-right: 0;
}
@media (min-width: 30rem) {
  .cmp-pie-chart__key-title::before {
    content: none;
  }
}
.cmp-pie-chart__key--item-2 .cmp-pie-chart__key-title::before {
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'6' width%3D'6' viewBox%3D'0 0 6 6' stroke%3D'hsla(0, 3%25, 74%25, 0.8)' stroke-width%3D'0.5'%3E%3Cpath d%3D'M-1,12 12,-1 M-1,6 6,-1' vector-effect%3D'non-scaling-stroke' /%3E%3C/svg%3E") fixed;
}
.cmp-pie-chart__key--item-3 .cmp-pie-chart__key-title::before {
  background: url("data:image/svg+xml,%3Csvg xmlns%3D'http%3A//www.w3.org/2000/svg' height%3D'12' width%3D'12' fill%3D'hsla(0, 3%25, 74%25, 0.8)' viewBox%3D'0 0 12 12'%3E%3Ccircle cy%3D'0' cx%3D'0' r%3D'1' /%3E%3Ccircle cy%3D'12' cx%3D'0' r%3D'1' /%3E%3Ccircle cy%3D'0' cx%3D'12' r%3D'1' /%3E%3Ccircle cy%3D'12' cx%3D'12' r%3D'1' /%3E%3Ccircle cy%3D'6' cx%3D'6' r%3D'1' /%3E%3C/svg%3E") center/6px 6px fixed;
}
.cmp-pie-chart__key-value {
  display: inline-block;
  padding: 0.25em;
  border-left: 1px solid var(--color-dark);
  -webkit-box-flex: 0;
     -moz-box-flex: 0;
      -ms-flex: 0 1 2.5em;
          flex: 0 1 2.5em;
  text-align: right;
}
@media (min-width: 30rem) {
  .cmp-pie-chart__key-value {
    display: inline;
    border-left: none;
    text-align: inherit;
    padding: unset;
  }
}
@media (min-width: 70rem) {
  .cmp-pie-chart__key-value::before {
    content: " ";
  }
}

@media (min-width: 70rem) {
  .cmp-pie-chart-caption {
    position: relative;
  }
  .cmp-pie-chart-caption__content {
    position: absolute;
    top: 0;
  }
}
.cmp-comparison-chart {
  --chart-spacing: 1.5rem;
  overflow-x: scroll;
  overflow-y: hidden;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: calc(var(--chart-spacing) * -1);
  margin-right: calc(var(--chart-spacing) * -1);
  padding-bottom: 6rem;
  padding-left: var(--chart-spacing);
  position: relative;
  width: 100%;
  width: calc(100vw - (var(--space-limiter-margin) - var(--chart-spacing)));
}
@media (min-width: 70rem) {
  .cmp-comparison-chart {
    overflow: unset;
    margin: 0;
    width: unset;
  }
}
.cmp-comparison-chart__wrapper {
  position: relative;
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding-right: 4rem;
}
@media (min-width: 70rem) {
  .cmp-comparison-chart__wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    padding-right: 0;
  }
}
.cmp-comparison-chart__y-axis {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(40%, var(--color-black)), to(transparent));
  background-image: -o-linear-gradient(left, var(--color-black) 40%, transparent);
  background-image: linear-gradient(to right, var(--color-black) 40%, transparent);
  -webkit-backdrop-filter: blur(0.5rem);
          backdrop-filter: blur(0.5rem);
  z-index: var(--z4);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  padding-bottom: 2%;
  left: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: right;
  padding-right: var(--space-xs);
  -webkit-box-shadow: -1rem 0 var(--color-black);
          box-shadow: -1rem 0 var(--color-black);
}
@media (min-width: 50rem) {
  .cmp-comparison-chart__y-axis {
    padding-right: var(--space-sm);
  }
}
.cmp-comparison-chart__y-axis-item {
  font-stretch: 80%;
  font-size: 0.875em;
  font-weight: 200;
}
@media (min-width: 50rem) {
  .cmp-comparison-chart__y-axis-item {
    font-size: var(--size-body-small);
    font-weight: 200;
    font-stretch: 100%;
  }
}
.cmp-comparison-chart__y-axis-label {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  background-color: var(--color-black);
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  text-align: center;
  font-size: 0.875em;
  font-weight: 400;
  line-height: 0.75;
  padding-right: var(--space-xs);
}
@media (min-width: 70rem) {
  .cmp-comparison-chart__y-axis-label {
    font-size: var(--size-body-details);
    font-weight: 400;
    line-height: 1.2;
    padding-right: var(--space-sm);
  }
}
.cmp-comparison-chart__x-axis {
  position: absolute;
  top: 100%;
  left: 2.4375rem;
  right: 4.1875rem;
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: justify;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 70rem) {
  .cmp-comparison-chart__x-axis {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--space-md);
    right: 0;
  }
}
.cmp-comparison-chart__x-axis-item {
  font-size: var(--size-body-small);
  font-weight: 200;
  line-height: 1.2;
  text-align: center;
  -webkit-box-flex: 2;
     -moz-box-flex: 2;
      -ms-flex: 2 2 6rem;
          flex: 2 2 6rem;
  width: 6rem;
  position: relative;
}
.cmp-comparison-chart__x-axis-item:first-child {
  margin-left: -3rem;
}
.cmp-comparison-chart__x-axis-item:last-child {
  margin-right: -3rem;
}
.cmp-comparison-chart__container {
  position: relative;
  line-height: 0.75;
  min-height: 30rem;
  aspect-ratio: 900/422;
}
@media (min-width: 70rem) {
  .cmp-comparison-chart__container {
    min-height: 28rem;
    width: 100%;
  }
}
.cmp-comparison-chart__container::before {
  content: "";
  display: block;
  position: absolute;
  z-index: var(--z3);
  width: 5rem;
  height: 100%;
  right: calc(33.333% - 2.5rem);
  mix-blend-mode: hard-light;
  background-size: 100% 150%;
  background-position: center;
  background-repeat: no-repeat;
  background-image: -o-radial-gradient(100% 100%, hsla(var(--color-pink-1-val), 0.4) 5%, 10%, hsla(var(--color-pink-2-val), 0.3) 20%, hsla(var(--color-black-val), 0) 30%);
  background-image: radial-gradient(100% 100%, hsla(var(--color-pink-1-val), 0.4) 5%, 10%, hsla(var(--color-pink-2-val), 0.3) 20%, hsla(var(--color-black-val), 0) 30%);
}
.cmp-comparison-chart__explanation {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: calc(33.333% + 1.5rem);
  width: 8rem;
  font-size: var(--size-body-small);
  font-weight: 200;
  z-index: var(--z4);
  text-align: right;
  line-height: 1.2;
  font-weight: 400;
}
.cmp-comparison-chart__svg {
  max-width: unset;
  min-height: 25rem;
  width: 100%;
  position: absolute;
  inset: 0 1.5rem 0 0;
}

.cmp-comparison-key {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--space-lg);
  margin: 0 0 var(--space-lg) var(--space-lg);
}
@media (min-width: 70rem) {
  .cmp-comparison-key {
    margin-left: var(--space-1xl);
  }
}
.cmp-comparison-key__item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-sm);
}
.cmp-comparison-key__title {
  font-size: var(--size-body-default);
  font-weight: 200;
}

@-webkit-keyframes form-message-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes form-message-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cmp-form {
  margin: var(--space-10vh) 0;
  padding: var(--space-1xl) 0 0;
  border-top: 1px solid var(--color-dark);
}
.cmp-form__error-message, .cmp-form__success-message {
  display: none;
}
.form-error .cmp-form__error-message {
  display: block;
  -webkit-animation: form-message-fade-in 500ms ease-in forwards;
          animation: form-message-fade-in 500ms ease-in forwards;
}
.form-success .cmp-form__success-message {
  display: block;
  -webkit-animation: form-message-fade-in 500ms ease-in forwards;
          animation: form-message-fade-in 500ms ease-in forwards;
}
.form-error .cmp-form__fieldset, .form-success .cmp-form__fieldset {
  display: none;
}
.cmp-form__message {
  margin: var(--space-md) 0 0;
}
.cmp-form__field {
  margin-bottom: var(--space-lg);
}
.cmp-form__label {
  font-size: var(--size-body-large);
  font-weight: 200;
  font-weight: 400;
  display: block;
  cursor: pointer;
  margin-bottom: var(--space-sm);
}
.cmp-form__input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: unset;
  background-color: var(--color-black);
  border: 2px solid var(--color-white);
  color: var(--color-whiet);
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: var(--space-sm);
  font-size: var(--size-body-xlarge);
  font-weight: 200;
  -webkit-box-shadow: 0 0 0 0 var(--color-black), 0 0 0 0 var(--color-dark);
          box-shadow: 0 0 0 0 var(--color-black), 0 0 0 0 var(--color-dark);
  -webkit-transition: -webkit-box-shadow var(--default-duration) var(--default-timing);
  transition: -webkit-box-shadow var(--default-duration) var(--default-timing);
  -o-transition: box-shadow var(--default-duration) var(--default-timing);
  transition: box-shadow var(--default-duration) var(--default-timing);
  transition: box-shadow var(--default-duration) var(--default-timing), -webkit-box-shadow var(--default-duration) var(--default-timing);
}
.safe-focus .cmp-form__input:focus, .cmp-form__input:focus {
  -webkit-box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
          box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
}

.cmp-footer {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: 100%;
  gap: var(--space-md);
  border-top: 1px solid var(--color-dark);
}
.cmp-footer__social {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--space-md);
  margin-top: var(--space-md);
}
.cmp-footer__social-link {
  border-radius: 2px;
  display: block;
  padding: 0.25rem;
  line-height: 0.75;
  color: var(--color-black);
  background-color: var(--color-white);
  -webkit-box-shadow: 0 0 0 0 var(--color-black), 0 0 0 0 var(--color-dark);
          box-shadow: 0 0 0 0 var(--color-black), 0 0 0 0 var(--color-dark);
  -webkit-transition: -webkit-box-shadow 150ms ease-in-out;
  transition: -webkit-box-shadow 150ms ease-in-out;
  -o-transition: box-shadow 150ms ease-in-out;
  transition: box-shadow 150ms ease-in-out;
  transition: box-shadow 150ms ease-in-out, -webkit-box-shadow 150ms ease-in-out;
}
.cmp-footer__social-link:hover {
  -webkit-box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
          box-shadow: 0 0 0 2px var(--color-black), 0 0 0 6px var(--color-dark);
}
.cmp-footer__links-list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: var(--space-lg) 0;
  gap: var(--space-md) var(--space-lg);
  font-size: var(--size-body-large);
  font-weight: 200;
}
.cmp-footer__copyright {
  font-size: var(--size-body-default);
  font-weight: 200;
}

.cmp-skip-link {
  position: absolute;
  right: 100%;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}
.cmp-skip-link:focus {
  display: block;
  visibility: visible;
  letter-spacing: 1;
  color: var(--color-white);
  background-color: var(--color-black);
  padding: var(--space-md);
  -webkit-font-smoothing: antialiased;
  -webkit-box-shadow: 0 0 0 2px var(--color-dark), 0 0 0 4px var(--color-black) !important;
          box-shadow: 0 0 0 2px var(--color-dark), 0 0 0 4px var(--color-black) !important;
  position: absolute;
  z-index: calc(var(--z10) + 10);
  top: 0.5rem;
  left: 50%;
  right: unset;
  bottom: unset;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  clip: unset;
  -webkit-clip-path: unset;
          clip-path: unset;
}
.cmp-skip-link:hover {
  text-decoration: underline;
}

.cmp-back-link {
  position: absolute;
  right: 100%;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}
html.safe-focus .cmp-back-link:focus {
  display: block;
  visibility: visible;
  letter-spacing: 1;
  color: var(--color-white);
  background-color: var(--color-black);
  padding: var(--space-md);
  -webkit-font-smoothing: antialiased;
  -webkit-box-shadow: 0 0 0 2px var(--color-dark), 0 0 0 4px var(--color-black) !important;
          box-shadow: 0 0 0 2px var(--color-dark), 0 0 0 4px var(--color-black) !important;
  position: absolute;
  z-index: calc(var(--z10) + 10);
  top: 0.5rem;
  left: 50%;
  right: unset;
  bottom: unset;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  clip: unset;
  -webkit-clip-path: unset;
          clip-path: unset;
}
.cmp-back-link:hover {
  text-decoration: underline;
}

/* Start Sparkle System Classes */
.util-margin-btm-none {
  margin-bottom: 0;
}

.util-margin-btm-xs {
  margin-bottom: 0.125rem;
}

.util-margin-btm-sm {
  margin-bottom: 0.5rem;
}

.util-margin-btm-md {
  margin-bottom: 1rem;
}

.util-margin-btm-lg {
  margin-bottom: 2rem;
}

.util-margin-btm-1xl {
  margin-bottom: 4rem;
}

.util-margin-btm-2xl {
  margin-bottom: 6rem;
}

.util-margin-btm-3xl {
  margin-bottom: 8rem;
}

.util-margin-btm-10vh {
  margin-bottom: max(10vh, 12rem);
}

.util-margin-btm-20vh {
  margin-bottom: max(20vh, 18rem);
}

.util-margin-top-none {
  margin-top: 0;
}

.util-margin-top-xs {
  margin-top: 0.125rem;
}

.util-margin-top-sm {
  margin-top: 0.5rem;
}

.util-margin-top-md {
  margin-top: 1rem;
}

.util-margin-top-lg {
  margin-top: 2rem;
}

.util-margin-top-1xl {
  margin-top: 4rem;
}

.util-margin-top-2xl {
  margin-top: 6rem;
}

.util-margin-top-3xl {
  margin-top: 8rem;
}

.util-margin-top-10vh {
  margin-top: max(10vh, 12rem);
}

.util-margin-top-20vh {
  margin-top: max(20vh, 18rem);
}

.util-margin-lft-none {
  margin-left: 0;
}

.util-margin-lft-xs {
  margin-left: 0.125rem;
}

.util-margin-lft-sm {
  margin-left: 0.5rem;
}

.util-margin-lft-md {
  margin-left: 1rem;
}

.util-margin-lft-lg {
  margin-left: 2rem;
}

.util-margin-lft-1xl {
  margin-left: 4rem;
}

.util-margin-lft-2xl {
  margin-left: 6rem;
}

.util-margin-lft-3xl {
  margin-left: 8rem;
}

.util-margin-lft-10vh {
  margin-left: max(10vh, 12rem);
}

.util-margin-lft-20vh {
  margin-left: max(20vh, 18rem);
}

.util-margin-rgt-none {
  margin-right: 0;
}

.util-margin-rgt-xs {
  margin-right: 0.125rem;
}

.util-margin-rgt-sm {
  margin-right: 0.5rem;
}

.util-margin-rgt-md {
  margin-right: 1rem;
}

.util-margin-rgt-lg {
  margin-right: 2rem;
}

.util-margin-rgt-1xl {
  margin-right: 4rem;
}

.util-margin-rgt-2xl {
  margin-right: 6rem;
}

.util-margin-rgt-3xl {
  margin-right: 8rem;
}

.util-margin-rgt-10vh {
  margin-right: max(10vh, 12rem);
}

.util-margin-rgt-20vh {
  margin-right: max(20vh, 18rem);
}

.util-margin-all-none {
  margin: 0;
}

.util-margin-all-xs {
  margin: 0.125rem;
}

.util-margin-all-sm {
  margin: 0.5rem;
}

.util-margin-all-md {
  margin: 1rem;
}

.util-margin-all-lg {
  margin: 2rem;
}

.util-margin-all-1xl {
  margin: 4rem;
}

.util-margin-all-2xl {
  margin: 6rem;
}

.util-margin-all-3xl {
  margin: 8rem;
}

.util-margin-all-10vh {
  margin: max(10vh, 12rem);
}

.util-margin-all-20vh {
  margin: max(20vh, 18rem);
}

.util-margin-vrt-none {
  margin-top: 0;
  margin-bottom: 0;
}

.util-margin-vrt-xs {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.util-margin-vrt-sm {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.util-margin-vrt-md {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.util-margin-vrt-lg {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.util-margin-vrt-1xl {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.util-margin-vrt-2xl {
  margin-top: 6rem;
  margin-bottom: 6rem;
}

.util-margin-vrt-3xl {
  margin-top: 8rem;
  margin-bottom: 8rem;
}

.util-margin-vrt-10vh {
  margin-top: max(10vh, 12rem);
  margin-bottom: max(10vh, 12rem);
}

.util-margin-vrt-20vh {
  margin-top: max(20vh, 18rem);
  margin-bottom: max(20vh, 18rem);
}

.util-margin-hrz-none {
  margin-right: 0;
  margin-left: 0;
}

.util-margin-hrz-xs {
  margin-right: 0.125rem;
  margin-left: 0.125rem;
}

.util-margin-hrz-sm {
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}

.util-margin-hrz-md {
  margin-right: 1rem;
  margin-left: 1rem;
}

.util-margin-hrz-lg {
  margin-right: 2rem;
  margin-left: 2rem;
}

.util-margin-hrz-1xl {
  margin-right: 4rem;
  margin-left: 4rem;
}

.util-margin-hrz-2xl {
  margin-right: 6rem;
  margin-left: 6rem;
}

.util-margin-hrz-3xl {
  margin-right: 8rem;
  margin-left: 8rem;
}

.util-margin-hrz-10vh {
  margin-right: max(10vh, 12rem);
  margin-left: max(10vh, 12rem);
}

.util-margin-hrz-20vh {
  margin-right: max(20vh, 18rem);
  margin-left: max(20vh, 18rem);
}

@media (min-width: 30rem) {
  .util-margin-btm-none\@sm {
    margin-bottom: 0;
  }

  .util-margin-btm-xs\@sm {
    margin-bottom: 0.125rem;
  }

  .util-margin-btm-sm\@sm {
    margin-bottom: 0.5rem;
  }

  .util-margin-btm-md\@sm {
    margin-bottom: 1rem;
  }

  .util-margin-btm-lg\@sm {
    margin-bottom: 2rem;
  }

  .util-margin-btm-1xl\@sm {
    margin-bottom: 4rem;
  }

  .util-margin-btm-2xl\@sm {
    margin-bottom: 6rem;
  }

  .util-margin-btm-3xl\@sm {
    margin-bottom: 8rem;
  }

  .util-margin-btm-10vh\@sm {
    margin-bottom: max(10vh, 12rem);
  }

  .util-margin-btm-20vh\@sm {
    margin-bottom: max(20vh, 18rem);
  }

  .util-margin-top-none\@sm {
    margin-top: 0;
  }

  .util-margin-top-xs\@sm {
    margin-top: 0.125rem;
  }

  .util-margin-top-sm\@sm {
    margin-top: 0.5rem;
  }

  .util-margin-top-md\@sm {
    margin-top: 1rem;
  }

  .util-margin-top-lg\@sm {
    margin-top: 2rem;
  }

  .util-margin-top-1xl\@sm {
    margin-top: 4rem;
  }

  .util-margin-top-2xl\@sm {
    margin-top: 6rem;
  }

  .util-margin-top-3xl\@sm {
    margin-top: 8rem;
  }

  .util-margin-top-10vh\@sm {
    margin-top: max(10vh, 12rem);
  }

  .util-margin-top-20vh\@sm {
    margin-top: max(20vh, 18rem);
  }

  .util-margin-lft-none\@sm {
    margin-left: 0;
  }

  .util-margin-lft-xs\@sm {
    margin-left: 0.125rem;
  }

  .util-margin-lft-sm\@sm {
    margin-left: 0.5rem;
  }

  .util-margin-lft-md\@sm {
    margin-left: 1rem;
  }

  .util-margin-lft-lg\@sm {
    margin-left: 2rem;
  }

  .util-margin-lft-1xl\@sm {
    margin-left: 4rem;
  }

  .util-margin-lft-2xl\@sm {
    margin-left: 6rem;
  }

  .util-margin-lft-3xl\@sm {
    margin-left: 8rem;
  }

  .util-margin-lft-10vh\@sm {
    margin-left: max(10vh, 12rem);
  }

  .util-margin-lft-20vh\@sm {
    margin-left: max(20vh, 18rem);
  }

  .util-margin-rgt-none\@sm {
    margin-right: 0;
  }

  .util-margin-rgt-xs\@sm {
    margin-right: 0.125rem;
  }

  .util-margin-rgt-sm\@sm {
    margin-right: 0.5rem;
  }

  .util-margin-rgt-md\@sm {
    margin-right: 1rem;
  }

  .util-margin-rgt-lg\@sm {
    margin-right: 2rem;
  }

  .util-margin-rgt-1xl\@sm {
    margin-right: 4rem;
  }

  .util-margin-rgt-2xl\@sm {
    margin-right: 6rem;
  }

  .util-margin-rgt-3xl\@sm {
    margin-right: 8rem;
  }

  .util-margin-rgt-10vh\@sm {
    margin-right: max(10vh, 12rem);
  }

  .util-margin-rgt-20vh\@sm {
    margin-right: max(20vh, 18rem);
  }

  .util-margin-all-none\@sm {
    margin: 0;
  }

  .util-margin-all-xs\@sm {
    margin: 0.125rem;
  }

  .util-margin-all-sm\@sm {
    margin: 0.5rem;
  }

  .util-margin-all-md\@sm {
    margin: 1rem;
  }

  .util-margin-all-lg\@sm {
    margin: 2rem;
  }

  .util-margin-all-1xl\@sm {
    margin: 4rem;
  }

  .util-margin-all-2xl\@sm {
    margin: 6rem;
  }

  .util-margin-all-3xl\@sm {
    margin: 8rem;
  }

  .util-margin-all-10vh\@sm {
    margin: max(10vh, 12rem);
  }

  .util-margin-all-20vh\@sm {
    margin: max(20vh, 18rem);
  }

  .util-margin-vrt-none\@sm {
    margin-top: 0;
    margin-bottom: 0;
  }

  .util-margin-vrt-xs\@sm {
    margin-top: 0.125rem;
    margin-bottom: 0.125rem;
  }

  .util-margin-vrt-sm\@sm {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  .util-margin-vrt-md\@sm {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .util-margin-vrt-lg\@sm {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .util-margin-vrt-1xl\@sm {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  .util-margin-vrt-2xl\@sm {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  .util-margin-vrt-3xl\@sm {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  .util-margin-vrt-10vh\@sm {
    margin-top: max(10vh, 12rem);
    margin-bottom: max(10vh, 12rem);
  }

  .util-margin-vrt-20vh\@sm {
    margin-top: max(20vh, 18rem);
    margin-bottom: max(20vh, 18rem);
  }

  .util-margin-hrz-none\@sm {
    margin-right: 0;
    margin-left: 0;
  }

  .util-margin-hrz-xs\@sm {
    margin-right: 0.125rem;
    margin-left: 0.125rem;
  }

  .util-margin-hrz-sm\@sm {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }

  .util-margin-hrz-md\@sm {
    margin-right: 1rem;
    margin-left: 1rem;
  }

  .util-margin-hrz-lg\@sm {
    margin-right: 2rem;
    margin-left: 2rem;
  }

  .util-margin-hrz-1xl\@sm {
    margin-right: 4rem;
    margin-left: 4rem;
  }

  .util-margin-hrz-2xl\@sm {
    margin-right: 6rem;
    margin-left: 6rem;
  }

  .util-margin-hrz-3xl\@sm {
    margin-right: 8rem;
    margin-left: 8rem;
  }

  .util-margin-hrz-10vh\@sm {
    margin-right: max(10vh, 12rem);
    margin-left: max(10vh, 12rem);
  }

  .util-margin-hrz-20vh\@sm {
    margin-right: max(20vh, 18rem);
    margin-left: max(20vh, 18rem);
  }
}
@media (min-width: 50rem) {
  .util-margin-btm-none\@md {
    margin-bottom: 0;
  }

  .util-margin-btm-xs\@md {
    margin-bottom: 0.125rem;
  }

  .util-margin-btm-sm\@md {
    margin-bottom: 0.5rem;
  }

  .util-margin-btm-md\@md {
    margin-bottom: 1rem;
  }

  .util-margin-btm-lg\@md {
    margin-bottom: 2rem;
  }

  .util-margin-btm-1xl\@md {
    margin-bottom: 4rem;
  }

  .util-margin-btm-2xl\@md {
    margin-bottom: 6rem;
  }

  .util-margin-btm-3xl\@md {
    margin-bottom: 8rem;
  }

  .util-margin-btm-10vh\@md {
    margin-bottom: max(10vh, 12rem);
  }

  .util-margin-btm-20vh\@md {
    margin-bottom: max(20vh, 18rem);
  }

  .util-margin-top-none\@md {
    margin-top: 0;
  }

  .util-margin-top-xs\@md {
    margin-top: 0.125rem;
  }

  .util-margin-top-sm\@md {
    margin-top: 0.5rem;
  }

  .util-margin-top-md\@md {
    margin-top: 1rem;
  }

  .util-margin-top-lg\@md {
    margin-top: 2rem;
  }

  .util-margin-top-1xl\@md {
    margin-top: 4rem;
  }

  .util-margin-top-2xl\@md {
    margin-top: 6rem;
  }

  .util-margin-top-3xl\@md {
    margin-top: 8rem;
  }

  .util-margin-top-10vh\@md {
    margin-top: max(10vh, 12rem);
  }

  .util-margin-top-20vh\@md {
    margin-top: max(20vh, 18rem);
  }

  .util-margin-lft-none\@md {
    margin-left: 0;
  }

  .util-margin-lft-xs\@md {
    margin-left: 0.125rem;
  }

  .util-margin-lft-sm\@md {
    margin-left: 0.5rem;
  }

  .util-margin-lft-md\@md {
    margin-left: 1rem;
  }

  .util-margin-lft-lg\@md {
    margin-left: 2rem;
  }

  .util-margin-lft-1xl\@md {
    margin-left: 4rem;
  }

  .util-margin-lft-2xl\@md {
    margin-left: 6rem;
  }

  .util-margin-lft-3xl\@md {
    margin-left: 8rem;
  }

  .util-margin-lft-10vh\@md {
    margin-left: max(10vh, 12rem);
  }

  .util-margin-lft-20vh\@md {
    margin-left: max(20vh, 18rem);
  }

  .util-margin-rgt-none\@md {
    margin-right: 0;
  }

  .util-margin-rgt-xs\@md {
    margin-right: 0.125rem;
  }

  .util-margin-rgt-sm\@md {
    margin-right: 0.5rem;
  }

  .util-margin-rgt-md\@md {
    margin-right: 1rem;
  }

  .util-margin-rgt-lg\@md {
    margin-right: 2rem;
  }

  .util-margin-rgt-1xl\@md {
    margin-right: 4rem;
  }

  .util-margin-rgt-2xl\@md {
    margin-right: 6rem;
  }

  .util-margin-rgt-3xl\@md {
    margin-right: 8rem;
  }

  .util-margin-rgt-10vh\@md {
    margin-right: max(10vh, 12rem);
  }

  .util-margin-rgt-20vh\@md {
    margin-right: max(20vh, 18rem);
  }

  .util-margin-all-none\@md {
    margin: 0;
  }

  .util-margin-all-xs\@md {
    margin: 0.125rem;
  }

  .util-margin-all-sm\@md {
    margin: 0.5rem;
  }

  .util-margin-all-md\@md {
    margin: 1rem;
  }

  .util-margin-all-lg\@md {
    margin: 2rem;
  }

  .util-margin-all-1xl\@md {
    margin: 4rem;
  }

  .util-margin-all-2xl\@md {
    margin: 6rem;
  }

  .util-margin-all-3xl\@md {
    margin: 8rem;
  }

  .util-margin-all-10vh\@md {
    margin: max(10vh, 12rem);
  }

  .util-margin-all-20vh\@md {
    margin: max(20vh, 18rem);
  }

  .util-margin-vrt-none\@md {
    margin-top: 0;
    margin-bottom: 0;
  }

  .util-margin-vrt-xs\@md {
    margin-top: 0.125rem;
    margin-bottom: 0.125rem;
  }

  .util-margin-vrt-sm\@md {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  .util-margin-vrt-md\@md {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .util-margin-vrt-lg\@md {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .util-margin-vrt-1xl\@md {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  .util-margin-vrt-2xl\@md {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  .util-margin-vrt-3xl\@md {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  .util-margin-vrt-10vh\@md {
    margin-top: max(10vh, 12rem);
    margin-bottom: max(10vh, 12rem);
  }

  .util-margin-vrt-20vh\@md {
    margin-top: max(20vh, 18rem);
    margin-bottom: max(20vh, 18rem);
  }

  .util-margin-hrz-none\@md {
    margin-right: 0;
    margin-left: 0;
  }

  .util-margin-hrz-xs\@md {
    margin-right: 0.125rem;
    margin-left: 0.125rem;
  }

  .util-margin-hrz-sm\@md {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }

  .util-margin-hrz-md\@md {
    margin-right: 1rem;
    margin-left: 1rem;
  }

  .util-margin-hrz-lg\@md {
    margin-right: 2rem;
    margin-left: 2rem;
  }

  .util-margin-hrz-1xl\@md {
    margin-right: 4rem;
    margin-left: 4rem;
  }

  .util-margin-hrz-2xl\@md {
    margin-right: 6rem;
    margin-left: 6rem;
  }

  .util-margin-hrz-3xl\@md {
    margin-right: 8rem;
    margin-left: 8rem;
  }

  .util-margin-hrz-10vh\@md {
    margin-right: max(10vh, 12rem);
    margin-left: max(10vh, 12rem);
  }

  .util-margin-hrz-20vh\@md {
    margin-right: max(20vh, 18rem);
    margin-left: max(20vh, 18rem);
  }
}
@media (min-width: 70rem) {
  .util-margin-btm-none\@lg {
    margin-bottom: 0;
  }

  .util-margin-btm-xs\@lg {
    margin-bottom: 0.125rem;
  }

  .util-margin-btm-sm\@lg {
    margin-bottom: 0.5rem;
  }

  .util-margin-btm-md\@lg {
    margin-bottom: 1rem;
  }

  .util-margin-btm-lg\@lg {
    margin-bottom: 2rem;
  }

  .util-margin-btm-1xl\@lg {
    margin-bottom: 4rem;
  }

  .util-margin-btm-2xl\@lg {
    margin-bottom: 6rem;
  }

  .util-margin-btm-3xl\@lg {
    margin-bottom: 8rem;
  }

  .util-margin-btm-10vh\@lg {
    margin-bottom: max(10vh, 12rem);
  }

  .util-margin-btm-20vh\@lg {
    margin-bottom: max(20vh, 18rem);
  }

  .util-margin-top-none\@lg {
    margin-top: 0;
  }

  .util-margin-top-xs\@lg {
    margin-top: 0.125rem;
  }

  .util-margin-top-sm\@lg {
    margin-top: 0.5rem;
  }

  .util-margin-top-md\@lg {
    margin-top: 1rem;
  }

  .util-margin-top-lg\@lg {
    margin-top: 2rem;
  }

  .util-margin-top-1xl\@lg {
    margin-top: 4rem;
  }

  .util-margin-top-2xl\@lg {
    margin-top: 6rem;
  }

  .util-margin-top-3xl\@lg {
    margin-top: 8rem;
  }

  .util-margin-top-10vh\@lg {
    margin-top: max(10vh, 12rem);
  }

  .util-margin-top-20vh\@lg {
    margin-top: max(20vh, 18rem);
  }

  .util-margin-lft-none\@lg {
    margin-left: 0;
  }

  .util-margin-lft-xs\@lg {
    margin-left: 0.125rem;
  }

  .util-margin-lft-sm\@lg {
    margin-left: 0.5rem;
  }

  .util-margin-lft-md\@lg {
    margin-left: 1rem;
  }

  .util-margin-lft-lg\@lg {
    margin-left: 2rem;
  }

  .util-margin-lft-1xl\@lg {
    margin-left: 4rem;
  }

  .util-margin-lft-2xl\@lg {
    margin-left: 6rem;
  }

  .util-margin-lft-3xl\@lg {
    margin-left: 8rem;
  }

  .util-margin-lft-10vh\@lg {
    margin-left: max(10vh, 12rem);
  }

  .util-margin-lft-20vh\@lg {
    margin-left: max(20vh, 18rem);
  }

  .util-margin-rgt-none\@lg {
    margin-right: 0;
  }

  .util-margin-rgt-xs\@lg {
    margin-right: 0.125rem;
  }

  .util-margin-rgt-sm\@lg {
    margin-right: 0.5rem;
  }

  .util-margin-rgt-md\@lg {
    margin-right: 1rem;
  }

  .util-margin-rgt-lg\@lg {
    margin-right: 2rem;
  }

  .util-margin-rgt-1xl\@lg {
    margin-right: 4rem;
  }

  .util-margin-rgt-2xl\@lg {
    margin-right: 6rem;
  }

  .util-margin-rgt-3xl\@lg {
    margin-right: 8rem;
  }

  .util-margin-rgt-10vh\@lg {
    margin-right: max(10vh, 12rem);
  }

  .util-margin-rgt-20vh\@lg {
    margin-right: max(20vh, 18rem);
  }

  .util-margin-all-none\@lg {
    margin: 0;
  }

  .util-margin-all-xs\@lg {
    margin: 0.125rem;
  }

  .util-margin-all-sm\@lg {
    margin: 0.5rem;
  }

  .util-margin-all-md\@lg {
    margin: 1rem;
  }

  .util-margin-all-lg\@lg {
    margin: 2rem;
  }

  .util-margin-all-1xl\@lg {
    margin: 4rem;
  }

  .util-margin-all-2xl\@lg {
    margin: 6rem;
  }

  .util-margin-all-3xl\@lg {
    margin: 8rem;
  }

  .util-margin-all-10vh\@lg {
    margin: max(10vh, 12rem);
  }

  .util-margin-all-20vh\@lg {
    margin: max(20vh, 18rem);
  }

  .util-margin-vrt-none\@lg {
    margin-top: 0;
    margin-bottom: 0;
  }

  .util-margin-vrt-xs\@lg {
    margin-top: 0.125rem;
    margin-bottom: 0.125rem;
  }

  .util-margin-vrt-sm\@lg {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  .util-margin-vrt-md\@lg {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .util-margin-vrt-lg\@lg {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .util-margin-vrt-1xl\@lg {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  .util-margin-vrt-2xl\@lg {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  .util-margin-vrt-3xl\@lg {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  .util-margin-vrt-10vh\@lg {
    margin-top: max(10vh, 12rem);
    margin-bottom: max(10vh, 12rem);
  }

  .util-margin-vrt-20vh\@lg {
    margin-top: max(20vh, 18rem);
    margin-bottom: max(20vh, 18rem);
  }

  .util-margin-hrz-none\@lg {
    margin-right: 0;
    margin-left: 0;
  }

  .util-margin-hrz-xs\@lg {
    margin-right: 0.125rem;
    margin-left: 0.125rem;
  }

  .util-margin-hrz-sm\@lg {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }

  .util-margin-hrz-md\@lg {
    margin-right: 1rem;
    margin-left: 1rem;
  }

  .util-margin-hrz-lg\@lg {
    margin-right: 2rem;
    margin-left: 2rem;
  }

  .util-margin-hrz-1xl\@lg {
    margin-right: 4rem;
    margin-left: 4rem;
  }

  .util-margin-hrz-2xl\@lg {
    margin-right: 6rem;
    margin-left: 6rem;
  }

  .util-margin-hrz-3xl\@lg {
    margin-right: 8rem;
    margin-left: 8rem;
  }

  .util-margin-hrz-10vh\@lg {
    margin-right: max(10vh, 12rem);
    margin-left: max(10vh, 12rem);
  }

  .util-margin-hrz-20vh\@lg {
    margin-right: max(20vh, 18rem);
    margin-left: max(20vh, 18rem);
  }
}
@media (min-width: 80rem) {
  .util-margin-btm-none\@xl {
    margin-bottom: 0;
  }

  .util-margin-btm-xs\@xl {
    margin-bottom: 0.125rem;
  }

  .util-margin-btm-sm\@xl {
    margin-bottom: 0.5rem;
  }

  .util-margin-btm-md\@xl {
    margin-bottom: 1rem;
  }

  .util-margin-btm-lg\@xl {
    margin-bottom: 2rem;
  }

  .util-margin-btm-1xl\@xl {
    margin-bottom: 4rem;
  }

  .util-margin-btm-2xl\@xl {
    margin-bottom: 6rem;
  }

  .util-margin-btm-3xl\@xl {
    margin-bottom: 8rem;
  }

  .util-margin-btm-10vh\@xl {
    margin-bottom: max(10vh, 12rem);
  }

  .util-margin-btm-20vh\@xl {
    margin-bottom: max(20vh, 18rem);
  }

  .util-margin-top-none\@xl {
    margin-top: 0;
  }

  .util-margin-top-xs\@xl {
    margin-top: 0.125rem;
  }

  .util-margin-top-sm\@xl {
    margin-top: 0.5rem;
  }

  .util-margin-top-md\@xl {
    margin-top: 1rem;
  }

  .util-margin-top-lg\@xl {
    margin-top: 2rem;
  }

  .util-margin-top-1xl\@xl {
    margin-top: 4rem;
  }

  .util-margin-top-2xl\@xl {
    margin-top: 6rem;
  }

  .util-margin-top-3xl\@xl {
    margin-top: 8rem;
  }

  .util-margin-top-10vh\@xl {
    margin-top: max(10vh, 12rem);
  }

  .util-margin-top-20vh\@xl {
    margin-top: max(20vh, 18rem);
  }

  .util-margin-lft-none\@xl {
    margin-left: 0;
  }

  .util-margin-lft-xs\@xl {
    margin-left: 0.125rem;
  }

  .util-margin-lft-sm\@xl {
    margin-left: 0.5rem;
  }

  .util-margin-lft-md\@xl {
    margin-left: 1rem;
  }

  .util-margin-lft-lg\@xl {
    margin-left: 2rem;
  }

  .util-margin-lft-1xl\@xl {
    margin-left: 4rem;
  }

  .util-margin-lft-2xl\@xl {
    margin-left: 6rem;
  }

  .util-margin-lft-3xl\@xl {
    margin-left: 8rem;
  }

  .util-margin-lft-10vh\@xl {
    margin-left: max(10vh, 12rem);
  }

  .util-margin-lft-20vh\@xl {
    margin-left: max(20vh, 18rem);
  }

  .util-margin-rgt-none\@xl {
    margin-right: 0;
  }

  .util-margin-rgt-xs\@xl {
    margin-right: 0.125rem;
  }

  .util-margin-rgt-sm\@xl {
    margin-right: 0.5rem;
  }

  .util-margin-rgt-md\@xl {
    margin-right: 1rem;
  }

  .util-margin-rgt-lg\@xl {
    margin-right: 2rem;
  }

  .util-margin-rgt-1xl\@xl {
    margin-right: 4rem;
  }

  .util-margin-rgt-2xl\@xl {
    margin-right: 6rem;
  }

  .util-margin-rgt-3xl\@xl {
    margin-right: 8rem;
  }

  .util-margin-rgt-10vh\@xl {
    margin-right: max(10vh, 12rem);
  }

  .util-margin-rgt-20vh\@xl {
    margin-right: max(20vh, 18rem);
  }

  .util-margin-all-none\@xl {
    margin: 0;
  }

  .util-margin-all-xs\@xl {
    margin: 0.125rem;
  }

  .util-margin-all-sm\@xl {
    margin: 0.5rem;
  }

  .util-margin-all-md\@xl {
    margin: 1rem;
  }

  .util-margin-all-lg\@xl {
    margin: 2rem;
  }

  .util-margin-all-1xl\@xl {
    margin: 4rem;
  }

  .util-margin-all-2xl\@xl {
    margin: 6rem;
  }

  .util-margin-all-3xl\@xl {
    margin: 8rem;
  }

  .util-margin-all-10vh\@xl {
    margin: max(10vh, 12rem);
  }

  .util-margin-all-20vh\@xl {
    margin: max(20vh, 18rem);
  }

  .util-margin-vrt-none\@xl {
    margin-top: 0;
    margin-bottom: 0;
  }

  .util-margin-vrt-xs\@xl {
    margin-top: 0.125rem;
    margin-bottom: 0.125rem;
  }

  .util-margin-vrt-sm\@xl {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }

  .util-margin-vrt-md\@xl {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .util-margin-vrt-lg\@xl {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .util-margin-vrt-1xl\@xl {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  .util-margin-vrt-2xl\@xl {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  .util-margin-vrt-3xl\@xl {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  .util-margin-vrt-10vh\@xl {
    margin-top: max(10vh, 12rem);
    margin-bottom: max(10vh, 12rem);
  }

  .util-margin-vrt-20vh\@xl {
    margin-top: max(20vh, 18rem);
    margin-bottom: max(20vh, 18rem);
  }

  .util-margin-hrz-none\@xl {
    margin-right: 0;
    margin-left: 0;
  }

  .util-margin-hrz-xs\@xl {
    margin-right: 0.125rem;
    margin-left: 0.125rem;
  }

  .util-margin-hrz-sm\@xl {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }

  .util-margin-hrz-md\@xl {
    margin-right: 1rem;
    margin-left: 1rem;
  }

  .util-margin-hrz-lg\@xl {
    margin-right: 2rem;
    margin-left: 2rem;
  }

  .util-margin-hrz-1xl\@xl {
    margin-right: 4rem;
    margin-left: 4rem;
  }

  .util-margin-hrz-2xl\@xl {
    margin-right: 6rem;
    margin-left: 6rem;
  }

  .util-margin-hrz-3xl\@xl {
    margin-right: 8rem;
    margin-left: 8rem;
  }

  .util-margin-hrz-10vh\@xl {
    margin-right: max(10vh, 12rem);
    margin-left: max(10vh, 12rem);
  }

  .util-margin-hrz-20vh\@xl {
    margin-right: max(20vh, 18rem);
    margin-left: max(20vh, 18rem);
  }
}
.util-pad-btm-none {
  padding-bottom: 0;
}

.util-pad-btm-xs {
  padding-bottom: 0.125rem;
}

.util-pad-btm-sm {
  padding-bottom: 0.5rem;
}

.util-pad-btm-md {
  padding-bottom: 1rem;
}

.util-pad-btm-lg {
  padding-bottom: 2rem;
}

.util-pad-btm-1xl {
  padding-bottom: 4rem;
}

.util-pad-btm-2xl {
  padding-bottom: 6rem;
}

.util-pad-btm-3xl {
  padding-bottom: 8rem;
}

.util-pad-btm-10vh {
  padding-bottom: max(10vh, 12rem);
}

.util-pad-btm-20vh {
  padding-bottom: max(20vh, 18rem);
}

.util-pad-top-none {
  padding-top: 0;
}

.util-pad-top-xs {
  padding-top: 0.125rem;
}

.util-pad-top-sm {
  padding-top: 0.5rem;
}

.util-pad-top-md {
  padding-top: 1rem;
}

.util-pad-top-lg {
  padding-top: 2rem;
}

.util-pad-top-1xl {
  padding-top: 4rem;
}

.util-pad-top-2xl {
  padding-top: 6rem;
}

.util-pad-top-3xl {
  padding-top: 8rem;
}

.util-pad-top-10vh {
  padding-top: max(10vh, 12rem);
}

.util-pad-top-20vh {
  padding-top: max(20vh, 18rem);
}

.util-pad-lft-none {
  padding-left: 0;
}

.util-pad-lft-xs {
  padding-left: 0.125rem;
}

.util-pad-lft-sm {
  padding-left: 0.5rem;
}

.util-pad-lft-md {
  padding-left: 1rem;
}

.util-pad-lft-lg {
  padding-left: 2rem;
}

.util-pad-lft-1xl {
  padding-left: 4rem;
}

.util-pad-lft-2xl {
  padding-left: 6rem;
}

.util-pad-lft-3xl {
  padding-left: 8rem;
}

.util-pad-lft-10vh {
  padding-left: max(10vh, 12rem);
}

.util-pad-lft-20vh {
  padding-left: max(20vh, 18rem);
}

.util-pad-rgt-none {
  padding-right: 0;
}

.util-pad-rgt-xs {
  padding-right: 0.125rem;
}

.util-pad-rgt-sm {
  padding-right: 0.5rem;
}

.util-pad-rgt-md {
  padding-right: 1rem;
}

.util-pad-rgt-lg {
  padding-right: 2rem;
}

.util-pad-rgt-1xl {
  padding-right: 4rem;
}

.util-pad-rgt-2xl {
  padding-right: 6rem;
}

.util-pad-rgt-3xl {
  padding-right: 8rem;
}

.util-pad-rgt-10vh {
  padding-right: max(10vh, 12rem);
}

.util-pad-rgt-20vh {
  padding-right: max(20vh, 18rem);
}

.util-pad-all-none {
  padding: 0;
}

.util-pad-all-xs {
  padding: 0.125rem;
}

.util-pad-all-sm {
  padding: 0.5rem;
}

.util-pad-all-md {
  padding: 1rem;
}

.util-pad-all-lg {
  padding: 2rem;
}

.util-pad-all-1xl {
  padding: 4rem;
}

.util-pad-all-2xl {
  padding: 6rem;
}

.util-pad-all-3xl {
  padding: 8rem;
}

.util-pad-all-10vh {
  padding: max(10vh, 12rem);
}

.util-pad-all-20vh {
  padding: max(20vh, 18rem);
}

.util-pad-vrt-none {
  padding-top: 0;
  padding-bottom: 0;
}

.util-pad-vrt-xs {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.util-pad-vrt-sm {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.util-pad-vrt-md {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.util-pad-vrt-lg {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.util-pad-vrt-1xl {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.util-pad-vrt-2xl {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.util-pad-vrt-3xl {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.util-pad-vrt-10vh {
  padding-top: max(10vh, 12rem);
  padding-bottom: max(10vh, 12rem);
}

.util-pad-vrt-20vh {
  padding-top: max(20vh, 18rem);
  padding-bottom: max(20vh, 18rem);
}

.util-pad-hrz-none {
  padding-right: 0;
  padding-left: 0;
}

.util-pad-hrz-xs {
  padding-right: 0.125rem;
  padding-left: 0.125rem;
}

.util-pad-hrz-sm {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.util-pad-hrz-md {
  padding-right: 1rem;
  padding-left: 1rem;
}

.util-pad-hrz-lg {
  padding-right: 2rem;
  padding-left: 2rem;
}

.util-pad-hrz-1xl {
  padding-right: 4rem;
  padding-left: 4rem;
}

.util-pad-hrz-2xl {
  padding-right: 6rem;
  padding-left: 6rem;
}

.util-pad-hrz-3xl {
  padding-right: 8rem;
  padding-left: 8rem;
}

.util-pad-hrz-10vh {
  padding-right: max(10vh, 12rem);
  padding-left: max(10vh, 12rem);
}

.util-pad-hrz-20vh {
  padding-right: max(20vh, 18rem);
  padding-left: max(20vh, 18rem);
}

@media (min-width: 30rem) {
  .util-pad-btm-none\@sm {
    padding-bottom: 0;
  }

  .util-pad-btm-xs\@sm {
    padding-bottom: 0.125rem;
  }

  .util-pad-btm-sm\@sm {
    padding-bottom: 0.5rem;
  }

  .util-pad-btm-md\@sm {
    padding-bottom: 1rem;
  }

  .util-pad-btm-lg\@sm {
    padding-bottom: 2rem;
  }

  .util-pad-btm-1xl\@sm {
    padding-bottom: 4rem;
  }

  .util-pad-btm-2xl\@sm {
    padding-bottom: 6rem;
  }

  .util-pad-btm-3xl\@sm {
    padding-bottom: 8rem;
  }

  .util-pad-btm-10vh\@sm {
    padding-bottom: max(10vh, 12rem);
  }

  .util-pad-btm-20vh\@sm {
    padding-bottom: max(20vh, 18rem);
  }

  .util-pad-top-none\@sm {
    padding-top: 0;
  }

  .util-pad-top-xs\@sm {
    padding-top: 0.125rem;
  }

  .util-pad-top-sm\@sm {
    padding-top: 0.5rem;
  }

  .util-pad-top-md\@sm {
    padding-top: 1rem;
  }

  .util-pad-top-lg\@sm {
    padding-top: 2rem;
  }

  .util-pad-top-1xl\@sm {
    padding-top: 4rem;
  }

  .util-pad-top-2xl\@sm {
    padding-top: 6rem;
  }

  .util-pad-top-3xl\@sm {
    padding-top: 8rem;
  }

  .util-pad-top-10vh\@sm {
    padding-top: max(10vh, 12rem);
  }

  .util-pad-top-20vh\@sm {
    padding-top: max(20vh, 18rem);
  }

  .util-pad-lft-none\@sm {
    padding-left: 0;
  }

  .util-pad-lft-xs\@sm {
    padding-left: 0.125rem;
  }

  .util-pad-lft-sm\@sm {
    padding-left: 0.5rem;
  }

  .util-pad-lft-md\@sm {
    padding-left: 1rem;
  }

  .util-pad-lft-lg\@sm {
    padding-left: 2rem;
  }

  .util-pad-lft-1xl\@sm {
    padding-left: 4rem;
  }

  .util-pad-lft-2xl\@sm {
    padding-left: 6rem;
  }

  .util-pad-lft-3xl\@sm {
    padding-left: 8rem;
  }

  .util-pad-lft-10vh\@sm {
    padding-left: max(10vh, 12rem);
  }

  .util-pad-lft-20vh\@sm {
    padding-left: max(20vh, 18rem);
  }

  .util-pad-rgt-none\@sm {
    padding-right: 0;
  }

  .util-pad-rgt-xs\@sm {
    padding-right: 0.125rem;
  }

  .util-pad-rgt-sm\@sm {
    padding-right: 0.5rem;
  }

  .util-pad-rgt-md\@sm {
    padding-right: 1rem;
  }

  .util-pad-rgt-lg\@sm {
    padding-right: 2rem;
  }

  .util-pad-rgt-1xl\@sm {
    padding-right: 4rem;
  }

  .util-pad-rgt-2xl\@sm {
    padding-right: 6rem;
  }

  .util-pad-rgt-3xl\@sm {
    padding-right: 8rem;
  }

  .util-pad-rgt-10vh\@sm {
    padding-right: max(10vh, 12rem);
  }

  .util-pad-rgt-20vh\@sm {
    padding-right: max(20vh, 18rem);
  }

  .util-pad-all-none\@sm {
    padding: 0;
  }

  .util-pad-all-xs\@sm {
    padding: 0.125rem;
  }

  .util-pad-all-sm\@sm {
    padding: 0.5rem;
  }

  .util-pad-all-md\@sm {
    padding: 1rem;
  }

  .util-pad-all-lg\@sm {
    padding: 2rem;
  }

  .util-pad-all-1xl\@sm {
    padding: 4rem;
  }

  .util-pad-all-2xl\@sm {
    padding: 6rem;
  }

  .util-pad-all-3xl\@sm {
    padding: 8rem;
  }

  .util-pad-all-10vh\@sm {
    padding: max(10vh, 12rem);
  }

  .util-pad-all-20vh\@sm {
    padding: max(20vh, 18rem);
  }

  .util-pad-vrt-none\@sm {
    padding-top: 0;
    padding-bottom: 0;
  }

  .util-pad-vrt-xs\@sm {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
  }

  .util-pad-vrt-sm\@sm {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .util-pad-vrt-md\@sm {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .util-pad-vrt-lg\@sm {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .util-pad-vrt-1xl\@sm {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .util-pad-vrt-2xl\@sm {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .util-pad-vrt-3xl\@sm {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .util-pad-vrt-10vh\@sm {
    padding-top: max(10vh, 12rem);
    padding-bottom: max(10vh, 12rem);
  }

  .util-pad-vrt-20vh\@sm {
    padding-top: max(20vh, 18rem);
    padding-bottom: max(20vh, 18rem);
  }

  .util-pad-hrz-none\@sm {
    padding-right: 0;
    padding-left: 0;
  }

  .util-pad-hrz-xs\@sm {
    padding-right: 0.125rem;
    padding-left: 0.125rem;
  }

  .util-pad-hrz-sm\@sm {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .util-pad-hrz-md\@sm {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .util-pad-hrz-lg\@sm {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .util-pad-hrz-1xl\@sm {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .util-pad-hrz-2xl\@sm {
    padding-right: 6rem;
    padding-left: 6rem;
  }

  .util-pad-hrz-3xl\@sm {
    padding-right: 8rem;
    padding-left: 8rem;
  }

  .util-pad-hrz-10vh\@sm {
    padding-right: max(10vh, 12rem);
    padding-left: max(10vh, 12rem);
  }

  .util-pad-hrz-20vh\@sm {
    padding-right: max(20vh, 18rem);
    padding-left: max(20vh, 18rem);
  }
}
@media (min-width: 50rem) {
  .util-pad-btm-none\@md {
    padding-bottom: 0;
  }

  .util-pad-btm-xs\@md {
    padding-bottom: 0.125rem;
  }

  .util-pad-btm-sm\@md {
    padding-bottom: 0.5rem;
  }

  .util-pad-btm-md\@md {
    padding-bottom: 1rem;
  }

  .util-pad-btm-lg\@md {
    padding-bottom: 2rem;
  }

  .util-pad-btm-1xl\@md {
    padding-bottom: 4rem;
  }

  .util-pad-btm-2xl\@md {
    padding-bottom: 6rem;
  }

  .util-pad-btm-3xl\@md {
    padding-bottom: 8rem;
  }

  .util-pad-btm-10vh\@md {
    padding-bottom: max(10vh, 12rem);
  }

  .util-pad-btm-20vh\@md {
    padding-bottom: max(20vh, 18rem);
  }

  .util-pad-top-none\@md {
    padding-top: 0;
  }

  .util-pad-top-xs\@md {
    padding-top: 0.125rem;
  }

  .util-pad-top-sm\@md {
    padding-top: 0.5rem;
  }

  .util-pad-top-md\@md {
    padding-top: 1rem;
  }

  .util-pad-top-lg\@md {
    padding-top: 2rem;
  }

  .util-pad-top-1xl\@md {
    padding-top: 4rem;
  }

  .util-pad-top-2xl\@md {
    padding-top: 6rem;
  }

  .util-pad-top-3xl\@md {
    padding-top: 8rem;
  }

  .util-pad-top-10vh\@md {
    padding-top: max(10vh, 12rem);
  }

  .util-pad-top-20vh\@md {
    padding-top: max(20vh, 18rem);
  }

  .util-pad-lft-none\@md {
    padding-left: 0;
  }

  .util-pad-lft-xs\@md {
    padding-left: 0.125rem;
  }

  .util-pad-lft-sm\@md {
    padding-left: 0.5rem;
  }

  .util-pad-lft-md\@md {
    padding-left: 1rem;
  }

  .util-pad-lft-lg\@md {
    padding-left: 2rem;
  }

  .util-pad-lft-1xl\@md {
    padding-left: 4rem;
  }

  .util-pad-lft-2xl\@md {
    padding-left: 6rem;
  }

  .util-pad-lft-3xl\@md {
    padding-left: 8rem;
  }

  .util-pad-lft-10vh\@md {
    padding-left: max(10vh, 12rem);
  }

  .util-pad-lft-20vh\@md {
    padding-left: max(20vh, 18rem);
  }

  .util-pad-rgt-none\@md {
    padding-right: 0;
  }

  .util-pad-rgt-xs\@md {
    padding-right: 0.125rem;
  }

  .util-pad-rgt-sm\@md {
    padding-right: 0.5rem;
  }

  .util-pad-rgt-md\@md {
    padding-right: 1rem;
  }

  .util-pad-rgt-lg\@md {
    padding-right: 2rem;
  }

  .util-pad-rgt-1xl\@md {
    padding-right: 4rem;
  }

  .util-pad-rgt-2xl\@md {
    padding-right: 6rem;
  }

  .util-pad-rgt-3xl\@md {
    padding-right: 8rem;
  }

  .util-pad-rgt-10vh\@md {
    padding-right: max(10vh, 12rem);
  }

  .util-pad-rgt-20vh\@md {
    padding-right: max(20vh, 18rem);
  }

  .util-pad-all-none\@md {
    padding: 0;
  }

  .util-pad-all-xs\@md {
    padding: 0.125rem;
  }

  .util-pad-all-sm\@md {
    padding: 0.5rem;
  }

  .util-pad-all-md\@md {
    padding: 1rem;
  }

  .util-pad-all-lg\@md {
    padding: 2rem;
  }

  .util-pad-all-1xl\@md {
    padding: 4rem;
  }

  .util-pad-all-2xl\@md {
    padding: 6rem;
  }

  .util-pad-all-3xl\@md {
    padding: 8rem;
  }

  .util-pad-all-10vh\@md {
    padding: max(10vh, 12rem);
  }

  .util-pad-all-20vh\@md {
    padding: max(20vh, 18rem);
  }

  .util-pad-vrt-none\@md {
    padding-top: 0;
    padding-bottom: 0;
  }

  .util-pad-vrt-xs\@md {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
  }

  .util-pad-vrt-sm\@md {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .util-pad-vrt-md\@md {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .util-pad-vrt-lg\@md {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .util-pad-vrt-1xl\@md {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .util-pad-vrt-2xl\@md {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .util-pad-vrt-3xl\@md {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .util-pad-vrt-10vh\@md {
    padding-top: max(10vh, 12rem);
    padding-bottom: max(10vh, 12rem);
  }

  .util-pad-vrt-20vh\@md {
    padding-top: max(20vh, 18rem);
    padding-bottom: max(20vh, 18rem);
  }

  .util-pad-hrz-none\@md {
    padding-right: 0;
    padding-left: 0;
  }

  .util-pad-hrz-xs\@md {
    padding-right: 0.125rem;
    padding-left: 0.125rem;
  }

  .util-pad-hrz-sm\@md {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .util-pad-hrz-md\@md {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .util-pad-hrz-lg\@md {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .util-pad-hrz-1xl\@md {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .util-pad-hrz-2xl\@md {
    padding-right: 6rem;
    padding-left: 6rem;
  }

  .util-pad-hrz-3xl\@md {
    padding-right: 8rem;
    padding-left: 8rem;
  }

  .util-pad-hrz-10vh\@md {
    padding-right: max(10vh, 12rem);
    padding-left: max(10vh, 12rem);
  }

  .util-pad-hrz-20vh\@md {
    padding-right: max(20vh, 18rem);
    padding-left: max(20vh, 18rem);
  }
}
@media (min-width: 70rem) {
  .util-pad-btm-none\@lg {
    padding-bottom: 0;
  }

  .util-pad-btm-xs\@lg {
    padding-bottom: 0.125rem;
  }

  .util-pad-btm-sm\@lg {
    padding-bottom: 0.5rem;
  }

  .util-pad-btm-md\@lg {
    padding-bottom: 1rem;
  }

  .util-pad-btm-lg\@lg {
    padding-bottom: 2rem;
  }

  .util-pad-btm-1xl\@lg {
    padding-bottom: 4rem;
  }

  .util-pad-btm-2xl\@lg {
    padding-bottom: 6rem;
  }

  .util-pad-btm-3xl\@lg {
    padding-bottom: 8rem;
  }

  .util-pad-btm-10vh\@lg {
    padding-bottom: max(10vh, 12rem);
  }

  .util-pad-btm-20vh\@lg {
    padding-bottom: max(20vh, 18rem);
  }

  .util-pad-top-none\@lg {
    padding-top: 0;
  }

  .util-pad-top-xs\@lg {
    padding-top: 0.125rem;
  }

  .util-pad-top-sm\@lg {
    padding-top: 0.5rem;
  }

  .util-pad-top-md\@lg {
    padding-top: 1rem;
  }

  .util-pad-top-lg\@lg {
    padding-top: 2rem;
  }

  .util-pad-top-1xl\@lg {
    padding-top: 4rem;
  }

  .util-pad-top-2xl\@lg {
    padding-top: 6rem;
  }

  .util-pad-top-3xl\@lg {
    padding-top: 8rem;
  }

  .util-pad-top-10vh\@lg {
    padding-top: max(10vh, 12rem);
  }

  .util-pad-top-20vh\@lg {
    padding-top: max(20vh, 18rem);
  }

  .util-pad-lft-none\@lg {
    padding-left: 0;
  }

  .util-pad-lft-xs\@lg {
    padding-left: 0.125rem;
  }

  .util-pad-lft-sm\@lg {
    padding-left: 0.5rem;
  }

  .util-pad-lft-md\@lg {
    padding-left: 1rem;
  }

  .util-pad-lft-lg\@lg {
    padding-left: 2rem;
  }

  .util-pad-lft-1xl\@lg {
    padding-left: 4rem;
  }

  .util-pad-lft-2xl\@lg {
    padding-left: 6rem;
  }

  .util-pad-lft-3xl\@lg {
    padding-left: 8rem;
  }

  .util-pad-lft-10vh\@lg {
    padding-left: max(10vh, 12rem);
  }

  .util-pad-lft-20vh\@lg {
    padding-left: max(20vh, 18rem);
  }

  .util-pad-rgt-none\@lg {
    padding-right: 0;
  }

  .util-pad-rgt-xs\@lg {
    padding-right: 0.125rem;
  }

  .util-pad-rgt-sm\@lg {
    padding-right: 0.5rem;
  }

  .util-pad-rgt-md\@lg {
    padding-right: 1rem;
  }

  .util-pad-rgt-lg\@lg {
    padding-right: 2rem;
  }

  .util-pad-rgt-1xl\@lg {
    padding-right: 4rem;
  }

  .util-pad-rgt-2xl\@lg {
    padding-right: 6rem;
  }

  .util-pad-rgt-3xl\@lg {
    padding-right: 8rem;
  }

  .util-pad-rgt-10vh\@lg {
    padding-right: max(10vh, 12rem);
  }

  .util-pad-rgt-20vh\@lg {
    padding-right: max(20vh, 18rem);
  }

  .util-pad-all-none\@lg {
    padding: 0;
  }

  .util-pad-all-xs\@lg {
    padding: 0.125rem;
  }

  .util-pad-all-sm\@lg {
    padding: 0.5rem;
  }

  .util-pad-all-md\@lg {
    padding: 1rem;
  }

  .util-pad-all-lg\@lg {
    padding: 2rem;
  }

  .util-pad-all-1xl\@lg {
    padding: 4rem;
  }

  .util-pad-all-2xl\@lg {
    padding: 6rem;
  }

  .util-pad-all-3xl\@lg {
    padding: 8rem;
  }

  .util-pad-all-10vh\@lg {
    padding: max(10vh, 12rem);
  }

  .util-pad-all-20vh\@lg {
    padding: max(20vh, 18rem);
  }

  .util-pad-vrt-none\@lg {
    padding-top: 0;
    padding-bottom: 0;
  }

  .util-pad-vrt-xs\@lg {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
  }

  .util-pad-vrt-sm\@lg {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .util-pad-vrt-md\@lg {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .util-pad-vrt-lg\@lg {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .util-pad-vrt-1xl\@lg {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .util-pad-vrt-2xl\@lg {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .util-pad-vrt-3xl\@lg {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .util-pad-vrt-10vh\@lg {
    padding-top: max(10vh, 12rem);
    padding-bottom: max(10vh, 12rem);
  }

  .util-pad-vrt-20vh\@lg {
    padding-top: max(20vh, 18rem);
    padding-bottom: max(20vh, 18rem);
  }

  .util-pad-hrz-none\@lg {
    padding-right: 0;
    padding-left: 0;
  }

  .util-pad-hrz-xs\@lg {
    padding-right: 0.125rem;
    padding-left: 0.125rem;
  }

  .util-pad-hrz-sm\@lg {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .util-pad-hrz-md\@lg {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .util-pad-hrz-lg\@lg {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .util-pad-hrz-1xl\@lg {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .util-pad-hrz-2xl\@lg {
    padding-right: 6rem;
    padding-left: 6rem;
  }

  .util-pad-hrz-3xl\@lg {
    padding-right: 8rem;
    padding-left: 8rem;
  }

  .util-pad-hrz-10vh\@lg {
    padding-right: max(10vh, 12rem);
    padding-left: max(10vh, 12rem);
  }

  .util-pad-hrz-20vh\@lg {
    padding-right: max(20vh, 18rem);
    padding-left: max(20vh, 18rem);
  }
}
@media (min-width: 80rem) {
  .util-pad-btm-none\@xl {
    padding-bottom: 0;
  }

  .util-pad-btm-xs\@xl {
    padding-bottom: 0.125rem;
  }

  .util-pad-btm-sm\@xl {
    padding-bottom: 0.5rem;
  }

  .util-pad-btm-md\@xl {
    padding-bottom: 1rem;
  }

  .util-pad-btm-lg\@xl {
    padding-bottom: 2rem;
  }

  .util-pad-btm-1xl\@xl {
    padding-bottom: 4rem;
  }

  .util-pad-btm-2xl\@xl {
    padding-bottom: 6rem;
  }

  .util-pad-btm-3xl\@xl {
    padding-bottom: 8rem;
  }

  .util-pad-btm-10vh\@xl {
    padding-bottom: max(10vh, 12rem);
  }

  .util-pad-btm-20vh\@xl {
    padding-bottom: max(20vh, 18rem);
  }

  .util-pad-top-none\@xl {
    padding-top: 0;
  }

  .util-pad-top-xs\@xl {
    padding-top: 0.125rem;
  }

  .util-pad-top-sm\@xl {
    padding-top: 0.5rem;
  }

  .util-pad-top-md\@xl {
    padding-top: 1rem;
  }

  .util-pad-top-lg\@xl {
    padding-top: 2rem;
  }

  .util-pad-top-1xl\@xl {
    padding-top: 4rem;
  }

  .util-pad-top-2xl\@xl {
    padding-top: 6rem;
  }

  .util-pad-top-3xl\@xl {
    padding-top: 8rem;
  }

  .util-pad-top-10vh\@xl {
    padding-top: max(10vh, 12rem);
  }

  .util-pad-top-20vh\@xl {
    padding-top: max(20vh, 18rem);
  }

  .util-pad-lft-none\@xl {
    padding-left: 0;
  }

  .util-pad-lft-xs\@xl {
    padding-left: 0.125rem;
  }

  .util-pad-lft-sm\@xl {
    padding-left: 0.5rem;
  }

  .util-pad-lft-md\@xl {
    padding-left: 1rem;
  }

  .util-pad-lft-lg\@xl {
    padding-left: 2rem;
  }

  .util-pad-lft-1xl\@xl {
    padding-left: 4rem;
  }

  .util-pad-lft-2xl\@xl {
    padding-left: 6rem;
  }

  .util-pad-lft-3xl\@xl {
    padding-left: 8rem;
  }

  .util-pad-lft-10vh\@xl {
    padding-left: max(10vh, 12rem);
  }

  .util-pad-lft-20vh\@xl {
    padding-left: max(20vh, 18rem);
  }

  .util-pad-rgt-none\@xl {
    padding-right: 0;
  }

  .util-pad-rgt-xs\@xl {
    padding-right: 0.125rem;
  }

  .util-pad-rgt-sm\@xl {
    padding-right: 0.5rem;
  }

  .util-pad-rgt-md\@xl {
    padding-right: 1rem;
  }

  .util-pad-rgt-lg\@xl {
    padding-right: 2rem;
  }

  .util-pad-rgt-1xl\@xl {
    padding-right: 4rem;
  }

  .util-pad-rgt-2xl\@xl {
    padding-right: 6rem;
  }

  .util-pad-rgt-3xl\@xl {
    padding-right: 8rem;
  }

  .util-pad-rgt-10vh\@xl {
    padding-right: max(10vh, 12rem);
  }

  .util-pad-rgt-20vh\@xl {
    padding-right: max(20vh, 18rem);
  }

  .util-pad-all-none\@xl {
    padding: 0;
  }

  .util-pad-all-xs\@xl {
    padding: 0.125rem;
  }

  .util-pad-all-sm\@xl {
    padding: 0.5rem;
  }

  .util-pad-all-md\@xl {
    padding: 1rem;
  }

  .util-pad-all-lg\@xl {
    padding: 2rem;
  }

  .util-pad-all-1xl\@xl {
    padding: 4rem;
  }

  .util-pad-all-2xl\@xl {
    padding: 6rem;
  }

  .util-pad-all-3xl\@xl {
    padding: 8rem;
  }

  .util-pad-all-10vh\@xl {
    padding: max(10vh, 12rem);
  }

  .util-pad-all-20vh\@xl {
    padding: max(20vh, 18rem);
  }

  .util-pad-vrt-none\@xl {
    padding-top: 0;
    padding-bottom: 0;
  }

  .util-pad-vrt-xs\@xl {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
  }

  .util-pad-vrt-sm\@xl {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .util-pad-vrt-md\@xl {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .util-pad-vrt-lg\@xl {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .util-pad-vrt-1xl\@xl {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .util-pad-vrt-2xl\@xl {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .util-pad-vrt-3xl\@xl {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .util-pad-vrt-10vh\@xl {
    padding-top: max(10vh, 12rem);
    padding-bottom: max(10vh, 12rem);
  }

  .util-pad-vrt-20vh\@xl {
    padding-top: max(20vh, 18rem);
    padding-bottom: max(20vh, 18rem);
  }

  .util-pad-hrz-none\@xl {
    padding-right: 0;
    padding-left: 0;
  }

  .util-pad-hrz-xs\@xl {
    padding-right: 0.125rem;
    padding-left: 0.125rem;
  }

  .util-pad-hrz-sm\@xl {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .util-pad-hrz-md\@xl {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .util-pad-hrz-lg\@xl {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .util-pad-hrz-1xl\@xl {
    padding-right: 4rem;
    padding-left: 4rem;
  }

  .util-pad-hrz-2xl\@xl {
    padding-right: 6rem;
    padding-left: 6rem;
  }

  .util-pad-hrz-3xl\@xl {
    padding-right: 8rem;
    padding-left: 8rem;
  }

  .util-pad-hrz-10vh\@xl {
    padding-right: max(10vh, 12rem);
    padding-left: max(10vh, 12rem);
  }

  .util-pad-hrz-20vh\@xl {
    padding-right: max(20vh, 18rem);
    padding-left: max(20vh, 18rem);
  }
}
.util-weight-base {
  font-weight: 200;
}
@media (min-width: 30rem) {
  .util-weight-base\@sm {
    font-weight: 200;
  }
}
@media (min-width: 50rem) {
  .util-weight-base\@md {
    font-weight: 200;
  }
}
@media (min-width: 70rem) {
  .util-weight-base\@lg {
    font-weight: 200;
  }
}
@media (min-width: 80rem) {
  .util-weight-base\@xl {
    font-weight: 200;
  }
}

.util-weight-regular {
  font-weight: 400;
}
@media (min-width: 30rem) {
  .util-weight-regular\@sm {
    font-weight: 400;
  }
}
@media (min-width: 50rem) {
  .util-weight-regular\@md {
    font-weight: 400;
  }
}
@media (min-width: 70rem) {
  .util-weight-regular\@lg {
    font-weight: 400;
  }
}
@media (min-width: 80rem) {
  .util-weight-regular\@xl {
    font-weight: 400;
  }
}

/* BEGIN: Sparkle Utility Classes */
.util-antialiased {
  -moz-osx-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
}

.util-clearfix::after {
  clear: both;
  content: "";
  display: table;
}

.util-delink {
  color: inherit;
  text-decoration: none;
}

.util-delist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.util-unbuttonize {
  background-color: transparent;
  color: inherit;
  border: none;
  margin: 0;
  padding: 0;
  text-align: inherit;
  font: inherit;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.util-visually-hidden {
  position: fixed;
  right: 100%;
  bottom: 100%;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}
.util-visually-hidden:focus {
  left: 0;
  right: auto;
  top: 0;
  bottom: auto;
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
}
@media (min-width: 30rem) {
  .util-visually-hidden\@sm {
    position: fixed;
    right: 100%;
    bottom: 100%;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
  }
  .util-visually-hidden\@sm:focus {
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
    clip: auto;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
@media (min-width: 50rem) {
  .util-visually-hidden\@md {
    position: fixed;
    right: 100%;
    bottom: 100%;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
  }
  .util-visually-hidden\@md:focus {
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
    clip: auto;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
@media (min-width: 70rem) {
  .util-visually-hidden\@lg {
    position: fixed;
    right: 100%;
    bottom: 100%;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
  }
  .util-visually-hidden\@lg:focus {
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
    clip: auto;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
@media (min-width: 80rem) {
  .util-visually-hidden\@xl {
    position: fixed;
    right: 100%;
    bottom: 100%;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
  }
  .util-visually-hidden\@xl:focus {
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
    clip: auto;
    -webkit-clip-path: none;
            clip-path: none;
  }
}

/* END: Sparkle Utility Classes */
.util-color-black {
  color: var(--color-black);
}

.util-color-dark {
  color: var(--color-dark);
}

.util-color-gray-30 {
  color: var(--color-gray-30);
}

.util-color-gray {
  color: var(--color-gray);
}

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

.util-color-pink-1 {
  color: var(--color-pink-1);
}

.util-color-pink-2 {
  color: var(--color-pink-2);
}

.util-color-pink-3 {
  color: var(--color-pink-3);
}

.util-color-blue-1 {
  color: var(--color-blue-1);
}

.util-color-blue-2 {
  color: var(--color-blue-2);
}

.util-border-top-black {
  border-top: 1px solid var(--color-black);
}

.util-border-top-dark {
  border-top: 1px solid var(--color-dark);
}

.util-border-top-gray-30 {
  border-top: 1px solid var(--color-gray-30);
}

.util-border-top-gray {
  border-top: 1px solid var(--color-gray);
}

.util-border-top-white {
  border-top: 1px solid var(--color-white);
}

.util-border-top-pink-1 {
  border-top: 1px solid var(--color-pink-1);
}

.util-border-top-pink-2 {
  border-top: 1px solid var(--color-pink-2);
}

.util-border-top-pink-3 {
  border-top: 1px solid var(--color-pink-3);
}

.util-border-top-blue-1 {
  border-top: 1px solid var(--color-blue-1);
}

.util-border-top-blue-2 {
  border-top: 1px solid var(--color-blue-2);
}

.util-visually-hidden {
  position: fixed;
  right: 100%;
  bottom: 100%;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}