/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
* Mobile.
**/
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Color Map (https://convertacolor.com/).
 */
/**
 * Colors Variables.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
@import '../../node_modules/keen-slider/keen-slider.min.css';
@import '../../node_modules/photoswipe/dist/photoswipe.css';
*::selection {
  background-color: hsl(329, 59.6%, 42.7%);
  color: hsl(0, 0%, 100%);
}

/**
 * Responsive.
 */
/**
 * Vendor.
 */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**
 * Tools.
 */
/**
 * Tools.
 */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
/**
 * Container
 * 
 * Center aligns element with given maximum width, padding, and margins top and bottom.
 * @param {String} $width - Pixel unit value.
 * @param {String} $gap - Pixel unit value.
 * @example @include container(1024px, 20px);
 */
/**
 * Section
 *
 * Add top and bottom spacing to element using paddings.
 * @param {String} $top - Pixel unit value.
 * @param {String} $bottom - Pixel unit value.
 * @example @include section(100px, 100px);
 */
/**
 * Media.
 *
 * Media queries according to "The 100% Correct Way To Do CSS Breakpoints" (https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862).
 * @param {String} $breakpoint - Breakpoint pixel unit value.
 * @example @include media('phone') {}
 */
/**
 * Elements.
 */
/**
 * General.
 */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit; /* 1 */
}

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%; /* 1 */
  box-sizing: border-box;
}

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  min-height: 100vh;
  background-color: hsl(0, 0%, 97%);
  color: hsl(225, 20%, 12%);
  font-family: "Plus Jakarta Sans";
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale; /* 1 */
  -webkit-font-smoothing: antialiased; /* 2 */
}

/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none;
}

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0; /* 1 */
  outline: none;
  background: none;
  cursor: pointer;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

figure {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
}

hr {
  margin: 0;
  padding: 0;
}

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle; /* 1 */
}

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  appearance: none; /* 1 */
}

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

p {
  margin: 0;
}

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse; /* 1 */
}

strong {
  font-weight: 700;
}

/**
 * Objects.
 */
/**
 * Button.
 */
.button {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 44px;
  position: relative;
}

/**
 * Button (default).
 */
.button--primary span {
  background-color: hsl(329, 62.9%, 51.4%);
  color: hsl(0, 0%, 100%);
  font-size: 18px;
  font-weight: 500;
  font-family: "futura-100";
  padding: 10px 40px 10px 12px;
  border-radius: 16px;
}
.button--primary::before {
  content: "";
  position: absolute;
  top: 49%;
  right: 28px;
  width: 40px;
  height: 1.2px;
  z-index: 1;
  pointer-events: none;
  background-color: #fff;
  transform: translateY(-50%);
  transition: width 500ms cubic-bezier(0.68, -0.6, 0.32, 1.65);
}
.button--primary .arrow {
  background-color: hsl(329, 62.9%, 51.4%);
  border-radius: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 44px;
  width: 44px;
  aspect-ratio: 1/1;
  transform: translateX(-8px);
  transition: transform 500ms cubic-bezier(0.68, -0.6, 0.32, 1.65);
}
.button--primary:hover::before {
  width: 0;
}
.button--primary:hover .arrow {
  transform: translateX(8px);
}

.button--secondary {
  display: flex;
  flex-direction: row;
  align-items: center;
  display: flex;
}
.button--secondary:hover svg {
  transform: translateX(8px);
}
.button--secondary span {
  padding-block: 20px;
  font-weight: 500;
  font-family: "futura-100";
  font-size: 18px;
  padding-right: 16px;
}
.button--secondary svg {
  transition: transform 500ms cubic-bezier(0.68, -0.6, 0.32, 1.65);
}

/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output p:not(:last-child) {
  margin-bottom: 2em;
}
.cms-output h2,
.cms-output h3,
.cms-output h4 {
  margin-bottom: 30px;
}
.cms-output h5 {
  margin-bottom: 20px;
}
.cms-output .is-intro {
  font-size: 20px;
  line-height: 32px;
  font-weight: 700;
}
@media only screen and (max-width: 899px) {
  .cms-output .is-intro {
    font-size: 18px;
    line-height: 24px;
  }
}
.cms-output img.aligncenter {
  display: block;
  margin: 0 auto;
}
.cms-output img.alignright {
  display: block;
  margin: 0 0 0 auto;
}
.cms-output table {
  word-break: break-word;
}
.cms-output table td {
  vertical-align: top;
}
.cms-output ul,
.cms-output ol {
  list-style-type: square;
  margin-left: 20px;
  margin-bottom: 1em;
}
.cms-output ul li,
.cms-output ol li {
  margin-bottom: 15px;
}
.cms-output ol {
  list-style-type: decimal;
}
.cms-output strong {
  font-weight: bold;
}
.cms-output a {
  text-decoration: underline;
  color: hsl(0, 100%, 50%);
  transition: all 250ms ease;
}
.cms-output a:hover {
  color: hsl(0, 100%, 50%);
}
.cms-output blockquote {
  position: relative;
  padding: 40px 45px 20px 45px;
  color: hsl(0, 100%, 50%);
}
.cms-output .wp-caption {
  margin-bottom: 20px;
}
.cms-output .wp-caption img {
  border-radius: 10px;
}
.cms-output .wp-caption .wp-caption-text {
  font-size: 16px;
  line-height: 20px;
  color: hsl(0, 100%, 50%);
  letter-spacing: 0.44px;
  margin-top: 10px;
}

.subtitle {
  color: hsl(225, 20%, 12%);
  font-family: "futura-100";
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh;
  overflow: clip;
}

body {
  overflow-x: clip;
}

/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -10px;
}

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1;
}

/**
 * Align `stretch` for the xs breakpoint.
 */
.align-xs-stretch {
  align-items: stretch;
}

/**
 * Align `center` for the xs breakpoint.
 */
.align-xs-center {
  align-items: center;
}

/**
 * Align `flex-start` for the xs breakpoint.
 */
.align-xs-flex-start {
  align-items: flex-start;
}

/**
 * Align `flex-end` for the xs breakpoint.
 */
.align-xs-flex-end {
  align-items: flex-end;
}

/**
 * Align `baseline` for the xs breakpoint.
 */
.align-xs-baseline {
  align-items: baseline;
}

/**
 * Justify `start` for the xs breakpoint.
 */
.justify-xs-start {
  justify-content: start;
}

/**
 * Justify `center` for the xs breakpoint.
 */
.justify-xs-center {
  justify-content: center;
}

/**
 * Justify `space-between` for the xs breakpoint.
 */
.justify-xs-space-between {
  justify-content: space-between;
}

/**
 * Justify `space-around` for the xs breakpoint.
 */
.justify-xs-space-around {
  justify-content: space-around;
}

/**
 * Justify `space-evenly` for the xs breakpoint.
 */
.justify-xs-space-evenly {
  justify-content: space-evenly;
}

/**
 * Bleed left for the xs breakpoint.
 */
.bleed-xs-left {
  padding-left: 0;
}

/**
 * Bleed right for the xs breakpoint.
 */
.bleed-xs-right {
  padding-right: 0;
}

/**
 * Order first for the `xs` breakpoint.
 */
.first-xs {
  order: -1;
}

/**
 * Order last for the `xs` breakpoint.
 */
.last-xs {
  order: 1;
}

/**
 * Reverse order for the `xs` breakpoint.
 */
.reverse-xs {
  flex-direction: row-reverse;
}

