/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
@font-face {
  font-family: "Ppneuemontreal";
  src: url("https://cdn.prod.website-files.com/691d7c9f14d0280ebe2d4108/691d8a7b11b33d4b469b6f1c_ppneuemontreal-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Tr 3 A";
  src: url("https://cdn.prod.website-files.com/691d7c9f14d0280ebe2d4108/691d8ab14cbd4a1cf9811e7a_tr3a-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Tr 3 A";
  src: url("https://cdn.prod.website-files.com/691d7c9f14d0280ebe2d4108/691d8ab1156537b9520e5061_tr3a-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Tr 3 A";
  src: url("https://cdn.prod.website-files.com/691d7c9f14d0280ebe2d4108/691d8ab15c6a560ca0833ae1_tr3a-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ppneuemontreal Book";
  src: url("https://cdn.prod.website-files.com/691d7c9f14d0280ebe2d4108/691d8a7bc4e9f35b184ed616_ppneuemontreal-book.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Ppneuemontreal";
  src: url("https://cdn.prod.website-files.com/691d7c9f14d0280ebe2d4108/6942a13115cd4b3a65a5972f_ppneuemontreal-medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --swiper-theme-color: #007aff
}

:host {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1
}

.swiper {
  display: block;
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 1
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column
}

.swiper-wrapper {
  box-sizing: initial;
  display: flex;
  height: 100%;
  position: relative;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  width: 100%;
  z-index: 1
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translateZ(0)
}

.swiper-horizontal {
  touch-action: pan-y
}

.swiper-vertical {
  touch-action: pan-x
}

.swiper-slide {
  display: block;
  flex-shrink: 0;
  height: 100%;
  position: relative;
  transition-property: transform;
  width: 100%
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
  backface-visibility: hidden;
  transform: translateZ(0)
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d
}

.swiper-3d {
  perspective: 1200px;

  .swiper-cube-shadow,
  .swiper-slide {
    transform-style: preserve-3d
  }
}

.swiper-css-mode {
  >.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;

    &::-webkit-scrollbar {
      display: none
    }
  }

  >.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
  }

  &.swiper-horizontal {
    >.swiper-wrapper {
      scroll-snap-type: x mandatory
    }

    >.swiper-wrapper>.swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before)
    }

    >.swiper-wrapper>.swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after)
    }
  }

  &.swiper-vertical {
    >.swiper-wrapper {
      scroll-snap-type: y mandatory
    }

    >.swiper-wrapper>.swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before)
    }

    >.swiper-wrapper>.swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after)
    }
  }

  &.swiper-free-mode {
    >.swiper-wrapper {
      scroll-snap-type: none
    }

    >.swiper-wrapper>.swiper-slide {
      scroll-snap-align: none
    }
  }

  &.swiper-centered {
    >.swiper-wrapper:before {
      content: "";
      flex-shrink: 0;
      order: 9999
    }

    >.swiper-wrapper>.swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always
    }
  }

  &.swiper-centered.swiper-horizontal {
    >.swiper-wrapper>.swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before)
    }

    >.swiper-wrapper:before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after)
    }
  }

  &.swiper-centered.swiper-vertical {
    >.swiper-wrapper>.swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before)
    }

    >.swiper-wrapper:before {
      height: var(--swiper-centered-offset-after);
      min-width: 1px;
      width: 100%
    }
  }
}

.swiper-3d {

  .swiper-slide-shadow,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10
  }

  .swiper-slide-shadow {
    background: #00000026
  }

  .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, #00000080, #0000)
  }

  .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, #00000080, #0000)
  }

  .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, #00000080, #0000)
  }

  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, #00000080, #0000)
  }
}

.swiper-lazy-preloader {
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top: 4px solid #0000;
  box-sizing: border-box;
  height: 42px;
  left: 50%;
  margin-left: -21px;
  margin-top: -21px;
  position: absolute;
  top: 50%;
  transform-origin: 50%;
  width: 42px;
  z-index: 10
}

.swiper-watch-progress .swiper-slide-visible,
.swiper:not(.swiper-watch-progress) {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(1turn)
  }
}

.swiper .swiper-notification {
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: -1000
}

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

html {
  font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
}

body {
  margin: 0;
}

hr {
  height: 0;
  color: inherit;
}

