/*
Theme Name: Bricks Child Theme
Description: Child theme for the Bricks theme.
Author: SNK
Author URI: https://snk.de/
Template: bricks
Version: 1.0.0
Text Domain: bricks-child
*/
:root {
  --ess-font-head: "InriaSerif", sans-serif;
  --ess-font-body: "Degular-Regular", sans-serif;
  --ess-text-lg: 1.75rem;
  --ess-text-md: 1.5rem;
  --ess-text-base: 1.25rem;
  --ess-text-sm: 0.875rem;
  --ess-text-xs: 0.75rem;
  --ess-h1: 3rem;
  --ess-h2: 2.5rem;
  --ess-tagline: 1rem;
  --neutrals-6: #7f8694;
  --neutrals-7: #646a78;
  --neutrals-8: #4a4f59;
  --beige-light: #fdfbf8;
}

@media (min-width: 992px) {
  :root {
    --ess-text-lg: 1.25rem;
    --ess-text-md: 1.125rem;
    --ess-text-base: 1.25rem;
    --ess-text-sm: 0.875rem;
    --ess-text-xs: 0.75rem;
    --ess-h1: 4.5rem;
    --ess-h2: 4rem;
  }
}
html {
  font-size: 100%;
}

body {
  font-size: var(--ess-text-base);
  font-family: var(--ess-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--ess-font-head);
  font-weight: 500;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
}

.ess-ratio {
  overflow: hidden;
}
.ess-ratio--16-9 {
  aspect-ratio: 16/9;
}
.ess-ratio--4-3 {
  aspect-ratio: 4/3;
}
.ess-ratio--3-2 {
  aspect-ratio: 3/2;
}
.ess-ratio--1-1 {
  aspect-ratio: 1/1;
}
.ess-ratio img,
.ess-ratio video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ess-grid-auto {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--ess-card-min-w, 280px), 100%), 1fr));
  gap: var(--ess-gap);
}

.ess-grid-auto--sm {
  --ess-card-min-w: 220px;
}

.ess-grid-auto--lg {
  --ess-card-min-w: 360px;
}

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

.ess-bg-dark {
  background-color: var(--ess-bg-dark);
  color: var(--ess-text-on-dark);
  --ess-text: var(--ess-white);
  --ess-text-muted: var(--ess-gray-300);
  --ess-border: rgba(255, 255, 255, 0.15);
  --ess-border-strong: rgba(255, 255, 255, 0.3);
}

body:not(.home) #brx-header.brx-sticky + #brx-content {
  padding-top: 5.25rem;
}
@media (min-width: 992px) {
  body:not(.home) #brx-header.brx-sticky + #brx-content {
    padding-top: 6.1875rem;
  }
}