@media only screen and (max-width: 599px) {
  /**
   * Align `stretch` for the sm breakpoint.
   */
  .align-sm-stretch {
    align-items: stretch;
  }
  /**
   * Align `center` for the sm breakpoint.
   */
  .align-sm-center {
    align-items: center;
  }
  /**
   * Align `flex-start` for the sm breakpoint.
   */
  .align-sm-flex-start {
    align-items: flex-start;
  }
  /**
   * Align `flex-end` for the sm breakpoint.
   */
  .align-sm-flex-end {
    align-items: flex-end;
  }
  /**
   * Align `baseline` for the sm breakpoint.
   */
  .align-sm-baseline {
    align-items: baseline;
  }
  /**
   * Justify `start` for the sm breakpoint.
   */
  .justify-sm-start {
    justify-content: start;
  }
  /**
   * Justify `center` for the sm breakpoint.
   */
  .justify-sm-center {
    justify-content: center;
  }
  /**
   * Justify `space-between` for the sm breakpoint.
   */
  .justify-sm-space-between {
    justify-content: space-between;
  }
  /**
   * Justify `space-around` for the sm breakpoint.
   */
  .justify-sm-space-around {
    justify-content: space-around;
  }
  /**
   * Justify `space-evenly` for the sm breakpoint.
   */
  .justify-sm-space-evenly {
    justify-content: space-evenly;
  }
  /**
   * Bleed left for the sm breakpoint.
   */
  .bleed-sm-left {
    padding-left: 0;
  }
  /**
   * Bleed right for the sm breakpoint.
   */
  .bleed-sm-right {
    padding-right: 0;
  }
  /**
   * Order first for the `sm` breakpoint.
   */
  .first-sm {
    order: -1;
  }
  /**
   * Order last for the `sm` breakpoint.
   */
  .last-sm {
    order: 1;
  }
  /**
   * Reverse order for the `sm` breakpoint.
   */
  .reverse-sm {
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 600px) {
  /**
   * Align `stretch` for the md breakpoint.
   */
  .align-md-stretch {
    align-items: stretch;
  }
  /**
   * Align `center` for the md breakpoint.
   */
  .align-md-center {
    align-items: center;
  }
  /**
   * Align `flex-start` for the md breakpoint.
   */
  .align-md-flex-start {
    align-items: flex-start;
  }
  /**
   * Align `flex-end` for the md breakpoint.
   */
  .align-md-flex-end {
    align-items: flex-end;
  }
  /**
   * Align `baseline` for the md breakpoint.
   */
  .align-md-baseline {
    align-items: baseline;
  }
  /**
   * Justify `start` for the md breakpoint.
   */
  .justify-md-start {
    justify-content: start;
  }
  /**
   * Justify `center` for the md breakpoint.
   */
  .justify-md-center {
    justify-content: center;
  }
  /**
   * Justify `space-between` for the md breakpoint.
   */
  .justify-md-space-between {
    justify-content: space-between;
  }
  /**
   * Justify `space-around` for the md breakpoint.
   */
  .justify-md-space-around {
    justify-content: space-around;
  }
  /**
   * Justify `space-evenly` for the md breakpoint.
   */
  .justify-md-space-evenly {
    justify-content: space-evenly;
  }
  /**
   * Bleed left for the md breakpoint.
   */
  .bleed-md-left {
    padding-left: 0;
  }
  /**
   * Bleed right for the md breakpoint.
   */
  .bleed-md-right {
    padding-right: 0;
  }
  /**
   * Order first for the `md` breakpoint.
   */
  .first-md {
    order: -1;
  }
  /**
   * Order last for the `md` breakpoint.
   */
  .last-md {
    order: 1;
  }
  /**
   * Reverse order for the `md` breakpoint.
   */
  .reverse-md {
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 900px) {
  /**
   * Align `stretch` for the lg breakpoint.
   */
  .align-lg-stretch {
    align-items: stretch;
  }
  /**
   * Align `center` for the lg breakpoint.
   */
  .align-lg-center {
    align-items: center;
  }
  /**
   * Align `flex-start` for the lg breakpoint.
   */
  .align-lg-flex-start {
    align-items: flex-start;
  }
  /**
   * Align `flex-end` for the lg breakpoint.
   */
  .align-lg-flex-end {
    align-items: flex-end;
  }
  /**
   * Align `baseline` for the lg breakpoint.
   */
  .align-lg-baseline {
    align-items: baseline;
  }
  /**
   * Justify `start` for the lg breakpoint.
   */
  .justify-lg-start {
    justify-content: start;
  }
  /**
   * Justify `center` for the lg breakpoint.
   */
  .justify-lg-center {
    justify-content: center;
  }
  /**
   * Justify `space-between` for the lg breakpoint.
   */
  .justify-lg-space-between {
    justify-content: space-between;
  }
  /**
   * Justify `space-around` for the lg breakpoint.
   */
  .justify-lg-space-around {
    justify-content: space-around;
  }
  /**
   * Justify `space-evenly` for the lg breakpoint.
   */
  .justify-lg-space-evenly {
    justify-content: space-evenly;
  }
  /**
   * Bleed left for the lg breakpoint.
   */
  .bleed-lg-left {
    padding-left: 0;
  }
  /**
   * Bleed right for the lg breakpoint.
   */
  .bleed-lg-right {
    padding-right: 0;
  }
  /**
   * Order first for the `lg` breakpoint.
   */
  .first-lg {
    order: -1;
  }
  /**
   * Order last for the `lg` breakpoint.
   */
  .last-lg {
    order: 1;
  }
  /**
   * Reverse order for the `lg` breakpoint.
   */
  .reverse-lg {
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 1200px) {
  /**
   * Align `stretch` for the xl breakpoint.
   */
  .align-xl-stretch {
    align-items: stretch;
  }
  /**
   * Align `center` for the xl breakpoint.
   */
  .align-xl-center {
    align-items: center;
  }
  /**
   * Align `flex-start` for the xl breakpoint.
   */
  .align-xl-flex-start {
    align-items: flex-start;
  }
  /**
   * Align `flex-end` for the xl breakpoint.
   */
  .align-xl-flex-end {
    align-items: flex-end;
  }
  /**
   * Align `baseline` for the xl breakpoint.
   */
  .align-xl-baseline {
    align-items: baseline;
  }
  /**
   * Justify `start` for the xl breakpoint.
   */
  .justify-xl-start {
    justify-content: start;
  }
  /**
   * Justify `center` for the xl breakpoint.
   */
  .justify-xl-center {
    justify-content: center;
  }
  /**
   * Justify `space-between` for the xl breakpoint.
   */
  .justify-xl-space-between {
    justify-content: space-between;
  }
  /**
   * Justify `space-around` for the xl breakpoint.
   */
  .justify-xl-space-around {
    justify-content: space-around;
  }
  /**
   * Justify `space-evenly` for the xl breakpoint.
   */
  .justify-xl-space-evenly {
    justify-content: space-evenly;
  }
  /**
   * Bleed left for the xl breakpoint.
   */
  .bleed-xl-left {
    padding-left: 0;
  }
  /**
   * Bleed right for the xl breakpoint.
   */
  .bleed-xl-right {
    padding-right: 0;
  }
  /**
   * Order first for the `xl` breakpoint.
   */
  .first-xl {
    order: -1;
  }
  /**
   * Order last for the `xl` breakpoint.
   */
  .last-xl {
    order: 1;
  }
  /**
   * Reverse order for the `xl` breakpoint.
   */
  .reverse-xl {
    flex-direction: row-reverse;
  }
}
/**
 * Default fields.
 */
.gform_required_legend,
.gfield_required {
  display: none;
}

label {
  display: block;
  margin-bottom: 16px;
  font-weight: 600;
  color: hsl(0, 0%, 92.9%);
}

select,
input,
textarea {
  font-size: 16px;
  line-height: 32px;
  width: 100%;
  height: 42px;
  border-radius: 4px;
  padding: 11px 15px;
  background-color: transparent;
  font-weight: 400;
  border: 1px solid hsl(0, 0%, 92.9%);
  color: hsl(225, 20%, 12%);
}
select::placeholder,
input::placeholder,
textarea::placeholder {
  color: rgba(237, 237, 237, 0.5);
}

textarea {
  height: 230px;
  padding-top: 15px;
}

.gfield_required {
  color: hsl(0, 100%, 50%);
}

.ginput_container_select {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid hsl(225, 20%, 12%);
}
.ginput_container_select svg {
  position: absolute;
  top: 14px;
  right: 20px;
  width: 9px;
  height: 13px;
  z-index: 1;
}
.ginput_container_select select {
  position: relative;
  width: calc(100% + 50px);
  max-width: none;
  margin: -2px;
  background-color: transparent;
  border: 0;
  z-index: 2;
}

input[type=radio],
input[type=checkbox] {
  width: 15px;
  height: 15px;
  border: 2px solid hsl(225, 20%, 12%);
  border-radius: 2px;
  background-color: hsl(0, 0%, 100%);
  transition: all 250ms ease;
}
input[type=radio]:checked,
input[type=checkbox]:checked {
  background-color: hsl(225, 20%, 12%);
}

input[type=radio] {
  border-radius: 20px;
}

/**
 * Gravity Forms.
 */
.gfield {
  margin-bottom: 25px;
}

.gform_validation_container {
  display: none;
}

.hidden_label > label {
  display: none;
}

.validation_message {
  font-size: 14px;
  line-height: 23px;
  margin-top: 5px;
  border-radius: 8px;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  width: 100%;
  color: hsl(0, 100%, 50%);
  background-color: hsl(0, 100%, 50%);
}
.validation_message > svg {
  width: 16px;
  height: 16px;
  margin-right: 5px;
  margin-top: -2px;
}

.validation_error {
  display: none;
  position: relative;
  margin: 0 0 50px;
  padding: 25px 25px 25px 75px;
  background: hsl(0, 100%, 50%);
  color: hsl(0, 100%, 50%);
}
.validation_error > svg {
  position: absolute;
  top: calc(50% - 15px);
  left: 30px;
  width: 31px;
  height: 30px;
  color: hsl(0, 100%, 50%);
}
.validation_error .close-button {
  position: absolute;
  top: 5px;
  right: 5px;
  cursor: pointer;
}
.validation_error .close-button svg {
  width: 16px;
  height: 16px;
  color: hsl(225, 20%, 12%);
}

.gform_confirmation_message {
  width: 100%;
  padding: 50px;
  background: hsl(0, 100%, 50%);
}
.gform_confirmation_message br {
  display: none;
}
.gform_confirmation_message h4 {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.gform_confirmation_message h4 svg {
  width: 28px;
  height: 28px;
  margin-right: 20px;
  border-radius: 20px;
  background-color: hsl(0, 0%, 100%);
  padding: 5px;
  color: hsl(225, 20%, 12%);
}

/**
 * Heading.
 */
h1,
h2,
h3,
h4 {
  font-family: "futura-100";
  color: hsl(225, 20%, 12%);
  font-weight: 500;
}
h1.is-white,
h2.is-white,
h3.is-white,
h4.is-white {
  color: hsl(0, 0%, 100%);
}

/**
  * Heading 1.
*/
h1,
.heading-1 {
  font-size: 64px;
  line-height: 90px;
}
@media only screen and (max-width: 899px) {
  h1,
  .heading-1 {
    font-size: 36px;
    line-height: 43px;
  }
}
h1 span,
.heading-1 span {
  font-size: 64px;
  line-height: 90px;
}
@media only screen and (max-width: 899px) {
  h1 span,
  .heading-1 span {
    font-size: 36px;
    line-height: 43px;
  }
}

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 48px;
  line-height: 58px;
}
@media only screen and (max-width: 899px) {
  h2,
  .heading-2 {
    font-size: 30px;
    line-height: 36px;
  }
}
h2 span,
.heading-2 span {
  font-size: 48px;
  line-height: 58px;
}
@media only screen and (max-width: 899px) {
  h2 span,
  .heading-2 span {
    font-size: 30px;
    line-height: 36px;
  }
}

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 40px;
  line-height: 48px;
}
@media only screen and (max-width: 899px) {
  h3,
  .heading-3 {
    font-size: 26px;
    line-height: 31px;
  }
}
h3 span,
.heading-3 span {
  font-size: 40px;
  line-height: 48px;
}
@media only screen and (max-width: 899px) {
  h3 span,
  .heading-3 span {
    font-size: 26px;
    line-height: 31px;
  }
}

/**
* Heading 3.
*/
h4 {
  font-size: 32px;
  line-height: 38px;
}
@media only screen and (max-width: 899px) {
  h4 {
    font-size: 22px;
    line-height: 26px;
  }
}
h4 span {
  font-size: 32px;
  line-height: 38px;
}
@media only screen and (max-width: 899px) {
  h4 span {
    font-size: 22px;
    line-height: 26px;
  }
}

/**
* Heading 3.
*/
h5 {
  font-size: 24px;
  line-height: 29px;
}
@media only screen and (max-width: 899px) {
  h5 {
    font-size: 18px;
    line-height: 22px;
  }
}
h5 span {
  font-size: 24px;
  line-height: 29px;
}
@media only screen and (max-width: 899px) {
  h5 span {
    font-size: 18px;
    line-height: 22px;
  }
}

/**
* Heading 6.
*/
h6 {
  font-size: 18px;
  line-height: 24px;
}
@media only screen and (max-width: 899px) {
  h6 {
    font-size: 16px;
    line-height: 19px;
  }
}
h6 span {
  font-size: 18px;
  line-height: 24px;
}
@media only screen and (max-width: 899px) {
  h6 span {
    font-size: 16px;
    line-height: 19px;
  }
}

/**
 * Subheading.
 */
p, span, a, li, label {
  font-size: 16px;
  line-height: 23px;
}
@media only screen and (max-width: 899px) {
  p, span, a, li, label {
    font-size: 16px;
    line-height: 23px;
  }
}
p.is-white, span.is-white, a.is-white, li.is-white, label.is-white {
  color: hsl(0, 0%, 100%);
}

.has-lazy-load {
  transition: all 750ms ease;
  transition-delay: 500ms;
  opacity: 0;
}
.has-lazy-load.header {
  transition-delay: 500ms;
  transition: all 750ms ease;
}

.has-lazy-load[loaded=true] {
  opacity: 1;
}

.pagination {
  width: 100%;
  justify-content: center;
  padding-block: 10px;
  margin-top: 120px;
}
@media only screen and (max-width: 1199px) {
  .pagination {
    margin-top: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .pagination {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .pagination {
    margin-top: 40px;
  }
}
.pagination .page-numbers {
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 8px;
  transition: all 250ms ease;
  color: hsl(225, 20%, 12%);
  font-weight: 500;
  line-height: normal;
  background-color: transparent;
  padding: 8px;
}
.pagination .page-numbers.current {
  color: hsl(0, 0%, 100%);
  font-weight: 600;
  background-color: hsl(329, 62.9%, 51.4%);
  padding: 8px;
}
.pagination .page-numbers:hover:not(.current) {
  color: hsl(329, 62.9%, 51.4%);
}
.pagination .page-numbers.prev svg {
  transform: rotate(180deg);
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  margin-right: 15px;
}
.pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
  position: relative;
  top: 0;
  width: 24px;
  height: 24px;
  color: hsl(225, 20%, 12%);
  transition: all 250ms ease;
}
.pagination .page-numbers.prev:hover, .pagination .page-numbers.next:hover {
  color: hsl(0, 100%, 50%);
}
.pagination .page-numbers.next {
  margin-right: 0;
  margin-left: 5px;
}
.pagination .disabled svg {
  opacity: 0.32;
}

/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1512px + 160px);
  padding: 0 80px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1199px) {
  .wrapper {
    max-width: calc(1512px + 112px);
    padding: 0 56px;
    width: 100%;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 899px) {
  .wrapper {
    max-width: calc(1280px + 80px);
    padding: 0 40px;
    width: 100%;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 599px) {
  .wrapper {
    max-width: calc(1280px + 48px);
    padding: 0 24px;
    width: 100%;
    margin: 0 auto;
  }
}

/**
 * Wrapper (small)
 */
.wrapper--small {
  max-width: calc(1140px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 899px) {
  .wrapper--small {
    max-width: calc(1140px + 120px);
    padding: 0 60px;
    width: 100%;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 599px) {
  .wrapper--small {
    max-width: calc(1140px + 40px);
    padding: 0 20px;
    width: 100%;
    margin: 0 auto;
  }
}

/**
* Self hosted google webfonts.
* https://gwfh.mranftl.com/fonts
**/
/* plus-jakarta-sans-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/plus-jakarta-sans-v12-latin-200.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-200italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 200;
  src: url("../fonts/plus-jakarta-sans-v12-latin-200italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/plus-jakarta-sans-v12-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/plus-jakarta-sans-v12-latin-300italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/plus-jakarta-sans-v12-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/plus-jakarta-sans-v12-latin-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/plus-jakarta-sans-v12-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/plus-jakarta-sans-v12-latin-500italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/plus-jakarta-sans-v12-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/plus-jakarta-sans-v12-latin-600italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/plus-jakarta-sans-v12-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* plus-jakarta-sans-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Plus Jakarta Sans";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/plus-jakarta-sans-v12-latin-700italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/**
 * Components.
 */
.navigation-mobile {
  position: fixed;
  top: 100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 100px);
  margin-top: 100px;
  transition: all 500ms ease;
  background: hsl(0, 0%, 100%);
  opacity: 0;
  z-index: 999;
  overflow-x: hidden;
}
@media only screen and (max-width: 1199px) {
  .navigation-mobile {
    height: calc(100% - 80px);
    margin-top: 80px;
  }
}
.navigation-mobile.is-active {
  top: 0;
  opacity: 1;
}
.navigation-mobile::-webkit-scrollbar {
  display: none;
}
.navigation-mobile .wrapper {
  height: 100%;
}

/**
 * Main menu.
 */
.navigation-mobile__main {
  padding: 10px 0;
}
.navigation-mobile__main > li {
  position: relative;
}
.navigation-mobile__main > li.current_page_ancestor > a, .navigation-mobile__main > li.current-menu-item > a {
  color: hsl(225, 20%, 12%);
}
.navigation-mobile__main > li.is-active > a {
  color: hsl(225, 20%, 12%);
}
.navigation-mobile__main > li.is-active > a > span svg {
  transform: rotate(-90deg);
}
.navigation-mobile__main > li > a {
  font-size: 20px;
  line-height: 24px;
  display: block;
  position: relative;
  width: 100%;
  font-weight: 700;
  margin: 22px 0 0 0;
  color: hsl(225, 20%, 12%);
}
.navigation-mobile__main > li > a > span {
  padding: 0 20px 0 5px;
  cursor: pointer;
}
.navigation-mobile__main > li > a > span svg {
  position: absolute;
  top: calc(50% - 8px);
  right: 0;
  width: 18px;
  height: 18px;
  margin-left: 5px;
  transition: all 500ms ease;
  color: hsl(225, 20%, 12%);
}
.navigation-mobile__main > li .submenu-container {
  display: none;
  position: relative;
  margin-top: 10px;
  padding-top: 20px;
}
.navigation-mobile__main > li .submenu-container li a {
  font-size: 14px;
  line-height: 18px;
  position: relative;
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
  color: hsl(225, 20%, 12%);
}
.navigation-mobile__main > li .submenu-container li.current_page_ancestor > a, .navigation-mobile__main > li .submenu-container li.current-menu-item > a {
  color: hsl(225, 20%, 12%);
}
.navigation-mobile__main > li .submenu-container li.is-active > a {
  color: hsl(225, 20%, 12%);
}

/**
 * Disable scroll.
 */
body.is-active {
  overflow: hidden;
}
body.is-active .header::before {
  bottom: 0;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
body.home .content-hero .content-hero__editor * {
  opacity: 0.7;
}
body.home .content-hero .content-hero__title-wrap svg {
  display: none;
}

.content-hero {
  min-height: 100vh;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 120px;
  display: flex;
  align-items: flex-end;
  position: relative;
  z-index: 2;
}
.content-hero .content-hero__title-wrap {
  color: hsl(0, 0%, 100%);
  padding-bottom: 24px;
  position: relative;
}
.content-hero .content-hero__title-wrap::before {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.4);
  width: 400px;
  height: 1px;
  content: "";
}
.content-hero .content-hero__title-wrap span {
  position: relative;
}
.content-hero .content-hero__title-wrap svg {
  position: absolute;
  bottom: 16px;
  right: -16px;
}
@media only screen and (max-width: 899px) {
  .content-hero .content-hero__title-wrap svg {
    bottom: 8px;
  }
}
.content-hero::before {
  background: linear-gradient(246deg, rgba(0, 0, 0, 0.2) 21.29%, rgba(0, 0, 0, 0.7) 71.43%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.content-hero .content-hero__editor {
  margin-top: 24px;
}
.content-hero .content-hero__editor * {
  font-size: 18px;
  line-height: 26px;
  opacity: 0.9;
  color: hsl(0, 0%, 100%);
}
.content-hero .content-hero__button {
  width: fit-content;
  margin-top: 64px;
}
.content-hero .content-hero__container {
  max-width: 888px;
  width: 100%;
  position: relative;
  z-index: 2;
  color: hsl(0, 0%, 100%);
}
@media only screen and (max-width: 1199px) {
  .content-hero .content-hero__container {
    max-width: 960px;
  }
}
@media only screen and (max-width: 899px) {
  .content-hero .content-hero__container {
    max-width: 640px;
  }
}
@media only screen and (max-width: 599px) {
  .content-hero .content-hero__container {
    max-width: 100%;
  }
}
.content-hero .content-hero__usps {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}
@media only screen and (max-width: 599px) {
  .content-hero .content-hero__usps {
    gap: 6px;
  }
}
.content-hero .content-hero__usps .content-hero__text {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
}
.content-hero .content-hero__usps .content-hero__text svg {
  animation: rotate 20s linear infinite;
}
@media only screen and (max-width: 599px) {
  .content-hero .content-hero__usps .content-hero__text {
    gap: 6px;
    font-size: 14px;
  }
  .content-hero .content-hero__usps .content-hero__text svg {
    max-width: 8px;
    width: 8px;
    height: 8px;
    max-height: 8px;
    aspect-ratio: 1/1;
  }
}

.service-select {
  position: relative;
  z-index: 2;
  background-color: hsl(0, 0%, 97%);
}
.service-select .wrapper {
  padding-block: 120px;
}
@media only screen and (max-width: 1199px) {
  .service-select .wrapper {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .service-select .wrapper {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .service-select .wrapper {
    padding-block: 40px;
  }
}
.service-select .service-select__header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}
.service-select .service-select__head {
  max-width: 355px;
  width: 100%;
}
.service-select .service-select__editor {
  max-width: 624px;
  width: 100%;
}
.service-select .service-select__items {
  margin-top: 80px;
  display: flex;
  flex-direction: row;
  gap: 24px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1199px) {
  .service-select .service-select__items {
    gap: 12px;
  }
}
.service-select .service-select__item-inner {
  position: relative;
  padding: 0 24px 24px 24px;
  color: hsl(0, 0%, 100%);
  z-index: 2;
  margin-top: auto;
}
.service-select .service-select__item-inner .service-select__item-title {
  font-weight: 500;
}
.service-select .service-select__item {
  width: calc(25% - 18px);
  transition: width 350ms ease-in-out;
  height: 320px;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: clip;
}
@media only screen and (max-width: 1199px) {
  .service-select .service-select__item {
    width: calc(25% - 12px);
  }
}
@media only screen and (max-width: 899px) {
  .service-select .service-select__item {
    width: calc(50% - 8px);
  }
}
@media only screen and (max-width: 599px) {
  .service-select .service-select__item {
    width: 100%;
  }
}
.service-select .service-select__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(139, 35, 89, 0) 0%, rgba(139, 35, 89, 0) 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
  z-index: 1;
  transition: all 350ms ease-in-out;
}
.service-select .service-select__item .service-select__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 320px;
}
.service-select .service-select__item .service-select__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-select .service-select__item:hover {
  width: calc(35.5% - 18px);
}
@media only screen and (max-width: 1199px) {
  .service-select .service-select__item:hover {
    width: calc(35.5% - 12px);
  }
}
@media only screen and (max-width: 899px) {
  .service-select .service-select__item:hover {
    width: calc(50% - 8px);
  }
}
@media only screen and (max-width: 599px) {
  .service-select .service-select__item:hover {
    width: 100%;
  }
}
.service-select .service-select__item:hover .service-select__teaser {
  opacity: 1;
  height: auto;
  padding-top: 32px;
  transform: translateY(0);
}
.service-select .service-select__item:hover:first-child::before {
  background: linear-gradient(0deg, #AE2C70 0%, #AE2C70 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
}
.service-select .service-select__item:hover:nth-child(2)::before {
  background: linear-gradient(0deg, #8B2359 0%, #8B2359 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
}
.service-select .service-select__item:hover:nth-child(3)::before {
  background: linear-gradient(0deg, #691B43 0%, #691B43 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
}
.service-select .service-select__item:hover:nth-child(4)::before {
  background: linear-gradient(0deg, #46122D 0%, #46122D 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
}
.service-select .service-select__items:has(.service-select__item:hover) .service-select__item:not(:hover) {
  width: calc(21.5% - 18px);
}
@media only screen and (max-width: 1199px) {
  .service-select .service-select__items:has(.service-select__item:hover) .service-select__item:not(:hover) {
    width: calc(21.5% - 12px);
  }
}
@media only screen and (max-width: 899px) {
  .service-select .service-select__items:has(.service-select__item:hover) .service-select__item:not(:hover) {
    width: calc(50% - 8px);
  }
}
@media only screen and (max-width: 599px) {
  .service-select .service-select__items:has(.service-select__item:hover) .service-select__item:not(:hover) {
    width: 100%;
  }
}
.service-select .service-select__teaser {
  padding-top: 0;
  position: relative;
  opacity: 0;
  height: 0;
  transition: all 250ms ease-in-out;
  transform: translateY(500px);
}
.service-select .service-select__teaser::before {
  position: absolute;
  left: 0;
  top: 16px;
  background: rgba(237, 237, 237, 0.6);
  content: "";
  width: 240px;
  height: 1px;
}
.service-select svg {
  margin-top: 24px;
}

.text-image {
  background-color: hsl(225, 20%, 12%);
  position: relative;
}
.text-image::before {
  position: absolute;
  content: "";
  left: -30px;
  bottom: 48px;
  display: flex;
  width: 560px;
  height: 560px;
  background-color: hsl(329, 59.6%, 42.7%);
  border-radius: 560px;
  filter: blur(200px);
  z-index: 1;
}
@media only screen and (max-width: 899px) {
  .text-image::before {
    width: 400px;
    height: 400px;
    left: -63px;
    top: 279px;
    bottom: unset;
  }
}
.text-image .wrapper {
  padding-block: 120px;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 56px;
  align-items: center;
}
@media only screen and (max-width: 1199px) {
  .text-image .wrapper {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .text-image .wrapper {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .text-image .wrapper {
    padding-block: 40px;
  }
}
@media only screen and (max-width: 899px) {
  .text-image .wrapper {
    gap: 40px;
    flex-direction: column;
  }
}
.text-image .text-image__image {
  max-width: 624px;
  width: 100%;
  max-height: 720px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .text-image .text-image__image {
    max-width: 485px;
  }
}
@media only screen and (max-width: 899px) {
  .text-image .text-image__image {
    max-width: 100%;
  }
}
.text-image .text-image__image img {
  max-width: 624px;
  max-height: 720px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 1199px) {
  .text-image .text-image__image img {
    max-width: 485px;
  }
}
@media only screen and (max-width: 899px) {
  .text-image .text-image__image img {
    max-width: 100%;
  }
}
.text-image .text-image__content {
  max-width: 624px;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .text-image .text-image__content {
    max-width: 480px;
  }
}
@media only screen and (max-width: 899px) {
  .text-image .text-image__content {
    max-width: 100%;
  }
}
.text-image .text-image__content * {
  color: hsl(0, 0%, 92.9%);
}
.text-image .text-image__content .text-image__title {
  color: hsl(0, 0%, 92.9%);
  padding-bottom: 24px;
  position: relative;
}
.text-image .text-image__content .text-image__title::before {
  width: 240px;
  height: 1px;
  background: rgba(237, 237, 237, 0.6);
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}
.text-image .text-image__editor {
  padding-top: 24px;
}
.text-image .text-image__button {
  margin-top: 56px;
}
@media only screen and (max-width: 899px) {
  .text-image .text-image__button {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .text-image .text-image__button {
    margin-top: 24px;
  }
}
.text-image.text-image--quote .text-image__title {
  padding-bottom: 0px;
}
.text-image.text-image--quote .text-image__title::before {
  display: none;
}
.text-image.text-image--quote .text-image__subtitle.quote-author {
  color: hsl(0, 0%, 92.9%);
  font-family: "futura-100";
  font-size: 32px;
  font-style: normal;
  font-weight: 300;
  line-height: 150%;
  position: relative;
  padding-bottom: 24px;
}
@media only screen and (max-width: 899px) {
  .text-image.text-image--quote .text-image__subtitle.quote-author {
    font-size: 30px;
  }
}
.text-image.text-image--quote .text-image__subtitle.quote-author::before {
  width: 240px;
  height: 1px;
  background: rgba(237, 237, 237, 0.6);
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}

.project-select {
  position: relative;
  z-index: 2;
  background-color: hsl(0, 0%, 97%);
}
.project-select .wrapper {
  padding-block: 120px;
}
@media only screen and (max-width: 1199px) {
  .project-select .wrapper {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .project-select .wrapper {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .project-select .wrapper {
    padding-block: 40px;
  }
}
.project-select .project-select__header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}
@media only screen and (max-width: 599px) {
  .project-select .project-select__link.desktop {
    display: none;
  }
}
.project-select .project-select__link.phone {
  margin-top: 24px;
}
@media only screen and (min-width: 600px) {
  .project-select .project-select__link.phone {
    display: none;
  }
}
.project-select .project-select__header {
  margin-bottom: 80px;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__header {
    margin-bottom: 56px;
  }
}
@media only screen and (max-width: 899px) {
  .project-select .project-select__header {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .project-select .project-select__header {
    margin-bottom: 24px;
  }
}
.project-select .project-select__item-category {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: 24px;
  position: relative;
  z-index: 2;
}
.project-select .project-select__item-category span {
  background-color: hsl(329, 59.8%, 34.1%);
  padding: 8px;
  font-size: 14px;
  color: hsl(0, 0%, 100%);
  font-family: "futura-100";
  font-weight: 500;
}
.project-select .project-select__item {
  padding: 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
}
.project-select .project-select__item:hover .project-select__teaser,
.project-select .project-select__item:hover .project-select__item-title {
  transform: translateY(-32px);
}
.project-select .project-select__item:hover::after {
  opacity: 1;
}
.project-select .project-select__item .project-select__teaser {
  transition: transform 250ms ease;
}
.project-select .project-select__item::before {
  background: linear-gradient(359deg, #000 2.73%, rgba(43, 43, 43, 0) 96.73%);
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.project-select .project-select__item::after {
  background: linear-gradient(0deg, rgba(209, 53, 134, 0.3) 0%, rgba(209, 53, 134, 0.3) 100%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  transition: opacity 250ms ease;
  opacity: 0;
}
.project-select .project-select__item .project-select__item-title {
  color: hsl(0, 0%, 97%);
  padding-bottom: 24px;
  margin-bottom: 24px;
  position: relative;
  transition: all 250ms ease;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__item .project-select__item-title {
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
}
.project-select .project-select__item .project-select__item-title::before {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  content: "";
  width: 240px;
  height: 1px;
}
.project-select .project-select__item-inner {
  margin-top: auto;
  position: relative;
  z-index: 2;
  color: hsl(0, 0%, 97%);
}
.project-select .project-select__more {
  color: hsl(0, 0%, 100%);
  margin-top: 24px;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  position: relative;
  width: fit-content;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__more {
    margin-top: 16px;
  }
}
.project-select .project-select__items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 24px;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__items {
    gap: 16px;
  }
}
@media only screen and (max-width: 899px) {
  .project-select .project-select__items {
    gap: 40px;
    flex-direction: column;
  }
}
@media only screen and (max-width: 599px) {
  .project-select .project-select__items {
    gap: 24px;
  }
}
.project-select .project-select__items .project-select__column {
  max-width: calc(50% - 12px);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__items .project-select__column {
    gap: 16px;
    max-width: calc(50% - 8px);
  }
}
@media only screen and (max-width: 899px) {
  .project-select .project-select__items .project-select__column {
    max-width: 100%;
  }
}
.project-select .project-select__items .project-select__column--left .project-select__item {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
}
.project-select .project-select__items .project-select__column--left .project-select__item:nth-child(odd) {
  min-height: 768px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__items .project-select__column--left .project-select__item:nth-child(odd) {
    min-height: 600px;
  }
}
@media only screen and (max-width: 599px) {
  .project-select .project-select__items .project-select__column--left .project-select__item:nth-child(odd) {
    min-height: 400px;
  }
}
.project-select .project-select__items .project-select__column--left .project-select__item:nth-child(even) {
  min-height: 487px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__items .project-select__column--left .project-select__item:nth-child(even) {
    min-height: 400px;
  }
}
@media only screen and (max-width: 599px) {
  .project-select .project-select__items .project-select__column--left .project-select__item:nth-child(even) {
    min-height: 320px;
  }
}
.project-select .project-select__items .project-select__column--right .project-select__item {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
}
.project-select .project-select__items .project-select__column--right .project-select__item:nth-child(odd) {
  min-height: 487px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__items .project-select__column--right .project-select__item:nth-child(odd) {
    min-height: 400px;
  }
}
@media only screen and (max-width: 599px) {
  .project-select .project-select__items .project-select__column--right .project-select__item:nth-child(odd) {
    min-height: 320px;
  }
}
.project-select .project-select__items .project-select__column--right .project-select__item:nth-child(even) {
  min-height: 768px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .project-select .project-select__items .project-select__column--right .project-select__item:nth-child(even) {
    min-height: 600px;
  }
}
@media only screen and (max-width: 599px) {
  .project-select .project-select__items .project-select__column--right .project-select__item:nth-child(even) {
    min-height: 400px;
  }
}

.teasers {
  background-color: hsl(225, 20%, 12%);
}
.teasers .wrapper {
  display: flex;
  flex-direction: row;
  gap: 64px;
  justify-content: space-between;
  padding-block: 120px;
}
@media only screen and (max-width: 1199px) {
  .teasers .wrapper {
    padding-block: 104px;
    flex-direction: column;
    gap: 56px;
  }
}
@media only screen and (max-width: 899px) {
  .teasers .wrapper {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .teasers .wrapper {
    padding-block: 40px;
  }
}
.teasers .teasers__head {
  max-width: 620px;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .teasers .teasers__head {
    max-width: 784px;
  }
}
@media only screen and (max-width: 899px) {
  .teasers .teasers__head {
    max-width: 649px;
  }
}
.teasers .teasers__head * {
  color: hsl(0, 0%, 92.9%);
}
.teasers .teasers__head .teasers__title {
  margin-bottom: 24px;
  padding-bottom: 24px;
  position: relative;
}
.teasers .teasers__head .teasers__title::before {
  width: 240px;
  height: 1px;
  background: rgba(237, 237, 237, 0.6);
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}
.teasers.teasers--grid .teasers__items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 24px;
  max-width: 664px;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .teasers.teasers--grid .teasers__items {
    max-width: 100%;
    gap: 16px;
  }
}
.teasers.teasers--grid .teasers__items .teasers__item {
  padding: 24px;
  max-width: calc(50% - 12px);
  color: hsl(0, 0%, 100%);
  min-height: 400px;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 1199px) {
  .teasers.teasers--grid .teasers__items .teasers__item {
    max-width: calc(50% - 8px);
    padding: 32px;
  }
}
@media only screen and (max-width: 599px) {
  .teasers.teasers--grid .teasers__items .teasers__item {
    max-width: 100%;
    min-height: 360px;
  }
}
.teasers.teasers--grid .teasers__items .teasers__item .teasers__item-title {
  margin-top: auto;
  padding-bottom: 24px;
  margin-bottom: 24px;
  position: relative;
}
.teasers.teasers--grid .teasers__items .teasers__item .teasers__item-title::before {
  width: 160px;
  height: 1px;
  background: rgba(237, 237, 237, 0.6);
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}
.teasers.teasers--grid .teasers__items .teasers__item:nth-child(4n+1) {
  background: linear-gradient(0deg, #AE2C70 0%, #AE2C70 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
}
.teasers.teasers--grid .teasers__items .teasers__item:nth-child(4n+2) {
  background: linear-gradient(0deg, #8B2359 0%, #8B2359 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
}
.teasers.teasers--grid .teasers__items .teasers__item:nth-child(4n+3) {
  background: linear-gradient(0deg, #691B43 0%, #691B43 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
}
.teasers.teasers--grid .teasers__items .teasers__item:nth-child(4n+4) {
  background: linear-gradient(0deg, #46122D 0%, #46122D 100%), linear-gradient(179deg, rgba(0, 0, 0, 0) 27.25%, #000 110.16%);
}
.teasers.teasers--grid .teasers__items .teasers__item .teasers__icon {
  max-width: 56px;
  max-height: 56px;
  width: 100%;
  height: 100%;
}
.teasers.teasers--grid .teasers__items .teasers__item .teasers__icon img {
  max-width: 56px;
  max-height: 56px;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.teasers.teasers--grid .teasers__items .teasers__item .teasers__item-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.teasers.teasers--grid .teasers__items .teasers__item .teasers__item-head .teasers__item-counter {
  font-family: "futura-100";
  font-size: 40px;
  line-height: 48px;
}
@media only screen and (max-width: 899px) {
  .teasers.teasers--grid .teasers__items .teasers__item .teasers__item-head .teasers__item-counter {
    font-size: 26px;
    line-height: 31px;
  }
}
.teasers.teasers--list .teasers__items {
  display: flex;
  flex-direction: column;
  gap: 56px;
  max-height: 600px;
  overflow-y: scroll;
  max-width: 624px;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .teasers.teasers--list .teasers__items {
    max-height: 100%;
    overflow-y: unset;
  }
}
.teasers.teasers--list .teasers__item {
  opacity: 0.6;
  transition: all 250ms ease;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
@media only screen and (max-width: 599px) {
  .teasers.teasers--list .teasers__item {
    flex-direction: column;
    gap: 24px;
  }
}
.teasers.teasers--list .teasers__item.is-active {
  opacity: 1;
}
.teasers.teasers--list .teasers__item .teasers__item-title {
  margin-left: 56px;
}
@media only screen and (max-width: 599px) {
  .teasers.teasers--list .teasers__item .teasers__item-title {
    margin-left: 0;
  }
}
.teasers.teasers--list .teasers__item .teasers__item-editor {
  margin-left: 120px;
}
@media only screen and (max-width: 599px) {
  .teasers.teasers--list .teasers__item .teasers__item-editor {
    margin-left: 0;
  }
}
.teasers.teasers--list .teasers__item-counter {
  color: hsl(329, 62.9%, 51.4%);
  font-family: "futura-100";
  font-size: 40px;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  padding-left: 6px;
}
.teasers.teasers--list .teasers__item-counter::before {
  background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M59.7119 26.9668C60.0061 28.5983 60.1592 30.2789 60.1592 31.9951C60.159 47.5446 47.552 60.1502 32 60.1504C26.3023 60.1504 21.0005 58.4566 16.5684 55.5479L13.124 57.8301C18.4159 61.7017 24.9404 63.9893 32 63.9893C49.6728 63.9891 63.9998 49.6651 64 31.9951C64 29.4794 63.7093 27.0311 63.1602 24.6826L59.7119 26.9668ZM32 0C14.3269 0 0 14.3249 0 31.9951C3.76703e-05 35.6223 0.604391 39.1081 1.7168 42.3584L5.04297 40.1553C4.26181 37.5722 3.83988 34.833 3.83984 31.9951C3.83984 16.4453 16.4477 3.83984 32 3.83984C38.8543 3.83992 45.1364 6.28837 50.0195 10.3584L53.3428 8.15723C47.6802 3.08539 40.2007 8.45005e-05 32 0Z' fill='%23D13586'/%3E%3C/svg%3E%0A");
  background-size: 64px 64px;
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 64px;
  height: 64px;
}
@media only screen and (max-width: 899px) {
  .teasers.teasers--list .teasers__item-counter {
    font-size: 26px;
    line-height: 31px;
  }
}
.teasers.teasers--list .teasers__item-title {
  font-family: "futura-100";
  font-size: 24px;
  line-height: 29px;
  font-weight: 500;
  color: hsl(0, 0%, 100%);
  position: relative;
  padding-bottom: 24px;
  margin-bottom: 24px;
}
.teasers.teasers--list .teasers__item-title::before {
  width: 160px;
  height: 1px;
  background: rgba(237, 237, 237, 0.6);
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}
.teasers.teasers--list .teasers__item-editor * {
  color: hsl(0, 0%, 100%);
}

.cta {
  background-color: hsl(225, 20%, 12%);
  padding-block: 120px;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 72px;
}
@media only screen and (max-width: 899px) {
  .cta {
    flex-direction: column-reverse;
    gap: 40px;
  }
}
.cta::before {
  background-image: url("data:image/svg+xml,%3Csvg width='499' height='499' viewBox='0 0 499 499' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23paint0_angular_1053_8648_clip_path)' data-figma-skip-parse='true'%3E%3Cg transform='matrix(-0.202748 -0.144274 0.144277 -0.202744 249.124 249.125)'%3E%3CforeignObject x='-1399.03' y='-1399.03' width='2798.07' height='2798.07'%3E%3Cdiv xmlns='http://www.w3.org/1999/xhtml' style='background:conic-gradient(from 90deg,rgba(209, 53, 134, 1) 0deg,rgba(209, 53, 134, 0) 360deg);height:100%25;width:100%25;opacity:1'%3E%3C/div%3E%3C/foreignObject%3E%3C/g%3E%3C/g%3E%3Cpath d='M206.589 3.65708C260.738 -5.72415 316.47 3.0627 365.106 28.6494C413.743 54.2361 452.555 95.1866 475.498 145.124C498.442 195.062 504.23 251.185 491.96 304.753C479.691 358.321 450.053 406.328 407.661 441.299C365.269 476.27 312.504 496.242 257.58 498.106C202.656 499.969 148.656 483.619 103.99 451.602C59.3232 419.584 26.4965 373.696 10.6211 321.083C-5.25427 268.47 -3.28735 212.084 16.2156 160.706L62.7973 178.39C47.195 219.492 45.6214 264.601 58.3217 306.691C71.0221 348.782 97.2834 385.492 133.017 411.106C168.75 436.72 211.949 449.8 255.888 448.309C299.828 446.819 342.04 430.841 375.954 402.864C409.867 374.887 433.577 336.482 443.393 293.627C453.209 250.773 448.578 205.875 430.224 165.924C411.869 125.974 380.819 93.2138 341.91 72.7444C303.001 52.2751 258.415 45.2456 215.096 52.7506L206.589 3.65708Z' data-figma-gradient-fill='%7B&%2334;type&%2334;:&%2334;GRADIENT_ANGULAR&%2334;,&%2334;stops&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:0.0%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;stopsVar&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:0.0%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;transform&%2334;:%7B&%2334;m00&%2334;:-405.49655151367188,&%2334;m01&%2334;:288.55416870117188,&%2334;m02&%2334;:307.59542846679688,&%2334;m10&%2334;:-288.5485839843750,&%2334;m11&%2334;:-405.48709106445312,&%2334;m12&%2334;:596.14251708984375%7D,&%2334;opacity&%2334;:1.0,&%2334;blendMode&%2334;:&%2334;NORMAL&%2334;,&%2334;visible&%2334;:true%7D'/%3E%3Cdefs%3E%3CclipPath id='paint0_angular_1053_8648_clip_path'%3E%3Cpath d='M206.589 3.65708C260.738 -5.72415 316.47 3.0627 365.106 28.6494C413.743 54.2361 452.555 95.1866 475.498 145.124C498.442 195.062 504.23 251.185 491.96 304.753C479.691 358.321 450.053 406.328 407.661 441.299C365.269 476.27 312.504 496.242 257.58 498.106C202.656 499.969 148.656 483.619 103.99 451.602C59.3232 419.584 26.4965 373.696 10.6211 321.083C-5.25427 268.47 -3.28735 212.084 16.2156 160.706L62.7973 178.39C47.195 219.492 45.6214 264.601 58.3217 306.691C71.0221 348.782 97.2834 385.492 133.017 411.106C168.75 436.72 211.949 449.8 255.888 448.309C299.828 446.819 342.04 430.841 375.954 402.864C409.867 374.887 433.577 336.482 443.393 293.627C453.209 250.773 448.578 205.875 430.224 165.924C411.869 125.974 380.819 93.2138 341.91 72.7444C303.001 52.2751 258.415 45.2456 215.096 52.7506L206.589 3.65708Z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  width: 586px;
  height: 586px;
  position: absolute;
  content: "";
  right: -122px;
  bottom: -152px;
  z-index: 0;
}
@media only screen and (max-width: 899px) {
  .cta::before {
    width: 400px;
    height: 400px;
    right: -63px;
    top: 0;
    bottom: unset;
  }
}
@media only screen and (max-width: 599px) {
  .cta::before {
    width: 182px;
    height: 182px;
    right: -63px;
    top: 200px;
    bottom: unset;
  }
}
.cta::after {
  position: absolute;
  content: "";
  left: -30px;
  bottom: 48px;
  display: flex;
  width: 560px;
  height: 460px;
  background-color: hsl(329, 59.6%, 42.7%);
  border-radius: 560px;
  filter: blur(200px);
  z-index: 0;
}
@media only screen and (max-width: 899px) {
  .cta::after {
    width: 400px;
    height: 400px;
    left: -63px;
    top: 279px;
    bottom: unset;
  }
}
@media only screen and (max-width: 1199px) {
  .cta {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .cta {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .cta {
    padding-block: 40px;
  }
}
.cta.cta--right {
  flex-direction: row-reverse;
}
.cta.cta--right::after {
  position: absolute;
  content: "";
  left: unset;
  right: -30px;
  bottom: 48px;
  display: flex;
  width: 560px;
  height: 460px;
  background-color: hsl(329, 59.6%, 42.7%);
  border-radius: 560px;
  filter: blur(200px);
  z-index: 0;
}
@media only screen and (max-width: 899px) {
  .cta.cta--right::after {
    width: 400px;
    height: 400px;
    left: unset;
    right: -63px;
    top: 279px;
    bottom: unset;
  }
}
.cta.cta--right::before {
  background-image: url("data:image/svg+xml,%3Csvg width='499' height='499' viewBox='0 0 499 499' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23paint0_angular_1053_8648_clip_path)' data-figma-skip-parse='true'%3E%3Cg transform='matrix(-0.202748 -0.144274 0.144277 -0.202744 249.124 249.125)'%3E%3CforeignObject x='-1399.03' y='-1399.03' width='2798.07' height='2798.07'%3E%3Cdiv xmlns='http://www.w3.org/1999/xhtml' style='background:conic-gradient(from 90deg,rgba(209, 53, 134, 1) 0deg,rgba(209, 53, 134, 0) 360deg);height:100%25;width:100%25;opacity:1'%3E%3C/div%3E%3C/foreignObject%3E%3C/g%3E%3C/g%3E%3Cpath d='M206.589 3.65708C260.738 -5.72415 316.47 3.0627 365.106 28.6494C413.743 54.2361 452.555 95.1866 475.498 145.124C498.442 195.062 504.23 251.185 491.96 304.753C479.691 358.321 450.053 406.328 407.661 441.299C365.269 476.27 312.504 496.242 257.58 498.106C202.656 499.969 148.656 483.619 103.99 451.602C59.3232 419.584 26.4965 373.696 10.6211 321.083C-5.25427 268.47 -3.28735 212.084 16.2156 160.706L62.7973 178.39C47.195 219.492 45.6214 264.601 58.3217 306.691C71.0221 348.782 97.2834 385.492 133.017 411.106C168.75 436.72 211.949 449.8 255.888 448.309C299.828 446.819 342.04 430.841 375.954 402.864C409.867 374.887 433.577 336.482 443.393 293.627C453.209 250.773 448.578 205.875 430.224 165.924C411.869 125.974 380.819 93.2138 341.91 72.7444C303.001 52.2751 258.415 45.2456 215.096 52.7506L206.589 3.65708Z' data-figma-gradient-fill='%7B&%2334;type&%2334;:&%2334;GRADIENT_ANGULAR&%2334;,&%2334;stops&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:0.0%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;stopsVar&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:0.0%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;transform&%2334;:%7B&%2334;m00&%2334;:-405.49655151367188,&%2334;m01&%2334;:288.55416870117188,&%2334;m02&%2334;:307.59542846679688,&%2334;m10&%2334;:-288.5485839843750,&%2334;m11&%2334;:-405.48709106445312,&%2334;m12&%2334;:596.14251708984375%7D,&%2334;opacity&%2334;:1.0,&%2334;blendMode&%2334;:&%2334;NORMAL&%2334;,&%2334;visible&%2334;:true%7D'/%3E%3Cdefs%3E%3CclipPath id='paint0_angular_1053_8648_clip_path'%3E%3Cpath d='M206.589 3.65708C260.738 -5.72415 316.47 3.0627 365.106 28.6494C413.743 54.2361 452.555 95.1866 475.498 145.124C498.442 195.062 504.23 251.185 491.96 304.753C479.691 358.321 450.053 406.328 407.661 441.299C365.269 476.27 312.504 496.242 257.58 498.106C202.656 499.969 148.656 483.619 103.99 451.602C59.3232 419.584 26.4965 373.696 10.6211 321.083C-5.25427 268.47 -3.28735 212.084 16.2156 160.706L62.7973 178.39C47.195 219.492 45.6214 264.601 58.3217 306.691C71.0221 348.782 97.2834 385.492 133.017 411.106C168.75 436.72 211.949 449.8 255.888 448.309C299.828 446.819 342.04 430.841 375.954 402.864C409.867 374.887 433.577 336.482 443.393 293.627C453.209 250.773 448.578 205.875 430.224 165.924C411.869 125.974 380.819 93.2138 341.91 72.7444C303.001 52.2751 258.415 45.2456 215.096 52.7506L206.589 3.65708Z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  width: 586px;
  height: 586px;
  position: absolute;
  content: "";
  right: 40%;
  bottom: -180px;
  z-index: 0;
}
@media only screen and (max-width: 899px) {
  .cta.cta--right::before {
    width: 400px;
    height: 400px;
    right: -63px;
    top: 0;
    bottom: unset;
  }
}
@media only screen and (max-width: 599px) {
  .cta.cta--right::before {
    width: 182px;
    height: 182px;
    right: -63px;
    top: 200px;
    bottom: unset;
  }
}
@media only screen and (max-width: 899px) {
  .cta.cta--right {
    flex-direction: column-reverse;
  }
}
.cta .cta__image {
  max-width: 50%;
  max-height: 601px;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 899px) {
  .cta .cta__image {
    max-width: 100%;
    max-height: 480px;
    padding-inline: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .cta .cta__image {
    max-height: 188px;
    padding-inline: 24px;
  }
}
.cta .cta__image img {
  width: 100%;
  max-height: 601px;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 899px) {
  .cta .cta__image img {
    max-width: 100%;
    max-height: 480px;
  }
}
@media only screen and (max-width: 599px) {
  .cta .cta__image img {
    max-height: 188px;
  }
}
.cta .cta__content {
  max-width: 560px;
  width: 100%;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 899px) {
  .cta .cta__content {
    max-width: 100%;
    padding-inline: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .cta .cta__content {
    padding-inline: 24px;
  }
}
.cta .cta__content * {
  color: hsl(0, 0%, 92.9%);
}
.cta .cta__link {
  margin-top: 56px;
  width: fit-content;
}

.review {
  position: relative;
  z-index: 2;
  background-color: hsl(0, 0%, 97%);
}
.review .wrapper {
  padding-block: 120px;
}
@media only screen and (max-width: 1199px) {
  .review .wrapper {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .review .wrapper {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .review .wrapper {
    padding-block: 40px;
  }
}
.review .review__subtitle * {
  color: hsl(0, 0%, 92.9%);
}
.review .review__title {
  max-width: 642px;
  width: 100%;
  margin-bottom: 72px;
}
.review .review__title * {
  color: hsl(0, 0%, 92.9%);
}
@media only screen and (max-width: 899px) {
  .review .review__title {
    margin-bottom: 40px;
  }
}
.review .review__slider-container {
  position: relative;
}
.review .review__items {
  margin-bottom: 40px;
  display: flex;
  flex-direction: row;
}
.review .review__item {
  padding: 40px;
  color: hsl(0, 0%, 100%);
  min-height: 400px;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  position: relative;
  overflow: clip;
}
.review .review__item::before {
  background-repeat: no-repeat;
  background-size: contain;
  width: 353px;
  height: 353px;
  position: absolute;
  content: "";
  right: -158px;
  bottom: -168px;
  z-index: 0;
}
.review .review__item:nth-child(3n+1) {
  background: #AE2C70;
}
.review .review__item:nth-child(3n+1)::before {
  background-image: url("data:image/svg+xml,%3Csvg width='353' height='353' viewBox='0 0 353 353' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M183.063 352.161C144.233 353.684 105.989 342.326 74.2863 319.855C42.5837 297.384 19.2012 265.062 7.78009 227.921C-3.64102 190.779 -2.45975 150.904 11.1398 114.503C17.8418 96.5649 27.3758 79.9677 39.2683 65.2849L59.0016 97.8324C52.9811 106.837 47.9815 116.56 44.1435 126.833C33.2639 155.953 32.3189 187.853 41.4558 217.566C50.5927 247.279 69.2987 273.138 94.6608 291.114C120.023 309.091 150.618 318.177 181.682 316.959L183.063 352.161ZM350.047 147.966C356.264 186.323 349.623 225.659 331.158 259.85L300.158 243.11C314.93 215.757 320.243 184.288 315.269 153.603C310.296 122.917 295.314 94.7369 272.658 73.4506C250.003 52.1646 220.944 38.9661 190.007 35.9114C169.692 33.9056 149.315 36.3479 130.248 42.9174L111.648 12.2381C137.493 2.0676 165.527 -1.90648 193.469 0.852339C232.14 4.67064 268.464 21.1685 296.784 47.7762C325.103 74.384 343.83 109.609 350.047 147.966Z' fill='%238B2359'/%3E%3C/svg%3E%0A");
}
.review .review__item:nth-child(3n+2) {
  background: #8B2359;
}
.review .review__item:nth-child(3n+2)::before {
  background-image: url("data:image/svg+xml,%3Csvg width='353' height='353' viewBox='0 0 353 353' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M183.063 352.161C144.233 353.685 105.989 342.326 74.2862 319.855C42.5835 297.384 19.201 265.061 7.7799 227.92C-3.641 190.779 -2.4597 150.904 11.1396 114.504C17.8417 96.5652 27.3765 79.9679 39.2691 65.2852L59.0025 97.8326C52.9819 106.838 47.9814 116.56 44.1434 126.833C33.264 155.953 32.3189 187.853 41.4556 217.566C50.5924 247.278 69.2985 273.137 94.6606 291.114C120.023 309.091 150.618 318.177 181.682 316.959L183.063 352.161ZM350.048 147.966C356.265 186.323 349.623 225.66 331.158 259.85L300.159 243.109C314.931 215.757 320.243 184.287 315.269 153.602C310.295 122.917 295.315 94.737 272.659 73.4509C250.003 52.1646 220.944 38.9664 190.007 35.9117C169.692 33.9059 149.316 36.3482 130.248 42.9177L111.648 12.2375C137.493 2.0668 165.528 -1.90631 193.469 0.852583C232.141 4.67094 268.465 21.1687 296.785 47.7765C325.104 74.3843 343.831 109.609 350.048 147.966Z' fill='%23691B43'/%3E%3C/svg%3E%0A");
}
.review .review__item:nth-child(3n+3) {
  background: hsl(329, 59.1%, 25.9%);
}
.review .review__item:nth-child(3n+3)::before {
  background-image: url("data:image/svg+xml,%3Csvg width='353' height='353' viewBox='0 0 353 353' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M183.063 352.161C144.233 353.685 105.989 342.326 74.2864 319.855C42.5836 297.384 19.2012 265.061 7.78009 227.92C-3.64096 190.779 -2.45973 150.903 11.1398 114.503C17.8418 96.5643 27.3768 79.9679 39.2693 65.2852L59.0026 97.8326C52.9822 106.838 47.9815 116.559 44.1435 126.832C33.2639 155.952 32.3189 187.853 41.4558 217.566C50.5926 247.278 69.2987 273.137 94.6608 291.114C120.023 309.091 150.618 318.176 181.682 316.958L183.063 352.161ZM350.048 147.966C356.265 186.323 349.623 225.659 331.158 259.849L300.159 243.109C314.931 215.757 320.243 184.287 315.269 153.602C310.296 122.917 295.315 94.7371 272.659 73.4509C250.004 52.1646 220.945 38.9664 190.007 35.9117C169.692 33.9059 149.316 36.3473 130.249 42.9167L111.648 12.2375C137.493 2.06678 165.528 -1.9063 193.47 0.852591C232.141 4.67095 268.465 21.1677 296.785 47.7755C325.105 74.3834 343.831 109.609 350.048 147.966Z' fill='%2346122D'/%3E%3C/svg%3E%0A");
}
.review .review__editor * {
  color: hsl(0, 0%, 100%);
  font-family: "Plus Jakarta Sans";
  font-size: 32px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.64px;
  margin-bottom: 32px;
}
.review .review__item-title {
  font-family: "futura-100";
  font-size: 24px;
  font-weight: 600;
  margin-top: auto;
  padding-top: 24px;
  position: relative;
}
.review .review__item-title::before {
  width: 240px;
  height: 1px;
  background: rgba(237, 237, 237, 0.6);
  content: "";
  position: absolute;
  left: 0;
  top: 0;
}
.review .review__navigation {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px;
  justify-content: flex-end;
  margin-top: 72px;
}
@media only screen and (max-width: 899px) {
  .review .review__navigation {
    gap: 16px;
    margin-top: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .review .review__navigation {
    margin-top: 24px;
  }
}
.review .review__navigation .review__nav-btn {
  transition: opacity 250ms ease;
}
.review .review__navigation .review__nav-btn:disabled, .review .review__navigation .review__nav-btn[disabled] {
  opacity: 0.32 !important;
}
.review .review__navigation .review__nav-btn--prev svg {
  transform: rotate(180deg);
}

.image-slider {
  position: relative;
  z-index: 2;
  background-color: hsl(0, 0%, 97%);
}
.image-slider .wrapper {
  padding-block: 120px;
}
@media only screen and (max-width: 1199px) {
  .image-slider .wrapper {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .image-slider .wrapper {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .image-slider .wrapper {
    padding-block: 40px;
  }
}
.image-slider .image-slider__header {
  display: flex;
  flex-direction: row;
  gap: 56px;
  justify-content: space-between;
  align-items: flex-start;
}
@media only screen and (max-width: 899px) {
  .image-slider .image-slider__header {
    flex-direction: column;
    gap: 40px;
  }
}
.image-slider .image-slider__head {
  max-width: 360px;
  width: 100%;
}
@media only screen and (max-width: 899px) {
  .image-slider .image-slider__head {
    max-width: 100%;
  }
}
.image-slider .image-slider__editor {
  max-width: 624px;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .image-slider .image-slider__editor {
    max-width: 480px;
  }
}
@media only screen and (max-width: 899px) {
  .image-slider .image-slider__editor {
    max-width: 640px;
  }
}
@media only screen and (max-width: 599px) {
  .image-slider .image-slider__editor {
    max-width: 100%;
  }
}
.image-slider .image-slider__editor strong {
  color: hsl(329, 62.9%, 51.4%);
  font-weight: 600;
}
.image-slider .image-slider__slider-container {
  position: relative;
  margin-top: 80px;
}
@media only screen and (max-width: 1199px) {
  .image-slider .image-slider__slider-container {
    margin-top: 56px;
  }
}
@media only screen and (max-width: 899px) {
  .image-slider .image-slider__slider-container {
    margin-top: 40px;
  }
}
.image-slider .image-slider__gallery {
  margin-bottom: 56px;
  display: flex;
  flex-direction: row;
}
.image-slider .image-slider__slide {
  height: auto;
}
.image-slider .image-slider__slide img {
  width: 100%;
  height: 100%;
  max-height: 480px;
  object-fit: cover;
}
.image-slider .image-slider__navigation {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px;
  justify-content: flex-end;
  margin-top: 72px;
}
@media only screen and (max-width: 899px) {
  .image-slider .image-slider__navigation {
    gap: 16px;
    margin-top: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .image-slider .image-slider__navigation {
    margin-top: 24px;
  }
}
.image-slider .image-slider__navigation .image-slider__nav-btn--prev svg {
  transform: rotate(180deg);
}
.image-slider .image-slider__navigation .image-slider__nav-btn {
  transition: all 250ms ease;
}
.image-slider .image-slider__navigation .image-slider__nav-btn:disabled {
  opacity: 0.32;
}

.project-list {
  position: relative;
  z-index: 2;
  background-color: hsl(0, 0%, 97%);
}
.project-list .wrapper {
  padding-block: 120px;
}
@media only screen and (max-width: 1199px) {
  .project-list .wrapper {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .project-list .wrapper {
    padding-block: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .project-list .wrapper {
    padding-block: 40px;
  }
}
.project-list .project-list__filter {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 32px;
}
@media only screen and (max-width: 599px) {
  .project-list .project-list__filter {
    gap: 16px;
    margin-bottom: 24px;
  }
}
.project-list .project-list__filter > span {
  color: hsl(225, 20%, 12%);
  font-size: 18px;
  font-weight: 500;
  font-family: "futura-100";
}
.project-list .project-list__filter .project-list__filter-option {
  padding: 8px 12px 8px 4px;
  cursor: pointer;
}
@media only screen and (max-width: 599px) {
  .project-list .project-list__filter .project-list__filter-option {
    font-size: 14px;
    padding: 6px 12px 6px 4px;
  }
}
.project-list .project-list__filter .project-list__filter-option:nth-child(even) {
  background-color: transparent;
  border: 1px solid hsl(329, 62.9%, 51.4%);
  color: hsl(329, 62.9%, 51.4%);
}
.project-list .project-list__filter .project-list__filter-option:nth-child(odd) {
  background-color: hsl(329, 62.9%, 51.4%);
  border: 1px solid hsl(329, 62.9%, 51.4%);
  color: hsl(0, 0%, 92.9%);
}
.project-list .project-list__filter .project-list__filter-option input {
  height: 0;
  width: 0;
  opacity: 0;
}
.project-list .project-list__filter-options {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 599px) {
  .project-list .project-list__filter-options {
    gap: 16px;
  }
}
.project-list .project-list__count {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}
.project-list .project-list__count * {
  color: #9A9393;
  font-family: "futura-100";
  font-size: 18px;
  font-style: italic;
  font-weight: 500;
  line-height: normal;
}
.project-list .project-list__item-category {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: 24px;
  position: relative;
  z-index: 2;
}
.project-list .project-list__item-category span {
  background-color: hsl(329, 59.8%, 34.1%);
  padding: 8px;
  font-size: 14px;
  color: hsl(0, 0%, 100%);
  font-family: "futura-100";
  font-weight: 500;
}
.project-list .project-list__item {
  padding: 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
}
.project-list .project-list__item:hover .project-list__teaser,
.project-list .project-list__item:hover .project-list__item-title {
  transform: translateY(-32px);
}
.project-list .project-list__item:hover::after {
  opacity: 1;
}
.project-list .project-list__item .project-list__teaser {
  transition: transform 250ms ease;
}
.project-list .project-list__item::before {
  background: linear-gradient(359deg, #000 2.73%, rgba(43, 43, 43, 0) 96.73%);
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.project-list .project-list__item::after {
  background: linear-gradient(0deg, rgba(209, 53, 134, 0.3) 0%, rgba(209, 53, 134, 0.3) 100%);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  transition: opacity 250ms ease;
  opacity: 0;
}
.project-list .project-list__item .project-list__item-title {
  color: hsl(0, 0%, 97%);
  padding-bottom: 24px;
  margin-bottom: 24px;
  position: relative;
  transition: all 250ms ease;
}
@media only screen and (max-width: 1199px) {
  .project-list .project-list__item .project-list__item-title {
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
}
.project-list .project-list__item .project-list__item-title::before {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  content: "";
  width: 240px;
  height: 1px;
}
.project-list .project-list__item-inner {
  margin-top: auto;
  position: relative;
  z-index: 2;
  color: hsl(0, 0%, 97%);
}
.project-list .project-list__items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 120px;
}
@media only screen and (max-width: 1199px) {
  .project-list .project-list__items {
    gap: 16px;
    margin-top: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .project-list .project-list__items {
    gap: 40px;
    flex-direction: column;
    margin-top: 80px;
  }
}
@media only screen and (max-width: 599px) {
  .project-list .project-list__items {
    gap: 24px;
    margin-top: 40px;
  }
}
.project-list .project-list__items .project-list__column {
  max-width: calc(50% - 12px);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media only screen and (max-width: 1199px) {
  .project-list .project-list__items .project-list__column {
    gap: 16px;
    max-width: calc(50% - 8px);
  }
}
@media only screen and (max-width: 899px) {
  .project-list .project-list__items .project-list__column {
    max-width: 100%;
  }
}
.project-list .project-list__items .project-list__column--left .project-list__item {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
}
.project-list .project-list__items .project-list__column--left .project-list__item:nth-child(odd) {
  min-height: 768px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .project-list .project-list__items .project-list__column--left .project-list__item:nth-child(odd) {
    min-height: 600px;
  }
}
@media only screen and (max-width: 599px) {
  .project-list .project-list__items .project-list__column--left .project-list__item:nth-child(odd) {
    min-height: 400px;
  }
}
.project-list .project-list__items .project-list__column--left .project-list__item:nth-child(even) {
  min-height: 487px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .project-list .project-list__items .project-list__column--left .project-list__item:nth-child(even) {
    min-height: 400px;
  }
}
@media only screen and (max-width: 599px) {
  .project-list .project-list__items .project-list__column--left .project-list__item:nth-child(even) {
    min-height: 320px;
  }
}
.project-list .project-list__items .project-list__column--right .project-list__item {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
}
.project-list .project-list__items .project-list__column--right .project-list__item:nth-child(odd) {
  min-height: 487px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .project-list .project-list__items .project-list__column--right .project-list__item:nth-child(odd) {
    min-height: 400px;
  }
}
@media only screen and (max-width: 599px) {
  .project-list .project-list__items .project-list__column--right .project-list__item:nth-child(odd) {
    min-height: 320px;
  }
}
.project-list .project-list__items .project-list__column--right .project-list__item:nth-child(even) {
  min-height: 768px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .project-list .project-list__items .project-list__column--right .project-list__item:nth-child(even) {
    min-height: 600px;
  }
}
@media only screen and (max-width: 599px) {
  .project-list .project-list__items .project-list__column--right .project-list__item:nth-child(even) {
    min-height: 400px;
  }
}

.project-single {
  background-color: hsl(225, 20%, 12%);
  position: relative;
}
.project-single .wrapper {
  padding-block: 200px 120px;
}
@media only screen and (max-width: 1199px) {
  .project-single .wrapper {
    padding-block: 175px 104px;
  }
}
@media only screen and (max-width: 899px) {
  .project-single .wrapper {
    padding-block: 154px 80px;
  }
}
@media only screen and (max-width: 599px) {
  .project-single .wrapper {
    padding-block: 120px 40px;
  }
}
.project-single .project-single__image {
  max-height: 720px;
  width: 100%;
  height: 100%;
  margin-top: 56px;
}
@media only screen and (max-width: 1199px) {
  .project-single .project-single__image {
    max-height: 560px;
  }
}
@media only screen and (max-width: 899px) {
  .project-single .project-single__image {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .project-single .project-single__image {
    margin-top: 24px;
    max-height: 280px;
  }
}
.project-single .project-single__image img {
  max-height: 720px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (max-width: 1199px) {
  .project-single .project-single__image img {
    max-height: 560px;
  }
}
@media only screen and (max-width: 599px) {
  .project-single .project-single__image img {
    max-height: 280px;
  }
}
.project-single .project-single__back {
  color: hsl(0, 0%, 100%);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding-left: 8px;
  width: fit-content;
}
.project-single .project-single__back:hover svg {
  transform: rotate(180deg) translateX(8px);
}
.project-single .project-single__back svg {
  transition: transform 500ms cubic-bezier(0.68, -0.6, 0.32, 1.65);
  transform: rotate(180deg) translateX(0);
}
.project-single .project-single__head {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 56px;
  gap: 56px;
}
@media only screen and (max-width: 899px) {
  .project-single .project-single__head {
    gap: 40px;
    flex-direction: column;
  }
}
.project-single .project-single__head * {
  color: hsl(0, 0%, 100%);
}
.project-single .project-single__title {
  color: hsl(0, 0%, 100%);
  max-width: 800px;
  width: 100%;
  padding-bottom: 24px;
  position: relative;
}
.project-single .project-single__title span {
  position: relative;
}
.project-single .project-single__title svg {
  position: absolute;
  bottom: 16px;
  right: -16px;
}
@media only screen and (max-width: 899px) {
  .project-single .project-single__title svg {
    bottom: 8px;
  }
}
@media only screen and (max-width: 1199px) {
  .project-single .project-single__title {
    max-width: 661px;
  }
}
@media only screen and (max-width: 899px) {
  .project-single .project-single__title {
    max-width: 100%;
  }
}
.project-single .project-single__title::after {
  background: rgba(255, 255, 255, 0.4);
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 400px;
  height: 1px;
}
.project-single .project-single__details {
  max-width: 378px;
  width: 100%;
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  flex-direction: row;
}
@media only screen and (max-width: 1199px) {
  .project-single .project-single__details {
    max-width: 272px;
  }
}
@media only screen and (max-width: 899px) {
  .project-single .project-single__details {
    max-width: 100%;
    gap: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .project-single .project-single__details {
    gap: 8px;
    flex-direction: column;
  }
}
.project-single .project-single__details .project-single__details-item {
  max-width: calc(50% - 16px);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media only screen and (max-width: 899px) {
  .project-single .project-single__details .project-single__details-item {
    max-width: fit-content;
  }
}

.content-default {
  position: relative;
  z-index: 2;
  background-color: hsl(0, 0%, 97%);
}
.content-default .wrapper {
  padding-block: 120px;
  display: flex;
  flex-direction: row;
  gap: 56px;
  justify-content: space-between;
  align-items: flex-start;
}
@media only screen and (max-width: 1199px) {
  .content-default .wrapper {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .content-default .wrapper {
    padding-block: 80px;
    flex-direction: column;
    gap: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .content-default .wrapper {
    padding-block: 40px;
    gap: 24px;
  }
}
.content-default .content-default__head {
  max-width: 600px;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .content-default .content-default__head {
    max-width: 360px;
  }
}
@media only screen and (max-width: 899px) {
  .content-default .content-default__head {
    max-width: 100%;
  }
}
.content-default .content-default__editor {
  max-width: 624px;
  width: 100%;
  margin-top: 64px;
}
@media only screen and (max-width: 1199px) {
  .content-default .content-default__editor {
    max-width: 480px;
  }
}
@media only screen and (max-width: 899px) {
  .content-default .content-default__editor {
    max-width: 640px;
    margin-top: 0;
  }
}
@media only screen and (max-width: 599px) {
  .content-default .content-default__editor {
    max-width: 100%;
  }
}
.content-default .content-default__socials {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media only screen and (max-width: 599px) {
  .content-default .content-default__socials {
    gap: 16px;
  }
}
.content-default .content-default__social-item {
  display: flex;
  flex-direction: row;
  gap: 24px;
}
@media only screen and (max-width: 899px) {
  .content-default .content-default__social-item {
    gap: 16px;
    flex-direction: column;
  }
}
@media only screen and (max-width: 599px) {
  .content-default .content-default__social-item {
    gap: 8px;
  }
}
.content-default .content-default__social-item a {
  color: hsl(225, 20%, 12%);
  font-weight: 400;
  font-family: "Plus Jakarta Sans";
  transition: color 250ms ease;
}
.content-default .content-default__social-item a:hover {
  color: hsl(329, 62.9%, 51.4%);
}
.content-default .content-default__social-label {
  max-width: 180px;
  width: 100%;
  color: hsl(225, 20%, 12%);
  font-weight: 600;
  font-family: "Plus Jakarta Sans";
}
@media only screen and (max-width: 899px) {
  .content-default .content-default__social-label {
    max-width: 100%;
  }
}
.content-default .content-default__social-icon {
  margin-right: 16px;
}

.content-form {
  background-color: hsl(225, 20%, 12%);
  position: relative;
}
.content-form::before {
  border-radius: 560px;
  background: hsl(329, 59.6%, 42.7%);
  filter: blur(200px);
  width: 560px;
  height: 560px;
  position: absolute;
  content: "";
  right: -57px;
  bottom: 18px;
  z-index: 1;
  pointer-events: none;
}
@media only screen and (max-width: 899px) {
  .content-form::before {
    width: 500px;
    height: 500px;
    left: -63px;
    top: 279px;
    bottom: unset;
    right: unset;
  }
}
.content-form .wrapper {
  padding-block: 120px;
  display: flex;
  flex-direction: row;
  gap: 56px;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 1199px) {
  .content-form .wrapper {
    padding-block: 104px;
  }
}
@media only screen and (max-width: 899px) {
  .content-form .wrapper {
    padding-block: 80px;
    flex-direction: column-reverse;
    gap: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .content-form .wrapper {
    padding-block: 40px;
  }
}
.content-form .content-form__head {
  max-width: 624px;
  width: 100%;
}
@media only screen and (max-width: 1199px) {
  .content-form .content-form__head {
    max-width: 483px;
  }
}
@media only screen and (max-width: 899px) {
  .content-form .content-form__head {
    max-width: 100%;
  }
}
.content-form .content-form__head * {
  color: hsl(0, 0%, 92.9%);
}
.content-form .content-form__image {
  max-width: 624px;
  width: 100%;
  max-height: 720px;
  height: 100%;
}
@media only screen and (max-width: 1199px) {
  .content-form .content-form__image {
    max-width: 483px;
    max-height: 602px;
  }
}
@media only screen and (max-width: 899px) {
  .content-form .content-form__image {
    max-width: 100%;
  }
}
.content-form .content-form__image img {
  max-width: 624px;
  width: 100%;
  height: 720px;
  object-fit: cover;
}
@media only screen and (max-width: 1199px) {
  .content-form .content-form__image img {
    max-width: 483px;
    max-height: 602px;
  }
}
@media only screen and (max-width: 899px) {
  .content-form .content-form__image img {
    max-width: 100%;
  }
}
.content-form .content-form__title {
  padding-bottom: 24px;
  margin-bottom: 24px;
  position: relative;
}
.content-form .content-form__title::before {
  width: 240px;
  height: 1px;
  background: rgba(237, 237, 237, 0.6);
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}

.header {
  background-color: hsl(225, 20%, 12%);
  padding-block: 16px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}
.header .wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.header .header__cta-button {
  margin-left: 40px;
}
@media screen and (max-width: 780px) {
  .header .header__cta-button {
    display: none;
  }
}

.header__menu-button {
  margin-left: auto;
}
@media screen and (min-width: 781px) {
  .header__menu-button {
    display: none;
  }
}
.header__menu-button span {
  width: 24px;
  height: 2px;
  background-color: hsl(0, 0%, 100%);
  display: block;
  margin-block: 6px;
  transition: all 250ms ease;
}
.header__menu-button.is-active span:first-child {
  transform: rotate(45deg);
  position: relative;
  top: 6px;
}
.header__menu-button.is-active span:nth-child(2) {
  opacity: 0;
}
.header__menu-button.is-active span:nth-child(3) {
  transform: rotate(135deg);
  position: relative;
  top: -10px;
}

.navigation {
  margin-left: auto;
  display: flex;
  align-items: center;
  flex-direction: row;
}
@media screen and (max-width: 780px) {
  .navigation {
    display: none;
  }
}
.navigation .navigation__list {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 40px;
}
.navigation .navigation__list * {
  color: #EDEDED;
}
.navigation .navigation__list a {
  position: relative;
  width: fit-content;
  padding-bottom: 4px;
}
.navigation .navigation__list a::before {
  position: absolute;
  width: 0%;
  background-color: hsl(329, 62.9%, 51.4%);
  height: 1.5px;
  content: "";
  bottom: 0;
  left: 0;
  transition: width 250ms ease;
}
.navigation .navigation__list a:hover::before {
  width: 100%;
}
.navigation .navigation__list a.navigation__submenu-link {
  font-size: 16px;
  line-height: 23px;
}
@media only screen and (max-width: 899px) {
  .navigation .navigation__list a.navigation__submenu-link {
    font-size: 16px;
    line-height: 23px;
  }
}
.navigation .navigation__submenu {
  opacity: 0;
  position: absolute;
  pointer-events: none;
  transition: opacity 250ms ease;
  background-color: hsla(329, 59.6%, 42.7%, 0.7);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 160px;
  top: 150%;
}
.navigation .navigation__item--has-submenu {
  position: relative;
}
.navigation .navigation__item--has-submenu::before {
  opacity: 0;
  pointer-events: none;
  width: 160px;
  height: 40px;
  content: "";
  position: absolute;
  top: 65%;
  left: 0;
  z-index: 0;
}
.navigation .navigation__item--has-submenu:hover .navigation__submenu {
  opacity: 1;
  pointer-events: all;
}
.navigation .navigation__item--has-submenu:hover::before {
  opacity: 1;
  pointer-events: all;
  z-index: 3;
}

.navigation-mobile {
  background-color: hsl(225, 20%, 12%);
}
.navigation-mobile .navigation__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.navigation-mobile li.navigation__item > a {
  font-size: 30px;
  line-height: 36px;
  color: hsl(0, 0%, 100%);
  position: relative;
  padding-bottom: 8px;
  font-family: "futura-100";
}
.navigation-mobile li.navigation__item > a::before {
  position: absolute;
  width: 80px;
  background: rgba(237, 237, 237, 0.6);
  height: 1px;
  content: "";
  bottom: 0;
  left: 0;
}
.navigation-mobile .navigation__submenu {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 24px;
}
.navigation-mobile .navigation__submenu li a {
  color: hsl(0, 0%, 100%);
  font-weight: 200;
}
.navigation-mobile .header__cta {
  width: fit-content;
}
.navigation-mobile .header__cta-button {
  width: fit-content;
}
.navigation-mobile .wrapper {
  padding-block: 32px 24px;
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 64px;
}

.footer {
  background-color: hsl(225, 20%, 12%);
  padding-block: 80px 42px;
  position: relative;
  overflow: clip;
}
.footer::before {
  background-image: url("data:image/svg+xml,%3Csvg width='700' height='699' viewBox='0 0 700 699' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23paint0_angular_327_1594_clip_path)' data-figma-skip-parse='true'%3E%3Cg transform='matrix(-0.0145663 0.39177 -0.391739 -0.0145651 362.503 342.015)'%3E%3CforeignObject x='-1261.46' y='-1261.46' width='2522.92' height='2522.92'%3E%3Cdiv xmlns='http://www.w3.org/1999/xhtml' style='background:conic-gradient(from 90deg,rgba(209, 53, 134, 1) 0deg,rgba(209, 53, 134, 0.2) 360deg);height:100%25;width:100%25;opacity:1'%3E%3C/div%3E%3C/foreignObject%3E%3C/g%3E%3C/g%3E%3Cpath d='M268.709 689.511C178.476 668.037 96.9246 610.906 46.8858 524.236C-49.626 357.073 7.63741 143.328 174.787 46.8245C216.088 22.9797 260.233 8.52488 304.751 2.79545L301.01 74.0703C269.721 79.5788 238.846 90.5541 209.737 107.36C76.0175 184.563 30.2068 355.558 107.416 489.289C145.137 554.623 205.242 598.976 272.449 618.251L268.709 689.511ZM524.287 652.176C482.994 676.017 438.857 690.471 394.346 696.202L398.087 624.926C429.369 619.416 460.235 608.442 489.337 591.641C623.057 514.438 668.867 343.442 591.658 209.712C553.941 144.385 493.846 100.034 426.648 80.7555L430.389 9.49504C520.612 30.9742 602.154 88.1023 652.188 174.765C748.7 341.928 691.437 555.672 524.287 652.176Z' data-figma-gradient-fill='%7B&%2334;type&%2334;:&%2334;GRADIENT_ANGULAR&%2334;,&%2334;stops&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:0.20000000298023224%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;stopsVar&%2334;:%5B%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:1.0%7D,&%2334;position&%2334;:0.0%7D,%7B&%2334;color&%2334;:%7B&%2334;r&%2334;:0.81960785388946533,&%2334;g&%2334;:0.20784313976764679,&%2334;b&%2334;:0.52549022436141968,&%2334;a&%2334;:0.20000000298023224%7D,&%2334;position&%2334;:1.0%7D%5D,&%2334;transform&%2334;:%7B&%2334;m00&%2334;:-29.132579803466797,&%2334;m01&%2334;:-783.47735595703125,&%2334;m02&%2334;:768.80798339843750,&%2334;m10&%2334;:783.54089355468750,&%2334;m11&%2334;:-29.130226135253906,&%2334;m12&%2334;:-35.190765380859375%7D,&%2334;opacity&%2334;:1.0,&%2334;blendMode&%2334;:&%2334;NORMAL&%2334;,&%2334;visible&%2334;:true%7D'/%3E%3Cdefs%3E%3CclipPath id='paint0_angular_327_1594_clip_path'%3E%3Cpath d='M268.709 689.511C178.476 668.037 96.9246 610.906 46.8858 524.236C-49.626 357.073 7.63741 143.328 174.787 46.8245C216.088 22.9797 260.233 8.52488 304.751 2.79545L301.01 74.0703C269.721 79.5788 238.846 90.5541 209.737 107.36C76.0175 184.563 30.2068 355.558 107.416 489.289C145.137 554.623 205.242 598.976 272.449 618.251L268.709 689.511ZM524.287 652.176C482.994 676.017 438.857 690.471 394.346 696.202L398.087 624.926C429.369 619.416 460.235 608.442 489.337 591.641C623.057 514.438 668.867 343.442 591.658 209.712C553.941 144.385 493.846 100.034 426.648 80.7555L430.389 9.49504C520.612 30.9742 602.154 88.1023 652.188 174.765C748.7 341.928 691.437 555.672 524.287 652.176Z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  width: 700px;
  height: 700px;
  position: absolute;
  content: "";
  left: -201px;
  bottom: -294px;
  z-index: 0;
  animation: rotate 12s linear infinite;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(360deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.footer * {
  color: hsl(0, 0%, 100%);
}
.footer .footer-top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  gap: 120px;
}
@media only screen and (max-width: 899px) {
  .footer .footer-top {
    gap: 40px;
  }
}
@media only screen and (max-width: 599px) {
  .footer .footer-top {
    gap: 24px;
    flex-direction: column;
  }
}
.footer .footer__head {
  max-width: 443px;
  width: 100%;
  font-size: 64px;
  line-height: 90px;
  font-weight: 600;
}
@media only screen and (max-width: 899px) {
  .footer .footer__head {
    font-size: 36px;
    line-height: 43px;
    max-width: 330px;
  }
}
@media only screen and (max-width: 599px) {
  .footer .footer__head {
    max-width: 100%;
    width: 100%;
  }
}
.footer .footer__body {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 40px;
  max-width: 626px;
  width: 100%;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 599px) {
  .footer .footer__body {
    max-width: 100%;
    width: 100%;
    flex-direction: column;
  }
}
.footer .footer__body h1,
.footer .footer__body h2,
.footer .footer__body h3,
.footer .footer__body h4,
.footer .footer__body h5,
.footer .footer__body h6 {
  font-weight: 600;
  margin-bottom: 24px;
}
.footer .footer__body .footer__editor-1 {
  max-width: fit-content;
  width: 100%;
}
.footer .footer__body .footer__editor-1 a {
  color: hsl(0, 0%, 100%);
  text-decoration: none;
  display: flex;
  position: relative;
  width: fit-content;
  padding-bottom: 4px;
}
.footer .footer__body .footer__editor-1 a::before {
  position: absolute;
  width: 0%;
  background-color: hsl(329, 62.9%, 51.4%);
  height: 1.5px;
  content: "";
  bottom: 0;
  left: 0;
  transition: width 250ms ease;
}
.footer .footer__body .footer__editor-1 a:hover::before {
  width: 100%;
}
.footer .footer__body .footer__editor-2 {
  max-width: fit-content;
  width: 100%;
}
.footer .footer__body .footer__editor-2 a {
  color: hsl(0, 0%, 100%);
  text-decoration: none;
  display: flex;
  position: relative;
  width: fit-content;
  padding-bottom: 4px;
}
.footer .footer__body .footer__editor-2 a::before {
  position: absolute;
  width: 0%;
  background-color: hsl(329, 62.9%, 51.4%);
  height: 1.5px;
  content: "";
  bottom: 0;
  left: 0;
  transition: width 250ms ease;
}
.footer .footer__body .footer__editor-2 a:hover::before {
  width: 100%;
}
.footer .footer__cta {
  margin-top: 32px;
  width: fit-content;
}
.footer .footer-legal {
  padding-top: 120px;
  display: flex;
  justify-content: flex-end;
  font-size: 16px;
  line-height: 23px;
}
@media only screen and (max-width: 899px) {
  .footer .footer-legal {
    font-size: 16px;
    line-height: 23px;
  }
}
@media only screen and (max-width: 599px) {
  .footer .footer-legal {
    justify-content: flex-start;
    padding-top: 40px;
  }
}
.footer .footer-legal .footer__copyright {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 38px;
}
@media only screen and (max-width: 599px) {
  .footer .footer-legal .footer__copyright {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}

/**
 * Utilities.
 */
/**
 * Color utility classes.
 *
 * Automatically generated color and background color utility classes based on every color definition in `settings/_color.scss`.
 * Loop through every `$key` and `$map` in the `$colors` variable map defined in `settings/_color.scss`.
 */
/**
 * `color` hsl(225, 20%, 12%)-100 color utility.
 */
.color-black-100 {
  color: hsl(225, 20%, 12%);
}

/**
 * `background-color` hsl(225, 20%, 12%)-100 color utility.
 */
.background-color-black-100 {
  background-color: hsl(225, 20%, 12%);
}

/**
 * `color` hsl(0, 0%, 97%)-100 color utility.
 */
.color-background-color-100 {
  color: hsl(0, 0%, 97%);
}

/**
 * `background-color` hsl(0, 0%, 97%)-100 color utility.
 */
.background-color-background-color-100 {
  background-color: hsl(0, 0%, 97%);
}

/**
 * `color` hsl(0, 0%, 100%)-100 color utility.
 */
.color-white-100 {
  color: hsl(0, 0%, 100%);
}

/**
 * `background-color` hsl(0, 0%, 100%)-100 color utility.
 */
.background-color-white-100 {
  background-color: hsl(0, 0%, 100%);
}

/**
 * `color` hsl(0, 100%, 50%)-100 color utility.
 */
.color-red-100 {
  color: hsl(0, 100%, 50%);
}

/**
 * `background-color` hsl(0, 100%, 50%)-100 color utility.
 */
.background-color-red-100 {
  background-color: hsl(0, 100%, 50%);
}

/**
 * `color` hsl(0, 100%, 50%)-10 color utility.
 */
.color-red-10 {
  color: hsl(0, 100%, 50%);
}

/**
 * `background-color` hsl(0, 100%, 50%)-10 color utility.
 */
.background-color-red-10 {
  background-color: hsl(0, 100%, 50%);
}

/**
 * `color` hsl(329, 62.9%, 51.4%)-100 color utility.
 */
.color-s-n-g-pink-100 {
  color: hsl(329, 62.9%, 51.4%);
}

/**
 * `background-color` hsl(329, 62.9%, 51.4%)-100 color utility.
 */
.background-color-s-n-g-pink-100 {
  background-color: hsl(329, 62.9%, 51.4%);
}

/**
 * `color` hsl(225, 20%, 11.8%)-100 color utility.
 */
.color-dark-100 {
  color: hsl(225, 20%, 11.8%);
}

/**
 * `background-color` hsl(225, 20%, 11.8%)-100 color utility.
 */
.background-color-dark-100 {
  background-color: hsl(225, 20%, 11.8%);
}

/**
 * `color` hsl(0, 0%, 92.9%)-100 color utility.
 */
.color-gray-100 {
  color: hsl(0, 0%, 92.9%);
}

/**
 * `background-color` hsl(0, 0%, 92.9%)-100 color utility.
 */
.background-color-gray-100 {
  background-color: hsl(0, 0%, 92.9%);
}

/**
 * `color` hsl(329, 59.6%, 42.7%)-100 color utility.
 */
.color-pink-1-100 {
  color: hsl(329, 59.6%, 42.7%);
}

/**
 * `background-color` hsl(329, 59.6%, 42.7%)-100 color utility.
 */
.background-color-pink-1-100 {
  background-color: hsl(329, 59.6%, 42.7%);
}

/**
 * `color` hsla(329, 59.6%, 42.7%, 0.7)-70 color utility.
 */
.color-pink-1-70 {
  color: hsla(329, 59.6%, 42.7%, 0.7);
}

/**
 * `background-color` hsla(329, 59.6%, 42.7%, 0.7)-70 color utility.
 */
.background-color-pink-1-70 {
  background-color: hsla(329, 59.6%, 42.7%, 0.7);
}

/**
 * `color` hsl(329, 59.8%, 34.1%)-100 color utility.
 */
.color-pink-2-100 {
  color: hsl(329, 59.8%, 34.1%);
}

/**
 * `background-color` hsl(329, 59.8%, 34.1%)-100 color utility.
 */
.background-color-pink-2-100 {
  background-color: hsl(329, 59.8%, 34.1%);
}

/**
 * `color` hsl(329, 59.1%, 25.9%)-100 color utility.
 */
.color-pink-3-100 {
  color: hsl(329, 59.1%, 25.9%);
}

/**
 * `background-color` hsl(329, 59.1%, 25.9%)-100 color utility.
 */
.background-color-pink-3-100 {
  background-color: hsl(329, 59.1%, 25.9%);
}

/**
 * `color` hsl(329, 59.1%, 17.3%)-100 color utility.
 */
.color-pink-4-100 {
  color: hsl(329, 59.1%, 17.3%);
}

/**
 * `background-color` hsl(329, 59.1%, 17.3%)-100 color utility.
 */
.background-color-pink-4-100 {
  background-color: hsl(329, 59.1%, 17.3%);
}