abbr[title] {
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  text-indent: 0;
  border-color: inherit;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
select {
  text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

:-moz-focusring {
  outline: 1px dotted ButtonText;
}

:-moz-ui-invalid {
  box-shadow: none;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

img,
svg,
video {
  vertical-align: top;
  max-width: 100%;
  height: auto
}

img,
svg {
  width: auto
}

video {
  width: 100%
}

figure {
  margin: 0
}

iframe {
  width: 100%
}

:root {
  --jak-color-light: #fff;
  --jak-color-grey-light: #f4f4f2;
  --jak-color-grey: #edebe8;
  --jak-color-dark: #0b1311;
  --jak-color-primary: #1e4137;
  --jak-color-primary-hover: #1e4137cc;
  --jak-color-secondary: #bad6ff;
  --jak-color-beige: #fff7f0;
  --jak-color-pink: #ffb1eb;
  --jak-color-orange: #ff643c;
  --jak-color-purple: #cdb7f1;
  --jak-color-purple-dark: #602148;
  --jak-color-yellow: #f9e283;
  --jak-color-blue: #bad6ff;
  --jak-color-background: var(--jak-color-beige);
  --jak-color-text: var(--jak-color-dark);
  --jak-color-link: currentcolor;
  --jak-color-link-hover: var(--jak-color-secondary);
  --jak-color-error: #a94442;
  --jak-color-text-animate: #858581
}

:root {
  --jak-font-family-base: "Ppneuemontreal Book", "Ppneuemontreal", Arial, sans-serif;
  --jak-font-family-title: "Tr 3 A", Arial, sans-serif;
  --tra: "Tr 3 A", Arial, sans-serif;
  --jak-font-size-base: clamp(18px, 1.35vw, 26px);
  --jak-font-size-base-line-height: 1.6;
  --jak-font-weight-thin: 100;
  --jak-font-weight-light: 300;
  --jak-font-weight-book: 400;
  --jak-font-weight-regular: 400;
  --jak-font-weight-medium: 500;
  --jak-font-weight-semibold: 600;
  --jak-font-weight-bold: 700;
  --jak-font-weight-black: 900;
  --jak-font-weight-base: var(--jak-font-weight-regular)
}

:root {
  --jak-transitions-speed-default: .25s
}

:root {
  --jak-page-header-top-padding: 1.875rem;
  --jak-page-header-height: 2.5rem;
  --jak-page-header-margin-bottom: clamp(4.375rem, 3.161407767rem + 5.1779935275vw, 9.375rem)
}

@media screen and (min-width:71.875em) {
  :root {
    --jak-page-header-height: var(--jak-btn-height)
  }
}

@media screen and (min-width:90em) {
  :root {
    --jak-page-header-top-padding: clamp(2.5rem, 1.9538834951rem + 2.3300970874vw, 4.75rem);
    --jak-page-header-margin-bottom: clamp(6.25rem, 5.3398058252rem + 3.8834951456vw, 10rem)
  }
}

table {
  margin: 0;
  overflow: scroll;
  display: block;
  width: 100%;
  border-collapse: collapse
}

@media screen and (min-width:30em) {
  table {
    display: table
  }
}

table tr {
  border-bottom: 1px solid var(--jak-color-grey)
}

table td {
  padding: .3125rem
}

table th {
  padding: .3125rem;
  text-align: left
}

@font-face {
  font-family: jak icons;
  src: url(https://studiomodular.be/themes/custom/jakarta/fonts/jak-icons/icomoon.eot);
  src: url(https://studiomodular.be/themes/custom/jakarta/fonts/jak-icons/icomoon.eot) format("embedded-opentype"), url(https://studiomodular.be/themes/custom/jakarta/fonts/jak-icons/icomoon.ttf) format("truetype"), url(https://studiomodular.be/themes/custom/jakarta/fonts/jak-icons/icomoon.woff) format("woff"), url(https://studiomodular.be/themes/custom/jakarta/fonts/jak-icons/icomoon.svg) format("svg");
  font-weight: 400;
  font-style: normal
}

[class^=icons-]:before,
[class*=icons-]:before {
  font-family: jak icons, sans-serif !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.jak-icons-btn-arrow-variant:before {
  content: "\e900" /""
}

.jak-icons-btn-arrow:before {
  content: "\e901" /""
}

.jak-icons-facebook:before {
  content: "\e902" /""
}

.jak-icons-instagram:before {
  content: "\e903" /""
}

.jak-icons-linkedin:before {
  content: "\e904" /""
}

.jak-icons-play:before {
  content: "\e905" /""
}

.jak-icons-quote:before {
  content: "\e906" /""
}

.jak-icons-arrow:before {
  content: "\e907" /""
}

button {
  padding: 0;
  border: none;
  box-shadow: none;
  appearance: none;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
  background: transparent;
  color: currentcolor;
  user-select: none;
  cursor: pointer
}

html {
  background: var(--jak-color-background);
  color: var(--jak-color-text);
  font-size: 100%;
  font-family: var(--jak-font-family-base);
  font-kerning: normal;
  text-rendering: optimizelegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased
}

@media screen and (prefers-reduced-motion:no-preference) {
  html {
    scroll-behavior: smooth
  }
}

body {
  font-size: var(--jak-font-size-base);
  line-height: var(--jak-font-size-base-line-height);
  font-weight: var(--jak-font-weight-base)
}

strong {
  font-weight: var(--jak-font-weight-bold)
}

h1,
h2,
h3,
h4,
h5,
.h1,
.h2,
.h3,
.h4,
.h5 {
  font-family: var(--jak-font-family-title);
  font-weight: var(--jak-font-weight-semibold);
  color: var(--jak-heading-color, currentcolor);
  margin: 0;
  line-height: 1.1;
  text-wrap: balance
}

h1,
.h1 {
  margin-bottom: 1.5625rem;
  font-size: clamp(32px, 5.2vw, 100px)
}

h2,
.h2 {
  margin-bottom: 1.5625rem;
  font-size: clamp(28px, 3.3333vw, 64px)
}

h3,
.h3 {
  margin-bottom: 1.25rem;
  font-size: clamp(24px, 2.5vw, 48px)
}

h4,
.h4 {
  margin-bottom: 1.25rem;
  font-size: clamp(18px, 1.666vw, 32px)
}

h5,
.h5 {
  font-weight: var(--jak-font-weight-regular);
  text-transform: uppercase;
  margin-bottom: .9375rem;
  font-size: clamp(15px, 1.15vw, 22px);
  letter-spacing: 8%
}

h6,
.h6 {
  margin-bottom: .625rem
}

:is(ol, ul, p) {
  margin: 0 0 1.1rem
}

:is(ol, ul, p):last-child {
  margin-bottom: 0
}

blockquote {
  margin: 0;
  padding: 0
}

.text-formatted a:not(.c-btn) {
  text-decoration: underline
}

.text-formatted ol li:not(:last-child),
.text-formatted ul li:not(:last-child) {
  margin-bottom: .1em
}

.text-formatted ol ol,
.text-formatted ol ul,
.text-formatted ul ol,
.text-formatted ul ul {
  padding-left: .625rem;
  margin-top: .1em
}

.text-formatted ul li {
  position: relative;
  padding-left: .9375rem
}

.text-formatted ul li:before {
  content: "\2022";
  position: absolute;
  left: 0;
  top: .05em
}

.text-formatted ol li:before {
  content: counters(list-item, ".") ".\a0\a0"
}

.text-formatted :is(p, ul, ol)+:is(h2, h3, h4, blockquote, table) {
  margin-top: 1.1em
}

.text-formatted blockquote:before {
  font-family: jak icons, sans-serif !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e906" /"quote sign";
  display: block;
  margin-bottom: clamp(1.875rem, 1.5716019417rem + 1.2944983819vw, 3.125rem);
  font-size: clamp(2.5rem, 1.8932038835rem + 2.5889967638vw, 5rem);
  color: var(--jak-color-blue)
}

form {
  --jak-form-input-color: var(--jak-color-text);
  --jak-form-input-color-placeholder: var(--jak-color-grey);
  --jak-form-input-border-color: var(--jak-color-light);
  --jak-form-input-border-color-active: var(--jak-color-primary);
  --jak-form-input-border-radius: 6.25rem;
  --jak-form-items-margin-between: clamp(1.25rem, 1.0983009709rem + .6472491909vw, 1.875rem);
  --jak-form-input-bg-color: var(--jak-color-light);
  --jak-form-input-padding-inline: clamp(1.25rem, 1.0983009709rem + .6472491909vw, 1.875rem);
  --jak-form-input-padding-block: clamp(.75rem, .7196601942rem + .1294498382vw, .875rem);
  font-size: clamp(1.125rem, 1.0946601942rem + .1294498382vw, 1.25rem)
}

:is(input, textarea, select) {
  margin: 0;
  padding: 0;
  font-family: inherit;
  outline: none;
  border-radius: 0;
  border: none;
  line-height: inherit;
  box-shadow: none;
  color: inherit
}

:is(input, textarea, select):-ms-input-placeholder {
  color: var(--jak-form-input-color-placeholder)
}

:is(input, textarea, select)::-moz-placeholder {
  color: var(--jak-form-input-color-placeholder)
}

:is(input, textarea, select):-moz-placeholder {
  color: var(--jak-form-input-color-placeholder)
}

:is(input, textarea, select)::-webkit-input-placeholder {
  color: var(--jak-form-input-color-placeholder)
}

:is(textarea, select, input:not([type=checkbox], [type=radio], [type=submit], [type=file], [type=range])) {
  padding: var(--jak-form-input-padding-block) var(--jak-form-input-padding-inline);
  width: 100%;
  max-width: 100%;
  appearance: none;
  transition: .2s linear box-shadow;
  background-color: var(--jak-form-input-bg-color);
  color: var(--jak-form-input-color);
  border-radius: var(--jak-form-input-border-radius);
  border: 1px solid var(--jak-form-input-border-color)
}

:is(textarea, select, input:not([type=checkbox], [type=radio], [type=submit], [type=file], [type=range])):focus {
  box-shadow: 0 0 2px 1px var(--jak-form-input-border-color-active)
}

textarea {
  --jak-form-input-border-radius: 1.875rem;
  resize: none;
  display: block
}

select {
  background-image: url(https://studiomodular.be/themes/custom/jakarta/img/form-icon-select.svg);
  background-repeat: no-repeat;
  background-position: right var(--jak-form-input-padding-inline) center;
  padding-right: calc(var(--jak-form-input-padding-inline) * 2) !important
}

select::-ms-expand {
  display: none
}

:is(label, legend) {
  margin-bottom: .625rem;
  display: block;
  font-size: 1em
}

:is(label, legend).form-required:after {
  content: "*" /"required"
}

.form-item,
#ajax-wrapper .form-item {
  margin-bottom: var(--jak-form-items-margin-between)
}

.form-item.error label {
  color: var(--jak-color-error)
}

.description {
  font-style: italic;
  font-size: .8em;
  margin-top: .1875rem
}

.form-actions {
  margin-top: var(--jak-form-items-margin-between)
}

:is(.form-radios, .form-checkboxes) .form-item {
  margin-bottom: 0
}

:is(.form-radios, .form-checkboxes) .form-item:not(:first-child) {
  margin-top: .625rem
}

:is(.form-type-checkbox, .form-type-radio, .facets-widget-checkbox .facet-item) :is(input, .input) {
  opacity: 0;
  position: absolute
}

:is(.form-type-checkbox, .form-type-radio, .facets-widget-checkbox .facet-item) :is(input, .input):is(:checked, .checked)+:is(label, .label):before {
  background-color: var(--jak-color-primary)
}

:is(.form-type-checkbox, .form-type-radio, .facets-widget-checkbox .facet-item) :is(label, .label) {
  --jak-form-input-checkbox-radio-size: 1rem;
  font-family: inherit;
  font-size: 1em;
  position: relative;
  padding-left: 1.75rem;
  font-weight: inherit;
  margin: 0;
  display: inline-block;
  text-decoration: none;
  color: currentcolor;
  user-select: none;
  cursor: pointer
}

:is(.form-type-checkbox, .form-type-radio, .facets-widget-checkbox .facet-item) :is(label, .label):before {
  position: absolute;
  left: 0;
  top: .35em;
  content: "";
  width: var(--jak-form-input-checkbox-radio-size);
  aspect-ratio: 1;
  border: 1px solid var(--jak-color-primary)
}

:is(.form-type-checkbox, .form-type-radio, .facets-widget-checkbox .facet-item) a {
  text-decoration: underline
}

:is(.form-type-checkbox, .facets-widget-checkbox .facet-item) :is(label, .label):before {
  border-radius: .25rem
}

:is(.form-type-checkbox, .facets-widget-checkbox .facet-item) :is(input, .input):is(:checked, .checked)+:is(label, .label):before {
  background-image: url(https://studiomodular.be/themes/custom/jakarta/img/form-icon-check-light.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 76% auto
}

.form-type-radio :is(label, .label):before {
  border-radius: 100%;
  top: .4em !important
}

.form-type-radio :is(input, .input):is(:checked, .checked)+:is(label, .label):before {
  background: var(--jak-color-light) !important;
  box-shadow: inset 0 0 0 4px var(--jak-color-primary)
}

.form-managed-file {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem
}

.captcha {
  margin-top: 1.5625rem
}

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

.altcha {
  position: static !important;
  background: unset !important;
  color: var(--jak-color-dark);
  border: 0 !important;
  line-height: var(--jak-font-size-base-line-height);
  font-size: 14px;
  margin-top: var(--jak-form-items-margin-between)
}

.altcha .altcha-main {
  max-width: unset;
  padding: 0
}

.altcha .altcha-label {
  margin: 0
}

.altcha .altcha-anchor-arrow {
  display: none
}

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

a {
  text-decoration: none;
  transition: var(--jak-transitions-speed-default) color linear;
  color: var(--jak-color-link);
  text-decoration-thickness: 1px;
  text-underline-offset: .25em
}

a:is(:hover, :focus) {
  color: var(--jak-color-link-hover)
}

address {
  font-style: normal
}

details {
  user-select: none
}

details summary {
  list-style: none;
  cursor: pointer
}

details summary * {
  pointer-events: none
}

details summary::marker,
details summary::-webkit-details-marker {
  display: none
}

@font-face {
  font-family: PolySans;
  src: url(https://studiomodular.be/themes/custom/jakarta/fonts/PolySans-Median-web/PolySans-Median.woff2) format("woff2"), url(https://studiomodular.be/themes/custom/jakarta/fonts/PolySans-Median-web/PolySans-Median.woff) format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: PolySans;
  src: url(https://studiomodular.be/themes/custom/jakarta/fonts/PolySans-Slim-web/PolySans-Slim.woff2) format("woff2"), url(https://studiomodular.be/themes/custom/jakarta/fonts/PolySans-Slim-web/PolySans-Slim.woff) format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: PolySans;
  src: url(https://studiomodular.be/themes/custom/jakarta/fonts/PolySansNeutral-Webfont-tchsq2/PolySans-Neutral.woff2) format("woff2"), url(https://studiomodular.be/themes/custom/jakarta/fonts/PolySansNeutral-Webfont-tchsq2/PolySans-Neutral.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap
}

.h-color-light {
  color: var(--jak-color-light)
}

.h-color-primary {
  color: var(--jak-color-primary)
}

.h-color-secondary {
  color: var(--jak-color-secondary)
}

.h-color-grey {
  color: var(--jak-color-grey)
}

.h-color-dark {
  color: var(--jak-color-dark)
}

[class^=h-bg-color-],
[class*=h-bg-color-] {
  background-color: var(--jak-h-bg-color);
  color: var(--jak-h-bg-text-color)
}

.h-bg-color-light {
  --jak-h-bg-color: var(--jak-color-light)
}

.h-bg-color-beige {
  --jak-h-bg-color: var(--jak-color-beige)
}

.h-bg-color-grey {
  --jak-h-bg-color: var(--jak-color-grey)
}

.h-bg-color-dark {
  --jak-h-bg-color: var(--jak-color-dark);
  --jak-h-bg-text-color: var(--jak-color-light)
}

.h-bg-color-primary {
  --jak-h-bg-color: var(--jak-color-primary);
  --jak-h-bg-text-color: var(--jak-color-beige)
}

.h-bg-color-secondary {
  --jak-h-bg-color: var(--jak-color-secondary);
  --jak-color-link-hover: var(--jak-color-primary-hover)
}

.h-bg-color-blue,
.h-bg-color-orange,
.h-bg-color-yellow,
.h-bg-color-pink {
  --jak-h-bg-text-color: var(--jak-color-dark)
}

.h-bg-color-blue {
  --jak-h-bg-color: var(--jak-color-blue)
}

.h-bg-color-orange {
  --jak-h-bg-color: var(--jak-color-orange)
}

.h-bg-color-yellow {
  --jak-h-bg-color: var(--jak-color-yellow)
}

.h-bg-color-pink {
  --jak-h-bg-color: var(--jak-color-pink)
}

.h-bg-color-purple-dark {
  --jak-h-bg-text-color: var(--jak-color-light);
  --jak-h-bg-color: var(--jak-color-purple-dark)
}

.h-media-full-width :is(img, video) {
  width: 100%
}

.h-media-children-display-block :is(img, video) {
  display: block
}

.h-media-object-cover :is(img, video) {
  object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%
}

.visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  word-wrap: normal
}

.hidden {
  display: none !important
}

.h-layout-display-block {
  display: block
}

.h-layout-display-inline-block {
  display: inline-block
}

.h-layout-height-100-perc {
  height: 100%
}

.h-layout-position-relative {
  position: relative
}

.h-layout-overflow-hidden {
  overflow: clip
}

.h-layout-overflow-x-hidden {
  overflow-x: clip
}

.h-layout-expand-link:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: transparent
}

.h-margin-top-5 {
  margin-top: .3125rem
}

.h-margin-bottom-5 {
  margin-bottom: .3125rem
}

.h-margin-top-10 {
  margin-top: .625rem
}

.h-margin-bottom-10 {
  margin-bottom: .625rem
}

.h-margin-top-25 {
  margin-top: 1.5625rem
}

.h-margin-bottom-25 {
  margin-bottom: 1.5625rem
}

.h-margin-top-20 {
  margin-top: 1.25rem
}

.h-margin-bottom-20 {
  margin-bottom: 1.25rem
}

.h-margin-top-30 {
  margin-top: 1.875rem
}

.h-margin-bottom-30 {
  margin-bottom: 1.875rem
}

.h-margin-top-40 {
  margin-top: 2.5rem
}

.h-margin-bottom-40 {
  margin-bottom: 2.5rem
}

.h-margin-top-50 {
  margin-top: 3.125rem
}

.h-margin-bottom-50 {
  margin-bottom: 3.125rem
}

.h-margin-top-cta {
  margin-top: clamp(1.625rem, 1.4884708738rem + .5825242718vw, 2.1875rem)
}

:root {
  --jak-margin-tiny: clamp(50px, 4.16vw, 80px);
  --jak-margin-xsmall: clamp(60px, 5.2vw, 100px);
  --jak-margin-small: clamp(70px, 7.8vw, 150px);
  --jak-margin-default: clamp(100px, 16.6vw, 300px)
}

.h-margin-tiny {
  margin-top: var(--jak-margin-tiny);
  margin-bottom: var(--jak-margin-tiny)
}

.h-margin-top-tiny {
  margin-top: var(--jak-margin-tiny)
}

.h-margin-bottom-tiny {
  margin-bottom: var(--jak-margin-tiny)
}

.h-margin-xsmall {
  margin-top: var(--jak-margin-xsmall);
  margin-bottom: var(--jak-margin-xsmall)
}

.h-margin-top-xsmall {
  margin-top: var(--jak-margin-xsmall)
}

.h-margin-bottom-xsmall {
  margin-bottom: var(--jak-margin-xsmall)
}

.h-margin-small {
  margin-top: var(--jak-margin-small);
  margin-bottom: var(--jak-margin-small)
}

.h-margin-top-small {
  margin-top: var(--jak-margin-small)
}

.h-margin-bottom-small {
  margin-bottom: var(--jak-margin-small)
}

.h-margin-default {
  margin-top: var(--jak-margin-default);
  margin-bottom: var(--jak-margin-default)
}

.h-margin-top-default {
  margin-top: var(--jak-margin-default)
}

.h-margin-bottom-default {
  margin-bottom: var(--jak-margin-default)
}

.h-margin-childs-none * {
  margin: 0 !important
}

:root {
  --jak-padding-tiny: clamp(3.125rem, 2.5182038835rem + 2.5889967638vw, 5.625rem);
  --jak-padding-small: clamp(5rem, 3.9381067961rem + 4.5307443366vw, 9.375rem);
  --jak-padding-default: clamp(9.375rem, 7.0995145631rem + 9.7087378641vw, 18.75rem)
}

.h-padding-tiny {
  padding-top: var(--jak-padding-tiny);
  padding-bottom: var(--jak-padding-tiny)
}

.h-padding-top-tiny {
  padding-top: var(--jak-padding-tiny)
}

.h-padding-bottom-tiny {
  padding-bottom: var(--jak-padding-tiny)
}

.h-padding-small {
  padding-top: var(--jak-padding-small);
  padding-bottom: var(--jak-padding-small)
}

.h-padding-top-small {
  padding-top: var(--jak-padding-small)
}

.h-padding-bottom-small {
  padding-bottom: var(--jak-padding-small)
}

.h-padding-default {
  padding-top: var(--jak-padding-default);
  padding-bottom: var(--jak-padding-default)
}

.h-padding-top-default {
  padding-top: var(--jak-padding-default)
}

.h-padding-bottom-default {
  padding-bottom: var(--jak-padding-default)
}

.h-text-transform-lowercase {
  text-transform: lowercase
}

.h-text-transform-uppercase {
  text-transform: uppercase
}

.h-text-transform-none {
  text-transform: none
}

.h-text-weight-semibold {
  font-weight: var(--jak-font-weight-semibold)
}

.h-text-weight-light,
.h-text-style-big {
  font-weight: var(--jak-font-weight-light)
}

.h-text-align-start {
  text-align: start
}

.h-text-align-center {
  text-align: center
}

.h-text-align-end {
  text-align: end
}

.h-text-size-small {
  font-size: clamp(.9375rem, .9223300971rem + .0647249191vw, 1rem)
}

.h-text-size-default {
  font-size: clamp(1rem, .9393203883rem + .2588996764vw, 1.25rem)
}

.h-text-size-medium {
  font-size: clamp(1rem, .9089805825rem + .3883495146vw, 1.375rem)
}

.h-text-size-big,
.h-text-style-big {
  font-size: clamp(1.25rem, 1.0072815534rem + 1.0355987055vw, 2.25rem)
}

:root {
  --jak-border-radius: clamp(15px, 1.6vw, 30px)
}

[class^=h-border-radius-],
[class*=h-border-radius-] {
  border-radius: var(--jak-border-radius, 0)
}

html[data-once=node-preview] {
  --gin-toolbar-y-offset: 0;
  --gin-toolbar-x-offset: 0
}

.contextual-region.focus {
  background-color: #0000001a;
  outline-width: 2px;
  outline-color: var(--jak-color-primary)
}

.node-preview-container {
  display: none
}

.container {
  max-width: 160rem;
  margin: 0 auto
}

.page-footer:before {
  content: "";
  display: block;
  height: clamp(2.5rem, 2.3483009709rem + .6472491909vw, 3.125rem);
  background: var(--jak-color-background);
  border-bottom-left-radius: clamp(1.25rem, 1.0983009709rem + .6472491909vw, 1.875rem);
  border-bottom-right-radius: clamp(1.25rem, 1.0983009709rem + .6472491909vw, 1.875rem);
  margin-bottom: clamp(3.75rem, 3.2949029126rem + 1.9417475728vw, 5.625rem)
}

.page-footer-columns__nav .menu {
  display: flex;
  flex-direction: column;
  gap: clamp(.875rem, .7839805825rem + .3883495146vw, 1.25rem)
}

.page-footer-columns__info {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem
}

.page-footer-columns__info>*:last-child {
  margin-top: 0
}

.page-footer-bottom {
  padding-bottom: clamp(2.5rem, 2.3483009709rem + .6472491909vw, 3.125rem)
}

.page-footer-bottom .menu {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem 1.25rem
}

.page-footer-top {
  margin-bottom: clamp(3.75rem, 3.1432038835rem + 2.5889967638vw, 6.25rem)
}

.page-header__inner {
  height: var(--jak-page-header-height)
}

.page-header-brand,
.page-header-content,
.page-header-cta,
.page-header-mobile {
  position: relative;
  z-index: 10
}

.page-header-brand {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none
}

.page-header-brand .site-logo {
  display: block;
  width: 6.25rem;
  pointer-events: all;
  line-height: 0
}

@media screen and (min-width:46em) {
  .page-header-brand .site-logo {
    width: 7.5rem
  }
}

@media screen and (min-width:61.25em) {
  .page-header-brand .site-logo {
    width: 8.75rem
  }
}

@media screen and (min-width:71.875em) {
  .page-header-brand .site-logo {
    width: clamp(8.75rem, 7.9915048544rem + 3.2362459547vw, 11.875rem)
  }
}

.page-header-mobile {
  pointer-events: none;
  position: sticky;
  top: var(--jak-page-header-top-padding);
  margin-bottom: var(--jak-page-header-margin-bottom)
}

@media screen and (min-width:90em) {
  .page-header-mobile {
    display: none
  }
}

.page-header-mobile__trigger {
  padding-inline: 1.25rem;
  background: var(--jak-color-secondary);
  border-radius: 3.75rem;
  pointer-events: all;
  transition: var(--jak-transitions-speed-default) background ease-in, var(--jak-transitions-speed-default) color ease-in;
  height: var(--jak-page-header-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem
}

@media screen and (min-width:71.875em) {
  .page-header-mobile__trigger {
    padding-inline: 1.875rem;
    font-size: 1em
  }
}

.overlay-open .page-header-mobile__trigger {
  background: var(--jak-color-primary);
  color: var(--jak-color-secondary)
}

.page-header-content {
  display: none
}

@media screen and (min-width:90em) {
  .page-header-content {
    display: block;
    position: sticky;
    top: calc(var(--jak-page-header-top-padding) * .5);
    pointer-events: none;
    margin-bottom: var(--jak-page-header-margin-bottom)
  }
}

.page-header-content__nav {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  pointer-events: all
}

.page-header-content__nav .menu {
  --jak-menu-anchor-padding-inline: 1.5625rem;
  --jak-menu-anchor-offset: .625rem;
  background: #fffc;
  backdrop-filter: blur(7px);
  border-radius: 3.125rem;
  overflow: hidden;
  height: var(--jak-btn-height);
  display: flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .2)
}

@media screen and (min-width:100em) {
  .page-header-content__nav .menu {
    --jak-menu-anchor-padding-inline: 1.875rem
  }
}

.page-header-content__nav .menu:before {
  content: "";
  background: var(--jak-color-secondary);
  color: var(--jak-color-primary);
  position-anchor: --header-anchor-active;
  left: calc(anchor(start) + var(--jak-menu-anchor-offset));
  position: absolute;
  width: calc(anchor-size(width) - var(--jak-menu-anchor-offset) * 2);
  height: 3.25rem;
  z-index: -1;
  border-radius: 3.125rem;
  transition: .25s left ease-out;
  pointer-events: none
}

.page-header-content__nav .menu:has(a:is(:hover, :focus)):before {
  position-anchor: --header-anchor-hover
}

.page-header-content__nav .menu__item--active-trail a {
  anchor-name: --header-anchor-active
}

.page-header-content__nav a {
  --jak-color-link: currentcolor;
  --jak-color-link-hover: currentcolor;
  display: block;
  padding-inline: var(--jak-menu-anchor-padding-inline)
}

.page-header-content__nav a:is(:hover, :focus) {
  anchor-name: --header-anchor-hover
}

.page-header-cta {
  display: none
}

@media screen and (min-width:90em) {
  .page-header-cta {
    display: block;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none
  }
}

.page-header-cta .c-btn {
  pointer-events: all
}

.overlay-open {
  overflow: clip
}

.page-overlay {
  --jak-color-link: var(--jak-color-primary);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--jak-color-primary);
  clip-path: circle(0% at 50% 50%);
  overflow: hidden;
  z-index: 9
}

@media screen and (prefers-reduced-motion:no-preference) {
  .page-overlay {
    transition: .3s clip-path linear
  }
}

@media screen and (min-width:90em) {
  .page-overlay {
    display: none !important
  }
}

.overlay-open .page-overlay {
  clip-path: circle(80% at 50% 50%)
}

.page-overlay__outer {
  clip-path: circle(0% at 50% 50%)
}

@media screen and (prefers-reduced-motion:no-preference) {
  .page-overlay__outer {
    transition: .3s clip-path linear, .3s scale linear;
    transition-delay: .25s
  }
}

.overlay-open .page-overlay__outer {
  clip-path: circle(80% at 50% 50%)
}

.page-overlay__inner {
  height: 100dvh;
  padding-top: calc(var(--jak-page-header-height) + var(--jak-page-header-top-padding));
  scale: 0
}

@media screen and (prefers-reduced-motion:no-preference) {
  .page-overlay__inner {
    transition: .5s scale linear(0, .402 7.4%, .711 15.3%, .929 23.7%, 1.008 28.2%, 1.067 33%, 1.099 36.9%, 1.12 41%, 1.13 45.4%, 1.13 50.1%, 1.111 58.5%, 1.019 83.2%, 1.004 91.3%, 1);
    transition-delay: .3s
  }
}

.overlay-open .page-overlay__inner {
  scale: 1
}

.page-overlay__content {
  height: 100%;
  overflow: auto;
  padding-block: 3.125rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  scrollbar-width: none
}

.page-overlay__content::-webkit-scrollbar {
  display: none
}

@media screen and (min-width:30em) {
  .page-overlay__content {
    padding-block: 3.75rem
  }
}

.page-overlay__content .menu {
  display: flex;
  flex-direction: column;
  gap: .625rem
}

.page-overlay__content .menu a {
  font-size: clamp(2rem, 1.4235436893rem + 2.4595469256vw, 4.375rem)
}

.page-overlay__content .block-cta {
  margin-top: 3.125rem
}

.site-wrapper {
  padding-top: var(--jak-page-header-top-padding)
}

.site-wrapper--bg-color-primary:before {
  content: "";
  background: var(--jak-color-primary);
  width: 100%;
  height: calc(var(--jak-page-header-top-padding) + var(--jak-page-header-height) + var(--admin-toolbar-top-bar-height, 0px) + var(--jak-page-header-margin-bottom));
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none
}

.element-padding-combine:has(+* .element-padding-combine) {
  margin-bottom: 0;
  padding-bottom: 0
}

.element-padding-combine+*:has(.element-padding-combine) .element-padding-combine {
  margin-top: 0
}

*:last-child:has(>.element-padding-combine)>.element-padding-combine {
  margin-bottom: 0
}

body:has(.paragraph:last-child>.element-padding-combine) .page-footer {
  margin-top: 0
}

body:has(.paragraph:last-child>.element-padding-combine) .page-footer:before {
  display: none
}

*:has(>.element-w-media-combine):has(+* .element-w-media-combine) .element-w-media-combine {
  margin-bottom: var(--jak-margin-xsmall)
}

.c-breadcrumbs {
  --jak-color-link: currentcolor
}

.c-breadcrumbs__list,
.c-breadcrumbs__item {
  display: flex;
  align-items: baseline;
  column-gap: .25rem
}

.c-breadcrumbs__item:not(:last-child):after {
  content: "/"
}

.menu--social-menu {
  --jak-menu-social-size: clamp(2.5rem, 2.3483009709rem + .6472491909vw, 3.125rem);
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, 1.0983009709rem + .6472491909vw, 1.875rem)
}

.menu--social-menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  text-align: center;
  width: var(--jak-menu-social-size);
  background: var(--jak-color-beige);
  aspect-ratio: 1;
  border-radius: 100%;
  transition: var(--jak-transitions-speed-default) background-color linear
}

.menu--social-menu a:is(:hover, :focus) {
  background: var(--jak-color-secondary)
}

.menu--social-menu a:before {
  color: var(--jak-color-primary);
  font-size: calc(var(--jak-menu-social-size) * .47);
  position: relative;
  line-height: 0
}

.paragraph {
  scroll-margin-top: 5rem
}

.block-system-breadcrumb-block {
  display: none
}

@media screen and (min-width:90em) {
  .block-system-breadcrumb-block {
    display: block
  }
}

.grid,
.grid-flex {
  --jak-grid-total-columns: 12;
  --jak-grid-gutter-column: 0rem;
  --jak-grid-gutter-row: 0
}

@media screen and (min-width:71.875em) {

  .grid,
  .grid-flex {
    --jak-grid-total-columns: 24;
    --jak-grid-gutter-column: 0rem
  }
}

.grid {
  display: grid;
  grid-template-columns: repeat(var(--jak-grid-total-columns, 12), minmax(0, 1fr));
  column-gap: var(--jak-grid-gutter-column);
  row-gap: var(--jak-grid-gutter-row)
}

.grid-item {
  grid-column: span var(--jak-grid-column)
}

.grid-flex {
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--jak-grid-gutter-column);
  row-gap: var(--jak-grid-gutter-row)
}

.grid-flex-item {
  width: calc((var(--jak-grid-total-width, 100%) - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * var(--jak-grid-column, var(--jak-grid-total-columns)) + (var(--jak-grid-column, var(--jak-grid-total-columns)) - 1) * var(--jak-grid-gutter-column))
}

.grid-cols-1 {
  --jak-grid-total-columns: 1
}

@media(min-width:30em) {
  .grid-cols-m-2 {
    --jak-grid-total-columns: 2
  }
}

@media(min-width:46em) {
  .grid-cols-ml-2 {
    --jak-grid-total-columns: 2
  }

  .grid-cols-ml-3 {
    --jak-grid-total-columns: 3
  }
}

@media(min-width:61.25em) {
  .grid-cols-t-12 {
    --jak-grid-total-columns: 12
  }
}

@media(min-width:71.875em) {
  .grid-cols-ds-3 {
    --jak-grid-total-columns: 3
  }
}

@media(min-width:90em) {
  .grid-cols-d-1 {
    --jak-grid-total-columns: 1
  }

  .grid-cols-d-5 {
    --jak-grid-total-columns: 5
  }
}

.grid-cols-inherit {
  --jak-grid-total-columns: var(--jak-grid-column)
}

.grid-justify-content-sb {
  justify-content: space-between
}

.grid-justify-content-fe {
  justify-content: flex-end
}

.grid-justify-content-center {
  justify-content: center
}

.grid-align-items-fe {
  align-items: flex-end
}

.grid-align-items-center {
  align-items: center
}

.grid-item-cols-1 {
  --jak-grid-column: 1
}

.grid-item-cols-3 {
  --jak-grid-column: 3
}

.grid-item-cols-6 {
  --jak-grid-column: 6
}

.grid-item-cols-8 {
  --jak-grid-column: 8
}

.grid-item-cols-9 {
  --jak-grid-column: 9
}

.grid-item-cols-10 {
  --jak-grid-column: 10
}

.grid-item-cols-11 {
  --jak-grid-column: 11
}

@media(min-width:30em) {
  .grid-item-cols-m-5 {
    --jak-grid-column: 5
  }
}

@media(min-width:46em) {
  .grid-item-cols-ml-4 {
    --jak-grid-column: 4
  }

  .grid-item-cols-ml-6 {
    --jak-grid-column: 6
  }

  .grid-item-cols-ml-8 {
    --jak-grid-column: 8
  }
}

@media(min-width:61.25em) {
  .grid-item-cols-t-3 {
    --jak-grid-column: 3
  }

  .grid-item-cols-t-4 {
    --jak-grid-column: 4
  }

  .grid-item-cols-t-5 {
    --jak-grid-column: 5
  }

  .grid-item-cols-t-6 {
    --jak-grid-column: 6
  }
}

@media(min-width:71.875em) {
  .grid-item-cols-ds-2 {
    --jak-grid-column: 2
  }

  .grid-item-cols-ds-4 {
    --jak-grid-column: 4
  }

  .grid-item-cols-ds-5 {
    --jak-grid-column: 5
  }

  .grid-item-cols-ds-6 {
    --jak-grid-column: 6
  }

  .grid-item-cols-ds-7 {
    --jak-grid-column: 7
  }

  .grid-item-cols-ds-8 {
    --jak-grid-column: 8
  }

  .grid-item-cols-ds-9 {
    --jak-grid-column: 9
  }

  .grid-item-cols-ds-10 {
    --jak-grid-column: 10
  }

  .grid-item-cols-ds-11 {
    --jak-grid-column: 11
  }

  .grid-item-cols-ds-12 {
    --jak-grid-column: 12
  }

  .grid-item-cols-ds-14 {
    --jak-grid-column: 14
  }

  .grid-item-cols-ds-18 {
    --jak-grid-column: 18
  }

  .grid-item-cols-ds-20 {
    --jak-grid-column: 20
  }

  .grid-item-cols-ds-22 {
    --jak-grid-column: 22
  }
}

@media(min-width:90em) {
  .grid-item-cols-d-1 {
    --jak-grid-column: 1
  }

  .grid-item-cols-d-4 {
    --jak-grid-column: 4
  }

  .grid-item-cols-d-5 {
    --jak-grid-column: 5
  }

  .grid-item-cols-d-6 {
    --jak-grid-column: 6
  }

  .grid-item-cols-d-7 {
    --jak-grid-column: 7
  }

  .grid-item-cols-d-9 {
    --jak-grid-column: 9
  }

  .grid-item-cols-d-10 {
    --jak-grid-column: 10
  }

  .grid-item-cols-d-11 {
    --jak-grid-column: 11
  }

  .grid-item-cols-d-12 {
    --jak-grid-column: 12
  }

  .grid-item-cols-d-13 {
    --jak-grid-column: 13
  }

  .grid-item-cols-d-14 {
    --jak-grid-column: 14
  }

  .grid-item-cols-d-16 {
    --jak-grid-column: 16
  }
}

@media(min-width:100em) {
  .grid-item-cols-dl-5 {
    --jak-grid-column: 5
  }

  .grid-item-cols-dl-6 {
    --jak-grid-column: 6
  }

  .grid-item-cols-dl-7 {
    --jak-grid-column: 7
  }

  .grid-item-cols-dl-8 {
    --jak-grid-column: 8
  }

  .grid-item-cols-dl-10 {
    --jak-grid-column: 10
  }

  .grid-item-cols-dl-12 {
    --jak-grid-column: 12
  }

  .grid-item-cols-dl-13 {
    --jak-grid-column: 13
  }

  .grid-item-cols-dl-14 {
    --jak-grid-column: 14
  }

  .grid-item-cols-dl-18 {
    --jak-grid-column: 18
  }
}

.grid-flex-item-push-1 {
  margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 1 + 1 * var(--jak-grid-gutter-column)) * 1)
}

.grid-flex-item-push-2 {
  margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 2 + 2 * var(--jak-grid-gutter-column)) * 1)
}

.grid-flex-item-push-3 {
  margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 3 + 3 * var(--jak-grid-gutter-column)) * 1)
}

