@charset "UTF-8";
/* ==== GRID SYSTEM ==== */
.container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.row {
  position: relative;
  width: 100%;
}

.row [class^=col] {
  float: left;
  margin: 0.5rem 2%;
  min-height: 0.125rem;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  width: 96%;
  margin: 0 auto;
}

.col-1-sm {
  width: 4.33%;
}

.col-2-sm {
  width: 12.66%;
}

.col-3-sm {
  width: 21%;
}

.col-4-sm {
  width: 29.33%;
}

.col-5-sm {
  width: 37.66%;
}

.col-6-sm {
  width: 46%;
}

.col-7-sm {
  width: 54.33%;
}

.col-8-sm {
  width: 62.66%;
}

.col-9-sm {
  width: 71%;
}

.col-10-sm {
  width: 79.33%;
}

.col-11-sm {
  width: 87.66%;
}

.col-12-sm {
  width: 96%;
}

.row::after {
  content: "";
  display: table;
  clear: both;
}

.hidden-sm {
  display: none;
}

@media only screen and (min-width: 33.75em) {
  /* 540px */
  .container {
    width: 80%;
  }
}
@media only screen and (min-width: 45em) {
  /* 720px */
  .col-1 {
    width: 4.33%;
  }

  .col-2 {
    width: 12.66%;
  }

  .col-3 {
    width: 21%;
  }

  .col-4 {
    width: 29.33%;
  }

  .col-5 {
    width: 37.66%;
  }

  .col-6 {
    width: 46%;
  }

  .col-7 {
    width: 54.33%;
  }

  .col-8 {
    width: 62.66%;
  }

  .col-9 {
    width: 71%;
  }

  .col-10 {
    width: 79.33%;
  }

  .col-11 {
    width: 87.66%;
  }

  .col-12 {
    width: 96%;
  }

  .hidden-sm {
    display: block;
  }
}
@media only screen and (min-width: 60em) {
  /* 960px */
  .container {
    width: 75%;
    max-width: 60rem;
  }
}
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

a,
button {
  cursor: revert;
}

ol,
ul,
menu {
  list-style: none;
}

img {
  max-width: 100%;
}

picture {
  display: block;
  max-width: 100%;
}
picture img {
  width: 100%;
  height: auto;
  display: block;
}
picture.img--ofit img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

::-webkit-input-placeholder {
  color: unset;
}

::-moz-placeholder {
  color: unset;
}

:-ms-input-placeholder {
  color: unset;
}

::-ms-input-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

/*------------------------------------*\
  THEME BREAKPOINTS
\*------------------------------------*/
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.font--heading {
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.font--body {
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.font--300 {
  font-weight: 300;
}

.font--400 {
  font-weight: 400;
}

.font--500 {
  font-weight: 500;
}

.font--600 {
  font-weight: 600;
}

.font--700 {
  font-weight: 700;
}

/*------------------------------------*\
  THEME COLOURS
\*------------------------------------*/
.c--font {
  color: #000000;
}

.bc--font {
  background-color: #000000;
  color: #FFFFFF;
}

.c--white {
  color: #FFFFFF;
}

.bc--white {
  background-color: #FFFFFF;
  color: #FFFFFF;
}

.c--black {
  color: #100F0F;
}

.bc--black {
  background-color: #100F0F;
  color: #FFFFFF;
}

.c--pink {
  color: #FFC7C7;
}

.bc--pink {
  background-color: #FFC7C7;
  color: #FFFFFF;
}

.c--orange {
  color: #FF531A;
}

.bc--orange {
  background-color: #FF531A;
  color: #FFFFFF;
}

.c--red-1 {
  color: #931A23;
}

.bc--red-1 {
  background-color: #931A23;
  color: #FFFFFF;
}

.c--red-2 {
  color: #B4131F;
}

.bc--red-2 {
  background-color: #B4131F;
  color: #FFFFFF;
}

.c--red-3 {
  color: #D92027;
}

.bc--red-3 {
  background-color: #D92027;
  color: #FFFFFF;
}

.c--red-4 {
  color: #361213;
}

.bc--red-4 {
  background-color: #361213;
  color: #FFFFFF;
}

.c--grey-1 {
  color: #5C4B4C;
}

.bc--grey-1 {
  background-color: #5C4B4C;
  color: #FFFFFF;
}

.c--grey-2 {
  color: #D1BEBF;
}

.bc--grey-2 {
  background-color: #D1BEBF;
  color: #FFFFFF;
}

.c--grey-3 {
  color: #F9EFE8;
}

.bc--grey-3 {
  background-color: #F9EFE8;
  color: #FFFFFF;
}

/*------------------------------------*\
  RESPONSIVE CLAMP TYPOGRAPHY SYSTEM
\*------------------------------------*/
/*------------------------------------*\
  CLAMP TYPOGRAPHY VARIABLES
\*------------------------------------*/
/*------------------------------------*\
  RESPONSIVE LINE HEIGHTS
\*------------------------------------*/
/*------------------------------------*\
  CLAMP TYPOGRAPHY CLASSES
\*------------------------------------*/
.text-h1, .h1-clamp {
  font-size: clamp(2rem, 1.2rem + 1.4vw, 7rem);
  line-height: 1.1;
  font-weight: 400;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-h2, .h2-clamp {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  line-height: 1.1;
  font-weight: 400;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-h3, .h3-clamp {
  font-size: clamp(1.6rem, 1rem + 0.9vw, 4.5rem);
  line-height: 1.2;
  font-weight: 400;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-h4, .h4-clamp {
  font-size: clamp(1.5rem, 0.9rem + 0.8vw, 3.8rem);
  line-height: 1.2;
  font-weight: 400;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-h5, .h5-clamp {
  font-size: clamp(1.4rem, 0.8rem + 0.7vw, 3.4rem);
  line-height: 1.2;
  font-weight: 400;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-h6, .h6-clamp {
  font-size: clamp(1.4rem, 0.8rem + 0.6vw, 3rem);
  line-height: 1.2;
  font-weight: 400;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-body, .body-clamp {
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  line-height: 1.4;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-body-large, .body-large-clamp {
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  line-height: 1.4;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-body-small, .body-small-clamp {
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  line-height: 1.2;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-hero, .hero-clamp {
  font-size: clamp(3.2rem, 2.5rem + 2.5vw, 8rem);
  line-height: 1.1;
  font-weight: 700;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-display, .display-clamp {
  font-size: clamp(4.8rem, 3.5rem + 4vw, 12rem);
  line-height: 1.1;
  font-weight: 700;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-caption, .caption-clamp {
  font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  line-height: 1.2;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-button, .button-clamp {
  font-size: clamp(1.4rem, 1rem + 0.4vw, 2.4rem);
  line-height: 1.2;
  font-weight: 600;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.text-button-large, .button-large-clamp {
  font-size: clamp(1.6rem, 1.1rem + 0.5vw, 3rem);
  line-height: 1.2;
  font-weight: 600;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/*------------------------------------*\
  RESPONSIVE SPACING CLAMPS
\*------------------------------------*/
/*------------------------------------*\
  COMPONENT SPACING CLAMPS
\*------------------------------------*/
/*------------------------------------*\
  CLAMP MIXINS FOR CONSISTENT APPLICATION
\*------------------------------------*/
.space-xs {
  margin: clamp(0.4rem, 0.3rem + 0.3vw, 1rem);
}

.space-sm {
  margin: clamp(0.8rem, 0.6rem + 0.6vw, 1.6rem);
}

.space-md {
  margin: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem);
}

.space-lg {
  margin: clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem);
}

.space-xl {
  margin: clamp(3.2rem, 2.4rem + 2.4vw, 6.4rem);
}

.space-2xl {
  margin: clamp(4.8rem, 3.6rem + 3.6vw, 9.6rem);
}

.space-3xl {
  margin: clamp(6.4rem, 4.8rem + 4.8vw, 12.8rem);
}

.space-y-xs > * + * {
  margin-top: clamp(0.4rem, 0.3rem + 0.3vw, 1rem);
}

.space-y-sm > * + * {
  margin-top: clamp(0.8rem, 0.6rem + 0.6vw, 1.6rem);
}

.space-y-md > * + * {
  margin-top: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem);
}

.space-y-lg > * + * {
  margin-top: clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem);
}

.space-y-xl > * + * {
  margin-top: clamp(3.2rem, 2.4rem + 2.4vw, 6.4rem);
}

.space-y-2xl > * + * {
  margin-top: clamp(4.8rem, 3.6rem + 3.6vw, 9.6rem);
}

.space-y-3xl > * + * {
  margin-top: clamp(6.4rem, 4.8rem + 4.8vw, 12.8rem);
}

/*------------------------------------*\
  ENHANCED CONTENT TYPOGRAPHY
\*------------------------------------*/
.content-clamp {
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  line-height: 1.4;
}
.content-clamp h1, .content-clamp .h1 {
  font-size: clamp(2rem, 1.2rem + 1.4vw, 7rem);
  line-height: 1.1;
  margin-top: clamp(3.2rem, 2.4rem + 2.4vw, 6.4rem);
  margin-bottom: clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem);
  font-weight: 700;
}
.content-clamp h1:first-child, .content-clamp .h1:first-child {
  margin-top: 0;
}
.content-clamp h2, .content-clamp .h2 {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  line-height: 1.1;
  margin-top: clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem);
  margin-bottom: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem);
  font-weight: 600;
}
.content-clamp h2:first-child, .content-clamp .h2:first-child {
  margin-top: 0;
}
.content-clamp h3, .content-clamp .h3 {
  font-size: clamp(1.6rem, 1rem + 0.9vw, 4.5rem);
  line-height: 1.2;
  margin-top: clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem);
  margin-bottom: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem);
  font-weight: 600;
}
.content-clamp h3:first-child, .content-clamp .h3:first-child {
  margin-top: 0;
}
.content-clamp h4, .content-clamp .h4 {
  font-size: clamp(1.5rem, 0.9rem + 0.8vw, 3.8rem);
  line-height: 1.2;
  margin-top: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem);
  margin-bottom: clamp(0.8rem, 0.6rem + 0.6vw, 1.6rem);
  font-weight: 600;
}
.content-clamp h4:first-child, .content-clamp .h4:first-child {
  margin-top: 0;
}
.content-clamp h5, .content-clamp .h5 {
  font-size: clamp(1.4rem, 0.8rem + 0.7vw, 3.4rem);
  line-height: 1.2;
  margin-top: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem);
  margin-bottom: clamp(0.8rem, 0.6rem + 0.6vw, 1.6rem);
  font-weight: 600;
}
.content-clamp h5:first-child, .content-clamp .h5:first-child {
  margin-top: 0;
}
.content-clamp h6, .content-clamp .h6 {
  font-size: clamp(1.4rem, 0.8rem + 0.6vw, 3rem);
  line-height: 1.2;
  margin-top: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem);
  margin-bottom: clamp(0.8rem, 0.6rem + 0.6vw, 1.6rem);
  font-weight: 600;
}
.content-clamp h6:first-child, .content-clamp .h6:first-child {
  margin-top: 0;
}
.content-clamp p {
  margin-bottom: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem);
}
.content-clamp p:last-child {
  margin-bottom: 0;
}
.content-clamp p.lead {
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  line-height: 1.4;
}
.content-clamp p.small {
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  line-height: 1.2;
}
.content-clamp ul, .content-clamp ol {
  margin: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem) 0;
  padding-left: clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem);
}
.content-clamp ul li, .content-clamp ol li {
  margin-bottom: clamp(0.8rem, 0.6rem + 0.6vw, 1.6rem);
  line-height: 1.4;
}
.content-clamp blockquote {
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  line-height: 1.4;
  margin: clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem) 0;
  padding: clamp(1.6rem, 1.2rem + 1.2vw, 3.2rem) clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem);
}
.content-clamp .caption {
  font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  line-height: 1.2;
}

.pattern {
  position: absolute;
  width: 108px;
  height: 108px;
  pointer-events: none;
  z-index: 1;
}
.pattern--top-left {
  top: 0;
  left: 0;
}
.pattern--top-right {
  top: 0;
  right: 0;
}
.pattern--bottom-left {
  bottom: 0;
  left: 0;
}
.pattern--bottom-right {
  bottom: 0;
  right: 0;
}
.pattern span {
  position: absolute;
  display: block;
  background-color: var(--square-color, var(--c-red-2, #dc2626));
  opacity: 0;
  -webkit-transform: scale(0.3) translate3d(0, 0, 0);
          transform: scale(0.3) translate3d(0, 0, 0);
  -webkit-transform-origin: center;
          transform-origin: center;
  width: var(--square-size, 36px);
  height: var(--square-size, 36px);
  left: var(--square-x, 0);
  top: var(--square-y, 0);
}
.pattern--animated span {
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-delay: var(--animation-delay, 0ms);
          animation-delay: var(--animation-delay, 0ms);
  -webkit-animation-name: fadeInScale;
          animation-name: fadeInScale;
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3) translate3d(0, 0, 0);
            transform: scale(0.3) translate3d(0, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) translate3d(0, 0, 0);
            transform: scale(1) translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInScale {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3) translate3d(0, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) translate3d(0, 0, 0);
  }
}
@-webkit-keyframes slideInFromCorner {
  0% {
    opacity: 0;
    -webkit-transform: translate(-100%, -100%) scale(0);
            transform: translate(-100%, -100%) scale(0);
  }
  60% {
    opacity: 0.9;
    -webkit-transform: translate(0, 0) scale(1.05);
            transform: translate(0, 0) scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
  }
}
@keyframes slideInFromCorner {
  0% {
    opacity: 0;
    -webkit-transform: translate(-100%, -100%) scale(0);
            transform: translate(-100%, -100%) scale(0);
  }
  60% {
    opacity: 0.9;
    -webkit-transform: translate(0, 0) scale(1.05);
            transform: translate(0, 0) scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
  }
}
@-webkit-keyframes popIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes popIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.pattern--animated.pattern--slide span {
  -webkit-animation: slideInFromCorner 0.8s forwards;
          animation: slideInFromCorner 0.8s forwards;
  -webkit-animation-delay: var(--animation-delay, 0ms);
          animation-delay: var(--animation-delay, 0ms);
}
.pattern--animated.pattern--pop span {
  -webkit-animation: popIn 0.5s forwards;
          animation: popIn 0.5s forwards;
  -webkit-animation-delay: var(--animation-delay, 0ms);
          animation-delay: var(--animation-delay, 0ms);
}