@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: InriaSerif;
  font-style: normal;
  font-weight: 400;
  src: url(assets/fonts/inria-serif/InriaSerif-Light.ttf) format("truetype"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: InriaSerif;
  font-style: italic;
  font-weight: 400;
  src: url(assets/fonts/inria-serif/InriaSerif-Italic.ttf) format("truetype"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: InriaSerif;
  font-style: normal;
  font-weight: 400;
  src: url(assets/fonts/inria-serif/InriaSerif-Regular.ttf) format("truetype"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: InriaSerif;
  font-style: italic;
  font-weight: 500;
  src: url(assets/fonts/inria-serif/InriaSerif-Italic.ttf) format("truetype"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: InriaSerif;
  font-style: normal;
  font-weight: 600;
  src: url(assets/fonts/inria-serif/InriaSerif-Bold.ttf) format("truetype"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: InriaSerif;
  font-style: normal;
  font-weight: 600;
  src: url(assets/fonts/inria-serif/InriaSerif-BoldItalic.ttf) format("truetype"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: Degular-Regular;
  font-style: normal;
  font-weight: 400;
  src: url(assets/fonts/degular/Degular-Regular.woff2) format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: Degular-Regular;
  font-style: normal;
  font-weight: 500;
  src: url(assets/fonts/degular/Degular-Regular.woff2) format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: Degular-Regular;
  font-style: normal;
  font-weight: 600;
  src: url(assets/fonts/degular/Degular-Semibold.woff2) format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.header__wrapper.brxe-container {
  column-gap: 0;
}
.header__logo-wrapper {
  min-width: 135px;
}
.header__nav-wrapper {
  margin-left: 68px;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.header__nav-wrapper .bricks-mobile-menu-toggle {
  color: #000;
}
.header__nav-wrapper li {
  margin-left: 32px;
}
.header__nav-wrapper li a:hover {
  text-decoration: underline;
}
.header__nav-wrapper li.bricks-button {
  display: none;
}
@media (max-width: calc(992px - 1px)) {
  .header__nav-wrapper {
    width: auto;
    margin-left: auto;
  }
  .header__nav-wrapper .bricks-mobile-menu-wrapper {
    border-top: 1px solid rgba(28, 28, 42, 0.1);
  }
  .header__nav-wrapper .bricks-mobile-menu-wrapper::before {
    background-color: #fdfbf8;
  }
  .header__nav-wrapper .bricks-mobile-menu-wrapper .bricks-mobile-menu {
    padding: 60px 0;
  }
  .header__nav-wrapper .bricks-mobile-menu-wrapper li:not(:last-of-type) {
    margin-bottom: 24px;
  }
  .header__nav-wrapper .bricks-mobile-menu-wrapper li.current-menu-item > a {
    text-decoration: underline;
    font-weight: 600;
  }
  .header__nav-wrapper .bricks-mobile-menu-wrapper li.bricks-button {
    display: flex;
  }
  .header__nav-wrapper .bricks-mobile-menu-wrapper li > a {
    color: #000;
    font-weight: 400;
    padding-left: 0;
    line-height: 1;
    font-size: 2rem;
  }
  .header__nav-wrapper .bricks-mobile-menu-overlay {
    background-color: transparent;
  }
  .header__btn-wrapper {
    display: none !important;
  }
}

.post-meta {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.post-meta.brxe-block, .post-meta.brxe-container {
  gap: 2rem;
}
.post-meta__date {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.2;
  color: var(--neutrals-7, #646a78);
  white-space: nowrap;
  font-size: 1rem;
  letter-spacing: 0.03125rem;
}
.post-meta__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentcolor;
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.2;
  color: var(--neutrals-8, #4a4f59);
  white-space: nowrap;
  font-size: 1rem;
  letter-spacing: 0.03125rem;
  padding: 0.25rem 0.5rem;
  min-width: 5.125rem;
}
.post-meta__category:empty {
  display: none;
}

.blog-list {
  background-color: var(--beige-light, #fdfbf8);
}
.blog-list.brxe-section {
  padding: 1.5rem 1rem 3rem;
}
@media (min-width: 992px) {
  .blog-list.brxe-section {
    padding: 2.5rem 3.75rem 7.5rem;
  }
}
.blog-list__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: var(--desktop-max-width, 1320px);
  margin-inline: auto;
}
.blog-list__inner.brxe-block {
  gap: 0;
}
.blog-list__item {
  position: relative;
  align-self: stretch;
  text-decoration: none;
  cursor: pointer;
  padding: 1.75rem 0.25rem;
}
.blog-list__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--neutrals-6, #7f8694);
}
.blog-list__item.brxe-block {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.5rem;
}
@media (min-width: 992px) {
  .blog-list__item.brxe-block {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
  }
}
@media (min-width: 992px) and (hover: hover) {
  .blog-list__item:hover .blog-list__title {
    text-decoration-color: currentcolor;
  }
  .blog-list__item:hover .blog-list__arrow {
    transform: translateX(0.5rem);
  }
}
.blog-list__head {
  align-items: center;
  justify-content: space-between;
  align-self: stretch;
}
.blog-list__head.brxe-block {
  display: flex;
  flex-direction: row;
}
@media (min-width: 992px) {
  .blog-list__head.brxe-block {
    display: contents;
  }
}
.blog-list__title {
  font-family: var(--ess-font-body);
  font-weight: 600;
  line-height: 1.25;
  color: var(--color-primary, #1c1e22);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.2em;
  transition: text-decoration-color 0.25s ease;
  font-size: 1.25rem;
}
@media (min-width: 992px) {
  .blog-list__title {
    order: 1;
    margin-inline-end: auto;
  }
}
.blog-list__arrow {
  flex-shrink: 0;
  color: var(--color-primary, #1c1e22);
  transition: transform 0.25s ease;
  width: 1.5rem;
  height: 1.5rem;
}
.blog-list__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media (min-width: 992px) {
  .blog-list__arrow {
    order: 2;
  }
}
@supports (grid-template-columns: subgrid) {
  .blog-list .blog-list__inner.brxe-block {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr) auto;
    column-gap: 0.5rem;
  }
  .blog-list .blog-list__item.brxe-block {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/-1;
    row-gap: 0.5rem;
  }
  .blog-list .blog-list__head.brxe-block,
  .blog-list .post-meta {
    display: contents;
  }
  .blog-list .post-meta__date {
    grid-row: 1;
    grid-column: 1;
    align-self: center;
  }
  .blog-list .post-meta__category:not(:empty) {
    display: block;
    grid-row: 2;
    grid-column: 1/-1;
    justify-self: start;
    align-self: center;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
  }
  .blog-list .blog-list__arrow {
    grid-row: 1;
    grid-column: 3;
    justify-self: end;
    align-self: center;
  }
  .blog-list .blog-list__title {
    grid-row: 3;
    grid-column: 1/-1;
    margin-top: 1rem;
  }
  @media (min-width: 360px) {
    .blog-list .blog-list__item.brxe-block {
      row-gap: 1.5rem;
    }
    .blog-list .post-meta__category:not(:empty) {
      grid-row: 1;
      grid-column: 2;
      min-width: min(5.125rem, 100% - 1.5rem);
      max-width: calc(100% - 1.5rem);
      margin-inline-start: 1.5rem;
    }
    .blog-list .blog-list__title {
      grid-row: 2;
      margin-top: 0;
    }
  }
  @media (min-width: 992px) {
    .blog-list .blog-list__inner.brxe-block {
      grid-template-columns: max-content max-content minmax(0, 1fr) auto;
    }
    .blog-list .blog-list__item.brxe-block {
      row-gap: 0;
    }
    .blog-list .blog-list__title {
      grid-row: 1;
      grid-column: 3;
      align-self: center;
    }
    .blog-list .blog-list__arrow {
      grid-column: 4;
    }
  }
}

.hero-short {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.hero-short.brxe-section {
  padding-top: 0;
  padding-bottom: 0;
}
.hero-short__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.hero-short__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
}
.hero-short__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  padding-block: 7.5rem;
}
.hero-short__content.brxe-container {
  gap: 2rem;
}
@media (max-width: calc(768px - 1px)) {
  .hero-short__content {
    padding: 3rem 0;
  }
}
.hero-short__tag {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.2;
  color: var(--neutrals-7, #646a78);
  font-size: 1.25rem;
  letter-spacing: 0.09375rem;
  margin-bottom: -1rem;
}
.hero-short__tag:empty {
  display: none;
}
.hero-short__tag a {
  color: inherit;
  text-decoration: none;
}
.hero-short__heading {
  font-feature-settings: "liga" off, "clig" off;
  line-height: 1.2;
  font-size: 4.5rem;
  letter-spacing: -0.045rem;
}
@media (max-width: calc(768px - 1px)) {
  .hero-short__heading {
    font-size: 3.25rem;
    letter-spacing: -0.0325rem;
  }
}
.hero-short__copy {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-primary, #1c1e22);
  font-size: 1.25rem;
  max-width: 65rem;
}

.statement-banner {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--color-primary, #1c1e22);
}
.statement-banner.brxe-section {
  padding: 0;
}
.statement-banner__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.statement-banner__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.statement-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(28, 30, 34, 0.2);
  pointer-events: none;
}
.statement-banner__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-inline: auto;
  max-width: 90rem;
  padding: 7.5rem 3.75rem;
}
@media (max-width: calc(768px - 1px)) {
  .statement-banner__content {
    padding: 3rem 1.25rem;
  }
}
.statement-banner__heading {
  font-family: var(--ess-font-head);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-white, #fff);
  font-size: 2.125rem;
  letter-spacing: -0.02125rem;
  max-width: 50.6875rem;
}
.statement-banner__heading .heading-highlight {
  font-style: italic;
  color: var(--color-secondary, #e7ff00);
}

.media-text--2col {
  border-bottom: 1px solid rgba(28, 30, 34, 0.2);
  background-color: var(--beige-light, #fdfbf8);
}
.media-text--2col.brxe-section {
  padding-block: 7.5rem;
  padding-inline: 3.75rem;
}
.media-text--2col .mt2col__inner {
  display: grid;
  grid-template-columns: 33% 1fr;
  align-items: stretch;
  width: 100%;
  max-width: var(--desktop-max-width, 1320px);
  margin-inline: auto;
  column-gap: 4rem;
}
.media-text--2col .mt2col__image {
  display: block;
  align-self: start;
  width: 100%;
  height: auto;
  aspect-ratio: 2/3;
  object-fit: cover;
}
.media-text--2col .mt2col__body {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-self: stretch;
  justify-content: space-between;
  gap: 4rem;
}
.media-text--2col .mt2col__body:only-child {
  grid-column: 1/-1;
}
.media-text--2col .mt2col__statement {
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  font-size: 3.625rem;
}
.media-text--2col .mt2col__cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3rem;
}
.media-text--2col .mt2col__col {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: 2.5rem;
}
.media-text--2col .mt2col__col-title {
  display: block;
  width: 100%;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  border-bottom: 1px solid rgba(28, 30, 34, 0.2);
  font-size: 2.125rem;
  padding-bottom: 1rem;
}
.media-text--2col .mt2col__col-copy {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-primary, #1c1e22);
  font-size: 1.25rem;
  max-width: 27.5rem;
}
@media (max-width: calc(1440px - 1px)) {
  .media-text--2col.brxe-section {
    padding-block: 4rem;
  }
}
@media (max-width: calc(992px - 1px)) {
  .media-text--2col.brxe-section {
    padding-block: 3rem;
    padding-inline: 1.25rem;
    padding-bottom: 3rem;
  }
  .media-text--2col .mt2col__inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .media-text--2col .mt2col__image {
    display: none;
  }
  .media-text--2col .mt2col__body {
    gap: 2.625rem;
  }
  .media-text--2col .mt2col__statement {
    font-size: 2.5rem;
  }
  .media-text--2col .mt2col__col-title {
    border-bottom: 1px solid var(--neutrals-7, #646a78);
    font-size: 1.75rem;
  }
  .media-text--2col .mt2col__cols {
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }
}

.text-media.brxe-section {
  padding: 3rem 1.25rem;
}
@media (min-width: 992px) {
  .text-media.brxe-section {
    padding: 5rem 3.75rem;
  }
}
.text-media__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: var(--desktop-max-width, 1320px);
  margin-inline: auto;
}
.text-media__inner.brxe-block {
  gap: 2.5rem;
}
@media (min-width: 992px) {
  .text-media__inner {
    flex-direction: row;
    align-items: flex-start;
  }
  .text-media__inner.brxe-block {
    gap: 4rem;
  }
}
.text-media__text {
  display: flex;
  flex-direction: column;
}
.text-media__text.brxe-block {
  gap: 1.5rem;
}
@media (min-width: 992px) {
  .text-media__text {
    flex: 1 1 0;
    min-width: 0;
  }
}
.text-media__date {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.2;
  color: var(--neutrals-7, #646a78);
  font-size: 1.25rem;
  letter-spacing: 0.09375rem;
}
.text-media__date:empty {
  display: none;
}
.text-media__date--custom:not(:empty) ~ .text-media__date--post {
  display: none;
}
.text-media__body {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.25;
  color: #000;
  font-size: 1.25rem;
}
@media (min-width: 992px) {
  .text-media__media {
    flex: 1 1 0;
    min-width: 0;
  }
}
.text-media__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
}

.contact-teaser {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.contact-teaser.brxe-section {
  padding: 0;
}
.contact-teaser .bricks-button {
  color: #33363d !important;
}
.contact-teaser__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.contact-teaser__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.contact-teaser__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
  text-align: center;
  max-width: 90rem;
  gap: 3rem;
  padding: 7.5rem 3.75rem;
}
@media (max-width: calc(768px - 1px)) {
  .contact-teaser__content {
    padding: 3rem 1.25rem;
  }
}
.contact-teaser__heading {
  font-family: var(--ess-font-head);
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
  color: #000;
  font-size: 3.625rem;
  letter-spacing: -0.03625rem;
}
@media (max-width: calc(768px - 1px)) {
  .contact-teaser__heading {
    font-size: 2.5rem;
    letter-spacing: -0.025rem;
  }
}

.feature-grid.brxe-section {
  background-color: var(--beige-light, #fdfbf8);
  padding-block: 3rem;
  padding-inline: 1.25rem;
}
.feature-grid__grid {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  width: 100%;
  max-width: var(--desktop-max-width, 1320px);
  margin-inline: auto;
  padding: 1rem;
}
.feature-grid__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.feature-grid__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature-grid__accordion {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 992px) {
  .feature-grid__accordion {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 365px));
    grid-template-rows: auto auto auto;
    justify-content: space-between;
    row-gap: 0;
  }
}
.feature-grid__item {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  padding-bottom: 1rem;
}
.feature-grid__item.brxe-block {
  gap: 0;
}
.feature-grid__item:not(:last-child) {
  border-bottom: 1px solid var(--neutrals-7, #646a78);
}
@media (min-width: 992px) {
  .feature-grid__item {
    display: grid;
    grid-row: 1/span 3;
    grid-template-rows: subgrid;
  }
  .feature-grid__item:not(:last-child) {
    border: 0;
  }
}
.feature-grid .feature-grid__header.accordion-title-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  cursor: pointer;
  gap: 1.5rem;
  padding: 1.5rem 0 0.5rem;
}
.feature-grid__number {
  width: 100%;
  font-family: var(--ess-font-head);
  font-weight: 400;
  line-height: 1.2;
  color: #33363d;
  font-size: 2.5rem;
  letter-spacing: -0.075rem;
}
@media (min-width: 992px) {
  .feature-grid__number {
    font-size: 4.25rem;
    letter-spacing: -0.1275rem;
  }
}
.feature-grid__title {
  font-family: var(--ess-font-head);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary, #1c1e22);
  font-size: 1.75rem;
  letter-spacing: -0.0175rem;
}
@media (min-width: 992px) {
  .feature-grid__title {
    font-size: 2.125rem;
    letter-spacing: -0.02125rem;
  }
}
.feature-grid__chevron {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b6b7e;
  aspect-ratio: 1/1;
  top: 1.75rem;
  right: 0;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 2rem !important;
  transition: transform 0.2s ease-in-out;
}
.feature-grid__chevron.brx-icon-transform {
  --brx-icon-transform: rotate(-180deg);
}
.feature-grid__copy {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-primary, #1c1e22);
  font-size: 1.25rem;
  padding: 0 0 0.5rem;
}
.feature-grid .feature-grid__header.accordion-title-wrapper {
  row-gap: 0 !important;
}
.feature-grid .accordion-content-wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.feature-grid .feature-grid__copy p {
  margin: 0;
}
.feature-grid .feature-grid__title {
  margin-top: 1.5rem;
}
@media (min-width: 992px) {
  .feature-grid.brxe-section {
    padding-block: 7.5rem;
    padding-inline: 3.75rem;
  }
  .feature-grid .feature-grid__grid {
    padding-top: 2.5rem;
    padding-bottom: 1rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .feature-grid .feature-grid__header.accordion-title-wrapper {
    display: block;
    padding: 0;
    pointer-events: none;
    cursor: default;
  }
  .feature-grid .accordion-content-wrapper {
    display: block !important;
  }
  .feature-grid .feature-grid__chevron {
    display: none;
  }
  .feature-grid .feature-grid__number {
    grid-row: 1;
    margin-top: 0;
  }
  .feature-grid .feature-grid__title {
    grid-row: 2;
    line-height: 1.1;
    margin-top: 3.625rem;
  }
  .feature-grid .feature-grid__copy {
    grid-row: 3;
    padding-inline: 0;
    padding-top: 0.5rem;
  }
}

.case-card.brxe-block {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  flex: 1 1 auto;
  height: 100%;
  overflow: hidden;
  border: 1px solid #ddd9d1;
  min-height: 32.5rem;
}
.case-card__body {
  flex: 1 1 auto;
  padding: 1.0625rem 0.875rem;
}
.case-card__body.brxe-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
}
.case-card__roofline {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-primary, #1c1e22);
  font-size: 1.25rem;
  letter-spacing: 0.03125rem;
}
.case-card__title {
  font-family: var(--ess-font-head);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary, #1c1e22);
  font-size: 1.75rem;
  letter-spacing: -0.0175rem;
  margin-top: 0.5rem;
  min-height: 9.125rem;
}
.case-card__title p {
  margin: 0;
}
.case-card__copy {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.25;
  color: #33363d;
  font-size: 1.125rem;
  margin-top: 1.5rem;
}
.case-card__copy p {
  margin: 0;
}
.case-card__copy strong,
.case-card__copy b {
  font-weight: 600;
}
.case-card__kpi {
  margin-top: auto;
  padding-top: 2rem;
}
.case-card__kpi-value {
  font-family: var(--ess-font-head);
  font-weight: 400;
  line-height: 1.1;
  color: var(--color-primary, #1c1e22);
  font-size: 3.625rem;
}
@media (max-width: 767px) {
  .case-card__kpi-value {
    line-height: 1.2;
    font-size: 3.25rem;
    letter-spacing: -0.0975rem;
  }
}
.case-card__kpi-label {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.25;
  color: #33363d;
  font-size: 1.125rem;
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .case-card__kpi-label {
    color: var(--color-primary, #1c1e22);
    font-size: 1.25rem;
  }
}
.case-card__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-highlight-1, #f9f3eb);
  min-height: 7rem;
  padding: 1.5rem 2rem;
}
.case-card__logo {
  display: block;
  width: auto;
  object-fit: contain;
  object-position: center;
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
  max-width: 16.5625rem;
  max-height: 2.5rem;
}

.card-slider.brxe-section {
  background-color: #fdfbf8;
  padding: 7.5rem 3.75rem;
}
@media (max-width: calc(992px - 1px)) {
  .card-slider.brxe-section {
    padding: 3rem 1.25rem;
  }
}
.card-slider__wrapper {
  width: 100%;
  max-width: var(--desktop-max-width, 1320px);
  margin-inline: auto;
  position: relative;
}
.card-slider__heading {
  margin: 0;
  line-height: 1.3;
  width: 65%;
  font-size: 3.625rem;
  letter-spacing: -0.03625rem;
}
@media (max-width: calc(992px - 1px)) {
  .card-slider__heading {
    width: 100%;
  }
}
@media (max-width: calc(768px - 1px)) {
  .card-slider__heading {
    hyphens: auto;
    hyphenate-limit-chars: 10 4 4;
    text-wrap: balance;
  }
}
.card-slider__subline {
  line-height: 1.25;
  color: #33363d;
  width: 65%;
  font-size: 1.25rem;
  padding-top: 2rem;
}
@media (max-width: calc(992px - 1px)) {
  .card-slider__subline {
    width: 100%;
  }
}
.card-slider__slider {
  position: relative;
}
.card-slider__slider .splide__arrows {
  position: absolute;
  top: -108px;
  right: 0;
  display: flex;
  padding: 0;
}
.card-slider__slider .splide__arrows .splide__arrow {
  position: unset;
}
.card-slider__slider .splide__arrows .splide__arrow > svg {
  display: none;
}
.card-slider__slider .splide__arrows .splide__arrow::before {
  content: "";
  display: block;
  width: 55px;
  height: 55px;
  border-radius: 80px;
  background: var(--color-secondary);
  filter: blur(7px);
}
.card-slider__slider .splide__arrows .splide__arrow::after {
  content: "";
  display: block;
  width: 33px;
  height: 33px;
  position: absolute;
  top: 12px;
  left: 8px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* stylelint-disable-next-line function-url-quotes */
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="41" height="33" viewBox="0 0 41 33" fill="none"%3E%3Cpath d="M22.918 0.0556641L23.5908 0.111328C23.5617 0.460401 23.5498 0.819521 23.5498 1.18945C23.5498 9.24316 30.082 15.7695 38.1299 15.7695V15.7715H40.373V17.1211H38.1299V17.2305C30.082 17.2305 23.5498 23.7568 23.5498 31.8105C23.5498 32.1803 23.5618 32.5388 23.5908 32.8877L22.918 32.9443L22.2461 33C22.2132 32.6057 22.2002 32.2087 22.2002 31.8105C22.2002 25.2 26.2281 19.5322 31.96 17.1211H0V15.7715H31.7129C26.1129 13.3029 22.2002 7.70447 22.2002 1.18945C22.2002 0.791263 22.2132 0.394273 22.2461 0L22.918 0.0556641Z" fill="%234A4F59"/%3E%3C/svg%3E');
}
.card-slider__slider .splide__arrows.custom {
  display: flex;
}
@media (max-width: calc(992px - 1px)) {
  .card-slider__slider .splide__arrows {
    width: 100%;
    align-items: flex-end;
    justify-content: flex-end;
    top: -108px;
  }
}
.card-slider__slider .splide__track {
  overflow: clip visible;
}
.card-slider__slider .splide__slide {
  height: 100% !important;
}
.card-slider__slider .splide__pagination {
  transform: unset;
  transition: all 0.5s ease-in-out;
}
@media (max-width: calc(992px - 1px)) {
  .card-slider__slider .splide__arrows {
    width: 100%;
    align-items: flex-end;
    justify-content: flex-end;
    top: -108px;
  }
}
@media (max-width: calc(768px - 1px)) {
  .card-slider__slider {
    padding: 0;
    order: 1;
  }
  .card-slider__slider .splide__arrows {
    position: unset;
  }
}
.card-slider .brxe-srdjot .splide__track {
  height: auto !important;
}
.card-slider .brxe-srdjot .splide__list {
  display: flex;
  align-items: stretch;
  height: auto !important;
}
.card-slider .brxe-srdjot .splide__slide,
.card-slider .brxe-srdjot .splide__list > .brxe-block {
  height: auto !important;
}
.card-slider .brxe-srdjot .brxe-snk-template-slug {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
}
.card-slider .brxe-srdjot a[href] {
  color: inherit;
  text-decoration: none;
  cursor: default;
  pointer-events: none;
}
.card-slider.is-clickable .brxe-srdjot a[href] {
  cursor: pointer;
  pointer-events: auto;
}
@media (min-width: 992px) and (hover: hover) {
  .card-slider.is-clickable .brxe-srdjot a[href] {
    transition: box-shadow 0.3s ease;
  }
  .card-slider.is-clickable .brxe-srdjot a[href]:hover {
    box-shadow: 0 8px 24px rgba(28, 30, 34, 0.12);
  }
}

.cta-banner {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--color-highlight-1, #f9f3eb);
}
.cta-banner.brxe-section {
  padding: 0;
}
.cta-banner__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.4;
  mask-image: linear-gradient(to right, #000, #000 35%, transparent 90%), linear-gradient(to bottom, rgba(0, 0, 0, 0.45), #000 40%);
  mask-composite: intersect;
  -webkit-mask-image: linear-gradient(to right, #000, #000 35%, transparent 90%), linear-gradient(to bottom, rgba(0, 0, 0, 0.45), #000 40%);
  -webkit-mask-composite: source-in;
}
.cta-banner__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.cta-banner__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  margin-inline: auto;
  max-width: 90rem;
  padding: 3rem 1.5rem;
}
.cta-banner__inner.brxe-block {
  gap: 2rem;
}
@media (min-width: 768px) {
  .cta-banner__inner {
    padding: 5rem 2.5rem;
  }
}
@media (min-width: 1200px) {
  .cta-banner__inner {
    flex-direction: row;
    align-items: flex-start;
    padding: 7.5rem 3.75rem;
  }
}
.cta-banner__heading {
  font-family: var(--ess-font-head);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary, #1c1e22);
  font-feature-settings: "liga" off, "clig" off;
  font-size: 3.625rem;
  letter-spacing: -0.03625rem;
}
@media (max-width: calc(768px - 1px)) {
  .cta-banner__heading {
    font-size: 2.5rem;
    letter-spacing: -0.025rem;
  }
}
@media (min-width: 1200px) {
  .cta-banner__heading {
    flex: 0 1 auto;
    max-width: 47.5rem;
  }
}
.cta-banner__heading .heading-highlight {
  font-style: italic;
}
.cta-banner__right {
  display: flex;
  flex-direction: column;
}
.cta-banner__right.brxe-block {
  gap: 3rem;
}
@media (min-width: 1200px) {
  .cta-banner__right {
    flex: 1 0 0;
    align-self: stretch;
    align-items: flex-end;
  }
}
.cta-banner__copy {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-primary, #1c1e22);
  font-size: 1.25rem;
}
@media (min-width: 768px) {
  .cta-banner__copy {
    max-width: 40rem;
  }
}
@media (min-width: 1200px) {
  .cta-banner__copy {
    max-width: 33.125rem;
  }
}
.cta-banner__cta {
  display: flex;
  align-items: center;
  font-family: var(--ess-font-body);
  font-weight: 600;
  line-height: 1.45;
  color: var(--neutrals-9, #33363d);
  font-feature-settings: "liga" off, "clig" off;
  text-decoration: none;
  font-size: 1.25rem;
  gap: 0.75rem;
}
.cta-banner__cta svg,
.cta-banner__cta img {
  flex-shrink: 0;
  transition: transform 0.3s ease;
  width: 3.375rem;
  height: 3.375rem;
}
.cta-banner__cta:hover svg, .cta-banner__cta:hover img {
  transform: translateX(8px);
}

.rich-text.brxe-section {
  padding: 3rem 1.25rem 0;
}
@media (min-width: 992px) {
  .rich-text.brxe-section {
    padding: 5rem 3.75rem 0;
  }
}
.rich-text__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: var(--desktop-max-width, 1320px);
  margin-inline: auto;
}
.rich-text__inner.brxe-block {
  gap: 2rem;
}
.rich-text__text {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (min-width: 992px) {
  .rich-text__text {
    max-width: 54.5rem;
  }
}
.rich-text__text.brxe-block {
  gap: 1rem;
}
.rich-text__roofline {
  font-family: var(--ess-font-head);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-primary, #1c1e22);
  font-size: 1.5rem;
  letter-spacing: -0.015rem;
}
@media (min-width: 992px) {
  .rich-text__roofline {
    font-size: 1.75rem;
    letter-spacing: -0.0175rem;
  }
}
.rich-text__body {
  font-family: var(--ess-font-body);
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-primary, #1c1e22);
  font-size: 1.125rem;
}
.rich-text__body p {
  margin: 0;
}
.rich-text__cta {
  display: flex;
  align-items: center;
  font-family: var(--ess-font-body);
  font-weight: 600;
  line-height: 1.45;
  color: #4a4f59;
  text-decoration: none;
  font-size: 1.25rem;
  gap: 2rem;
}
.rich-text__cta svg,
.rich-text__cta img {
  flex-shrink: 0;
  transition: transform 0.3s ease;
  width: 3.375rem;
  height: 3.4375rem;
}
.rich-text__cta:hover svg, .rich-text__cta:hover img {
  transform: translateX(8px);
}