.grid-flex-item-push-8 {
  margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 8 + 8 * var(--jak-grid-gutter-column)) * 1)
}

@media(min-width:46em) {
  .grid-flex-item-push-ml-1 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 1 + 1 * var(--jak-grid-gutter-column)) * 1)
  }

  .grid-flex-item-push-ml-2 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 2 + 2 * var(--jak-grid-gutter-column)) * 1)
  }

  .grid-flex-item-push-ml-4 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 4 + 4 * var(--jak-grid-gutter-column)) * 1)
  }
}

@media(min-width:61.25em) {
  .grid-flex-item-push-t-1 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 1 + 1 * var(--jak-grid-gutter-column)) * 1)
  }
}

@media(min-width:71.875em) {
  .grid-flex-item-push-ds-2 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 2 + 2 * var(--jak-grid-gutter-column)) * 1)
  }

  .grid-flex-item-push-ds-3 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 3 + 3 * var(--jak-grid-gutter-column)) * 1)
  }

  .grid-flex-item-push-ds-8 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 8 + 8 * var(--jak-grid-gutter-column)) * 1)
  }

  .grid-flex-item-push-ds-13 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 13 + 13 * var(--jak-grid-gutter-column)) * 1)
  }

  .grid-flex-item-push-ds-20 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 20 + 20 * var(--jak-grid-gutter-column)) * 1)
  }
}