@media (max-width: 768px) {
  .pattern {
    width: 72px;
    height: 72px;
  }
  .pattern span {
    width: 27px;
    height: 27px;
    width: calc(var(--square-size, 36px) * 0.75);
    height: calc(var(--square-size, 36px) * 0.75);
    left: calc(var(--square-x, 0) * 0.75);
    top: calc(var(--square-y, 0) * 0.75);
  }

  .pattern--animated span {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: opacity, transform;
    animation-name: fadeInScale;
    -webkit-animation-name: fadeInScale;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pattern span {
    -webkit-animation: none;
            animation: none;
    -webkit-transition: none;
    transition: none;
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }

  .pattern--animated span {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}
@media (prefers-contrast: high) {
  .pattern span {
    border: 1px solid currentColor;
  }
}
@media print {
  .pattern {
    display: none;
  }
}
/*------------------------------------*\
  CONTAINERS
\*------------------------------------*/
.pc, .pc--4, .pc--3, .pc--2, .pc--1 {
  margin-left: auto;
  margin-right: auto;
  /*
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  */
}
.pc--1 {
  max-width: 134rem;
}
.pc--2 {
  max-width: 120rem;
}
.pc--3 {
  max-width: 106rem;
}
.pc--4 {
  max-width: 92rem;
}

/*------------------------------------*\
  PADDING AND MARGIN CLASSES
\*------------------------------------*/
.marg--auto {
  margin-left: auto;
  margin-right: auto;
}

.mt-0 {
  margin-top: 0rem !important;
}

.mt-10 {
  margin-top: 1rem !important;
}

.mt-20 {
  margin-top: 2rem !important;
}

.mt-30 {
  margin-top: 3rem !important;
}

.mt-40 {
  margin-top: 4rem !important;
}

.mt-50 {
  margin-top: 5rem !important;
}

.mt-60 {
  margin-top: 6rem !important;
}

.mt-70 {
  margin-top: 7rem !important;
}

.mt-80 {
  margin-top: 8rem !important;
}

.mt-90 {
  margin-top: 9rem !important;
}

.mt-100 {
  margin-top: 10rem !important;
}

.mb-0 {
  margin-bottom: 0rem !important;
}

.mb-10 {
  margin-bottom: 1rem !important;
}

.mb-20 {
  margin-bottom: 2rem !important;
}

.mb-30 {
  margin-bottom: 3rem !important;
}

.mb-40 {
  margin-bottom: 4rem !important;
}

.mb-50 {
  margin-bottom: 5rem !important;
}

.mb-60 {
  margin-bottom: 6rem !important;
}

.mb-70 {
  margin-bottom: 7rem !important;
}

.mb-80 {
  margin-bottom: 8rem !important;
}

.mb-90 {
  margin-bottom: 9rem !important;
}

.mb-100 {
  margin-bottom: 10rem !important;
}

.pt-0 {
  padding-top: 0rem !important;
}

.pt-10 {
  padding-top: 1rem !important;
}

.pt-20 {
  padding-top: 2rem !important;
}

.pt-30 {
  padding-top: 3rem !important;
}

.pt-40 {
  padding-top: 4rem !important;
}

.pt-50 {
  padding-top: 5rem !important;
}

.pt-60 {
  padding-top: 6rem !important;
}

.pt-70 {
  padding-top: 7rem !important;
}

.pt-80 {
  padding-top: 8rem !important;
}

.pt-90 {
  padding-top: 9rem !important;
}

.pt-100 {
  padding-top: 10rem !important;
}

.pb-0 {
  padding-bottom: 0rem !important;
}

.pb-10 {
  padding-bottom: 1rem !important;
}

.pb-20 {
  padding-bottom: 2rem !important;
}

.pb-30 {
  padding-bottom: 3rem !important;
}

.pb-40 {
  padding-bottom: 4rem !important;
}

.pb-50 {
  padding-bottom: 5rem !important;
}

.pb-60 {
  padding-bottom: 6rem !important;
}

.pb-70 {
  padding-bottom: 7rem !important;
}

.pb-80 {
  padding-bottom: 8rem !important;
}

.pb-90 {
  padding-bottom: 9rem !important;
}

.pb-100 {
  padding-bottom: 10rem !important;
}

/*------------------------------------*\
  POSITIONING CLASSES
\*------------------------------------*/
.posi--full {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.posi--cent {
  position: absolute;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  top: 50%;
  left: 50%;
}

.posi--cent--widt {
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
}

.posi--cent--heig {
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
}

.posi--top {
  position: absolute;
  top: 0;
}

.posi--bott {
  position: absolute;
  bottom: 0;
}

.posi--rela {
  position: relative;
}

/*------------------------------------*\
  GENERAL CLASSES
\*------------------------------------*/
.bg--img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.img--ofit,
.img--ofit img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.disp--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex--colu {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.just--betw {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.just--arou {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.just--cent {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.just--fsta {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.just--fend {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.alig--fsta {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.alig--self--fsta {
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.alig--cont--fsta {
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

.alig--cent {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.alig--self--cent {
  -ms-flex-item-align: center;
      align-self: center;
}

.alig--cont--cent {
  -ms-flex-line-pack: center;
      align-content: center;
}

.alig--fend {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.alig--self--fend {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.alig--cont--fend {
  -ms-flex-line-pack: end;
      align-content: flex-end;
}

.no--wrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.flex--row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flex--row--reve {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.w--25 {
  width: 25%;
}

.w--33 {
  width: 33.3333%;
}

.w--50 {
  width: 50%;
}

.w--66 {
  width: 66.6666%;
}

.w--75 {
  width: 75%;
}

.w--100 {
  width: 100%;
}

/*------------------------------------*\
  FLEX
\*------------------------------------*/
.flex--cols {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.flex--cols .flex--25 {
  width: calc(25% - 3rem);
  margin-top: 3rem;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.flex--cols .flex--25:nth-of-type(1) {
  margin-top: 0;
}
@media (min-width: 640px) {
  .flex--cols .flex--25 {
    width: calc(50% - 3rem);
  }
  .flex--cols .flex--25:nth-of-type(2) {
    margin-top: 0;
  }
}
@media (min-width: 1024px) {
  .flex--cols .flex--25 {
    width: calc(25% - 3rem);
  }
  .flex--cols .flex--25:nth-of-type(3) {
    margin-top: 0;
  }
  .flex--cols .flex--25:nth-of-type(4) {
    margin-top: 0;
  }
}
.flex--cols .flex--33 {
  width: calc(33.3333% - 3rem);
  margin-top: 3rem;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.flex--cols .flex--33:nth-of-type(1) {
  margin-top: 0;
}
@media (min-width: 760px) {
  .flex--cols .flex--33 {
    width: calc(50% - 3rem);
  }
  .flex--cols .flex--33:nth-of-type(2) {
    margin-top: 0;
  }
}
@media (min-width: 960px) {
  .flex--cols .flex--33 {
    width: calc(33.3333% - 3rem);
  }
  .flex--cols .flex--33:nth-of-type(2) {
    margin-top: 0;
  }
  .flex--cols .flex--33:nth-of-type(3) {
    margin-top: 0;
  }
}
.flex--cols .flex--50 {
  width: calc(50% - 3rem);
  margin-top: 3rem;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.flex--cols .flex--50:nth-of-type(1) {
  margin-top: 0;
}
@media (min-width: 760px) {
  .flex--cols .flex--50 {
    width: calc(50% - 3rem);
  }
  .flex--cols .flex--50:nth-of-type(2) {
    margin-top: 0;
  }
}
.flex--cols .flex--100 {
  width: calc(100% - 3rem);
  margin-top: 3rem;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.flex--cols .flex--100:nth-of-type(1) {
  margin-top: 0;
}

.order--1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.order--2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.order--3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.order--4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

/*------------------------------------*\
  TIMINGS
\*------------------------------------*/
/*------------------------------------*\
  REUSED ELEMENTS
\*------------------------------------*/
.theme-button, .theme-button--1 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 1.5rem 3rem;
  border-radius: 4px;
  border-width: 1px;
  border-style: solid;
  font-weight: 600;
  font-size: 1.8rem;
  -webkit-transition: background-color 0.2s, color 0.2s, border-color 0.2s;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.theme-button--1 {
  background-color: #FFFFFF;
  color: #000000;
  border-color: #000000;
}
.theme-button--1:hover {
  background-color: #000000;
  color: #FFFFFF;
}

section[class*=bc--] .theme-button--1 {
  border-color: #FFFFFF;
}
section[class*=bc--] .theme-button--1:hover {
  background-color: transparent;
  color: #FFFFFF;
}

section.bc--white .theme-button--1, section.bc--null .theme-button--1,
div.bc--white .theme-button--1,
div.bc--null .theme-button--1 {
  border-color: #000000;
}
section.bc--white .theme-button--1:hover, section.bc--null .theme-button--1:hover,
div.bc--white .theme-button--1:hover,
div.bc--null .theme-button--1:hover {
  background-color: #000000;
}

.general-content a[class*=theme-button--] {
  margin-top: 3rem;
}

/*------------------------------------*\
  HTML & BODY
\*------------------------------------*/
html {
  font-size: 62.5%;
  height: 100%;
  color: #000000;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: subpixel-antialiased;
}
html.stop-overflow {
  overflow: hidden;
}

html,
body {
  position: relative;
  overflow-x: hidden;
}

body {
  font-size: 1.6rem;
  line-height: 100%;
}

body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main {
  min-height: 400px;
}

/*------------------------------------*\
    CONTENT
  \*------------------------------------*/
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4 {
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  line-height: 120%;
}

h1,
.h1 {
  font-size: clamp(2rem, 1.2rem + 1.4vw, 7rem);
  line-height: 1.1;
}

h2,
.h2 {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  line-height: 1.1;
}

h3,
.h3 {
  font-size: clamp(1.6rem, 1rem + 0.9vw, 4.5rem);
  line-height: 1.2;
}

h4,
.h4 {
  font-size: clamp(1.5rem, 0.9rem + 0.8vw, 3.8rem);
  line-height: 1.2;
}

h5,
.h5 {
  font-size: clamp(1.4rem, 0.8rem + 0.7vw, 3.4rem);
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.2;
}

h6,
.h6 {
  font-size: clamp(1.4rem, 0.8rem + 0.6vw, 3rem);
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.2;
}

p,
li {
  line-height: 1.4;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
}

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

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

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

.general-content h1 + h1, .general-content h1 + h2, .general-content h1 + h3, .general-content h1 + h4, .general-content h1 + h5, .general-content h1 + h6,
.general-content h2 + h1,
.general-content h2 + h2,
.general-content h2 + h3,
.general-content h2 + h4,
.general-content h2 + h5,
.general-content h2 + h6,
.general-content h3 + h1,
.general-content h3 + h2,
.general-content h3 + h3,
.general-content h3 + h4,
.general-content h3 + h5,
.general-content h3 + h6,
.general-content h4 + h1,
.general-content h4 + h2,
.general-content h4 + h3,
.general-content h4 + h4,
.general-content h4 + h5,
.general-content h4 + h6,
.general-content h5 + h1,
.general-content h5 + h2,
.general-content h5 + h3,
.general-content h5 + h4,
.general-content h5 + h5,
.general-content h5 + h6,
.general-content h6 + h1,
.general-content h6 + h2,
.general-content h6 + h3,
.general-content h6 + h4,
.general-content h6 + h5,
.general-content h6 + h6 {
  margin-top: 1rem;
}
.general-content p,
.general-content blockquote {
  margin-top: 3rem;
}
.general-content p:first-of-type,
.general-content blockquote:first-of-type {
  margin-top: 0;
}
.general-content p + h1:first-of-type, .general-content p + h2:first-of-type, .general-content p + h3:first-of-type, .general-content p + h4:first-of-type, .general-content p + h5:first-of-type, .general-content p + h6:first-of-type,
.general-content blockquote + h1:first-of-type,
.general-content blockquote + h2:first-of-type,
.general-content blockquote + h3:first-of-type,
.general-content blockquote + h4:first-of-type,
.general-content blockquote + h5:first-of-type,
.general-content blockquote + h6:first-of-type {
  margin-top: 3rem;
}
.general-content h1,
.general-content h2,
.general-content h3,
.general-content h4,
.general-content h5,
.general-content h6,
.general-content p,
.general-content blockquote {
  margin-top: 2rem;
}
.general-content h1:first-of-type,
.general-content h2:first-of-type,
.general-content h3:first-of-type,
.general-content h4:first-of-type,
.general-content h5:first-of-type,
.general-content h6:first-of-type,
.general-content p:first-of-type,
.general-content blockquote:first-of-type {
  margin-top: 0;
}
.general-content h1 + p:first-of-type, .general-content h1 + ul:first-of-type, .general-content h1 + ol:first-of-type, .general-content h1 + blockquote:first-of-type,
.general-content h2 + p:first-of-type,
.general-content h2 + ul:first-of-type,
.general-content h2 + ol:first-of-type,
.general-content h2 + blockquote:first-of-type,
.general-content h3 + p:first-of-type,
.general-content h3 + ul:first-of-type,
.general-content h3 + ol:first-of-type,
.general-content h3 + blockquote:first-of-type,
.general-content h4 + p:first-of-type,
.general-content h4 + ul:first-of-type,
.general-content h4 + ol:first-of-type,
.general-content h4 + blockquote:first-of-type,
.general-content h5 + p:first-of-type,
.general-content h5 + ul:first-of-type,
.general-content h5 + ol:first-of-type,
.general-content h5 + blockquote:first-of-type,
.general-content h6 + p:first-of-type,
.general-content h6 + ul:first-of-type,
.general-content h6 + ol:first-of-type,
.general-content h6 + blockquote:first-of-type,
.general-content p + p:first-of-type,
.general-content p + ul:first-of-type,
.general-content p + ol:first-of-type,
.general-content p + blockquote:first-of-type,
.general-content blockquote + p:first-of-type,
.general-content blockquote + ul:first-of-type,
.general-content blockquote + ol:first-of-type,
.general-content blockquote + blockquote:first-of-type {
  margin-top: 2rem;
}
.general-content a:not(.theme-button):not(.theme-button--1):hover {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.general-content ul,
.general-content ol {
  list-style: none;
}
.general-content ul ul,
.general-content ol ul {
  margin-top: 3rem;
  margin-left: 3rem;
}
.general-content ul li,
.general-content ol li {
  margin-top: 1.4rem;
}
.general-content ul li:first-of-type,
.general-content ol li:first-of-type {
  margin-top: 0;
}
.general-content ul:not(.no-list-style) li {
  padding-left: 2.4rem;
  position: relative;
}
.general-content ul:not(.no-list-style) li:before {
  content: "";
  display: block;
  position: absolute;
  background-color: #100F0F;
  width: 0.8rem;
  height: 0.8rem;
  top: 1.1rem;
  left: 0;
}
@media (max-width: 1024px) {
  .general-content ul:not(.no-list-style) li {
    padding-left: 2.2rem;
  }
  .general-content ul:not(.no-list-style) li:before {
    width: 0.7rem;
    height: 0.7rem;
    top: 0.8rem;
  }
}

strong,
.bold {
  font-weight: 600;
}

i,
em {
  font-style: italic;
}

sup {
  font-size: 14;
  vertical-align: super;
}

a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
}

img,
picture {
  max-width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

svg {
  width: 100%;
  height: 100%;
  max-width: 100%;
}
svg path {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

form {
  /* Chrome, Safari, Edge, Opera */
  /* Firefox */
}
form input,
form select,
form textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 4px;
  outline: none;
  width: 100%;
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 1.6rem;
  border: 2px solid rgba(0, 0, 0, 0.5);
  color: #000000;
  padding: 1rem 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #FFFFFF;
  margin: 0;
}
form input[type=checkbox],
form input[type=radio] {
  border: 2px solid rgba(0, 0, 0, 0.5);
  margin: 0;
  width: 2rem;
  height: 2rem;
  padding: 0;
  position: relative;
  cursor: pointer;
}
form input[type=checkbox]:checked:after,
form input[type=radio]:checked:after {
  content: "";
  display: block;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.5);
  width: 1.2rem;
  height: 1.2rem;
  top: 0.2rem;
  left: 0.2rem;
}
form input[type=radio] {
  border-radius: 50%;
}
form input[type=radio]:checked:after {
  border-radius: inherit;
}
form input[type=submit] {
  cursor: pointer;
}
form textarea {
  max-height: 140px;
  resize: none;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
form label,
form legend {
  color: #000000;
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 860px) {
  form label,
form legend {
    font-size: 1.6rem;
  }
}
form ::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
form ::-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
form :-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
form ::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
form ::placeholder {
  color: rgba(0, 0, 0, 0.6);
}
form input[type=search]::-webkit-search-decoration,
form input[type=search]::-webkit-search-cancel-button,
form input[type=search]::-webkit-search-results-button,
form input[type=search]::-webkit-search-results-decoration,
form input[type=search]::-ms-clear {
  -webkit-appearance: none;
}
form input::-webkit-outer-spin-button,
form input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
form input[type=number] {
  -moz-appearance: textfield;
}

.bc--font label,
.bc--font legend {
  color: #FFFFFF;
}

.bc--white label,
.bc--white legend {
  color: #FFFFFF;
}

.bc--black label,
.bc--black legend {
  color: #FFFFFF;
}

.bc--pink label,
.bc--pink legend {
  color: #FFFFFF;
}

.bc--orange label,
.bc--orange legend {
  color: #FFFFFF;
}

.bc--red-1 label,
.bc--red-1 legend {
  color: #FFFFFF;
}

.bc--red-2 label,
.bc--red-2 legend {
  color: #FFFFFF;
}

.bc--red-3 label,
.bc--red-3 legend {
  color: #FFFFFF;
}

.bc--red-4 label,
.bc--red-4 legend {
  color: #FFFFFF;
}

.bc--grey-1 label,
.bc--grey-1 legend {
  color: #FFFFFF;
}

.bc--grey-2 label,
.bc--grey-2 legend {
  color: #FFFFFF;
}

.bc--grey-3 label,
.bc--grey-3 legend {
  color: #FFFFFF;
}

.gform_wrapper {
  width: 100%;
}
.gform_wrapper .gfield {
  position: relative;
  margin-top: 2rem;
  width: calc(50% - 1rem);
}
@media (max-width: 640px) {
  .gform_wrapper .gfield {
    width: 100%;
  }
}
.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.gform_wrapper .gchoice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 1rem 0 0 2rem;
}
.gform_wrapper .gchoice:first-of-type {
  margin-left: 0;
}
.gform_wrapper .gchoice label {
  margin: 0 0 0 1rem;
}
.gform_wrapper ::-webkit-input-placeholder {
  color: transparent;
}
.gform_wrapper ::-moz-placeholder {
  color: transparent;
}
.gform_wrapper :-ms-input-placeholder {
  color: transparent;
}
.gform_wrapper ::-ms-input-placeholder {
  color: transparent;
}
.gform_wrapper ::placeholder {
  color: transparent;
}
.gform_wrapper .gfield_required {
  color: red;
}
.gform_wrapper .gform_fileupload_rules {
  font-size: 80%;
  display: inline-block;
  margin-top: 0.1rem;
}
.gform_wrapper .gform_fields {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  gap: 2rem !important;
}
.gform_wrapper .gform_required_legend {
  text-align: right;
}
.gform_wrapper .field--w-50 {
  width: calc(50% - 1rem);
}
@media (max-width: 640px) {
  .gform_wrapper .field--w-50 {
    width: 100%;
  }
}
.gform_wrapper .gfield-choice-input + label {
  max-width: 100% !important;
}
.gform_wrapper .field--w-33 {
  width: calc(33.3333% - 1.34rem);
}
@media (max-width: 640px) {
  .gform_wrapper .field--w-33 {
    width: 100%;
  }
}
.gform_wrapper .field--w-100 {
  width: 100%;
}
.gform_wrapper .field--flex-column .gfield_checkbox,
.gform_wrapper .field--flex-column .gfield_radio {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.gform_wrapper .field--flex-column .gfield_checkbox .gchoice,
.gform_wrapper .field--flex-column .gfield_radio .gchoice {
  margin-left: 0;
}
.gform_wrapper input[type=submit] {
  width: initial;
  margin-top: 2rem;
}
.gform_wrapper .validation_message {
  font-size: 1.4rem;
  margin-top: 0.6rem;
}
.marg--top--lg {
  margin-top: 8rem;
}
.marg--top--md {
  margin-top: 4rem;
}
.marg--top--sm {
  margin-top: 2rem;
}

.marg--bott--lg {
  margin-bottom: 8rem;
}
.marg--bott--md {
  margin-bottom: 4rem;
}
.marg--bott--sm {
  margin-bottom: 2rem;
}

.padd--top--lg {
  padding-top: 8rem;
}
.padd--top--md {
  padding-top: 4rem;
}
.padd--top--sm {
  padding-top: 2rem;
}

.padd--bott--lg {
  padding-bottom: 8rem;
}
.padd--bott--md {
  padding-bottom: 4rem;
}
.padd--bott--sm {
  padding-bottom: 2rem;
}

.block__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin-top: 6rem;
}

.block__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.block__background-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.block__overlay, .block__overlay--type-4, .block__overlay--type-3, .block__overlay--type-2, .block__overlay--type-1 {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #100F0F;
}
.block__overlay--type-1 {
  opacity: 0.2;
}
.block__overlay--type-2 {
  opacity: 0.4;
}
.block__overlay--type-3 {
  opacity: 0.6;
}
.block__overlay--type-4 {
  opacity: 0.8;
}

@-webkit-keyframes patternFadeIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8) rotate(-5deg);
            transform: scale(0.8) rotate(-5deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}

@keyframes patternFadeIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8) rotate(-5deg);
            transform: scale(0.8) rotate(-5deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .banner .pattern span {
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  overflow: hidden;
}
.banner--split .banner__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}
.banner--image-left .banner__inner .banner__left {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.banner--image-left .banner__inner .banner__right {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.banner--image-right .banner__inner .banner__left {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.banner--image-right .banner__inner .banner__right {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.banner__left {
  background-color: #B4131F;
  color: white;
  padding: 4rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  overflow: hidden;
}
.banner__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
.banner__content__inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  z-index: 2;
  padding: clamp(0.5rem, 1.5rem + 2vw, 10rem);
}
@media screen and (max-width: 768px) {
  .banner__content__inner {
    padding: 0rem;
  }
}
.banner__content__inner h1, .banner__content__inner h2, .banner__content__inner h3, .banner__content__inner h4, .banner__content__inner h5, .banner__content__inner h6,
.banner__content__inner .h1, .banner__content__inner .h2, .banner__content__inner .h3, .banner__content__inner .h4, .banner__content__inner .h5, .banner__content__inner .h6 {
  margin-bottom: 2rem;
}
.banner__content__inner p {
  margin-bottom: 2rem;
}
.banner__content__inner .button {
  background-color: white;
  color: #dc2626;
  padding: 1rem 2rem;
  border: 2px solid white;
  text-transform: uppercase;
  border-radius: 0.3rem;
  text-decoration: none;
  font-weight: 600;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
  display: inline-block;
}
.banner__content__inner .button:hover {
  background-color: transparent;
  color: white;
}
.banner__content__inner .button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.banner__right {
  background-color: #f8fafc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  overflow: hidden;
}
.banner__right .banner__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 5s ease;
  transition: -webkit-transform 5s ease;
  transition: transform 5s ease;
  transition: transform 5s ease, -webkit-transform 5s ease;
}
.banner__right .banner__img:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media (max-width: 768px) {
  .banner {
    min-height: auto;
  }
  .banner--split .banner__inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    min-height: auto;
  }
  .banner__left {
    padding: 3rem 2rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .banner__left .pattern {
    width: 2rem;
    height: 2rem;
  }
  .banner__left .pattern--top-left {
    top: 1rem;
    left: 1rem;
  }
  .banner__left .pattern--bottom-right {
    bottom: 1rem;
    right: 1rem;
  }
  .banner__right {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 1rem;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .banner__left {
    padding: 3rem 2.5rem;
  }
  .banner__left h1 {
    font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  }
}

@-webkit-keyframes imageFadeIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes imageFadeIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .banner-grid__image--fade-in {
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.banner-grid {
  display: block;
  position: relative;
  overflow: hidden;
  background-color: #F9F9F9;
}
.banner-grid__container {
  display: grid;
  grid-template-columns: 4fr 3fr 3fr;
  grid-template-rows: 1fr 1fr;
  gap: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  width: 100%;
  margin-top: clamp(3rem, 2rem + 1.5vw, 5rem);
  margin-bottom: clamp(3rem, 2rem + 1.5vw, 5rem);
}
@media (max-width: 768px) {
  .banner-grid__container {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: clamp(1rem, 0.75rem + 0.6vw, 2rem);
    min-height: auto;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .banner-grid__container {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: clamp(1.5rem, 1rem + 1vw, 3rem);
    min-height: 500px;
  }
}
.banner-grid__cell {
  position: relative;
  overflow: hidden;
}
.banner-grid__cell--position-1-4 {
  grid-column: 1;
  grid-row: 1/3;
}
@media (max-width: 768px) {
  .banner-grid__cell--position-1-4 {
    grid-column: 1;
    grid-row: 1;
    min-height: 200px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .banner-grid__cell--position-1-4 {
    grid-column: 1;
    grid-row: 1/3;
  }
}
.banner-grid__cell--position-2 {
  grid-column: 2;
  grid-row: 1;
}
@media (max-width: 768px) {
  .banner-grid__cell--position-2 {
    grid-column: 2;
    grid-row: 1;
    min-height: 200px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .banner-grid__cell--position-2 {
    grid-column: 2;
    grid-row: 1;
  }
}
.banner-grid__cell--position-3 {
  grid-column: 3;
  grid-row: 1;
}
@media (max-width: 768px) {
  .banner-grid__cell--position-3 {
    grid-column: 3;
    grid-row: 1;
    min-height: 200px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .banner-grid__cell--position-3 {
    grid-column: 2;
    grid-row: 2;
  }
}
.banner-grid__cell--position-5-6 {
  grid-column: 2/4;
  grid-row: 2;
  background-color: #B4131F;
  color: white;
  position: relative;
  overflow: hidden;
}
@media (max-width: 768px) {
  .banner-grid__cell--position-5-6 {
    grid-column: 1/4;
    grid-row: 2;
    min-height: 300px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .banner-grid__cell--position-5-6 {
    grid-column: 1/3;
    grid-row: 3;
  }
}
.banner-grid__image-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  /*
  background-color: $c--red-1; // Fallback background while image loads
  */
}
.banner-grid__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 3s ease;
  transition: -webkit-transform 3s ease;
  transition: transform 3s ease;
  transition: transform 3s ease, -webkit-transform 3s ease;
}
.banner-grid__image--fade-in {
  -webkit-animation: imageFadeIn 0.8s ease-out 0.3s both;
          animation: imageFadeIn 0.8s ease-out 0.3s both;
}
.banner-grid__image:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.banner-grid__fallback {
  width: 100%;
  height: 100%;
}
.banner-grid__fallback--red-1 {
  background-color: #931A23;
}
.banner-grid__fallback--red-3 {
  background-color: #D92027;
}
.banner-grid__fallback--red-4 {
  background-color: #361213;
}
.banner-grid__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding: clamp(3rem, 2rem + 1.5vw, 5rem);
}
@media (max-width: 768px) {
  .banner-grid__content {
    padding: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  }
}
.banner-grid__content__inner {
  /* max-width: clamp(400px, 40vw, 700px); */
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  z-index: 2;
}
.banner-grid__copy {
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
}
.banner-grid__copy p {
  margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  line-height: 1.6;
}
.banner-grid__copy p:last-child {
  margin-bottom: 0;
}
.banner-grid__button {
  background-color: white;
  color: #B4131F;
  padding: clamp(1.5rem, 1rem + 1vw, 3rem);
  border: 2px solid white;
  text-transform: uppercase;
  border-radius: 0.3rem;
  text-decoration: none;
  font-weight: 600;
  font-size: clamp(1.4rem, 1rem + 0.4vw, 2.4rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
  display: inline-block;
}
.banner-grid__button:hover {
  background-color: transparent;
  color: white;
  border-color: white;
}
.banner-grid__button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (min-width: 1200px) {
  .banner-grid__container {
    min-height: clamp(600px, 50vh, 900px);
  }
  .banner-grid__content {
    padding: clamp(4rem, 2.5rem + 2vw, 6rem);
  }
}

@keyframes patternFadeIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8) rotate(-5deg);
            transform: scale(0.8) rotate(-5deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cards .pattern span {
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.cards__header {
  text-align: left;
  margin-bottom: clamp(2rem, 1.5rem + 1.2vw, 4rem);
}
.cards__header h1, .cards__header h2, .cards__header h3, .cards__header h4, .cards__header h5, .cards__header h6 {
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
}
.cards__header .button--main {
  background-color: #B4131F;
  color: white;
  border: 2px solid #B4131F;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
}
.cards__header .button--main:hover {
  background-color: transparent;
  color: #B4131F;
}
@media (max-width: 768px) {
  .cards__header {
    margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
  }
  .cards__header h1, .cards__header h2, .cards__header h3, .cards__header h4, .cards__header h5, .cards__header h6 {
    margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  }
}
.cards__intro {
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
  max-width: clamp(500px, 50vw, 800px);
  margin-left: auto;
  margin-right: auto;
}
.cards__intro p {
  margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  line-height: 1.6;
}
.cards__intro p:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .cards__intro {
    margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  }
}
.cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media (max-width: 768px) {
  .cards__grid {
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 1rem + 1vw, 3rem);
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .cards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.cards__grid:has(.cards__card--with-image) {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
  .cards__grid:has(.cards__card--with-image) {
    grid-template-columns: 1fr;
  }
}
.cards__card {
  color: white;
  padding: clamp(3rem, 2rem + 1.5vw, 5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  overflow: hidden;
}
.cards__card--red-1 {
  background-color: #66080F;
}
.cards__card--red-2 {
  background-color: #931A23;
}
.cards__card--red-3 {
  background-color: #B4131F;
}
@media (max-width: 768px) {
  .cards__card {
    padding: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  }
}
.cards__card--with-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 0;
}
.cards__card--with-image .cards__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: clamp(3rem, 2rem + 1.5vw, 5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media (max-width: 768px) {
  .cards__card--with-image .cards__content {
    padding: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  }
}
.cards__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 80%;
  height: 100%;
}
.cards__content__inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  z-index: 2;
  height: 100%;
}
.cards__content__inner h1, .cards__content__inner h2, .cards__content__inner h3, .cards__content__inner h4, .cards__content__inner h5, .cards__content__inner h6 {
  margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
}
.cards__copy {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
}
.cards__copy p {
  margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
}
.cards__copy p:last-child {
  margin-bottom: 0;
}
.cards__image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40%;
          flex: 0 0 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  /*
  @media (max-width: 768px) {
      flex: none;
      height: 200px;
      width: 100%;
  }
  */
}
.cards__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.cards .button {
  background-color: white;
  color: #dc2626;
  padding: clamp(0.8rem, 0.7rem + 0.3vw, 1.2rem) clamp(1.5rem, 1.2rem + 0.6vw, 2.5rem);
  border: 2px solid white;
  text-transform: uppercase;
  border-radius: 0.25rem;
  text-decoration: none;
  font-weight: 600;
  font-size: clamp(1.4rem, 1rem + 0.4vw, 2.4rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
  display: inline-block;
  margin-top: auto;
}
.cards .button:hover {
  background-color: transparent;
  color: white;
}
.cards .button:active {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
@media (max-width: 768px) {
  .cards .button {
    padding: clamp(0.6rem, 0.5rem + 0.2vw, 0.9rem) clamp(1.2rem, 1rem + 0.4vw, 1.8rem);
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  }
}

.text--one-column .text__single-column {
  /*            
  &:not(.text--has-side-column) {
      max-width: 750px;
  }
  */
}
.text--one-column .text__single-column .text__main-content {
  max-width: clamp(600px, 60vw, 900px);
  margin: 0;
  text-align: left;
}
.text--has-side-column {
  position: relative;
}
.text--has-side-column .text__single-column {
  display: grid;
  grid-template-columns: 1fr clamp(300px, 25vw, 500px);
  gap: clamp(3rem, 2rem + 1.5vw, 5rem);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  max-width: 100%;
  margin: 0;
}
@media (max-width: 1024px) {
  .text--has-side-column .text__single-column {
    grid-template-columns: 1fr 250px;
    gap: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  }
}
@media (max-width: 768px) {
  .text--has-side-column .text__single-column {
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 1rem + 1vw, 3rem);
  }
}
.text--has-side-column .text__main-content {
  min-width: 0;
}
.text--has-side-column .text__side-column {
  position: relative;
  z-index: 1;
  margin-bottom: 5rem;
}
@media (min-width: 769px) {
  .text--has-side-column .text__side-column.side-column--extended {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .text--has-side-column .text__side-column.side-column--extended {
    width: 250px;
  }
}
@media (min-width: 769px) {
  .text--has-side-column.has-extended-side-column .text__single-column {
    grid-template-columns: 1fr;
    padding-right: calc(300px + 4rem);
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .text--has-side-column.has-extended-side-column .text__single-column {
    padding-right: calc(250px + 3rem);
  }
}
.text--two-column .text__columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 2rem + 1.5vw, 5rem);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media (max-width: 768px) {
  .text--two-column .text__columns {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  }
  .text--two-column .text__columns .text__column--1 {
    margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
  }
}
.text--heading-left-only .text__column--2 .text__column-content--no-heading {
  margin-top: var(--heading-offset, 4.5rem);
}
@media (max-width: 768px) {
  .text--heading-left-only .text__column--2 .text__column-content--no-heading {
    margin-top: 0;
  }
}
.text--heading-right-only .text__column--1 .text__column-content--no-heading {
  margin-top: var(--heading-offset, 4.5rem);
}
@media (max-width: 768px) {
  .text--heading-right-only .text__column--1 .text__column-content--no-heading {
    margin-top: 0;
  }
}
.text__column-content h1, .text__column-content h2, .text__column-content h3, .text__column-content h4, .text__column-content h5, .text__column-content h6 {
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
  color: #B4131F;
}
.text__column-content h1:first-child, .text__column-content h2:first-child, .text__column-content h3:first-child, .text__column-content h4:first-child, .text__column-content h5:first-child, .text__column-content h6:first-child {
  margin-top: 0;
}
.text__copy {
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
}
.text__copy p {
  margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
}
.text__copy p:last-child {
  margin-bottom: 0;
}
.text__copy ul, .text__copy ol {
  margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  padding-left: clamp(1rem, 1rem + 0.5vw, 2rem);
}
.text__copy ul li, .text__copy ol li {
  margin-bottom: clamp(0.25rem, 0.2rem + 0.2vw, 0.75rem);
  line-height: 1.6;
}
.text__copy ul li:last-child, .text__copy ol li:last-child {
  margin-bottom: 0;
}
.text__copy ul {
  list-style-type: disc;
}
.text__copy ol {
  list-style-type: decimal;
}
.text__copy blockquote {
  margin-top: clamp(1.5rem, 1rem + 1vw, 3rem);
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
  padding-left: clamp(1rem, 1rem + 0.5vw, 2rem);
  border-left: clamp(3px, 0.2rem + 0.1vw, 6px) solid #B4131F;
  font-style: italic;
}
.text__copy strong {
  font-weight: 600;
}
.text__copy em {
  font-style: italic;
}
.text__copy a {
  color: #B4131F;
  text-decoration: underline;
}
.text__copy a:hover {
  color: #D92027;
}
@media (max-width: 768px) {
  .text__copy blockquote {
    margin: 1.5rem 0;
    padding-left: 1rem;
  }
}
.text .button {
  background-color: transparent;
  color: #B4131F;
  padding: 0;
  border: none;
  text-transform: none;
  text-decoration: none;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  position: relative;
}
.text .button::before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: calc(100% - 2.2rem);
  height: 1px;
  background-color: #B4131F;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}
.text .button::after {
  content: "→";
  font-size: clamp(1.4rem, 0.8rem + 0.7vw, 3.4rem);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  display: inline-block;
}
.text .button:hover {
  color: #D92027;
}
.text .button:hover::before {
  width: 0;
  background-color: #D92027;
}
.text .button:hover::after {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
.text .button:active {
  -webkit-transform: none;
          transform: none;
}
.text form button:before, .text form button:after {
  display: none !important;
}
.text__side-column {
  /* @include responsive-padding('md'); */
}
@media (max-width: 768px) {
  .text__side-column {
    /* @include responsive-padding('sm'); */
  }
}
.text__side-column-title {
  margin: 0;
  margin-bottom: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  font-weight: 400;
}
@media (max-width: 768px) {
  .text__side-column-title {
    font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
    margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  }
}
.text__side-column-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.text__side-column-item {
  border-bottom: 1px solid #D3D3D3;
}
.text__side-column-item:last-child {
  margin-bottom: 0;
}
.text__side-column-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0.5rem, 0.4rem + 0.3vw, 1rem);
  padding: clamp(1rem, 0.8rem + 0.5vw, 2rem) 0;
  text-decoration: none !important;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.text__side-column-item a:hover {
  background-color: rgba(180, 19, 31, 0.05);
  color: #B4131F;
  padding-left: clamp(0.25rem, 0.2rem + 0.2vw, 0.75rem);
}
.text__side-column-icon {
  width: clamp(18px, 1.5rem + 0.2vw, 24px);
  height: clamp(18px, 1.5rem + 0.2vw, 24px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}
.text__side-column-text {
  line-height: 1.6;
}
.text__side-column-item--pdf .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z'/%3E%3Ctext x='12' y='16' text-anchor='middle' font-family='Arial,sans-serif' font-size='3.5' font-weight='bold' fill='white'%3EPDF%3C/text%3E%3C/svg%3E");
}
.text__side-column-item--word .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V18H10L11,15L12,18H14V12H13V16L12,13H10L9,16V12H8Z'/%3E%3C/svg%3E");
}
.text__side-column-item--excel .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V18H16V12H8M10,13V17H11V15H12V13H10M13,13V15H14V17H15V13H13Z'/%3E%3C/svg%3E");
}
.text__side-column-item--powerpoint .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V18H10V16H12A2,2 0 0,0 14,14V13A2,2 0 0,0 12,11H8M10,13H12V14H10V13Z'/%3E%3C/svg%3E");
}
.text__side-column-item--image .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z'/%3E%3C/svg%3E");
}
.text__side-column-item--video .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z'/%3E%3C/svg%3E");
}
.text__side-column-item--archive .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M14,17H12V15H14M14,13H12V11H14M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z'/%3E%3C/svg%3E");
}
.text__side-column-item--text .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z'/%3E%3C/svg%3E");
}
.text__side-column-item--file .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z'/%3E%3C/svg%3E");
}
.text__side-column-item--external-link .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z'/%3E%3C/svg%3E");
}
.text__side-column-item--internal-link .text__side-column-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D92027'%3E%3Cpath d='M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z'/%3E%3C/svg%3E");
}
@media (max-width: 768px) {
  .text__inner {
    /* padding: 1.5rem; */
  }
  .text--two-column .text__columns {
    gap: 2rem;
  }
  .text__side-column-item a {
    gap: 0.5rem;
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  }
  .text__side-column-icon {
    width: 18px;
    height: 18px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .text--two-column .text__columns {
    gap: 3rem;
  }
}

.posts {
  padding: 2rem 0;
  background-color: #F9F9F9 !important;
  /*
  &__inner {
  }
  */
}
.posts__header {
  text-align: left;
  margin-bottom: 3rem;
}
.posts__header h1, .posts__header h2, .posts__header h3, .posts__header h4, .posts__header h5, .posts__header h6 {
  margin-bottom: 1rem;
}
.posts__filters {
  margin-top: 3rem;
  margin-bottom: 5rem;
  /*
  padding: 2rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  border: 1px solid rgba(220, 38, 38, 0.1);
  */
}
.posts__filters-label {
  display: block;
  font-weight: 500;
  margin-bottom: 2rem;
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
}
.posts__filters-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.posts__filter-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  padding: 0.5rem 1rem;
  background: #fff;
  border: 2px solid #e5e7eb;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
}
.posts__filter-item:hover {
  border-color: #dc2626;
  background: #fff5f5;
}
.posts__filter-item input[type=checkbox] {
  margin: 0;
  margin-right: 0.5rem;
  width: 18px;
  height: 18px;
  border: 2px solid #d1d5db;
  border-radius: 3px;
  background: #fff;
  cursor: pointer;
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.posts__filter-item input[type=checkbox]:checked {
  background: #dc2626;
  border-color: #dc2626;
}
.posts__filter-item input[type=checkbox]:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: white;
  font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  font-weight: bold;
}
.posts__filter-item input[type=checkbox]:focus {
  outline: 2px solid #dc2626;
  outline-offset: 2px;
}
.posts__filter-item:has(input:checked) {
  background: #dc2626;
  border-color: #dc2626;
  color: white;
}
.posts__filter-item:has(input:checked) .posts__filter-text {
  color: white;
}
.posts__filter-item input[type=checkbox]:checked + .posts__filter-text {
  color: white;
}
@media (max-width: 768px) {
  .posts__filter-item {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0.75rem 1rem;
  }
}
.posts__filter-text {
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  font-weight: 500;
  color: #374151;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.posts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
@media (min-width: 1024px) {
  .posts__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.posts__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.posts__card.is-hidden {
  display: none;
}
.posts__card.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}
.posts__card.animate-in {
  -webkit-animation: fadeInUp 0.4s ease forwards;
          animation: fadeInUp 0.4s ease forwards;
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.posts__card:hover {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
  -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}
.posts__card--no-image {
  background: #D92027;
  color: #FFFFFF;
}
.posts__card--no-image .posts__card-content {
  padding: 4.5rem 3.5rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.posts__card--no-image .posts__card-category {
  color: #FFFFFF;
  opacity: 0.6;
  font-weight: 600;
}
.posts__card--no-image .posts__card-separator {
  color: #FFFFFF;
  font-weight: 600;
}
.posts__card--no-image .posts__card-date {
  color: #FFFFFF;
  font-weight: 600;
}
.posts__card--no-image .posts__card-title {
  color: white;
  margin-bottom: 1rem;
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
}
.posts__card--no-image .posts__card-excerpt {
  color: #FFFFFF;
  margin-bottom: 1.5rem;
  line-height: 1.6;
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
  z-index: 2;
}
.posts__card--no-image .posts__card-link-text {
  color: #FFFFFF;
  text-decoration: underline;
  font-weight: 600;
}
.posts__card--no-image:hover {
  background: #B4131F;
}
.posts__card-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.posts__card-link:hover {
  text-decoration: none;
  color: inherit;
}
.posts__card-image {
  /* aspect-ratio: 16 / 9; */
  overflow: hidden;
}
.posts__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.posts__card:hover .posts__card-image img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.posts__card-content {
  padding: 4.5rem 3.5rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.posts__card-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
  gap: 0.5rem;
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
}
.posts__card-category {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #8D8D8D;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.posts__card-separator {
  color: #8D8D8D;
  margin: 0 0.25rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.posts__card-date {
  color: #D92027;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.posts__card-title {
  margin-bottom: 1rem;
  color: #100F0F;
}
.posts__card-excerpt {
  color: #100F0F;
  margin-bottom: 1.5rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.posts__card-link-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  color: #D92027;
  text-decoration: underline;
  font-weight: 600;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  margin-top: auto;
  -webkit-transition: gap 0.3s ease;
  transition: gap 0.3s ease;
}
.posts__card:hover .posts__card-link-text {
  gap: 0.75rem;
}
.posts__no-results {
  text-align: center;
  padding: 3rem 0;
  color: #666;
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
}
.posts__no-results-filter {
  grid-column: 1/-1;
  text-align: center;
  padding: 3rem 0;
  color: #666;
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
}
.posts__no-results-filter p {
  margin: 0;
}
.posts__pagination {
  margin-top: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.posts__pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
}
.posts__pagination .page-numbers li {
  margin: 0;
}
.posts__pagination .page-numbers a,
.posts__pagination .page-numbers .current,
.posts__pagination .page-numbers .prev,
.posts__pagination .page-numbers .next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0.5rem 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 6px;
  background: #fff;
  color: #374151;
  text-decoration: none;
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.posts__pagination .page-numbers a:hover,
.posts__pagination .page-numbers .current:hover,
.posts__pagination .page-numbers .prev:hover,
.posts__pagination .page-numbers .next:hover {
  border-color: #dc2626;
  background: #fff5f5;
  color: #dc2626;
}
.posts__pagination .page-numbers a:focus,
.posts__pagination .page-numbers .current:focus,
.posts__pagination .page-numbers .prev:focus,
.posts__pagination .page-numbers .next:focus {
  outline: 2px solid #dc2626;
  outline-offset: 2px;
}
.posts__pagination .page-numbers .current {
  background: #dc2626;
  border-color: #dc2626;
  color: white;
  pointer-events: none;
}
.posts__pagination .page-numbers .prev,
.posts__pagination .page-numbers .next {
  font-weight: 600;
}
.posts__pagination .page-numbers .prev.disabled,
.posts__pagination .page-numbers .next.disabled {
  opacity: 0.5;
  pointer-events: none;
  background: #f9fafb;
  color: #9ca3af;
}
@media (max-width: 768px) {
  .posts__pagination {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .posts__pagination .page-numbers a,
.posts__pagination .page-numbers .current,
.posts__pagination .page-numbers .prev,
.posts__pagination .page-numbers .next {
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0.375rem 0.75rem;
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  }
}
.posts.bg-white {
  background-color: #fff;
}
.posts.bg-grey {
  background-color: #f8f9fa;
}
.posts.bg-red {
  background-color: #dc2626;
  color: white;
}
.posts.bg-red .posts__header {
  color: white;
}
.posts.bg-red .posts__header .posts__intro {
  color: rgba(255, 255, 255, 0.8);
}
.posts.bg-blue {
  background-color: #2563eb;
  color: white;
}
.posts.bg-blue .posts__header {
  color: white;
}
.posts.bg-blue .posts__header .posts__intro {
  color: rgba(255, 255, 255, 0.8);
}
.posts.mt-small {
  margin-top: 1rem;
}
.posts.mt-medium {
  margin-top: 2rem;
}
.posts.mt-large {
  margin-top: 4rem;
}
.posts.mb-small {
  margin-bottom: 1rem;
}
.posts.mb-medium {
  margin-bottom: 2rem;
}
.posts.mb-large {
  margin-bottom: 4rem;
}
.posts.pt-small {
  padding-top: 1rem;
}
.posts.pt-medium {
  padding-top: 2rem;
}
.posts.pt-large {
  padding-top: 4rem;
}
.posts.pb-small {
  padding-bottom: 1rem;
}
.posts.pb-medium {
  padding-bottom: 2rem;
}
.posts.pb-large {
  padding-bottom: 4rem;
}

@media (max-width: 767px) {
  .posts__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .posts__header {
    margin-bottom: 2rem;
  }
  .posts__card-content {
    padding: 2rem;
  }
  .posts__card--no-image .posts__card-content {
    padding: 2rem;
  }
}
@media (max-width: 480px) {
  .posts__inner {
    padding: 0 0.75rem;
  }
  .posts__card-content {
    padding: 1rem;
  }
  .posts__card--no-image .posts__card-content {
    padding: 1.25rem;
  }
}
.people-block {
  padding: 2rem 0;
  background-color: #F9F9F9 !important;
} 
.people-block__header {
  text-align: left;
  margin-bottom: 3rem;
}
.people-block__header h1, .people-block__header h2, .people-block__header h3, .people-block__header h4, .people-block__header h5, .people-block__header h6 {
  margin-bottom: 1rem;
}
.people-block__intro {
  margin-bottom: 2rem;
}
.people-block__no-results {
  text-align: center;
  padding: 3rem 0;
  color: #666;
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
}
.people-block.bg-white {
  background-color: #fff;
}
.people-block.bg-grey {
  background-color: #f8f9fa;
}
.people-block.bg-red {
  background-color: #dc2626;
  color: white;
}
.people-block.bg-red .people-block__header {
  color: white;
}
.people-block.bg-red .people-block__header .people-block__intro {
  color: rgba(255, 255, 255, 0.8);
}
.people-block.bg-blue {
  background-color: #2563eb;
  color: white;
}
.people-block.bg-blue .people-block__header {
  color: white;
}
.people-block.bg-blue .people-block__header .people-block__intro {
  color: rgba(255, 255, 255, 0.8);
}
.people-block.mt-small {
  margin-top: 1rem;
}
.people-block.mt-medium {
  margin-top: 2rem;
}
.people-block.mt-large {
  margin-top: 4rem;
}
.people-block.mb-small {
  margin-bottom: 1rem;
}
.people-block.mb-medium {
  margin-bottom: 2rem;
}
.people-block.mb-large {
  margin-bottom: 4rem;
}
.people-block.pt-small {
  padding-top: 1rem;
}
.people-block.pt-medium {
  padding-top: 2rem;
}
.people-block.pt-large {
  padding-top: 4rem;
}
.people-block.pb-small {
  padding-bottom: 1rem;
}
.people-block.pb-medium {
  padding-bottom: 2rem;
}
.people-block.pb-large {
  padding-bottom: 4rem;
}

@media (max-width: 767px) {
  .people-block__header {
    margin-bottom: 2rem;
  }
}
@media (max-width: 480px) {
  .people-block__inner {
    padding: 0 0.75rem;
  }
}
.block--blockquote {
  text-align: center;
}
.block--blockquote .block--blockquote__content {
  position: relative;
  padding: clamp(4rem, 2.5rem + 2vw, 6rem);
}
.block--blockquote .block--blockquote__content p {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.block--blockquote .block--blockquote__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: clamp(3rem, 2.5rem + 0.8vw, 5rem);
  position: absolute;
}
.block--blockquote .block--blockquote__icon--left {
  top: 0;
  left: 0;
}
.block--blockquote .block--blockquote__icon--right {
  right: 0;
  bottom: 0;
}
.block--blockquote .block--blockquote__icon svg path {
  fill: #FFFFFF;
}
.block--blockquote .block--blockquote__quotee-details {
  margin-top: clamp(1.5rem, 1rem + 1vw, 3rem);
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
}

.media-gallery {
  /*
  &__inner {
  }
  */
}
.media-gallery__container {
  position: relative;
  border-radius: 0.5rem;
  margin-bottom: 6rem;
}
.media-gallery__viewport {
  width: 80%;
  position: relative;
}
.media-gallery__viewport::after {
  content: "";
  z-index: -1;
  position: absolute;
  top: 40%;
  left: -100vw;
  width: 170vw;
  height: 80%;
  background-color: #F0F0F0;
}
@media (max-width: 768px) {
  .media-gallery__viewport {
    width: 100%;
  }
  .media-gallery__viewport::after {
    width: 185vw;
  }
}
.media-gallery__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  gap: 4rem;
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  will-change: transform;
}
.media-gallery__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  width: 100%;
  height: 100%;
  position: relative;
  /* opacity: 0.3; */
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.media-gallery__item.active {
  opacity: 1;
}
.media-gallery__media {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.media-gallery__image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.media-gallery__image[data-orientation=landscape] {
  width: 100%;
  height: auto;
  max-height: 100%;
}
.media-gallery__image[data-orientation=portrait] {
  width: auto;
  height: 100%;
  max-width: 100%;
}
.media-gallery__image[data-orientation=square] {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.media-gallery__video-container {
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.media-gallery__video {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 16/9;
}
@media (max-width: 768px) {
  .media-gallery__video {
    aspect-ratio: 16/9;
  }
}
.media-gallery__ui {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .media-gallery__ui {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
  }
}
.media-gallery__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media (max-width: 768px) {
  .media-gallery__navigation {
    padding: 0.5rem 1rem;
    gap: 0.75rem;
  }
}
.media-gallery__nav {
  background: transparent;
  border: none;
  color: #D92027;
  cursor: pointer;
  padding: 0.5rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.media-gallery__nav:hover {
  background-color: rgba(220, 38, 38, 0.1);
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.media-gallery__nav:active {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
.media-gallery__nav:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.media-gallery__nav:disabled:hover {
  background-color: transparent;
  -webkit-transform: none;
          transform: none;
}
.media-gallery__nav svg {
  width: 20px;
  height: 20px;
}
@media (max-width: 768px) {
  .media-gallery__nav svg {
    width: 18px;
    height: 18px;
  }
}
.media-gallery__indicators {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.media-gallery__indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: rgba(220, 38, 38, 0.4);
  border: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.media-gallery__indicator--active {
  background-color: #D92027;
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}
.media-gallery__indicator:hover {
  background-color: rgba(220, 38, 38, 0.8);
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media (max-width: 768px) {
  .media-gallery__indicator {
    width: 6px;
    height: 6px;
  }
}
.media-gallery__counter {
  color: #D92027;
  padding: 0.5rem 1rem;
  border-radius: 1rem;
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  font-weight: 600;
}
.media-gallery__current {
  font-weight: 600;
}
.media-gallery__separator {
  opacity: 0.7;
  margin: 0 0.25rem;
}
.media-gallery__total {
  opacity: 0.9;
}
.media-gallery:not(.media-gallery--has-navigation) .media-gallery__viewport {
  height: auto;
  /* min-height: 400px; */
}
@media (max-width: 768px) {
  .media-gallery:not(.media-gallery--has-navigation) .media-gallery__viewport {
    /* min-height: 300px; */
  }
}
.media-gallery__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #B4131F;
  border-radius: 50%;
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
  opacity: 0;
  pointer-events: none;
}
.media-gallery__item.loading::before {
  opacity: 1;
}
@media (max-width: 768px) {
  .media-gallery__inner {
    /* padding: 1rem; */
  }
  .media-gallery__container {
    border-radius: 0.25rem;
  }
}
.media-gallery__nav:focus, .media-gallery__indicator:focus {
  outline: 2px solid #B4131F;
  outline-offset: 2px;
}
.media-gallery * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
.call-out {
  position: relative;
}
.call-out__inner {
  position: relative;
  /* min-height: clamp(300px, 40vh, 600px); */
}
.call-out__background {
  width: 100%;
  overflow: hidden;
}
.call-out__background-img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 5s ease;
  transition: -webkit-transform 5s ease;
  transition: transform 5s ease;
  transition: transform 5s ease, -webkit-transform 5s ease;
}
.call-out__background-img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.call-out__content-box {
  position: relative;
  z-index: 3;
  background-color: #931A23;
  color: white;
  padding: clamp(4rem, 2.5rem + 2vw, 6rem);
  max-width: clamp(600px, 60vw, 1200px);
  width: 100%;
  overflow: hidden;
}
.call-out__content-box:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100vw;
  background: #931A23;
  height: 100%;
  width: 100vw;
}
.call-out__content {
  position: relative;
  z-index: 2;
  text-align: left;
}
.call-out__content h1, .call-out__content h2, .call-out__content h3, .call-out__content h4, .call-out__content h5, .call-out__content h6,
.call-out__content .h1, .call-out__content .h2, .call-out__content .h3, .call-out__content .h4, .call-out__content .h5, .call-out__content .h6 {
  font-weight: 600;
}
.call-out__type {
  font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  opacity: 0.9;
  color: rgba(255, 255, 255, 0.8);
  padding-bottom: clamp(0.25rem, 0.2rem + 0.2vw, 0.75rem);
}
.call-out h1, .call-out h2, .call-out h3, .call-out h4, .call-out h5, .call-out h6 {
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
  line-height: 1.2;
}
.call-out h1:last-child, .call-out h2:last-child, .call-out h3:last-child, .call-out h4:last-child, .call-out h5:last-child, .call-out h6:last-child {
  margin-bottom: 0;
}
.call-out p {
  margin-bottom: clamp(1.5rem, 1rem + 1vw, 3rem);
  line-height: 1.6;
}
.call-out p:last-child {
  margin-bottom: 0;
}
.call-out ul, .call-out ol {
  margin-bottom: 1.5rem;
  padding-left: 0;
  list-style: none;
}
.call-out ul li, .call-out ol li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
  line-height: 1.6;
}
.call-out ul li:before, .call-out ol li:before {
  content: ">";
  position: absolute;
  left: 0;
  top: 0;
  color: #FF6A6F;
  font-weight: bold;
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
}
.call-out ul li:last-child, .call-out ol li:last-child {
  margin-bottom: 0;
}
.call-out ul:last-child, .call-out ol:last-child {
  margin-bottom: 0;
}
.call-out .button {
  background-color: white;
  color: #B4131F;
  padding: clamp(1.5rem, 1rem + 1vw, 3rem);
  border: 2px solid white;
  text-transform: uppercase;
  border-radius: 0.3rem;
  text-decoration: none;
  font-weight: 600;
  font-size: clamp(1.4rem, 1rem + 0.4vw, 2.4rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: inline-block;
  margin-top: clamp(1.5rem, 1rem + 1vw, 3rem);
}
.call-out .button:hover {
  background-color: transparent;
  color: white;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.call-out .button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.call-out--no-image .call-out__inner {
  min-height: auto;
}
.call-out--with-image .call-out__content-box {
  position: absolute;
  left: 2rem;
  bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .call-out--with-image .call-out__content-box {
    position: relative;
    left: 0;
    bottom: 5rem;
  }
}
@media (max-width: 768px) {
  .call-out {
    /* @include responsive-padding('sm'); */
  }
  .call-out__inner {
    /* min-height: clamp(250px, 30vh, 400px); */
    /* @include responsive-padding('sm'); */
  }
  .call-out__content-box {
    padding: clamp(2rem, 1.5rem + 1.2vw, 4rem);
    max-width: 100%;
  }
  .call-out__type {
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
    margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  }
  .call-out h1, .call-out h2, .call-out h3, .call-out h4, .call-out h5, .call-out h6 {
    margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  }
  .call-out p {
    margin-bottom: clamp(1rem, 0.75rem + 0.6vw, 2rem);
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  }
  .call-out .button {
    padding: clamp(1.5rem, 1rem + 1vw, 3rem);
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
    margin-top: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .call-out__inner {
    padding: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  }
  .call-out__content-box {
    padding: clamp(3rem, 2rem + 1.5vw, 5rem);
  }
}

header {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  color: #100F0F;
  background: #FFFFFF;
}
header .header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .header__logo {
  max-width: clamp(25rem, 15rem + 2vw, 30rem);
}
/*
header .header__logo path {
  fill: #D92027;
}
*/
header .header__actions {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(2rem, 1.5rem + 1.2vw, 4rem);
  padding: clamp(1.5rem, 1rem + 1vw, 3rem);
  background-color: #F0F0F0;
}
@media (max-width: 768px) {
  header .header__actions {
    gap: clamp(1rem, 0.75rem + 0.6vw, 2rem);
    margin-left: clamp(0.5rem, 0.5rem + 0.3vw, 1.5rem);
  }
}
header .header__actions:after {
  content: "";
  position: absolute;
  top: 0;
  right: -100vw;
  width: 100vw;
  height: 100%;
  background-color: #F0F0F0;
}
header .header__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(1rem, 0.75rem + 0.6vw, 2rem);
  background: none;
  border: none;
  color: #100F0F;
  cursor: pointer;
  padding: clamp(0.4rem, 0.3rem + 0.2vw, 0.8rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
}
header .header__action:hover {
  color: #D92027;
}
header .header__action:hover.header__action--menu .hamburger__line {
  background: #D92027;
}
header .header__action:hover.header__action--menu .hamburger__line:nth-child(1) {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
header .header__action:hover.header__action--menu .hamburger__line:nth-child(2) {
  -webkit-transform: translateY(-50%) scaleX(0.8);
          transform: translateY(-50%) scaleX(0.8);
}
header .header__action:hover.header__action--menu .hamburger__line:nth-child(3) {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
header .header__action:hover.header__action--search svg {
  -webkit-transform: scale(0.85);
          transform: scale(0.85);
}
header .header__action:hover.header__action--login svg {
  -webkit-transform: translateX(0.3rem);
          transform: translateX(0.3rem);
}
header .header__action:hover.header__action--secure svg {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-filter: drop-shadow(0 0 3px rgba(229, 0, 118, 0.3));
          filter: drop-shadow(0 0 3px rgba(229, 0, 118, 0.3));
}
header .header__action.current-menu-item, header .header__action.current-menu-parent, header .header__action.current-menu-ancestor, header .header__action.current_page_item, header .header__action.current_page_parent, header .header__action.current_page_ancestor {
  color: #D92027;
}
header .header__action:focus {
  outline: 0px solid #D92027;
  outline-offset: 2px;
}
@media (max-width: 768px) {
  header .header__action span.label {
    display: none;
  }
}
header .header__action svg {
  width: clamp(1.8rem, 1.6rem + 0.3vw, 2.4rem);
  height: clamp(1.8rem, 1.6rem + 0.3vw, 2.4rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  max-width: clamp(1.8rem, 1.6rem + 0.3vw, 2.4rem);
}
header .header__action.header__action--logout svg {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
header .header__action.header__action--logout:hover svg {
  -webkit-transform: scaleX(-1) translateX(0.3rem);
          transform: scaleX(-1) translateX(0.3rem);
}
header .header__nav--fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  z-index: -1;
}
header .header__nav--fullscreen.is-active {
  z-index: 999;
  opacity: 1;
  visibility: visible;
}
header .header__nav-content {
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header .header__nav-content.has-active-submenu .header__nav-submenu {
  background-color: #D92027;
}
header .header__nav-content.has-active-submenu .header__nav-close {
  color: #FFFFFF;
}
@media (max-width: 768px) {
  header .header__nav-content.has-active-submenu .header__nav-close {
    color: #100F0F;
  }
}
header .header__nav-close {
  position: absolute;
  top: 0rem;
  right: 4rem;
  background: none;
  border: none;
  color: #100F0F;
  cursor: pointer;
  padding: 0.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 1001;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
header .header__nav-close span {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: clamp(3.2rem, 2.5rem + 2.5vw, 8rem);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  display: inline-block;
  margin-top: -4px;
  line-height: 1;
  vertical-align: middle;
}
header .header__nav-close:hover span {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
header .header__nav-close:focus {
  outline: 0px solid #D92027;
}
header .header__nav-split {
  position: fixed;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100vw;
  height: 100vh;
  gap: 4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 768px) {
  header .header__nav-split {
    overflow: auto;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
header .header__nav-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
@media (max-width: 768px) {
  header .header__nav-main {
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    padding-left: 5vw;
  }
}
header .header__nav-main .main-menu {
  position: relative;
  z-index: 100;
  list-style: none;
  padding: 0 35px 0 0;
  margin: 0;
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu {
    padding-top: 2.3rem;
  }
}
header .header__nav-main .main-menu > li {
  margin: 0 0 1rem 0;
  position: relative;
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li {
    margin: 0 0 1rem 0;
  }
}
header .header__nav-main .main-menu > li > a {
  font-size: clamp(2rem, 1.2rem + 1.4vw, 7rem);
  font-weight: 500;
  color: #100F0F;
  text-decoration: none;
  display: block;
  padding: 1rem 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li > a {
    font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
    font-weight: 500;
  }
}
header .header__nav-main .main-menu > li > a:hover {
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li > a:hover {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
header .header__nav-main .main-menu > li > a:focus {
  outline: 0px solid #D92027;
  outline-offset: 4px;
}
header .header__nav-main .main-menu > li.is-active > a {
  color: #D92027;
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li.is-active > a {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
header .header__nav-main .main-menu > li.is-active.menu-item-has-children > a::after {
  opacity: 1;
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li.is-active.menu-item-has-children > a::after {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
header .header__nav-main .main-menu > li > a::before {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-top: -10px;
  margin-right: 2rem;
  vertical-align: middle;
}
header .header__nav-main .main-menu > li.nav--home > a::before {
  content: "";
  background: url("../assets/icons/icon--home.svg") no-repeat center;
  background-size: contain;
}
header .header__nav-main .main-menu > li.nav--how > a::before {
  content: "";
  background: url("../assets/icons/icon--bag.svg") no-repeat center;
  background-size: contain;
}
header .header__nav-main .main-menu > li.nav--what > a::before {
  content: "";
  background: url("../assets/icons/icon--doc.svg") no-repeat center;
  background-size: contain;
}
header .header__nav-main .main-menu > li.nav--careers > a::before {
  content: "";
  background: url("../assets/icons/icon--star.svg") no-repeat center;
  background-size: contain;
}
header .header__nav-main .main-menu > li.nav--about > a::before {
  content: "";
  background: url("../assets/icons/icon--people.svg") no-repeat center;
  background-size: contain;
}
header .header__nav-main .main-menu > li.nav--news > a::before {
  content: "";
  background: url("../assets/icons/icon--news.svg") no-repeat center;
  background-size: contain;
}
header .header__nav-main .main-menu > li.nav--contact > a::before {
  content: "";
  background: url("../assets/icons/icon--contact.svg") no-repeat center;
  background-size: contain;
}
header .header__nav-main .main-menu > li.menu-item-has-children > a {
  position: relative;
}
header .header__nav-main .main-menu > li.menu-item-has-children > a::after {
  content: "";
  width: 0;
  height: 0;
  top: 10px;
  border-left: 30px solid #FFFFFF;
  border-top: 24px solid transparent;
  border-bottom: 24px solid transparent;
  position: absolute;
  right: -70px;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header .header__nav-main .main-menu > li .sub-menu {
  left: calc(100% + 120px);
  top: 10px;
  position: absolute;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateX(-20px);
          transform: translateX(-20px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: 350px;
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li .sub-menu {
    position: relative;
    opacity: 1;
    left: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
    visibility: visible;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    min-width: auto;
  }
}
header .header__nav-main .main-menu > li .sub-menu.is-visible {
  display: block;
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li .sub-menu.is-visible {
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
}
header .header__nav-main .main-menu > li .sub-menu li {
  margin: 0 0 1rem 0;
}
header .header__nav-main .main-menu > li .sub-menu li a {
  font-size: clamp(2rem, 1.2rem + 1.4vw, 7rem);
  font-weight: 500;
  color: #FFFFFF;
  text-decoration: none;
  display: block;
  padding: 0 0 2rem 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li .sub-menu li a {
    font-weight: 400;
    padding: 0 0 1rem 0;
    font-size: clamp(1.5rem, 0.9rem + 0.8vw, 3.8rem);
    color: #100F0F;
  }
}
header .header__nav-main .main-menu > li .sub-menu li a:hover {
  color: #FFFFFF;
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
}
@media (max-width: 768px) {
  header .header__nav-main .main-menu > li .sub-menu li a:hover {
    color: #100F0F;
  }
}
header .header__nav-main .main-menu > li .sub-menu li a:focus {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}
header .header__nav-submenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  width: 50%;
  height: 100vh;
}
header .header__nav-submenu.has-submenu {
  background-color: #D92027;
}
@media (max-width: 768px) {
  header .header__nav-submenu {
    display: none;
  }
}
header .hamburger {
  width: 2.4rem;
  height: 1.4rem;
  position: relative;
  cursor: pointer;
  margin-left: 1rem;
}
header .hamburger__line {
  display: block;
  width: 100%;
  height: 2px;
  background: #D92027;
  position: absolute;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}
header .hamburger__line:nth-child(1) {
  top: 0;
}
header .hamburger__line:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
header .hamburger__line:nth-child(3) {
  bottom: 0;
}
header .hamburger__line:nth-child(2) {
  -webkit-animation: pulse 2s infinite;
          animation: pulse 2s infinite;
}
header .hamburger__action--menu.is-active .hamburger__line:nth-child(1) {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
header .hamburger__action--menu.is-active .hamburger__line:nth-child(2) {
  opacity: 0;
  -webkit-transform: translateY(-50%) scale(0);
          transform: translateY(-50%) scale(0);
}
header .hamburger__action--menu.is-active .hamburger__line:nth-child(3) {
  bottom: 50%;
  -webkit-transform: translateY(50%) rotate(-45deg);
          transform: translateY(50%) rotate(-45deg);
}
header .hamburger__action--menu.is-active .hamburger:hover .hamburger__line {
  background: #D92027;
}
header .hamburger__action--menu.is-active .hamburger:hover:nth-child(1) {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
header .hamburger__action--menu.is-active .hamburger:hover:nth-child(2) {
  opacity: 0;
  -webkit-transform: translateY(-50%) scale(0);
          transform: translateY(-50%) scale(0);
}
header .hamburger__action--menu.is-active .hamburger:hover:nth-child(3) {
  -webkit-transform: translateY(50%) rotate(-45deg);
          transform: translateY(50%) rotate(-45deg);
}
header .hamburger__action--menu.is-active .hamburger__line:nth-child(2) {
  -webkit-animation: none;
          animation: none;
}

.search-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #FFFFFF;
  z-index: -1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.search-modal.is-active {
  z-index: 999;
  opacity: 1;
  visibility: visible;
}
.search-modal__content {
  width: 100%;
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.search-modal__close {
  position: absolute;
  top: 0rem;
  right: 4rem;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  color: #100F0F;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.search-modal__close span {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: clamp(3.2rem, 2.5rem + 2.5vw, 8rem);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  display: inline-block;
  margin-top: -4px;
  line-height: 1;
  vertical-align: middle;
}
.search-modal__close:hover span {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.search-modal__close:focus {
  outline: 0px solid #D92027;
}
.search-modal__inner {
  max-width: 700px;
  width: 90%;
  text-align: center;
  padding: 2rem;
}
.search-modal__header {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .search-modal__header {
    margin-bottom: 2rem;
  }
}
.search-modal__title {
  color: #100F0F;
  margin-bottom: 1rem;
}
.search-modal__subtitle {
  color: #100F0F;
  margin: 0;
}
.search-modal__form {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .search-modal__form {
    margin-bottom: 2rem;
  }
}
.search-modal__form .search-form {
  border: none !important;
  margin: 0;
}
.search-modal__form .search-form-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  background: white;
  border: 2px solid #D92027;
  padding: 0.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  max-width: 600px;
  margin: 0 auto;
}
.search-modal__form .search-form-group:focus-within {
  border-color: #D92027;
}
@media (max-width: 768px) {
  .search-modal__form .search-form-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.75rem;
  }
}
.search-modal__form .search-input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  background: transparent;
  padding: 1.25rem 1.5rem;
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  outline: none;
  color: #100F0F;
}
.search-modal__form .search-input::-webkit-input-placeholder {
  color: #8D8D8D;
}
.search-modal__form .search-input::-moz-placeholder {
  color: #8D8D8D;
}
.search-modal__form .search-input:-ms-input-placeholder {
  color: #8D8D8D;
}
.search-modal__form .search-input::-ms-input-placeholder {
  color: #8D8D8D;
}
.search-modal__form .search-input::placeholder {
  color: #8D8D8D;
}
@media (max-width: 768px) {
  .search-modal__form .search-input {
    padding: 1rem 1.25rem;
    font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  }
}
.search-modal__form .search-button {
  background: #D92027;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 1.25rem 2rem;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  font-weight: 600;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.search-modal__form .search-button:hover {
  background: #B4131F;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 8px 20px rgba(217, 32, 39, 0.3);
          box-shadow: 0 8px 20px rgba(217, 32, 39, 0.3);
}
.search-modal__form .search-button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (max-width: 768px) {
  .search-modal__form .search-button {
    padding: 1rem 1.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
  .search-modal__form .search-button .search-button-text {
    display: block;
  }
}
.search-modal__form .search-icon {
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.search-modal__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 768px) {
  .search-modal__tags {
    gap: 0.75rem;
  }
}
.search-modal .search-tag {
  background: #F9F9F9;
  color: #343333;
  padding: 0.75rem 1.5rem;
  border-radius: 25px;
  text-decoration: none;
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
.search-modal .search-tag:hover {
  background: #D92027;
  color: white;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 4px 12px rgba(217, 32, 39, 0.2);
          box-shadow: 0 4px 12px rgba(217, 32, 39, 0.2);
}
@media (max-width: 768px) {
  .search-modal .search-tag {
    padding: 0.6rem 1.2rem;
    font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  }
}

@-webkit-keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}
body.menu-open {
  overflow: hidden;
}

body.search-open {
  overflow: hidden;
}

.base--cred {
  padding: 3rem 0;
}
.base--cred-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.base--cred-nav li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
@media screen {
  .base--cred-nav li {
    width: 100%;
  }
}
.base--cred-nav li a {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.base--cred-nav li a img {
  max-height: 60px;
  width: auto;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.base--cred-nav li a img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.base--cred-nav li div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.base--cred-nav li h4 {
  margin: 0 0 0.5rem 0;
}
.base--cred-nav li p {
  margin: 0;
}
@media (max-width: 768px) {
  .base--cred-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .base--cred-nav li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  .base--cred-nav li a img {
    max-height: 50px;
  }
}

.base--cta {
  background: #361213;
  color: #FFFFFF;
  padding: 4rem 0;
}
.base--cta .base--cta-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3rem;
}
.base--cta h3 {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  font-weight: 600;
  margin: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}
.base--cta-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.base--cta-nav li:first-child a {
  display: inline-block;
  padding: 0.8rem 2rem;
  background: #FFFFFF;
  text-transform: uppercase;
  color: #D92027;
  text-decoration: none;
  border-radius: 4px;
  border: 1px solid #FFFFFF;
  font-weight: 600;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.base--cta-nav li:first-child a:hover {
  background: #D92027;
  color: #FFFFFF;
  border-color: #D92027;
}
.base--cta-nav li:last-child a {
  display: inline-block;
  padding: 0.8rem 2rem;
  background: transparent;
  color: #FFFFFF;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  border: 1px solid #FFFFFF;
  font-weight: 600;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.base--cta-nav li:last-child a:hover {
  color: #D92027;
  border-color: #D92027;
}
@media (max-width: 768px) {
  .base--cta .base--cta-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    text-align: center;
  }
  .base--cta h3 {
    text-align: center;
  }
  .base--cta-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    width: 100%;
  }
  .base--cta-nav li a {
    width: 100%;
    text-align: center;
  }
}

footer {
  background: #100F0F;
  color: #FFFFFF;
}
footer .footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
footer .footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 2rem;
}
footer .footer__top a {
  max-width: 30rem;
}
footer .footer__top a svg, footer .footer__top a img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  footer .footer__top a svg, footer .footer__top a img {
    max-width: 80%;
  }
}
footer .footer__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
footer .footer__social a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
footer .footer__social a:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
footer .footer__social a svg {
  width: 1.5rem;
  height: 1.5rem;
}
footer .footer__middle {
  width: 100%;
}
footer .footer__nav {
  width: 100%;
}
footer .footer__nav .menu-footer-menu-container {
  width: 100%;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu,
footer .footer__nav .menu-footer-menu-container ul.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
@media (max-width: 768px) {
  footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu,
footer .footer__nav .menu-footer-menu-container ul.menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li,
footer .footer__nav .menu-footer-menu-container ul.menu > li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li.nav--home > a::before,
footer .footer__nav .menu-footer-menu-container ul.menu > li.nav--home > a::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  background: url("../assets/icons/icon--home.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li.nav--how > a::before,
footer .footer__nav .menu-footer-menu-container ul.menu > li.nav--how > a::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  background: url("../assets/icons/icon--bag.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li.nav--what > a::before,
footer .footer__nav .menu-footer-menu-container ul.menu > li.nav--what > a::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  background: url("../assets/icons/icon--doc.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li.nav--careers > a::before,
footer .footer__nav .menu-footer-menu-container ul.menu > li.nav--careers > a::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  background: url("../assets/icons/icon--star.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li.nav--about > a::before,
footer .footer__nav .menu-footer-menu-container ul.menu > li.nav--about > a::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  background: url("../assets/icons/icon--people.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li.nav--news > a::before,
footer .footer__nav .menu-footer-menu-container ul.menu > li.nav--news > a::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  background: url("../assets/icons/icon--news.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li.nav--contact > a::before,
footer .footer__nav .menu-footer-menu-container ul.menu > li.nav--contact > a::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  background: url("../assets/icons/icon--contact.svg") no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li > a,
footer .footer__nav .menu-footer-menu-container ul.menu > li > a {
  display: block;
  font-weight: 600;
  color: #FFFFFF;
  text-decoration: none;
  padding: 1rem 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li > a:hover,
footer .footer__nav .menu-footer-menu-container ul.menu > li > a:hover {
  color: #D92027;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li ul.sub-menu,
footer .footer__nav .menu-footer-menu-container ul.menu > li ul.sub-menu {
  list-style: none;
  margin: 0.5rem 0 0 3rem;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li ul.sub-menu li,
footer .footer__nav .menu-footer-menu-container ul.menu > li ul.sub-menu li {
  margin: 0;
  width: 100%;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li ul.sub-menu li a,
footer .footer__nav .menu-footer-menu-container ul.menu > li ul.sub-menu li a {
  display: block;
  color: #D1BEBF;
  text-decoration: none;
  padding: 0.4rem 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 1.2;
  width: 100%;
}
footer .footer__nav .menu-footer-menu-container ul#menu-footer-menu > li ul.sub-menu li a:hover,
footer .footer__nav .menu-footer-menu-container ul.menu > li ul.sub-menu li a:hover {
  color: #FFFFFF;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
footer .footer__bottom {
  padding-top: 2rem;
  text-align: left;
}
footer .footer__bottom p {
  font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  line-height: 1.4;
  color: #D1BEBF;
  margin: 0;
  max-width: 80%;
}
@media (max-width: 768px) {
  footer .footer__bottom p {
    max-width: 100%;
  }
}
footer .footer__left, footer .footer__right {
  display: none;
}

.rssw__widget {
  -webkit-transform: scale(0.55) translateX(27px);
          transform: scale(0.55) translateX(27px);
}

.gfrom-gb-block .gform_wrapper {
  max-width: 750px;
}

.page-template-template-content main,
.page-template-template-content-private main,
.page-template-template-introducer-login main,
.page-template-template-request-login main {
  margin: 0 auto;
  padding: 1rem;
}
.page-template-template-content main a,
.page-template-template-content-private main a,
.page-template-template-introducer-login main a,
.page-template-template-request-login main a {
  text-decoration: underline;
}
.page-template-template-content main p,
.page-template-template-content-private main p,
.page-template-template-introducer-login main p,
.page-template-template-request-login main p {
  margin-bottom: 2rem;
}
.page-template-template-content main .gf_login_links,
.page-template-template-content-private main .gf_login_links,
.page-template-template-introducer-login main .gf_login_links,
.page-template-template-request-login main .gf_login_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
  color: #D92027;
}
.page-template-template-content main .gf_login_links a:first-child,
.page-template-template-content-private main .gf_login_links a:first-child,
.page-template-template-introducer-login main .gf_login_links a:first-child,
.page-template-template-request-login main .gf_login_links a:first-child {
  display: none;
}

.page-template-template-introducer-login main,
.page-template-template-request-login main {
  max-width: 800px;
  margin: 0 auto;
}

.page-template-template-client .banner--client {
  margin-bottom: 5rem;
  min-height: 400px;
}
.page-template-template-client .banner--client.banner--split .banner__left {
  background-color: transparent;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.page-template-template-client .banner--client.banner--split .banner__left .banner__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 5s ease;
  transition: -webkit-transform 5s ease;
  transition: transform 5s ease;
  transition: transform 5s ease, -webkit-transform 5s ease;
}
.page-template-template-client .banner--client.banner--split .banner__left .banner__img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.page-template-template-client .banner--client.banner--split .banner__right {
  background-color: transparent;
}
@media (max-width: 768px) {
  .page-template-template-client .banner--client {
    min-height: 300px;
  }
}
.page-template-template-client .document-sections .document-section {
  margin-bottom: 3rem;
}
.page-template-template-client .document-sections .document-section:last-child {
  margin-bottom: 0;
}
.page-template-template-client .document-sections .document-section__title {
  margin-bottom: 1.5rem;
}
.page-template-template-client .document-sections .document-section__content {
  margin-bottom: 2.5rem;
}
.page-template-template-client .document-sections .document-section__content p {
  margin-bottom: 1rem;
  line-height: 1.6;
}
.page-template-template-client .document-sections .document-section__content p:last-child {
  margin-bottom: 0;
}
.page-template-template-client .document-sections .document-section__shortcode {
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .page-template-template-client .document-sections {
    padding: 1.5rem 0;
  }
  .page-template-template-client .document-sections .document-section {
    margin-bottom: 2rem;
  }
}
.page-template-template-client .contact-details-section {
  padding: 4rem 1rem;
  color: white;
}
.page-template-template-client .contact-details-section .contact-details-container {
  margin: 0 auto;
}
.page-template-template-client .contact-details-section .contact-details__title {
  text-align: left;
  color: white !important;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .page-template-template-client .contact-details-section .contact-details__title {
    margin-bottom: 2rem;
  }
}
.page-template-template-client .contact-details-section .contact-details__content .row .col-6 {
  margin-left: 0;
}
.page-template-template-client .contact-details-section .contact-details__content .row .col-6 .contact-group {
  padding: 0;
}
@media (max-width: 768px) {
  .page-template-template-client .contact-details-section .contact-details__content .row {
    display: block;
  }
  .page-template-template-client .contact-details-section .contact-details__content .row .col-6 {
    width: 100%;
    margin-bottom: 2rem;
  }
  .page-template-template-client .contact-details-section .contact-details__content .row .col-6:last-child {
    margin-bottom: 0;
  }
}
.page-template-template-client .contact-details-section .contact-group {
  padding: 0 1rem;
}
.page-template-template-client .contact-details-section .contact-group__title {
  color: white !important;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid rgba(255, 255, 255, 0.3);
  padding-bottom: 0.5rem;
}
.page-template-template-client .contact-details-section .team-members .team-member {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background-color: rgba(255, 255, 255, 0.1);
}
.page-template-template-client .contact-details-section .team-members .team-member:last-child {
  margin-bottom: 0;
}
.page-template-template-client .contact-details-section .team-members .team-member__name {
  margin-bottom: 0.25rem;
  color: white;
}
.page-template-template-client .contact-details-section .team-members .team-member__role {
  color: rgba(255, 255, 255, 0.8);
  font-style: italic;
}
.page-template-template-client .contact-details-section .contact-item {
  margin-bottom: 1.5rem;
}
.page-template-template-client .contact-details-section .contact-item:last-child {
  margin-bottom: 0;
}
.page-template-template-client .contact-details-section .contact-item__label {
  color: white !important;
  margin-bottom: 0.5rem;
}
.page-template-template-client .contact-details-section .contact-item__value {
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0.25rem;
}
.page-template-template-client .contact-details-section .contact-item__value:last-child {
  margin-bottom: 0;
}
.page-template-template-client .contact-details-section .contact-item__value a {
  color: white !important;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.page-template-template-client .contact-details-section .contact-item__value a:hover {
  opacity: 0.8;
  text-decoration: underline;
}
@media (max-width: 768px) {
  .page-template-template-client .contact-details-section {
    padding: 3rem 0;
  }
  .page-template-template-client .contact-details-section .contact-group {
    padding: 0;
    margin-bottom: 2rem;
  }
  .page-template-template-client .contact-details-section .contact-group:last-child {
    margin-bottom: 0;
  }
  .page-template-template-client .contact-details-section .contact-group__title {
    margin-bottom: 1rem;
  }
  .page-template-template-client .contact-details-section .team-members .team-member {
    padding: 0.75rem;
    margin-bottom: 1rem;
  }
  .page-template-template-client .contact-details-section .contact-item {
    margin-bottom: 1rem;
  }
}
.page-template-template-client .footer-statement {
  padding-left: 1rem;
  padding-right: 1rem;
}
.page-template-template-client .footer-statement.footer-statement--1 {
  background-color: #343333;
}
.page-template-template-client .footer-statement.footer-statement--2 {
  text-align: center;
}
.page-template-template-client .footer-statement .footer-statement__content {
  padding: 3rem 0;
  color: #ffffff;
}

form {
  max-width: 750px !important;
  border: 2px solid #D92027 !important;
  padding: 2rem !important;
}
form label {
  font-weight: normal !important;
}
form input {
  border: 1px solid #616060;
  background-color: #FFFFFF;
  border-radius: 4px;
  width: 100% !important;
}
form input[type=submit] {
  width: auto !important;
}
form textarea {
  border: 1px solid #616060;
  background-color: #FFFFFF;
  border-radius: 4px;
}
form input[type=submit],
form button {
  border: none;
  background-color: #D92027 !important;
  color: #FFFFFF !important;
  border-radius: 4px !important;
  padding: 1.5rem 3rem !important;
}
form .gfield--type-fileupload button {
  padding: 0.5rem 1rem !important;
  cursor: pointer;
}

.archive-people .archive-header {
  text-align: center;
  margin-bottom: 3rem;
}
.archive-people .archive-header .archive-title {
  font-size: clamp(3.2rem, 2.5rem + 2.5vw, 8rem);
  font-weight: 700;
  color: var(--c-grey-7, #374151);
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .archive-people .archive-header .archive-title {
    font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  }
}

.people-cards__grid {
  margin-bottom: 5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media (max-width: 1024px) {
  .people-cards__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media (max-width: 768px) {
  .people-cards__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.people-card {
  background: white;
  border-radius: 0;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  height: 100%;
}
.people-card:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.people-card:hover .people-card__overlay {
  opacity: 1;
}
.people-card:hover .people-card__image {
  -webkit-filter: brightness(0.3) sepia(1) hue-rotate(-10deg) saturate(3);
          filter: brightness(0.3) sepia(1) hue-rotate(-10deg) saturate(3);
}
.people-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.people-card__link:hover, .people-card__link:focus {
  text-decoration: none;
  color: inherit;
}
.people-card__image-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.people-card__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
.people-card__image--placeholder {
  background: var(--c-grey-3, #d1d5db);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.people-card__image--placeholder::before {
  content: "No Image";
  color: var(--c-grey-6, #6b7280);
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
}
.people-card__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(147, 26, 35, 0.9);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.people-card__overlay .pattern {
  position: absolute;
}
.people-card__overlay .pattern--top-left {
  top: 0;
  left: 0;
}
.people-card__overlay .pattern--top-right {
  top: 0;
  right: 0;
}
.people-card__overlay .pattern--bottom-left {
  bottom: 0;
  left: 0;
}
.people-card__overlay-content {
  position: relative;
  z-index: 2;
}
.people-card__view-profile {
  color: white;
  font-weight: 600;
  text-align: center;
  display: block;
}
.people-card__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.people-card__name-band {
  background: var(--c-red-2, #B4131F);
  color: white;
  padding: 1rem 1.5rem 0rem 1.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  .people-card__name-band {
    padding: 0.875rem 1.25rem;
  }
}
.people-card__name {
  margin: 0;
  font-weight: 600;
}
@media (max-width: 768px) {
  .people-card__name {
    font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  }
}
.people-card__role {
  padding: 0.5rem 1.5rem 1.5rem 1.5rem;
  background: var(--c-red-2, #B4131F);
  color: white;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
}
@media (max-width: 768px) {
  .people-card__role {
    padding: 0.875rem 1.25rem;
  }
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(45deg);
            transform: scale(0) rotate(45deg);
  }
  50% {
    opacity: 0.8;
    -webkit-transform: scale(1.1) rotate(22deg);
            transform: scale(1.1) rotate(22deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}
.people-card__overlay .pattern span {
  opacity: 0;
  -webkit-transform: scale(0) rotate(45deg);
          transform: scale(0) rotate(45deg);
}
.people-card__overlay .pattern span:nth-child(1) {
  -webkit-animation-delay: 0ms;
          animation-delay: 0ms;
}
.people-card__overlay .pattern span:nth-child(2) {
  -webkit-animation-delay: 100ms;
          animation-delay: 100ms;
}
.people-card__overlay .pattern span:nth-child(3) {
  -webkit-animation-delay: 200ms;
          animation-delay: 200ms;
}
.people-card__overlay .pattern span:nth-child(4) {
  -webkit-animation-delay: 300ms;
          animation-delay: 300ms;
}

.no-people {
  text-align: center;
  padding: 3rem 0;
  color: var(--c-grey-6, #6b7280);
}
.no-people p {
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  margin: 0;
}

.single-person {
  margin: 0 auto 5rem;
}
.single-person__hero {
  position: relative;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}
.single-person__image-container {
  position: relative;
  width: 100%;
  height: 100%;
}
.single-person__image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.single-person__image--placeholder {
  background: var(--c-grey-3, #d1d5db);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--c-grey-6, #6b7280);
  font-size: clamp(1.4rem, 0.8rem + 0.7vw, 3.4rem);
}
.single-person__image--placeholder::before {
  content: "No Image Available";
}
.single-person__content {
  max-width: 900px;
  margin: 0 auto;
  padding: 3rem 0;
}
@media (max-width: 768px) {
  .single-person__content {
    padding: 2rem 0;
  }
}
.single-person__header {
  margin-bottom: 3rem;
  text-align: center;
}
@media (max-width: 768px) {
  .single-person__header {
    margin-bottom: 2rem;
  }
}
.single-person__name {
  font-weight: 700;
  color: #100F0F;
  margin: 0 0 1rem 0;
  line-height: 1.1;
}
.single-person__position {
  font-weight: 600;
  color: #D92027;
  margin: 0;
}
.single-person__body {
  margin-bottom: 3rem;
}
.single-person__body p {
  margin-bottom: 1.5rem;
}
.single-person__body p:last-child {
  margin-bottom: 0;
}
.single-person__body h2, .single-person__body h3, .single-person__body h4, .single-person__body h5, .single-person__body h6 {
  color: #100F0F;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.single-person__body h2:first-child, .single-person__body h3:first-child, .single-person__body h4:first-child, .single-person__body h5:first-child, .single-person__body h6:first-child {
  margin-top: 0;
}
.single-person__body ul, .single-person__body ol {
  margin-bottom: 1.5rem;
  padding-left: 2rem;
}
.single-person__body ul li, .single-person__body ol li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}
.single-person__body blockquote {
  border-left: 4px solid #D92027;
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: #5C4B4C;
}
.single-person__body a {
  color: #D92027;
  text-decoration: underline;
}
.single-person__body a:hover {
  color: #B4131F;
}
.single-person__contact {
  background: #F9EFE8;
  padding: 2rem;
  border-radius: 8px;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .single-person__contact {
    padding: 1.5rem;
  }
}
.single-person__contact-title {
  font-size: clamp(1.5rem, 0.9rem + 0.8vw, 3.8rem);
  font-weight: 600;
  color: #100F0F;
  margin: 0 0 1.5rem 0;
}
.single-person__contact-item {
  margin-bottom: 1rem;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
}
.single-person__contact-item:last-child {
  margin-bottom: 0;
}
.single-person__contact-item strong {
  display: inline-block;
  min-width: 80px;
  color: #5C4B4C;
  font-weight: 600;
}
.single-person__contact-item a {
  color: #D92027;
  text-decoration: none;
}
.single-person__contact-item a:hover {
  color: #B4131F;
  text-decoration: underline;
}
.single-person__not-found {
  text-align: center;
  padding: 4rem 2rem;
}
.single-person__not-found a {
  color: #D92027;
  text-decoration: none;
}
.single-person__not-found a:hover {
  text-decoration: underline;
}

.single-post__content {
  max-width: 800px;
  margin: 5rem auto;
  padding: 1rem;
}
.single-post__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 768px) {
  .single-post__meta {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
}
.single-post__category {
  color: #8D8D8D;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.single-post__separator {
  color: #8D8D8D;
}
.single-post__date {
  color: #D92027;
}
.single-post__header {
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .single-post__header {
    margin-bottom: 1.5rem;
  }
}
.single-post__title {
  color: #100F0F;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-transform: capitalize;
}
.single-post__social-share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
  padding: 1.5rem 0;
}
@media (max-width: 768px) {
  .single-post__social-share {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    padding: 1rem 0;
  }
}
.single-post__share-label {
  font-weight: 600;
  color: var(--c-grey-6, #6b7280);
  margin-right: 0.5rem;
}
@media (max-width: 768px) {
  .single-post__share-label {
    margin-right: 0;
  }
}
.single-post__share-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
}
.single-post__share-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  color: #100F0F;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.single-post__share-icon:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  text-decoration: none;
}
.single-post__share-icon svg {
  width: 20px;
  height: 20px;
}
.single-post__share-icon--x:hover {
  background: #000000;
  color: white;
}
.single-post__share-icon--facebook:hover {
  background: #1877f2;
  color: white;
}
.single-post__share-icon--instagram:hover {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: white;
}
.single-post__share-icon--linkedin:hover {
  background: #0077b5;
  color: white;
}
.single-post__intro {
  color: #100F0F;
  margin-bottom: 2rem;
}
.single-post__intro p {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  margin-bottom: 2rem;
  margin: 0;
}
.single-post__featured-image {
  margin-bottom: 2.5rem;
  margin-left: -30px;
  width: calc(100% + 60px);
}
@media (max-width: 768px) {
  .single-post__featured-image {
    margin-bottom: 2rem;
    margin-left: 0;
    width: 100%;
  }
}
.single-post__image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-post__body {
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  line-height: 1.4;
  color: var(--c-grey-7, #374151);
}
.single-post__body h1, .single-post__body h2, .single-post__body h3, .single-post__body h4, .single-post__body h5, .single-post__body h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-weight: 700;
  line-height: 1.2;
}
.single-post__body h1:first-child, .single-post__body h2:first-child, .single-post__body h3:first-child, .single-post__body h4:first-child, .single-post__body h5:first-child, .single-post__body h6:first-child {
  margin-top: 0;
}
.single-post__body h2 {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  color: var(--c-grey-7, #374151);
}
.single-post__body h3 {
  font-size: clamp(1.6rem, 1rem + 0.9vw, 4.5rem);
  color: var(--c-grey-7, #374151);
}
.single-post__body p {
  margin-bottom: 1.5rem;
}
.single-post__body p:last-child {
  margin-bottom: 0;
}
.single-post__body a {
  color: var(--c-red-2, #dc2626);
  text-decoration: underline;
}
.single-post__body a:hover {
  color: var(--c-red-3, #b91c1c);
  text-decoration: none;
}
.single-post__body ul, .single-post__body ol {
  margin: 1.5rem 0;
  padding-left: 2rem;
}
.single-post__body ul li, .single-post__body ol li {
  margin-bottom: 0.5rem;
}
.single-post__body blockquote {
  margin: 2rem 0;
  padding: 1.5rem;
  background: var(--c-grey-1, #f9fafb);
  border-left: 4px solid var(--c-red-2, #dc2626);
  font-style: italic;
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
}
.single-post__body blockquote p {
  margin: 0;
}
.single-post__body img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin: 1.5rem 0;
}
.single-post__body code {
  background: var(--c-grey-2, #f3f4f6);
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
}
.single-post__body pre {
  background: var(--c-grey-2, #f3f4f6);
  padding: 1rem;
  border-radius: 6px;
  overflow-x: auto;
  margin: 1.5rem 0;
}
.single-post__body pre code {
  background: none;
  padding: 0;
}
.single-post__related {
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .single-post__related {
    margin-top: 3rem;
  }
}
.single-post__related .cards__header {
  text-align: center;
  margin-bottom: 4rem;
}
.single-post__related .cards__header h2 {
  color: var(--c-grey-7, #374151);
  margin: 0;
}
.single-post__related .cards__category {
  font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--c-red-2, #dc2626);
  margin-bottom: 0.5rem;
}
.single-post__not-found {
  text-align: center;
  padding: 4rem 2rem;
}
.single-post__not-found h1 {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  color: var(--c-grey-7, #374151);
  margin-bottom: 1rem;
}
.single-post__not-found p {
  color: var(--c-grey-6, #6b7280);
  margin-bottom: 1rem;
}
.single-post__not-found p a {
  color: var(--c-red-2, #dc2626);
  text-decoration: none;
}
.single-post__not-found p a:hover {
  text-decoration: underline;
}

.search-results__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.search-results__header {
  text-align: center;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .search-results__header {
    margin-bottom: 3rem;
  }
}
.search-results__title {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  font-weight: 700;
  margin-bottom: clamp(2.4rem, 1.8rem + 1.8vw, 4.8rem);
  color: #1f2937;
}
.search-results__meta {
  margin-bottom: 2rem;
}
.search-results__meta p {
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  color: #6b7280;
  margin: 0;
}
@media (max-width: 768px) {
  .search-results__meta p {
    font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  }
}
.search-results__meta strong {
  color: #dc2626;
  font-weight: 600;
}
.search-results__form {
  max-width: 600px;
  margin: 0 auto;
}
.search-results__form form {
  border: none !important;
}
.search-results__form .search-form {
  border: none !important;
  margin: 0;
}
.search-results__form .search-form-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  background: white;
  border: 2px solid #D92027;
  padding: 0.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.search-results__form .search-form-group:focus-within {
  border-color: #D92027;
}
@media (max-width: 768px) {
  .search-results__form .search-form-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.75rem;
  }
}
.search-results__form .search-input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  background: transparent;
  padding: 1.25rem 1.5rem;
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  outline: none;
  color: #100F0F;
}
.search-results__form .search-input::-webkit-input-placeholder {
  color: #8D8D8D;
}
.search-results__form .search-input::-moz-placeholder {
  color: #8D8D8D;
}
.search-results__form .search-input:-ms-input-placeholder {
  color: #8D8D8D;
}
.search-results__form .search-input::-ms-input-placeholder {
  color: #8D8D8D;
}
.search-results__form .search-input::placeholder {
  color: #8D8D8D;
}
@media (max-width: 768px) {
  .search-results__form .search-input {
    padding: 1rem 1.25rem;
    font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  }
}
.search-results__form .search-button {
  background: #D92027;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 1.25rem 2rem;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  font-weight: 600;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.search-results__form .search-button:hover {
  background: #B4131F;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 8px 20px rgba(217, 32, 39, 0.3);
          box-shadow: 0 8px 20px rgba(217, 32, 39, 0.3);
}
.search-results__form .search-button:active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media (max-width: 768px) {
  .search-results__form .search-button {
    padding: 1rem 1.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
  .search-results__form .search-button .search-button-text {
    display: block;
  }
}
.search-results__form .search-icon {
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.search-results__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media (max-width: 768px) {
  .search-results__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .search-results__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.search-results__grid:has(.search-results__card--with-image) {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
  .search-results__grid:has(.search-results__card--with-image) {
    grid-template-columns: 1fr;
  }
}
.search-results__card {
  color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.search-results__card:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
          box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.search-results__card--red-1 {
  background-color: #66080F;
}
.search-results__card--red-2 {
  background-color: #931A23;
}
.search-results__card--red-3 {
  background-color: #B4131F;
}
.search-results__card--with-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.search-results__card--with-image .search-results__card-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 768px) {
  .search-results__card--with-image {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.search-results__card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.search-results__card--with-image .search-results__card-link {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media (max-width: 768px) {
  .search-results__card--with-image .search-results__card-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.search-results__card-image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40%;
          flex: 0 0 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
.search-results__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  min-height: 200px;
}
@media (max-width: 768px) {
  .search-results__card-image {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    height: 200px;
    width: 100%;
  }
}
.search-results__card-content {
  padding: 3rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
@media (max-width: 768px) {
  .search-results__card-content {
    padding: 2rem 1.5rem;
  }
}
.search-results__content-inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  z-index: 2;
  height: 100%;
}
.search-results__card-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  opacity: 0.9;
}
.search-results__card-category {
  background: rgba(255, 255, 255, 0.2);
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
@media (max-width: 768px) {
  .search-results__card-category {
    padding: 0.2rem 0.6rem;
    font-size: clamp(1.2rem, 1rem + 0.3vw, 1.6rem);
  }
}
.search-results__card-date {
  font-weight: 400;
  opacity: 0.8;
}
.search-results__card-title {
  font-size: clamp(1.5rem, 0.9rem + 0.8vw, 3.8rem);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .search-results__card-title {
    font-size: clamp(1.4rem, 0.8rem + 0.7vw, 3.4rem);
    margin-bottom: 0.75rem;
  }
}
.search-results__card-excerpt {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 2rem;
  line-height: 1.6;
  opacity: 0.9;
}
@media (max-width: 768px) {
  .search-results__card-excerpt {
    margin-bottom: 1.5rem;
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  }
}
.search-results__card-link-text {
  background-color: white;
  color: #dc2626;
  padding: 0.875rem 1.75rem;
  border: 2px solid white;
  text-transform: uppercase;
  border-radius: 0.25rem;
  font-weight: 600;
  font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
  display: inline-block;
  margin-top: auto;
}
@media (max-width: 768px) {
  .search-results__card-link-text {
    padding: 0.75rem 1.5rem;
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  }
}
.search-results__card:hover .search-results__card-link-text {
  background-color: transparent;
  color: white;
}
.search-results__pagination {
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 768px) {
  .search-results__pagination {
    margin-top: 3rem;
  }
}
.search-results__pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
}
.search-results__pagination .page-numbers li {
  margin: 0;
}
.search-results__pagination .page-numbers a,
.search-results__pagination .page-numbers .current,
.search-results__pagination .page-numbers .prev,
.search-results__pagination .page-numbers .next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0.5rem 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 6px;
  background: #fff;
  color: #374151;
  text-decoration: none;
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.search-results__pagination .page-numbers a:hover,
.search-results__pagination .page-numbers .current:hover,
.search-results__pagination .page-numbers .prev:hover,
.search-results__pagination .page-numbers .next:hover {
  border-color: #dc2626;
  background: #fff5f5;
  color: #dc2626;
}
.search-results__pagination .page-numbers a:focus,
.search-results__pagination .page-numbers .current:focus,
.search-results__pagination .page-numbers .prev:focus,
.search-results__pagination .page-numbers .next:focus {
  outline: 2px solid #dc2626;
  outline-offset: 2px;
}
.search-results__pagination .page-numbers .current {
  background: #dc2626;
  border-color: #dc2626;
  color: white;
  pointer-events: none;
}
.search-results__pagination .page-numbers .prev,
.search-results__pagination .page-numbers .next {
  font-weight: 600;
}
.search-results__pagination .page-numbers .prev.disabled,
.search-results__pagination .page-numbers .next.disabled {
  opacity: 0.5;
  pointer-events: none;
  background: #f9fafb;
  color: #9ca3af;
}
@media (max-width: 768px) {
  .search-results__pagination .page-numbers a,
.search-results__pagination .page-numbers .current,
.search-results__pagination .page-numbers .prev,
.search-results__pagination .page-numbers .next {
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0.375rem 0.75rem;
    font-size: clamp(1.2rem, 0.8rem + 0.4vw, 2.4rem);
  }
}
.search-results__no-results {
  text-align: center;
  padding: 4rem 2rem;
}
@media (max-width: 768px) {
  .search-results__no-results {
    padding: 3rem 1rem;
  }
}
.search-results__no-results-content {
  max-width: 600px;
  margin: 0 auto;
}
.search-results__no-results-content h2 {
  font-size: clamp(1.8rem, 1.1rem + 1.1vw, 5.5rem);
  font-weight: 700;
  margin-bottom: 1rem;
  color: #1f2937;
}
@media (max-width: 768px) {
  .search-results__no-results-content h2 {
    font-size: clamp(1.5rem, 0.9rem + 0.8vw, 3.8rem);
  }
}
.search-results__no-results-content > p {
  font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  color: #6b7280;
  margin-bottom: 2rem;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .search-results__no-results-content > p {
    font-size: clamp(1.4rem, 1rem + 0.5vw, 2.8rem);
  }
}
.search-results__suggestions {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 2rem;
  text-align: left;
}
.search-results__suggestions h3 {
  font-size: clamp(1.4rem, 0.8rem + 0.7vw, 3.4rem);
  font-weight: 600;
  margin-bottom: 1rem;
  color: #1f2937;
}
.search-results__suggestions ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.search-results__suggestions li {
  padding: 0.5rem 0;
  border-bottom: 1px solid #e5e7eb;
  color: #6b7280;
}
.search-results__suggestions li:last-child {
  border-bottom: none;
}
.search-results__suggestions li::before {
  content: "→";
  color: #dc2626;
  font-weight: bold;
  margin-right: 0.75rem;
}
@media (max-width: 768px) {
  .search-results__suggestions {
    padding: 1.5rem;
  }
  .search-results__suggestions h3 {
    font-size: clamp(1.6rem, 1.1rem + 0.6vw, 3.2rem);
  }
}
.search-results.bg-white {
  background-color: #fff;
}
.search-results.bg-grey {
  background-color: #f8f9fa;
}
.search-results.bg-red {
  background-color: #dc2626;
  color: white;
}
.search-results.bg-red .search-results__title,
.search-results.bg-red .search-results__no-results-content h2 {
  color: white;
}
.search-results.bg-red .search-results__meta p {
  color: rgba(255, 255, 255, 0.8);
}
.search-results.bg-red .search-results__form .search-form-group {
  background: rgba(255, 255, 255, 0.95);
}

@keyframes patternFadeIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8) rotate(-5deg);
            transform: scale(0.8) rotate(-5deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .search-results .pattern span {
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
  }

  .search-results__card {
    -webkit-transition: none !important;
    transition: none !important;
  }
  .search-results__card:hover {
    -webkit-transform: none !important;
            transform: none !important;
  }
}
.error-404 {
  padding: 3rem 0 4rem;
  min-height: calc(100vh - 200px);
}
@media (max-width: 768px) {
  .error-404 {
    padding: 2rem 0 3rem;
  }
}
.error-404__content {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2rem;
}
@media (max-width: 768px) {
  .error-404__content {
    padding: 0 1.5rem;
  }
}
.error-404__hero {
  text-align: center;
  margin-bottom: 4rem;
  position: relative;
}
@media (max-width: 768px) {
  .error-404__hero {
    margin-bottom: 3rem;
  }
}
.error-404__number {
  font-size: clamp(4.8rem, 3.5rem + 4vw, 12rem);
  text-shadow: -1px -1px 1px rgba(255, 255, 255, 0.8);
  font-weight: 900;
  color: var(--c-red-1, #ef4444);
  line-height: 1;
  margin-bottom: 1rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .error-404__number {
    font-size: clamp(3.2rem, 2.5rem + 2.5vw, 8rem);
  }
}
@media (max-width: 480px) {
  .error-404__number {
    font-size: clamp(2rem, 1.2rem + 1.4vw, 7rem);
  }
}
.error-404__title {
  margin-bottom: 1.5rem;
}
.error-404__description {
  max-width: 600px;
  margin: 0 auto;
}
.error-404__search {
  text-align: center;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .error-404__search {
    margin-bottom: 3rem;
  }
}
.error-404__search-title {
  color: #100F0F;
  margin-bottom: 1.5rem;
}
.error-404__search-form {
  max-width: 500px;
  margin: 0 auto;
}
.error-404__search-form > form {
  border: none;
}
.error-404__search-form > form > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 480px) {
  .error-404__search-form > form > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.error-404__search-form .search-field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.75rem 1rem;
  border: 2px solid var(--c-grey-3, #d1d5db);
}
.error-404__search-form .search-field:focus {
  outline: none;
  border-color: var(--c-red-2, #dc2626);
  -webkit-box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
          box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}
.error-404__search-form .search-submit {
  padding: 0.75rem 1.5rem;
  background: var(--c-red-2, #dc2626);
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.error-404__search-form .search-submit:hover {
  background: var(--c-red-3, #b91c1c);
}
@media (max-width: 480px) {
  .error-404__search-form .search-submit {
    width: 100%;
  }
}
.error-404__links {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .error-404__links {
    margin-bottom: 3rem;
  }
}
.error-404__links-title {
  color: #100F0F;
  text-align: center;
  margin-bottom: 2rem;
}
.error-404__links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}
@media (max-width: 768px) {
  .error-404__links-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.error-404__link {
  color: white;
  padding: 3rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.error-404__link--red-1 {
  background-color: #66080F;
}
.error-404__link--red-2 {
  background-color: #931A23;
}
.error-404__link--red-3 {
  background-color: #B4131F;
}
.error-404__link:hover {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
  -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
  text-decoration: none;
  color: white;
}
@media (max-width: 768px) {
  .error-404__link {
    padding: 2rem 1.5rem;
  }
}
.error-404__link-inner {
  display: block;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.error-404__link-inner:hover {
  text-decoration: none;
  color: inherit;
}
.error-404__link-content {
  position: relative;
  z-index: 2;
}
.error-404__link-content h3 {
  color: white;
  margin: 0 0 1rem 0;
  line-height: 1.2;
}
.error-404__link-content p {
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}
.error-404__recent-posts {
  border-top: 1px solid var(--c-grey-3, #d1d5db);
  padding-top: 3rem;
}
@media (max-width: 768px) {
  .error-404__recent-posts {
    padding-top: 2rem;
  }
}
.error-404__recent-title {
  color: var(--c-grey-7, #374151);
  text-align: center;
  margin-bottom: 2rem;
}
.error-404__posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
@media (max-width: 768px) {
  .error-404__posts-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.error-404__post {
  color: white;
  padding: 3rem 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.error-404__post--red-1 {
  background-color: #66080F;
}
.error-404__post--red-2 {
  background-color: #931A23;
}
.error-404__post--red-3 {
  background-color: #B4131F;
}
.error-404__post:hover {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
  -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}
@media (max-width: 768px) {
  .error-404__post {
    padding: 2rem 1.5rem;
  }
}
.error-404__post-link {
  display: block;
  text-decoration: none;
  color: inherit;
  width: 100%;
  height: 100%;
}
.error-404__post-link:hover {
  text-decoration: none;
  color: inherit;
}
.error-404__post-content {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.error-404__post-date {
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  display: block;
}
.error-404__post-title {
  color: white;
  line-height: 1.2;
  margin: 0 0 1rem 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.error-404__post-excerpt {
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  margin-top: auto;
}