@media(min-width:90em) {
  .grid-flex-item-push-d-2 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 2 + 2 * var(--jak-grid-gutter-column)) * 1)
  }

  .grid-flex-item-push-d-4 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 4 + 4 * var(--jak-grid-gutter-column)) * 1)
  }
}

@media(min-width:100em) {
  .grid-flex-item-push-dl-1 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 1 + 1 * var(--jak-grid-gutter-column)) * 1)
  }

  .grid-flex-item-push-dl-2 {
    margin-left: calc(((100% - (var(--jak-grid-total-columns) - 1) * var(--jak-grid-gutter-column)) / var(--jak-grid-total-columns) * 2 + 2 * var(--jak-grid-gutter-column)) * 1)
  }
}

.grid-row-gutter-tiny {
  --jak-grid-gutter-row: clamp(1.25rem, 1.0983009709rem + .6472491909vw, 1.875rem)
}

.grid-row-gutter-default {
  --jak-grid-gutter-row: clamp(1.875rem, 1.7233009709rem + .6472491909vw, 2.5rem)
}

.grid-row-gutter-medium {
  --jak-grid-gutter-row: clamp(2.5rem, 2.1966019417rem + 1.2944983819vw, 3.75rem)
}

.grid-row-gutter-large {
  --jak-grid-gutter-row: clamp(4.375rem, 3.9199029126rem + 1.9417475728vw, 6.25rem)
}

.grid-row-gutter-small-margin {
  --jak-grid-gutter-row: var(--jak-margin-small)
}

.grid-column-gutter-tiny {
  --jak-grid-gutter-column: clamp(1.25rem, 1.0983009709rem + .6472491909vw, 1.875rem)
}

.grid-column-gutter-one-col-parent {
  --jak-grid-gutter-column: calc(100% / var(--jak-grid-column))
}

:root {
  --jak-page-header-margin-bottom: clamp(5.625rem, 5.0182038835rem + 2.5889967638vw, 8.125rem)
}

.c-banner {
  position: relative;
  overflow-x: clip
}

.c-banner .container {
  container-type: inline-size;
  position: relative
}

.c-banner__top {
  position: absolute;
  left: 0;
  width: 100%;
  transform: translateY(-130%)
}

@media screen and (min-width:71.875em) {
  .c-banner__top {
    transform: translateY(-140%)
  }
}

.c-banner__logo {
  position: relative;
  z-index: 6
}

.c-banner__logo-top svg {
  padding-bottom: 1.5%;
  width: 62%;
  transform: translate(-100%)
}

@media screen and (min-width:71.875em) {
  .c-banner__logo-top svg {
    width: 47.35%
  }
}

.c-banner__logo-btm svg {
  margin-left: 21.5%;
  width: 78.5%;
  transform: translate(100%)
}

@media screen and (min-width:71.875em) {
  .c-banner__logo-btm svg {
    margin-left: 40%;
    width: 60%
  }
}

.c-banner__bottom {
  margin-top: clamp(24px, 4.16vw, 80px);
  gap: clamp(24px, 4.16vw, 80px)
}

@media screen and (min-width:71.875em) {
  .c-banner__bottom {
    margin-top: 0;
    gap: unset
  }
}

.c-banner__media-1,
.c-banner__media-2 {
  clip-path: inset(50% 50% 50% 50% round 20px)
}

.c-banner__text {
  opacity: 0;
  text-align: center
}

@media screen and (min-width:46em) {
  .c-banner__text {
    text-align: left
  }
}

.c-banner__scroll {
  --scroll-size: clamp(90px, 8vw, 165px);
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: var(--scroll-size);
  position: relative;
  margin: 0 auto
}

@media screen and (min-width:71.875em) {
  .c-banner__scroll {
    left: 50%;
    margin: 0 0 0 calc(var(--scroll-size) / -2);
    position: absolute;
    bottom: 0
  }
}

.c-banner__scroll-text {
  position: absolute;
  inset: 0
}

.c-banner__scroll-text svg {
  animation: scroll-text-rotate 16s linear infinite;
  width: 100%
}

.c-banner__scroll-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: 55%;
  border-radius: 50%;
  transform: rotate(90deg)
}

.c-banner__scroll-circle i {
  font-size: calc(var(--scroll-size) * .13333);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: scroll-icon-bounce 1.6s ease-in-out infinite
}

@keyframes scroll-icon-bounce {

  0%,
  to {
    transform: translate(-10%)
  }

  50% {
    transform: translate(10%)
  }
}

@keyframes scroll-text-rotate {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(360deg)
  }
}

.c-banner__text {
  text-wrap: balance
}

.c-banner__bg {
  position: absolute;
  z-index: -1;
  top: 13%;
  left: 0;
  right: 0
}

@media screen and (min-width:71.875em) {
  .c-banner__bg {
    top: unset;
    bottom: -17%
  }
}

.c-banner__bg svg {
  width: 100%
}

*:has(>.c-card) {
  height: 100%
}

.c-card {
  display: flex;
  flex-direction: column
}

.c-card__content {
  padding: clamp(3.125rem, 2.9733009709rem + .6472491909vw, 3.75rem) clamp(1.875rem, 1.7233009709rem + .6472491909vw, 2.5rem) clamp(2.5rem, 2.3483009709rem + .6472491909vw, 3.125rem) clamp(1.875rem, 1.7233009709rem + .6472491909vw, 2.5rem);
  flex: 1;
  display: flex;
  flex-direction: column
}

.c-card__link {
  --jak-color-link-hover: currentcolor
}

.c-card__cta {
  margin-top: auto
}

.c-card-visual__link {
  --jak-color-link-hover: currentcolor
}

.c-card-visual__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem
}

.c-cta__wrapper {
  padding-block: calc(100% / var(--jak-grid-total-columns));
  z-index: 1
}

.c-cta__media {
  order: 1
}

@media screen and (min-width:61.25em) {
  .c-cta__media {
    order: -1
  }
}

.c-cta__content {
  align-self: center
}

.c-cta__bg {
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  width: 50%
}

@media screen and (min-width:61.25em) {
  .c-cta__bg {
    width: 45%;
    top: initial;
    bottom: 0
  }
}

@media screen and (min-width:71.875em) {
  .c-cta__bg {
    width: 40%
  }
}

@media screen and (min-width:100em) {
  .c-cta__bg {
    width: 35%
  }
}

.c-cta__bg svg {
  width: 100%
}

.c-cta__link {
  position: absolute;
  inset: 0;
  z-index: 2
}

@keyframes current-song-pulse {

  0%,
  to {
    scale: .4
  }

  25% {
    scale: 1.2
  }

  50% {
    scale: .6
  }

  75% {
    scale: .8
  }
}

.c-current-song {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem .875rem
}

.c-current-song:before {
  content: "";
  width: .625rem;
  aspect-ratio: 1;
  border-radius: 100%;
  background: var(--jak-color-secondary);
  order: 2;
  align-self: center;
  animation: current-song-pulse 1.4s ease-out infinite
}

@media(hover:hover) {
  .c-current-song:has(.c-current-song__link:is(:hover, :focus)) i {
    rotate: 45deg;
    scale: .9
  }
}

.c-current-song__artist {
  order: 1
}

.c-current-song__song {
  order: 3
}

.c-current-song__link {
  --jak-color-link-hover: currentcolor;
  font-size: .75em;
  line-height: 0;
  order: 4
}

.c-current-song__link:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1
}

.c-current-song__link i {
  display: block;
  transition: var(--jak-transitions-speed-default) rotate ease, var(--jak-transitions-speed-default) scale ease
}

.c-group-circle__circle {
  margin-top: 100vw;
  overflow-x: clip;
  width: 100%;
  transform: translateY(-100vw);
  z-index: 5;
  pointer-events: none;
  height: 100vh
}

.c-group-circle__circle-inner {
  border-radius: 100vmax;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  left: 50%;
  transform-origin: center;
  transform: translate(-50%);
  clip-path: inset(50% round 50%);
  width: 400vw
}

@media screen and (min-width:61.25em) {
  .c-group-circle__circle-inner {
    width: 200vw
  }
}

.c-group-circle__content {
  position: relative;
  z-index: 9;
  margin-top: -90vw
}

.c-group-circle__content .paragraph:last-child .h-margin-bottom-default {
  margin-bottom: 0
}

@keyframes hover-circle-text-animation {
  0% {
    rotate: 0deg
  }

  to {
    rotate: 360deg
  }
}

.c-hover-circle {
  width: clamp(9.375rem, 8.677184466rem + 2.9773462783vw, 12.25rem);
  aspect-ratio: 1
}

.c-hover-circle svg {
  display: block
}

.c-hover-circle__text {
  width: 100%;
  aspect-ratio: 1;
  animation: hover-circle-text-animation 7s linear infinite;
  scale: 0;
  transition: .2s scale ease-out
}

.active .c-hover-circle__text {
  scale: 1
}

.c-hover-circle__content {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 70%;
  aspect-ratio: 1;
  transition: .2s scale ease-in-out;
  scale: 0
}

.active .c-hover-circle__content {
  scale: 1
}

[data-hover-element-parent] {
  position: relative
}

.c-hover-element {
  display: none
}

@media(hover:hover)and (prefers-reduced-motion:no-preference) {
  .c-hover-element {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 1px;
    height: 1px;
    transition: opacity .5s ease;
    display: block
  }
}

.c-hover-element__content {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  white-space: nowrap;
  transition: scale .3s ease
}

.c-intro:has(+.view-case-overview) {
  margin-bottom: var(--jak-margin-xsmall)
}

.c-intro__icon {
  display: inline-flex;
  width: clamp(3.125rem, 2.3665048544rem + 3.2362459547vw, 6.25rem);
  margin-bottom: clamp(1.5625rem, 1.1832524272rem + 1.6181229773vw, 3.125rem)
}

.c-intro__icon svg path {
  fill: currentcolor
}

.c-marquee {
  overflow-x: clip;
  user-select: none;
  contain: content
}

.c-marquee.setup-done .c-marquee__wrapper {
  opacity: 1
}

.c-marquee__wrapper {
  transition: var(--jak-transitions-speed-default) opacity linear;
  backface-visibility: hidden
}

.c-marquee__items {
  transition: all .1ms linear
}

.c-marquee__items,
.c-marquee__group {
  display: inline-flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: clamp(1.25rem, -.4186893204rem + 7.1197411003vw, 8.125rem)
}

.c-marquee__group-item {
  width: clamp(9.375rem, 8.6165048544rem + 3.2362459547vw, 12.5rem);
  aspect-ratio: 1
}

.c-marquee__group-item img {
  width: 50%;
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center center
}

.c-scroll-title-media__title-1,
.c-scroll-title-media__title-2 {
  position: sticky;
  top: 50dvh;
  z-index: 15
}

.c-scroll-title-media__media-2 {
  overflow: hidden
}

.c-scroll-title-media__media-2>div {
  margin-right: -4.1666666667%
}

.c-scroll-title-media__media-1 {
  margin-top: 50vh
}

.c-scroll-title-media__media-1>* {
  transform: rotate(-3deg)
}

.c-scroll-title-media__media-2 {
  margin-top: 20vh;
  padding-bottom: 20vh
}

.c-scroll-title-media__title-2 {
  margin-top: 20vh
}

.c-scroll-title-media__media-3 {
  margin-top: 20vh;
  padding-bottom: 30vh
}

.c-slider__element--layout-testimonials {
  overflow: initial
}

.c-slider-navigation {
  display: flex;
  gap: 1.5rem;
  justify-content: center
}

@media screen and (min-width:71.875em) {
  .c-slider-navigation {
    justify-content: flex-end
  }
}

.c-slider-navigation__button.c-slider-navigation__button--prev {
  transform: rotate(180deg);
  transform-origin: center center
}

.c-stacking-card {
  contain: content
}

.c-stacking-card__outer {
  padding-block: calc(100% / var(--jak-grid-total-columns));
  width: 100%;
  aspect-ratio: 1760/600;
  display: flex;
  flex-direction: column;
  height: var(--jak-stacking-card-height, auto)
}

.c-stacking-card__header {
  display: flex;
  align-items: center;
  gap: clamp(1rem, .7269417476rem + 1.1650485437vw, 2.125rem);
  margin-bottom: clamp(1.875rem, 1.1165048544rem + 3.2362459547vw, 5rem)
}

.c-stacking-card__icon {
  width: clamp(2.25rem, 1.6128640777rem + 2.7184466019vw, 4.875rem)
}

.c-stacking-card__icon svg {
  display: block;
  line-height: 0
}

.c-stacking-card__icon path {
  fill: currentcolor
}

.c-stacking-card__content {
  margin-top: auto
}

.c-stacking-card__link {
  --jak-color-link-hover: currentcolor
}

.c-stacking-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(.5rem, .4696601942rem + .1294498382vw, .625rem)
}

@media screen and (min-width:71.875em) {
  .c-stacking-card__tags {
    flex-direction: column
  }
}

.c-stacking-items {
  --jak-stacking-items-gap: 1.25rem
}

@media screen and (min-width:90em)and (prefers-reduced-motion:no-preference) {
  .c-stacking-items.can-sticky {
    margin-top: calc(var(--jak-stacking-items-gap) * -1);
    padding-bottom: calc(var(--jak-stacking-cards-items-total) * var(--jak-stacking-items-gap))
  }
}

.c-stacking-items__wrapper {
  gap: var(--jak-stacking-items-gap)
}

@media screen and (min-width:90em)and (prefers-reduced-motion:no-preference) {
  .c-stacking-items.can-sticky .c-stacking-items__item:nth-child(1) {
    translate: 0 calc(var(--jak-stacking-items-gap) * 1)
  }
}

@media screen and (min-width:90em)and (prefers-reduced-motion:no-preference) {
  .c-stacking-items.can-sticky .c-stacking-items__item:nth-child(2) {
    translate: 0 calc(var(--jak-stacking-items-gap) * 2)
  }
}

@media screen and (min-width:90em)and (prefers-reduced-motion:no-preference) {
  .c-stacking-items.can-sticky .c-stacking-items__item:nth-child(3) {
    translate: 0 calc(var(--jak-stacking-items-gap) * 3)
  }
}

@media screen and (min-width:90em)and (prefers-reduced-motion:no-preference) {
  .c-stacking-items.can-sticky .c-stacking-items__item:nth-child(4) {
    translate: 0 calc(var(--jak-stacking-items-gap) * 4)
  }
}

@media screen and (min-width:90em)and (prefers-reduced-motion:no-preference) {
  .c-stacking-items.can-sticky .c-stacking-items__item:nth-child(5) {
    translate: 0 calc(var(--jak-stacking-items-gap) * 5)
  }
}

@media screen and (min-width:90em)and (prefers-reduced-motion:no-preference) {
  .c-stacking-items.can-sticky .c-stacking-items__item {
    position: sticky;
    top: calc(var(--jak-page-header-top-padding) + var(--jak-page-header-height))
  }
}

.c-tag {
  --jak-tag-bg-color: var(--jak-color-light);
  --jak-tag-border-color: transparent;
  display: inline-flex;
  border-radius: 6.25rem;
  border: 1px solid var(--jak-tag-border-color);
  background: var(--jak-tag-bg-color);
  padding: clamp(.375rem, .3143203883rem + .2588996764vw, .625rem) clamp(.9375rem, .8616504854rem + .3236245955vw, 1.25rem);
  gap: .625rem;
  align-items: center
}

.c-tag--ghost {
  --jak-tag-bg-color: transparent;
  --jak-tag-border-color: currentcolor
}

.c-tag--active {
  --jak-tag-bg-color: var(--jak-color-secondary);
  --jak-color-link-hover: currentcolor
}

.c-tag__icon {
  display: block
}

.c-tag__icon *:has(>svg) {
  height: clamp(1.25rem, 1.1893203883rem + .2588996764vw, 1.5rem)
}

.c-tag__icon svg {
  height: 100%;
  width: auto;
  line-height: 0
}

.c-testimonial {
  border: 1px solid var(--jak-color-primary);
  transition: var(--jak-transitions-speed-default) background-color ease-in, var(--jak-transitions-speed-default) color ease-in;
  padding: 4.1666666667%
}

@media screen and (min-width:46em) {
  .c-testimonial {
    padding: 4.0625rem 3.4375rem
  }
}

.c-slider__slide--active .c-testimonial {
  --jak-h-bg-color: var(--jak-color-primary);
  --jak-h-bg-text-color: var(--jak-color-beige)
}

.c-testimonial__text,
.c-testimonial__name {
  margin-top: clamp(30px, 2.6vw, 50px)
}

.c-testimonial {
  border: 1px solid var(--jak-color-primary)
}

.c-text-2-media {
  --jak-text-2-media-top-spacing: clamp(3.125rem, 2.8216019417rem + 1.2944983819vw, 4.375rem)
}

@media screen and (min-width:71.875em) {
  .c-text-2-media {
    padding-top: var(--jak-text-2-media-top-spacing)
  }
}

.c-text-2-media--layout-media-large-left .c-text-2-media__media-large-element {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0
}

.c-text-2-media--layout-media-large-right .c-text-2-media__media-large {
  order: 3
}

.c-text-2-media--layout-media-large-right .c-text-2-media__media-large-element {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0
}

.c-text-2-media--layout-media-large-right .c-text-2-media__media-small {
  order: 2
}

@media screen and (min-width:71.875em) {
  .c-text-2-media--layout-media-large-right .c-text-2-media__media-small {
    order: 1
  }
}

.c-text-2-media__content {
  order: -1;
  padding-bottom: clamp(1.875rem, 1.7991504854rem + .3236245955vw, 2.1875rem)
}

@media screen and (min-width:71.875em) {
  .c-text-2-media__content {
    padding-bottom: 0;
    order: 2;
    align-self: center
  }
}

@media screen and (min-width:46em) {
  .c-text-2-media__media-large {
    padding-top: var(--jak-text-2-media-top-spacing)
  }
}

@media screen and (min-width:71.875em) {
  .c-text-2-media__media-large {
    padding-top: 0;
    order: 1
  }
}

@media screen and (min-width:160.0625em) {
  .c-text-2-media__media-large-element {
    border-radius: var(--jak-border-radius) !important
  }
}

@media screen and (min-width:71.875em) {
  .c-text-2-media__media-small {
    order: 3;
    translate: 0 calc(var(--jak-text-2-media-top-spacing) * -1)
  }
}

.c-text-animate {
  color: var(--jak-color-text-animate)
}

.c-text-animate .line-double {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 1;
  color: var(--jak-color-text);
  clip-path: inset(0 100% 0 0)
}

.c-text-media--layout-right .c-text-media__wrapper {
  flex-direction: row-reverse
}

.c-text-media__content {
  display: flex;
  flex-direction: column;
  justify-content: center
}

.c-tile {
  --jak-color-link-hover: currentcolor;
  border: 1px solid var(--jak-color-beige);
  padding: 4.1666666667% 8.3333333333%;
  width: calc(100% + 1px);
  translate: 0 calc(var(--jak-tiles-group-item-row) * -1px);
  background-color: transparent;
  color: var(--jak-color-beige);
  transition: color var(--jak-transitions-speed-default) ease;
  contain: content;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between
}

@media screen and (min-width:30em) {
  .c-tile {
    padding: clamp(.9375rem, .7099514563rem + .9708737864vw, 1.875rem);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    aspect-ratio: 380/320
  }
}

.c-tile:before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: var(--jak-h-bg-color);
  z-index: -1;
  opacity: 0;
  transition: opacity var(--jak-transitions-speed-default) ease
}

@media(hover:hover) {

  .c-tile:has(.c-tile__link):hover,
  .c-tile:has(.c-tile__link:focus) {
    color: var(--jak-h-bg-text-color)
  }

  .c-tile:has(.c-tile__link):hover svg path,
  .c-tile:has(.c-tile__link:focus) svg path {
    fill: var(--jak-h-bg-text-color)
  }

  .c-tile:has(.c-tile__link):hover:before,
  .c-tile:has(.c-tile__link:focus):before {
    opacity: 1
  }
}

@media(hover:none) {
  .c-tile:active {
    scale: .99
  }
}

@media screen and (min-width:30em)and (max-width:45.9375em) {
  .c-tiles-group__item:nth-child(2n-1) .c-tile {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: 0
  }
}

@media screen and (min-width:30em)and (max-width:45.9375em) {
  .c-tiles-group__item:nth-child(2n) .c-tile {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0
  }
}

@media screen and (min-width:46em)and (max-width:89.9375em) {
  .c-tiles-group__item:nth-child(3n-2) .c-tile {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: 0
  }
}

@media screen and (min-width:46em)and (max-width:89.9375em) {
  .c-tiles-group__item:nth-child(3n) .c-tile {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0
  }
}

@media screen and (min-width:90em) {
  .c-tiles-group__item:nth-child(5n-4) .c-tile {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: 0
  }
}

@media screen and (min-width:90em) {
  .c-tiles-group__item:nth-child(5n) .c-tile {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0
  }
}

@media screen and (min-width:160.0625em) {
  .c-tile {
    border: 1px solid var(--jak-color-beige) !important;
    border-radius: var(--jak-border-radius) !important
  }
}

.c-tile__icon {
  width: clamp(2.1875rem, 1.9599514563rem + .9708737864vw, 3.125rem);
  margin-left: auto
}

.c-tile__icon svg path {
  fill: var(--jak-color-beige);
  transition: fill .8s ease
}

.c-tile__title {
  margin-top: auto
}

.c-tile__link:after {
  position: absolute;
  inset: 1px;
  content: "";
  z-index: 1
}

.c-tiles-group__wrapper {
  width: calc(100% - 1px);
  padding-bottom: 1px
}

.c-btn {
  --jak-btn-color: currentcolor;
  --jak-btn-color-hover: var(--jak-btn-color);
  --jak-btn-bg-color: transparent;
  --jak-btn-bg-color-hover: var(--jak-btn-bg-color);
  --jak-btn-border-color: var(--jak-btn-bg-color);
  --jak-btn-border-color-hover: var(--jak-btn-bg-color-hover);
  --jak-btn-border-width: 1px;
  --jak-btn-border-radius: 0;
  --jak-btn-padding-inline: 0;
  --jak-btn-padding-block: 0;
  display: inline-flex;
  font-weight: var(--jak-font-weight-semibold);
  line-height: 1;
  user-select: none
}

.c-btn .c-btn__label {
  display: inline-flex;
  align-items: center;
  color: var(--jak-btn-color);
  background: var(--jak-btn-bg-color);
  border-radius: var(--jak-btn-border-radius);
  border: var(--jak-btn-border-width) solid var(--jak-btn-border-color);
  padding: var(--jak-btn-padding-block, 0) var(--jak-btn-padding-inline, 0);
  transition: var(--jak-transitions-speed-default) background ease-in, var(--jak-transitions-speed-default) color ease-in
}

@media(hover:hover) {

  .c-btn:is(:hover, :focus) .c-btn__label,
  .trigger-by-child:has(.trigger-child:is(:hover, :focus)) .c-btn .c-btn__label {
    color: var(--jak-btn-color-hover);
    background: var(--jak-btn-bg-color-hover);
    border-color: var(--jak-btn-border-color-hover)
  }
}

@media(hover:none) {
  .c-btn:active {
    scale: .98
  }
}

:root {
  --jak-btn-height: clamp(3.875rem, 3.7839805825rem + .3883495146vw, 4.25rem)
}

.c-btn--type-primary {
  --jak-btn-color: var(--jak-color-secondary);
  --jak-btn-bg-color: var(--jak-color-primary);
  --jak-btn-circle-color: var(--jak-color-primary);
  --jak-btn-circle-bg-color: var(--jak-color-secondary);
  --jak-btn-padding-inline: 1.875rem;
  --jak-btn-border-radius: 31.25rem;
  padding-inline: 0 var(--jak-btn-height);
  position: relative;
  transition: var(--jak-transitions-speed-default) padding ease-in;
  will-change: padding;
  height: var(--jak-btn-height)
}

.h-bg-color-primary .c-btn--type-primary,
.c-btn--type-primary.c-btn--color-beige,
.h-bg-color-secondary .c-btn--type-primary,
.c-btn--type-primary.c-btn--color-beige-primary {
  --jak-btn-color: var(--jak-color-primary);
  --jak-btn-bg-color: var(--jak-color-beige)
}

.h-bg-color-secondary .c-btn--type-primary,
.c-btn--type-primary.c-btn--color-beige-primary {
  --jak-btn-circle-color: var(--jak-color-secondary);
  --jak-btn-circle-bg-color: var(--jak-color-primary)
}

@media(hover:hover) {

  .c-btn--type-primary:is(:hover, :focus),
  .trigger-by-child:has(.trigger-child:is(:hover, :focus)) .c-btn--type-primary {
    padding-inline: var(--jak-btn-height) 0
  }

  .c-btn--type-primary:is(:hover, :focus) .c-btn__circle:first-child,
  .trigger-by-child:has(.trigger-child:is(:hover, :focus)) .c-btn--type-primary .c-btn__circle:first-child {
    scale: 1
  }

  .c-btn--type-primary:is(:hover, :focus) .c-btn__circle:first-child i,
  .trigger-by-child:has(.trigger-child:is(:hover, :focus)) .c-btn--type-primary .c-btn__circle:first-child i {
    rotate: -45deg
  }

  .c-btn--type-primary:is(:hover, :focus) .c-btn__circle:last-child,
  .trigger-by-child:has(.trigger-child:is(:hover, :focus)) .c-btn--type-primary .c-btn__circle:last-child {
    scale: 0
  }

  .c-btn--type-primary:is(:hover, :focus) .c-btn__circle:last-child i,
  .trigger-by-child:has(.trigger-child:is(:hover, :focus)) .c-btn--type-primary .c-btn__circle:last-child i {
    rotate: 45deg
  }
}

.c-btn--type-primary .c-btn__circle {
  aspect-ratio: 1;
  width: var(--jak-btn-height);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--jak-btn-circle-bg-color);
  color: var(--jak-btn-circle-color);
  border-radius: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  transition: var(--jak-transitions-speed-default) scale ease-in
}

.c-btn--type-primary .c-btn__circle:first-child {
  scale: 0;
  transform-origin: left center
}

.c-btn--type-primary .c-btn__circle:last-child {
  left: inherit;
  right: 0;
  transform-origin: right center
}

.c-btn--type-primary .c-btn__circle i {
  transition: .2s rotate ease-in;
  line-height: 0;
  font-size: 1.1em
}

.c-btn--type-secondary {
  --jak-btn-color: var(--jak-color-primary);
  --jak-btn-color-hover: var(--jak-color-secondary);
  --jak-btn-bg-color-hover: var(--jak-color-primary);
  --jak-btn-padding-inline: 1.875rem;
  --jak-btn-padding-block: 1.125rem;
  --jak-btn-border-color: var(--jak-color-primary);
  --jak-btn-border-radius: 6.25rem;
  --jak-transitions-speed-default: .2s
}

.c-btn--type-secondary.c-btn--color-secondary {
  --jak-btn-color: var(--jak-color-secondary);
  --jak-btn-color-hover: var(--jak-color-primary);
  --jak-btn-border-color: var(--jak-color-secondary);
  --jak-btn-bg-color-hover: var(--jak-color-secondary)
}

.c-btn--type-icon {
  --jak-btn-color: var(--jak-color-primary);
  --jak-btn-bg-color: var(--jak-color-secondary);
  aspect-ratio: 1;
  cursor: pointer;
  width: var(--jak-btn-height);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--jak-btn-bg-color);
  color: var(--jak-btn-color);
  border-radius: 100%;
  overflow: hidden;
  transition: var(--jak-transitions-speed-default) scale ease-in
}

.c-btn--type-icon i {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--jak-btn-height) * .338)
}

@media(hover:hover) {

  .c-btn--type-icon:is(:hover),
  .trigger-by-child:has(.trigger-child:is(:hover)) .c-btn--type-icon {
    scale: 1.1
  }
}

.c-btn--type-link {
  align-items: center;
  gap: .625rem
}

.c-btn--type-link:after {
  font-family: jak icons, sans-serif !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e900";
  font-size: .8em;
  line-height: 0;
  transition: var(--jak-transitions-speed-default) rotate ease;
  color: var(--jak-btn-color)
}

.c-btn--type-link:is(:hover, :focus):after,
.trigger-by-child:has(.trigger-child:is(:hover, :focus)) .c-btn--type-link:after {
  rotate: 45deg;
  color: var(--jak-btn-color-hover)
}

.c-btn--type-link.c-btn--color-primary {
  --jak-btn-color: var(--jak-color-primary);
  --jak-btn-color-hover: var(--jak-color-primary-hover)
}

.c-masonry-grid__wrapper {
  opacity: 0;
  transition: opacity var(--jak-transitions-speed-default) ease-in-out;
  row-gap: var(--jak-margin-small)
}

.c-masonry-grid__wrapper.is-ready {
  opacity: 1
}

.c-masonry-grid__col {
  display: grid;
  row-gap: var(--jak-margin-small)
}

.c-masonry-grid__col:nth-child(2) {
  display: none
}

@media screen and (min-width:71.875em) {
  .c-masonry-grid__col:nth-child(2) {
    display: grid;
    padding-top: clamp(5rem, 2.7245145631rem + 9.7087378641vw, 14.375rem)
  }
}


/* Static-clone animation/runtime additions v2.
   Base visual CSS is the supplied Studio Modular frontend CSS; this block restores motion in a standalone page. */

/* Intentionally blank content-image spaces. No border, background, icon or placeholder box. */
.sm-image-slot {
  display: block;
  width: 100%;
  aspect-ratio: var(--sm-slot-ratio, 4/3);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

figure:has(> .sm-image-slot) {
  width: 100%;
}

/* Load-in state hooks. */
html.sm-js .c-banner__logo-top svg,
html.sm-js .c-banner__logo-btm svg,
html.sm-js .c-banner__media-1,
html.sm-js .c-banner__text {
  will-change: transform, clip-path, opacity;
}

html.sm-js .c-banner__media-2 {
  opacity: 0;
  will-change: transform, opacity;
}

/* Animated paragraph line wipe. */
.sm-line {
  position: relative;
  display: block;
  overflow: hidden;
}

.sm-line .line-double {
  white-space: pre-wrap;
}

.sm-line-base {
  color: var(--jak-color-text-animate);
}

.c-text-animate .sm-line {
  line-height: inherit;
}

/* Desktop header hover pill fallback (works even where CSS anchor positioning is unsupported). */
.page-header-content__nav .menu {
  position: relative;
  isolation: isolate;
}

.page-header-content__nav .menu::before {
  display: none !important;
}

.page-header-content__nav .menu>li {
  position: relative;
  z-index: 2;
}

.sm-nav-pill {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  height: 3.25rem;
  border-radius: 999px;
  background: var(--jak-color-secondary);
  transform: translate3d(0, -50%, 0);
  opacity: 0;
  pointer-events: none;
  transition: transform .36s cubic-bezier(.22, .61, .36, 1), width .36s cubic-bezier(.22, .61, .36, 1), opacity .18s linear;
}

.sm-nav-pill.is-visible {
  opacity: 1;
}

/* Scroll reveal language. */
.sm-reveal {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
  filter: blur(2px);
  transition:
    opacity .8s cubic-bezier(.22, .61, .36, 1) var(--sm-delay, 0ms),
    transform .95s cubic-bezier(.16, 1, .3, 1) var(--sm-delay, 0ms),
    filter .8s ease var(--sm-delay, 0ms);
  will-change: transform, opacity;
}

.sm-reveal.sm-in-view {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

.sm-reveal-soft {
  transform: translate3d(0, 26px, 0);
}

.sm-reveal-scale {
  transform: translate3d(0, 28px, 0) scale(.975);
}

.sm-reveal-scale.sm-in-view {
  transform: translate3d(0, 0, 0) scale(1);
}

/* Case-card media reveal stays useful after the user inserts images. */
.c-masonry-grid__item .sm-image-slot,
.c-news-grid .sm-image-slot,
.c-text-media .sm-image-slot,
.c-text-2-media .sm-image-slot,
.c-cta .sm-image-slot,
.c-scroll-title-media .sm-image-slot {
  transform-origin: center;
  will-change: transform, clip-path;
}

/* Testimonial slider. */
.c-slider__element {
  touch-action: pan-y;
}

.c-slider__slides {
  display: flex;
  align-items: stretch;
  transition: transform .72s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

.c-slider__slide {
  flex: 0 0 auto;
  height: auto;
}

.c-slider__element--draggable {
  cursor: grab;
}

.c-slider__element--draggable.sm-dragging {
  cursor: grabbing;
  user-select: none;
}

.c-slider__element--draggable.sm-dragging .c-slider__slides {
  transition: none;
}

/* Scroll-title-media gets extra transform room without creating visible placeholders. */
.c-scroll-title-media__title-1 h2,
.c-scroll-title-media__title-2 h2,
.c-scroll-title-media__media-1>*,
.c-scroll-title-media__media-2>*,
.c-scroll-title-media__media-3>* {
  will-change: transform, opacity;
}

/* Sticky stack polish. */
.c-stacking-items.can-sticky .c-stacking-items__item {
  transform-origin: center top;
  will-change: transform;
}

/* Marquee runtime. */
.c-marquee__items {
  will-change: transform;
}

.c-marquee__wrapper {
  opacity: 0;
}

.c-marquee.setup-done .c-marquee__wrapper {
  opacity: 1;
}

/* Small depth shift on the CTA background. */
.c-cta__bg {
  will-change: transform;
}

/* Prevent the blank slots from getting accidental card-placeholder styling. */
.sm-image-slot::before,
.sm-image-slot::after {
  content: none !important;
}

@media (max-width: 71.874em) {
  .sm-reveal {
    transform: translate3d(0, 28px, 0);
  }

  .sm-reveal-scale {
    transform: translate3d(0, 22px, 0) scale(.985);
  }
}

@media (prefers-reduced-motion: reduce) {

  .sm-reveal,
  .sm-reveal-scale,
  .sm-reveal-soft {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .c-slider__slides {
    transition: none !important;
  }

  .sm-nav-pill {
    transition: none !important;
  }
}

/* =====================================================
   LOCAL PORTFOLIO FIXES
   ===================================================== */

/* 1. Smooth scrolling - unconditional (not gated by prefers-reduced-motion) */
html {
  scroll-behavior: smooth;
}

/* 2. Icon fallback: the jak-icons font loads from studiomodular.be CDN
   and may not be available offline. Replace .jak-icons-btn-arrow <i>
   with an inline SVG-based arrow via CSS mask so the buttons still work. */
.jak-icons-btn-arrow,
.jak-icons-btn-arrow-variant {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  font-size: inherit;
}

/* Arrow icon fallback using SVG data URI background */
.jak-icons-btn-arrow::before {
  content: "" !important;
  display: block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  font-family: inherit;
  speak: none;
}

/* Diagonal up-right arrow for current song link */
.jak-icons-btn-arrow-variant::before {
  content: "" !important;
  display: block;
  width: 1.15em;
  height: 1.15em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='8 7 17 7 17 16'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='8 7 17 7 17 16'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  font-family: inherit;
  speak: none;
}

/* 3. Quote icon fallback */
.jak-icons-quote::before {
  content: "\201C" !important;
  font-family: Georgia, serif !important;
  font-size: 1.2em;
  line-height: 1;
  speak: none;
}

/* 4. Arrow icon (scroll) fallback */
.jak-icons-arrow::before {
  content: "" !important;
  display: block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

/* 5. Social icon fallbacks (Facebook, Instagram, LinkedIn) */
.jak-icons-facebook::before {
  content: "f" !important;
  font-family: Arial, sans-serif !important;
  font-weight: 900;
  font-style: normal;
  font-size: 0.9em;
}

.jak-icons-instagram::before {
  content: "" !important;
  display: block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.2' fill='black' stroke='none'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.2' fill='black' stroke='none'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  font-family: inherit;
  speak: none;
}

.jak-icons-linkedin::before {
  content: "in" !important;
  font-family: Arial, sans-serif !important;
  font-weight: 900;
  font-style: normal;
  font-size: 0.7em;
  letter-spacing: -0.05em;
}

/* 6. Fix c-btn__circle to show even without icon font */
.c-btn__circle {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 7. Ensure sm-image-slot images fill their container properly */
.sm-image-slot img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: inherit;
}

/* 8. Make image slots show their aspect ratio so images have height */
.sm-image-slot {
  position: relative;
  overflow: hidden;
}

/* 9. Ensure banner media shows images (they start clipped by JS animation) */
.c-banner__media-1 .sm-image-slot img,
.c-banner__media-2 .sm-image-slot img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 10. Fix figure containing sm-image-slot to position correctly */
figure:has(> .sm-image-slot) {
  position: relative;
  overflow: hidden;
}

/* 11. Improved scroll-driven text animation visibility fallback
   (in case JS doesn't run or scroll hasn't happened yet) */
.c-text-animate .sm-line .line-double {
  position: absolute;
  top: 0;
  left: 0;
  clip-path: inset(0 100% 0 0);
  color: var(--jak-color-text);
  pointer-events: none;
}

/* 12. Ensure the banner scroll badge is visible */
.c-banner__scroll-circle i.jak-icons-btn-arrow {
  transform: rotate(0deg);
}

/* 13. Card visual media: ensure images display with proper height */
.c-card-visual__media {
  position: relative;
}

.c-card-visual__media .sm-image-slot {
  width: 100%;
}


/* =====================================================
   TESTIMONIALS SECTION FIXES
   Matching studiomodular.be live site spacing & layout
   ===================================================== */

/* Section breathing room */
.pg-testimonials-slider {
  margin-top: clamp(3rem, 5vw, 6rem);
}

.c-testimonials-slider .c-intro {
  margin-bottom: clamp(2.5rem, 4vw, 4rem) !important;
}

/* Slider wrapper: allow overflow so cards peek smoothly off right */
.c-slider__element--layout-testimonials {
  overflow: visible !important;
}

/* Slides container: 50px gap matching live site spaceBetween = 50 */
.c-testimonials-slider .c-slider__slides {
  display: flex !important;
  align-items: stretch !important;
  gap: clamp(24px, 3.2vw, 50px) !important;
}

/* Each slide: responsive width showing ~3 cards on desktop */
.c-testimonials-slider .c-slider__slide {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: auto !important;
  flex-shrink: 0 !important;
  width: clamp(340px, 28vw, 460px) !important;
}

@media screen and (min-width: 100em) {
  .c-testimonials-slider .c-slider__slide {
    width: clamp(380px, 26vw, 500px) !important;
  }
}

@media screen and (max-width: 63.9375em) {
  .c-testimonials-slider .c-slider__slide {
    width: clamp(320px, 60vw, 460px) !important;
  }
}

@media screen and (max-width: 45.9375em) {
  .c-testimonials-slider .c-slider__slide {
    width: calc(100vw - 3.5rem) !important;
    max-width: 380px !important;
  }
}

/* Teaser wrappers inside each slide stretch fully */
.c-testimonials-slider .c-slider__slide .node-testimonial-teaser {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 100% !important;
  height: 100% !important;
}

/* Testimonial card: flex column so all cards stretch to identical height */
.c-testimonials-slider .c-testimonial {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  border-radius: var(--jak-border-radius, 25px) !important;
  border: 1px solid var(--jak-color-primary) !important;
  padding: 4.0625rem 3.4375rem !important;
  background-color: var(--jak-color-beige) !important;
  color: var(--jak-color-dark) !important;
  transition: background-color var(--jak-transitions-speed-default, 0.25s) ease,
    color var(--jak-transitions-speed-default, 0.25s) ease,
    border-color var(--jak-transitions-speed-default, 0.25s) ease !important;
}

@media screen and (max-width: 47.9375em) {
  .c-testimonials-slider .c-testimonial {
    padding: 2.5rem 1.875rem !important;
  }
}

/* Quote SVG icon at top */
.c-testimonial__icon {
  display: block;
  margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem) !important;
  flex-shrink: 0;
}

.c-testimonial__icon svg {
  width: clamp(60px, 5vw, 82px) !important;
  height: auto !important;
  display: block;
}

/* Text area: fills available height */
.c-testimonial__text {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  margin-top: 0 !important;
}

/* Suppress blockquote ::before icon font */
.c-testimonial .c-testimonial__text blockquote::before {
  display: none !important;
  content: none !important;
}

.c-testimonial blockquote {
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(1rem, 1.05vw, 1.15rem) !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

/* Author name: pushed to the very bottom across all cards for perfect alignment */
.c-testimonial__name {
  margin-top: auto !important;
  padding-top: clamp(2rem, 3vw, 3.5rem) !important;
  flex-shrink: 0;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  font-size: clamp(0.9375rem, 1vw, 1.125rem) !important;
  text-transform: uppercase !important;
}

/* Company name directly below author */
.c-testimonial__extra-info {
  margin-top: 0.25rem !important;
  flex-shrink: 0;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  font-size: clamp(0.875rem, 0.95vw, 1.05rem) !important;
  text-transform: uppercase !important;
  opacity: 0.8 !important;
}

/* Active slide = dark green card (primary color) with beige text */
.c-slider__slide--active .c-testimonial {
  background-color: var(--jak-color-primary) !important;
  color: var(--jak-color-beige) !important;
  border-color: var(--jak-color-primary) !important;
}

.c-slider__slide--active .c-testimonial blockquote,
.c-slider__slide--active .c-testimonial .c-testimonial__name,
.c-slider__slide--active .c-testimonial .c-testimonial__extra-info {
  color: var(--jak-color-beige) !important;
}

/* Navigation buttons */
.c-slider-navigation {
  display: flex !important;
  gap: 1.5rem !important;
  justify-content: center !important;
  margin-top: clamp(2rem, 3vw, 3.5rem) !important;
  position: relative !important;
  z-index: 25 !important;
  pointer-events: auto !important;
}

@media screen and (min-width: 71.875em) {
  .c-slider-navigation {
    justify-content: flex-end !important;
  }
}

.c-slider-navigation__button {
  width: var(--jak-btn-height, 4rem) !important;
  height: var(--jak-btn-height, 4rem) !important;
  aspect-ratio: 1 !important;
  border-radius: 50% !important;
  background: var(--jak-color-secondary) !important;
  color: var(--jak-color-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  border: none !important;
  flex-shrink: 0 !important;
  font-size: 1.1em !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
  position: relative !important;
  z-index: 25 !important;
  pointer-events: auto !important;
  user-select: none !important;
}

.c-slider-navigation__button * {
  pointer-events: none !important;
}

.c-slider-navigation__button:hover:not(:disabled) {
  transform: scale(1.08) !important;
}

.c-slider-navigation__button:disabled,
.c-slider-navigation__button[disabled] {
  opacity: 0.35 !important;
  cursor: default !important;
  pointer-events: none !important;
}

.c-slider-navigation__button--prev {
  transform: rotate(180deg) !important;
}

.c-slider-navigation__button--prev:hover:not(:disabled) {
  transform: rotate(180deg) scale(1.08) !important;
}

/* =====================================================
   FOOTER BOTTOM & ICON ENHANCEMENTS
   ===================================================== */
.page-footer-bottom,
.page-footer-bottom>*,
.page-footer-bottom .container {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

.page-footer-bottom {
  padding-bottom: clamp(2.5rem, 2.35rem + 0.65vw, 3.125rem) !important;
  margin-top: clamp(2.5rem, 3.5vw, 4.5rem) !important;
}

.page-footer-bottom a {
  color: var(--jak-color-beige) !important;
  opacity: 0.85;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.page-footer-bottom a:hover {
  opacity: 1;
  color: var(--jak-color-secondary) !important;
}

/* Song link arrow size & alignment */
.c-current-song__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.c-current-song__link i.jak-icons-btn-arrow-variant {
  font-size: 1.25em !important;
  line-height: 1 !important;
}

/* =====================================================
   PORTFOLIO INNER PAGES & LIGHTBOX STYLES
   ===================================================== */

/* Navigation Spacing & Dropdown Enhancement */
.page-header-content__nav .menu {
  --jak-menu-anchor-padding-inline: 0.95rem !important;
  --jak-menu-anchor-offset: 0.25rem !important;
  overflow: visible !important;
}

@media screen and (min-width: 100em) {
  .page-header-content__nav .menu {
    --jak-menu-anchor-padding-inline: 1.15rem !important;
  }
}

.page-header-content__nav a {
  padding-inline: var(--jak-menu-anchor-padding-inline) !important;
}

.menu__item--has-children {
  position: relative;
}

.menu__item--has-children>a {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.menu__item-arrow {
  font-size: 0.65em;
  opacity: 0.6;
  display: inline-block;
  transition: transform 0.2s ease;
}

.menu__item--has-children:hover .menu__item-arrow {
  transform: rotate(180deg);
}

.menu__dropdown {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1.25rem;
  padding: 0.65rem 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 14.5rem;
  box-shadow: 0 16px 36px rgba(11, 19, 17, 0.14);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s;
  z-index: 1000;
}

/* Invisible hover bridge to prevent losing hover when moving from nav link to dropdown */
.menu__dropdown::before {
  content: '';
  position: absolute;
  top: -0.75rem;
  left: 0;
  right: 0;
  height: 0.75rem;
}

.menu__item--has-children:hover .menu__dropdown,
.menu__item--has-children:focus-within .menu__dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.menu__dropdown a {
  padding: 0.5rem 1rem !important;
  border-radius: 0.75rem;
  font-size: 0.92rem !important;
  font-weight: 500;
  color: var(--jak-color-dark, #0b1311) !important;
  white-space: nowrap;
  display: block;
  text-decoration: none;
  line-height: 1.4;
  transition: background 0.15s ease, color 0.15s ease;
}

.menu__dropdown a:hover,
.menu__dropdown a:focus {
  background: var(--jak-color-secondary, #bad6ff) !important;
  color: var(--jak-color-primary, #1e4137) !important;
}

/* Mobile Overlay Subcategories Accordion */
.mobile-nav-group {
  margin-bottom: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mobile-nav-group__toggle {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
}

.mobile-subnav {
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  text-align: center;
}

.mobile-subnav a {
  font-size: clamp(1.15rem, 2.2vw, 1.6rem) !important;
  opacity: 0.85;
  color: var(--jak-color-primary) !important;
}

.mobile-subnav a:hover {
  opacity: 1;
  text-decoration: underline;
}

/* Subcategory Filter Bar (c-nav-bar with c-tag) */
.c-nav-bar {
  overflow-x: auto;
  padding-bottom: 0.75rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.c-nav-bar::-webkit-scrollbar {
  display: none;
}

.c-nav-bar__list {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

@media (max-width: 55em) {
  .c-nav-bar__list {
    flex-wrap: nowrap;
    padding-inline: 0.25rem;
  }
}

.c-tag {
  --jak-tag-bg-color: var(--jak-color-light);
  --jak-tag-border-color: rgba(0, 0, 0, 0.08);
  display: inline-flex;
  border-radius: 6.25rem;
  border: 1px solid var(--jak-tag-border-color);
  background: var(--jak-tag-bg-color);
  padding: clamp(0.45rem, 0.4rem + 0.2vw, 0.7rem) clamp(1rem, 0.9rem + 0.35vw, 1.35rem);
  gap: 0.5rem;
  align-items: center;
  font-family: var(--jak-font-family-base);
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.15rem);
  font-weight: 500;
  color: var(--jak-color-dark);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  cursor: pointer;
}

.c-tag:hover {
  background: var(--jak-color-secondary);
  color: var(--jak-color-primary);
  border-color: transparent;
}

.c-tag--active {
  background: var(--jak-color-primary) !important;
  color: var(--jak-color-beige) !important;
  border-color: var(--jak-color-primary) !important;
}

/* Subcategory Cards Grid (Main Category Pages) */
/* IMPORTANT: NO background images, only clean typography */
.subcategory-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: clamp(1.25rem, 1.8vw, 2.25rem);
  margin-top: clamp(2rem, 3.5vw, 4rem);
  margin-bottom: var(--jak-margin-small);
}

@media (min-width: 48em) {
  .subcategory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 75em) {
  .subcategory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.subcategory-card {
  position: relative;
  background: var(--jak-color-light);
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: var(--jak-border-radius);
  padding: clamp(2.25rem, 3.2vw, 4rem) clamp(1.85rem, 2.5vw, 3.5rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: clamp(220px, 18vw, 300px);
  text-decoration: none;
  color: var(--jak-color-dark);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  overflow: hidden;
}

.subcategory-card:hover {
  transform: translateY(-4px);
  border-color: var(--jak-color-primary);
  box-shadow: 0 16px 36px rgba(30, 65, 55, 0.08);
}

.subcategory-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}

.subcategory-card__count {
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.35rem 0.85rem;
  background: var(--jak-color-grey-light);
  border-radius: 2rem;
  color: var(--jak-color-primary);
}

.subcategory-card__title {
  font-family: var(--jak-font-family-title);
  font-size: clamp(24px, 2.6vw, 42px);
  font-weight: 600;
  line-height: 1.15;
  color: var(--jak-color-dark);
  margin-top: clamp(1.5rem, 2vw, 2.75rem);
  margin-bottom: 0.75rem;
  text-wrap: balance;
  transition: color 0.2s ease;
}

.subcategory-card:hover .subcategory-card__title {
  color: var(--jak-color-primary);
}

.subcategory-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: clamp(1.5rem, 2vw, 2.5rem);
  padding-top: 1.25rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.subcategory-card__cta-label {
  font-size: clamp(1rem, 0.95rem + 0.15vw, 1.15rem);
  font-weight: 500;
  color: #666;
  transition: color 0.2s ease;
}

.subcategory-card:hover .subcategory-card__cta-label {
  color: var(--jak-color-primary);
}

.subcategory-card__arrow {
  width: clamp(2.5rem, 2.2rem + 0.6vw, 3.25rem);
  height: clamp(2.5rem, 2.2rem + 0.6vw, 3.25rem);
  border-radius: 50%;
  background: var(--jak-color-grey-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--jak-color-primary);
  transition: background 0.25s ease, transform 0.25s ease, color 0.25s ease;
}

.subcategory-card:hover .subcategory-card__arrow {
  background: var(--jak-color-primary);
  color: var(--jak-color-light);
  transform: rotate(45deg);
}

/* Portfolio Media Grid (Subcategory & UI/UX Pages) */
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: clamp(1.25rem, 2vw, 2.5rem);
  margin-top: clamp(2rem, 3vw, 3.5rem);
  margin-bottom: var(--jak-margin-small);
}

@media (min-width: 42em) {
  .portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 72em) {
  .portfolio-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.portfolio-grid--2col {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 48em) {
  .portfolio-grid--2col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.portfolio-card {
  position: relative;
  background: var(--jak-color-light);
  border-radius: var(--jak-border-radius);
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}

.portfolio-card:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 16px 36px rgba(11, 19, 17, 0.1);
}

.portfolio-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--jak-color-grey-light);
  display: flex;
  align-items: center;
  justify-content: center;
}

.portfolio-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.portfolio-card:hover .portfolio-card__media img {
  transform: scale(1.05);
}

.portfolio-card__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.portfolio-card__video-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(11, 19, 17, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: transform 0.25s ease, background 0.25s ease;
}

.portfolio-card:hover .portfolio-card__video-badge {
  background: var(--jak-color-primary);
  transform: scale(1.1);
}

.portfolio-card__zoom-hint {
  position: absolute;
  inset: 0;
  background: rgba(30, 65, 55, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.portfolio-card:hover .portfolio-card__zoom-hint {
  opacity: 1;
}

.portfolio-card__zoom-hint span {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  border-radius: 2rem;
  padding: 0.45rem 1rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--jak-color-dark);
  transform: translateY(6px);
  transition: transform 0.25s ease;
}

.portfolio-card:hover .portfolio-card__zoom-hint span {
  transform: translateY(0);
}

/* Lightbox Modal */
.portfolio-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(11, 19, 17, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s;
  user-select: none;
}

.portfolio-lightbox.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.portfolio-lightbox__dialog {
  position: relative;
  max-width: 90vw;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.portfolio-lightbox__media-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 88vw;
  max-height: 78vh;
  border-radius: clamp(10px, 1.2vw, 20px);
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
  background: #000;
}

.portfolio-lightbox__media-wrap img {
  max-width: 88vw;
  max-height: 78vh;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  animation: lightbox-pop 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.portfolio-lightbox__media-wrap video {
  max-width: 88vw;
  max-height: 78vh;
  display: block;
  outline: none;
  animation: lightbox-pop 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes lightbox-pop {
  from {
    opacity: 0;
    transform: scale(0.96);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.portfolio-lightbox__close {
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10001;
}

.portfolio-lightbox__close:hover {
  background: var(--jak-color-secondary);
  color: var(--jak-color-primary);
  transform: rotate(90deg);
}

.portfolio-lightbox__counter {
  position: fixed;
  top: 1.75rem;
  left: 2rem;
  font-family: var(--jak-font-family-base);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.7);
  z-index: 10001;
}

.portfolio-lightbox__caption {
  margin-top: 1rem;
  color: rgba(255, 255, 255, 0.85);
  font-family: var(--jak-font-family-base);
  font-size: 1rem;
  text-align: center;
}

.portfolio-lightbox__nav-btn {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10001;
}

.portfolio-lightbox__nav-btn:hover {
  background: var(--jak-color-secondary);
  color: var(--jak-color-primary);
  transform: translateY(-50%) scale(1.08);
}

.portfolio-lightbox__nav-btn--prev {
  left: 1.5rem;
}

.portfolio-lightbox__nav-btn--next {
  right: 1.5rem;
}

/* Categorized Footer Columns */
.page-footer-columns {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: clamp(2rem, 3.5vw, 4rem);
}

@media (min-width: 48em) {
  .page-footer-columns {
    grid-template-columns: 2.7fr 1.3fr;
  }
}

@media (min-width: 75em) {
  .page-footer-columns {
    grid-template-columns: 2.85fr 1.15fr;
  }
}

.page-footer-columns {
  align-items: start;
}

.page-footer-columns__info {
  align-self: start !important;
}

.page-footer-columns__info > *:last-child {
  margin-top: 0 !important;
}

.footer-upwork-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
}

.page-footer-columns__categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem;
}

@media (min-width: 60em) {
  .page-footer-columns__categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.footer-cat-group {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.footer-cat-group__title {
  font-family: var(--jak-font-family-title);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--jak-color-secondary);
  margin-bottom: 0.35rem;
  text-decoration: none;
}

.footer-cat-group__title:hover {
  text-decoration: underline;
}

.footer-cat-group a {
  color: var(--jak-color-beige) !important;
  font-size: 0.95rem;
  opacity: 0.82;
  transition: opacity 0.2s, color 0.2s;
  text-decoration: none;
}

.footer-cat-group a:hover {
  opacity: 1;
  color: var(--jak-color-secondary) !important;
  text-decoration: underline;
}

/* Hero Banner Portrait Position & Foreground Layering */
.c-banner {
  position: relative;
}

.c-banner .container {
  position: relative;
}

.c-banner__logo {
  position: relative;
  z-index: 6;
}

.c-banner__media-2 {
  clip-path: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.c-banner__media-2 .sm-image-slot {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  aspect-ratio: unset !important;
}

.c-banner__media-2 .sm-image-slot img,
.c-banner__media-2 img {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.07)) !important;
}

@media screen and (min-width: 71.875em) {
  .c-banner__media-2-col {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    bottom: 0px !important;
    width: clamp(520px, 24vw, 300px) !important;
    margin: 0 !important;
    z-index: 9 !important;
    pointer-events: none;
  }

  .c-banner__scroll {
    left: 8% !important;
    margin: 0 !important;
    bottom: 4% !important;
    position: absolute !important;
    z-index: 12 !important;
  }

  .c-banner__text {
    margin-left: auto !important;
    margin-right: 4% !important;
    max-width: 320px !important;
    position: relative !important;
    z-index: 12 !important;
  }
}

@media screen and (max-width: 71.874em) {
  .c-banner__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin-top: 0 !important;
  }

  .c-banner__media-2-col {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    margin: -80px auto 0 auto !important;
    width: min(320px, 80vw) !important;
    z-index: 10 !important;
  }

  .c-banner__text {
    text-align: center !important;
    margin: 1.5rem auto 0 auto !important;
    position: relative !important;
    z-index: 12 !important;
    width: 100% !important;
    max-width: 400px !important;
    left: auto !important;
    transform: none !important;
  }

  .c-banner__scroll {
    margin: 1.5rem auto 0 auto !important;
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 12 !important;
  }
}

/* Match main header spacing from top to sticky header spacing */
.site-wrapper {
  padding-top: calc(var(--jak-page-header-top-padding) * .5);
}

.page-header-mobile {
  top: calc(var(--jak-page-header-top-padding) * .5);
}