:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
.site-header {
  /* Donkere header zoals live: neutral achtergrond, scheme--dark-kleuren via color-scheme */
color-scheme: dark;
position: relative;
z-index: 10;
background-color: var(--neutral);
padding-block: var(--space-xs);
--mobile-menu-bg-color: var(--neutral);
--toggle-icon-color: var(--text-dark);

& .toggle {
  color: var(--text-dark);
}

/* Toggle alleen tonen als het menu in mobiele modus staat */
&:has(.menu-wrapper.mobile) .header__container > .toggle {
  display: flex;
}

& .nav__list > li > a {
  font-family: var(--heading-font-family);
  /* Was --text-xs in hoofdletters (≈10px, te klein); nu leesbaar (variant B, 2026-10-24) */
  font-size: var(--text-m);
  font-weight: 500;
  text-decoration: none;
  color: var(--text-dark);
  padding: var(--space-xs) var(--space-s);
  transition: color var(--transition);

  &:hover,
  &:focus-visible,
  &[aria-current='page'] {
    text-decoration: underline;
    text-decoration-thickness: var(--focus-width);
    text-underline-offset: calc(var(--space-xs) / 2);
  }
}

/* Laatste item (Contact) als omlijnde knop, zoals live */
& .menu-wrapper.desktop .nav__list > li:last-child > a {
  /* Heel donkere primary: in deze donkere header (color-scheme: dark) draait ACSS de tinten om,
     dus --primary-ultra-light levert hier de donkerste primary-tint (≈ oklch 0.22). */
  background-color: var(--primary-ultra-light);
  color: var(--text-dark);
  border: var(--btn-border-width) solid color-mix(in oklch, var(--text-dark) 30%, transparent);
  border-radius: var(--radius);
  padding-block: var(--space-xs);

  transition: background-color var(--transition), border-color var(--transition);

  /* Subtiele hover (2026-10-24): was rand volledig wit + onderstreping */
  &:hover,
  &:focus-visible {
    background-color: color-mix(in oklch, var(--primary-ultra-light), var(--primary) 15%);
    border-color: color-mix(in oklch, var(--text-dark) 45%, transparent);
    text-decoration: none;
  }
}

& .menu-wrapper.mobile .nav__list > li > a {
  font-size: var(--text-m);
}

/* Mobiel (off-canvas) menu: verticale lijst, leesbare kleuren in donkere modus */
& .menu-wrapper.mobile .nav__list {
  flex-direction: column;
  align-items: stretch;
  padding-inline: var(--gutter);
  padding-block: var(--space-s);
}

& .mobile-menu-header,
& .mobile-menu-header .toggle {
  display: flex;
  color: var(--text-dark);
  --toggle-icon-color: var(--text-dark);
}
}
.site-footer {
  /* Footer zoals live (footer-amersfoort): lichte tekst op neutral */
color-scheme: light;
background-color: var(--neutral);
color: var(--text-light);
padding-block-start: var(--space-xl);
padding-inline: var(--gutter);
display: flex;
flex-direction: column;
gap: var(--space-m);

& a {
  color: var(--text-light);
}
}
.header__container {
  
    width: 100%;
    max-inline-size: calc(var(--content-width) + (var(--gutter) * 2));
    margin-inline: auto;
    padding-inline: var(--gutter);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    .toggle {
      display: none;
      /* Uit Solex: color/--toggle-icon-color var(--white) uitgezet; --white bestaat niet in dit project, kleur komt nu uit .site-header */
    }
  
}
.menu-wrapper {
  gap: 0;
  inline-size: fit-content;

  /* - on mobile off canvas mode */
  &.mobile.off-canvas-mode {
    position: fixed;
    inset: 0;
    visibility: hidden;
    inline-size: 100%;
    pointer-events: none;
    z-index: 999;
    opacity: 1;
    transition: visibility var(--mobile-menu-transition-duration, 0.2s) ease-out;
  }

  /* - on mobile reveal mode */
  &.mobile.reveal-mode {
    inline-size: 100%;
    position: absolute;
    inset-block-start: 100%;
    inset-inline: 0;
    overflow: hidden;
    visibility: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    background-color: var(--mobile-menu-bg-color);
    transition: clip-path, visibility, transform, opacity;
    transition-duration: var(--mobile-menu-transition-duration, 0.2s);
    transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);

    .menu-wrapper__inner {
      overflow-y: auto;
      overflow-x: clip;
      transform: translateY(20px);
    }

    .nav {
      padding-block-end: var(--mobile-menu-padding-block);
    }
  }

  /* - on mobile AND on open */
  &.mobile.open {
    visibility: visible;
    opacity: 1;
  }

  /* - on mobile AND open AND reveal mode */
  &.mobile.reveal-mode.open {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);

    .menu-wrapper__inner {
      transform: translateY(0);
    }
  }

  /* HELPER CLASSES */

  /* - hide item on desktop */
  &.desktop :is(.hide-from-desktop-menu, [data-menu-hide='desktop']) {
    display: none;
  }

  /* - hide item on mobile */
  &.mobile :is(.hide-from-mobile-menu, [data-menu-hide='mobile']) {
    display: none;
  }

  /* hide menu until initialized */

  &:not([data-menu-initialized]) {
    opacity: 0;
  }

  /* MORPH MODE (desktop shared morphing container, JS-created) */
  .morph-container {
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: 0;
    z-index: 999;
    background: var(--dropdown-bg, white);
    box-shadow: var(--dropdown-box-shadow);
    border-radius: var(--dropdown-border-radius);
    border: var(--dropdown-border-width) solid var(--dropdown-border-color);
    visibility: hidden;
    opacity: 0;
    transform: translateY(var(--dropdown-closed-top, 40px));
    transition-property: opacity, transform, visibility, scale;
    transition-duration: var(--dropdown-transition-duration, 0.15s);
    transition-timing-function: var(--dropdown-transition-timing, cubic-bezier(0.4, 0, 0.2, 1));
    transition-delay: var(--dropdown-transition-delay, 0s);

    /* open / close */
    &.is-active {
      visibility: visible;
      opacity: 1;
      transform: translateY(var(--dropdown-open-top, 20px));
    }

    /* JS adds is-morphing while sliding between panels: the container box
       itself animates position and size, and clips the panel slide */
    &.is-morphing {
      overflow: clip;
      transition-property: opacity, transform, visibility, inset-inline-start, inline-size, block-size;
      transition-duration: var(--dropdown-transition-duration, 0.3s);
      transition-timing-function: var(--dropdown-transition-timing, cubic-bezier(0.4, 0, 0.2, 1));
    }

    /* panels: shown via is-active (the .is-open parent selector no longer
       applies once JS moves them into the shared container) */
    .menu-dropdown__content-wrapper.morph-panel {
      transition-property: opacity, visibility;

      &.is-active {
        visibility: visible;
        opacity: 1;
      }

      /* the shared container carries the dropdown chrome instead */
      > .menu-dropdown__content {
        background: transparent;
        box-shadow: none;
        border: none;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      transition: none;
    }
  }

/* Mobiel menu: grotere tikvlakken en meer ruimte tussen de items (verzoek 2026-10-23).
   Staat hier en niet onder .header: het mobiele menu zit direct in .header-wrapper,
   dus regels onder .header bereiken het niet. */
&.mobile .nav__list,
&.mobile .menu-dropdown__content {
  gap: var(--space-xs);
}
&.mobile .nav__list > li > a,
&.mobile .menu-dropdown__trigger,
&.mobile .menu-dropdown__content > li > a {
  display: flex;
  align-items: center;
  inline-size: 100%;
  min-block-size: var(--space-xl);
}
}
.menu-wrapper__inner {
  pointer-events: auto;
  min-block-size: 0px;
  transition-property: visibility, opacity, transform;
      transition-duration: var(--mobile-menu-transition-duration, 0.2s);
      transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);

  .menu-wrapper.off-canvas-mode.mobile & {
    position: absolute;
    inset-block-end: 0;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    background: var(--mobile-menu-bg-color);
    max-inline-size: var(--mobile-menu-width, 500px);
    inline-size: 100%;
    overflow: hidden;
    block-size: 100%;
    inset-block-start: var(--wp-admin--admin-bar--height, 0px);
  }

  .menu-wrapper.off-canvas-mode.mobile.open & {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0) !important;
  }

  .menu-wrapper.off-canvas-mode.mobile[data-mobile-off-canvas-direction='from right' i] & {
    transform: translateX(100%);
    inset-inline-end: 0;

    html[dir='RTL'] & {
      inset-inline-start: 0;
      inset-inline-end: unset;
    }
  }

  .menu-wrapper.off-canvas-mode.mobile[data-mobile-off-canvas-direction='from left' i] & {
    transform: translateX(-100%);
    will-change: inset-inline;
    inset-inline-start: 0;

    html[dir='RTL'] & {
      inset-inline-end: 0;
      inset-inline-start: unset;
    }
  }

  .menu-wrapper.off-canvas-mode.mobile[data-mobile-off-canvas-direction='from top' i] & {
    transform: translateY(-100%);
    --mobile-menu-width: 100%;
  }

  .menu-wrapper.off-canvas-mode.mobile[data-mobile-off-canvas-direction='from bottom' i] & {
    transform: translateY(100%);
    --mobile-menu-width: 100%;
  }

  .menu-wrapper:not(.off-canvas-mode).mobile & {
    max-block-size: 70vh;
  }
}
.menu-wrapper-backdrop {
  position: fixed;
  inset: 0;
  z-index: 998;
  background-color: var(--mobile-menu-backdrop-color);
  opacity: 0%;
  visibility: hidden;
  transition-property: opacity, visibility;
  transition-duration: var(--mobile-menu-transition-duration);
  transition-delay: calc(var(--mobile-menu-transition-duration) / 1.5);
  transition-timing-function: ease-out;
  pointer-events: none;

  .menu-wrapper.open & {
    visibility: visible;
    opacity: var(--mobile-menu-backdrop-opacity);
  }
}
.mobile-menu-header {
  display: none;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  padding-block: var(--space-s);
  padding-inline: var(--mobile-menu-padding-inline);
  background: var(--primary);
  color: var(--white);

  .toggle {
    color: var(--white);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  /* display only in the mobile off-canvas drawer */
  .menu-wrapper.off-canvas-mode & {
    display: flex;
  }
}
.toggle {
  --ease-smooth: cubic-bezier(0.25, 0.8, 0.3, 1);
  display: flex;
  flex-direction: row;
  gap: var(--toggle-icon-gap, 0.25em);
  align-items: center;
  inline-size: fit-content;

  /*alternating labels */
  &.active .label-off {
    transform: translateY(-100%);
    opacity: 0;
  }

  &.active .label-on {
    transform: translateY(-100%);
    opacity: 1;
  }
}
.toggle__icon {
  color: var(--toggle-icon-color, black);
  inline-size: var(--toggle-icon-size, 1.25em);
  block-size: var(--toggle-icon-size, 1.25em);

  path {
    stroke: currentColor;
    fill: currentColor;
  }
}
.toggle-animated-hamburger-1 {
  --transition-duration-rotate: var(--toggle-transition-duration, 0.2s);
  --transition-duration-collapse: calc(var(--transition-duration-rotate) / 1.5);
  inline-size: var(--toggle-icon-size, 1.25em);
  block-size: var(--toggle-icon-size, 1.25em);
  color: inherit;

  [class*='hamburger-line'] {
    stroke: var(--toggle-icon-color, currentColor);
    stroke-width: var(--toggle-icon-line-width, 8px);
    stroke-linecap: round;
    transition:
      /* rotation starts slightly after collapse begins */
      rotate var(--transition-duration-rotate) var(--ease-smooth),
      /* collapse moves start immediately */ transform var(--transition-duration-collapse) var(--ease-smooth) var(--transition-duration-rotate);
    transform-origin: center;
    transform: translateX(0) translateY(0);
    rotate: 0deg;
  }

  .toggle.active & .hamburger-line--top {
    transform: translateY(20px) translateX(0px);
    rotate: 45deg;
    transition:
      transform var(--transition-duration-collapse) var(--ease-smooth),
      rotate var(--transition-duration-rotate) var(--ease-smooth) var(--transition-duration-collapse);
  }

  .toggle.active & .hamburger-line--bottom {
    transform: translateY(-20px) translateX(0px);
    rotate: -45deg;
    transition:
      transform var(--transition-duration-collapse) var(--ease-smooth),
      rotate var(--transition-duration-rotate) var(--ease-smooth) var(--transition-duration-collapse);
  }
}
.toggle-animated-hamburger-2 {
  inline-size: var(--toggle-icon-size, 1.25em);
  block-size: var(--toggle-icon-size, 1.25em);
  color: inherit;

  [class*='hamburger-line'] {
    stroke: var(--toggle-icon-color, currentColor);
    stroke-width: var(--toggle-icon-line-width, 8px);
    stroke-linecap: round;
    transition:
      transform var(--toggle-transition-duration, 0.2s) var(--ease-smooth),
      opacity calc(var(--toggle-transition-duration, 0.2s) * 0.75) var(--ease-smooth);
    transform-origin: center;
    transform: translateX(0) translateY(0) rotate(0);
  }

  .toggle.active & .hamburger-line--top {
    transform: translateY(16px) translateX(-16px) rotate(45deg);
  }
  .toggle.active & .hamburger-line--middle {
    opacity: 0;
    transform: scaleX(0);
  }
  .toggle.active & .hamburger-line--bottom {
    transform: translateY(-16px) translateX(-16px) rotate(-45deg);
  }
}
.toggle-animated-hamburger-3 {
  inline-size: var(--toggle-icon-size, 1.25em);
  block-size: var(--toggle-icon-size, 1.25em);
  color: inherit;

  [class*='hamburger-line'] {
    stroke: var(--toggle-icon-color, currentColor);
    stroke-width: var(--toggle-icon-line-width, 8px);
    stroke-linecap: round;
    transition:
      transform var(--toggle-transition-duration, 0.2s) var(--ease-smooth),
      opacity calc(var(--toggle-transition-duration, 0.2s) * 0.75) ease,
      stroke-dasharray var(--toggle-transition-duration, 0.2s) var(--ease-smooth),
      stroke-dashoffset var(--toggle-transition-duration, 0.2s) var(--ease-smooth);
    transform-origin: center;
    transform: translateX(0) translateY(0) rotate(0);
  }

  .hamburger-line--middle {
    stroke-dasharray: 45 15;
    stroke-dashoffset: 45;
  }

  .hamburger-line--bottom {
    stroke-dasharray: 30 30;
    stroke-dashoffset: 30;
  }

  .toggle.active & .hamburger-line--top {
    transform: translateY(16px) translateX(-16px) rotate(45deg);
  }
  .toggle.active & .hamburger-line--middle {
    transform: scaleX(0);
    stroke-dasharray: 0 61;
    stroke-dashoffset: 1;
  }
  .toggle.active & .hamburger-line--bottom {
    transform: translateY(-16px) translateX(-16px) rotate(-45deg);
    stroke-dasharray: 60 0;
    stroke-dashoffset: 60;
  }
}
.toggle__label {
  position: relative;
  display: inline-block;
  overflow: hidden;
  transition: inline-size var(--toggle-transition-duration, 0.2s) var(--ease-smooth);
  inline-size: fit-content;

  .toggle__label-text {
    display: block;
    white-space: nowrap;
    inline-size: fit-content;
  }

  /* For alternate mode: stack vertically */
  .label-off,
  .label-on {
    transition:
      transform 0.2s var(--ease-smooth),
      opacity 0.2s var(--ease-smooth);
    line-height: 1.2;
  }

  .label-off {
    transform: translateY(0%);
    opacity: 1;
  }

  .label-on {
    transform: translateY(100%);
    opacity: 0;
    position: absolute;
  }
}
.nav__list {
  display: flex;
  flex-direction: row;
  gap: 0.2rem;
  align-items: center;

  li {
    max-inline-size: 100%;
  }
}
.menu-link {
  
    background: transparent;
  
}
.menu-dropdown {
  /* on open */
  &.is-open > .menu-dropdown__content-wrapper {
    visibility: visible;
    opacity: 1;
  }

  .menu-dropdown .menu-dropdown__trigger {
    inline-size: 100%;
    justify-content: space-between;
    text-align: start;
  }

  /* DROPDOWN MODE */
  &.dropdown-mode {
    position: relative;

    .menu-dropdown__content-wrapper {
      transform: translateY(var(--dropdown-closed-top, 40px));
      height: fit-content;
    }

    .menu-dropdown__content {
      padding: var(--dropdown-padding);
      block-size: fit-content;
      background: var(--dropdown-bg, white);
      box-shadow: var(--dropdown-box-shadow);
      border-radius: var(--dropdown-border-radius);
      border-width: var(--dropdown-border-width);
      border-color: var(--dropdown-border-color);
      border-style: solid;
    }

    /* - nested dropdowns */
    .menu-dropdown {
      /* -- Nested trigger styling */
      .menu-dropdown__trigger {
        inline-size: 100%;
        justify-content: space-between;
        text-align: start;

        /* --- Rotate arrow 90° for nested (pointing right) */
        .menu-dropdown__trigger-icon {
          transform: rotate(-90deg);

          html[dir='rtl'] & {
            transform: rotate(90deg);
          }
        }

        &.active .menu-dropdown__trigger-icon {
          transform: rotate(0deg); /* Back to pointing down when open */
        }
      }

      > .menu-dropdown__content-wrapper {
        position: absolute;
        inset-inline-start: calc(100% + var(--dropdown-padding));
      }
    }

    .menu-dropdown__content-wrapper {
      inset-block-end: 0;
    }

    /* - dropdown positioning */
    .menu-dropdown__content-wrapper.position-left {
      inset-inline-start: auto;
      inset-inline-end: 100%;
      margin-inline-start: 0;
      margin-inline-end: var(--dropdown-padding);

      &.position-bottom {
        transform-origin: top right;

        html[dir='rtl'] & {
          transform-origin: top left;
        }
      }

      &.position-top {
        transform-origin: bottom right;

        html[dir='rtl'] & {
          transform-origin: bottom left;
        }
      }
    }

    .menu-dropdown__content-wrapper.position-right {
      &.position-bottom {
        transform-origin: top left;

        html[dir='rtl'] & {
          transform-origin: top right;
        }
      }

      &.position-top {
        transform-origin: bottom left;

        html[dir='rtl'] & {
          transform-origin: bottom right;
        }
      }
    }

    .menu-dropdown__content-wrapper.position-top {
      inset-block-start: auto;
      inset-block-end: calc(100% + var(--dropdown-padding));
    }

    /* - transforming open */
    &.is-open > .menu-dropdown__content-wrapper {
      transform: translateY(var(--dropdown-open-top, 20px));
    }

    .menu-dropdown > .menu-dropdown__content-wrapper {
      transform: translateY(calc((var(--dropdown-padding) + var(--dropdown-border-width)) * -1));

      &.position-top {
        transform: translateY(calc(var(--dropdown-padding) + var(--dropdown-border-width)));
      }
    }
  }

  /* ACCORDION MODE */
  &.accordion-mode {
    inline-size: 100%;

    .menu-dropdown {
      flex-direction: column;
    }

    .menu-dropdown__content-wrapper {
      position: static;
    }
  }

  /* STACKED MODE */
  &.stacked-mode {
    .menu-dropdown__trigger-icon-wrapper {
      transform: rotate(-90deg);

      html[dir='rtl'] & {
        transform: rotate(90deg);
      }
    }
  }

  /* specifically not stacked mode flip trigger icon */
  &:not(.stacked-mode) .menu-dropdown__trigger.active .menu-dropdown__trigger-icon {
    transform: scaley(-1);
  }
}
.menu-dropdown__trigger {
  display: flex;
  flex-direction: row;
  align-items: center;
  inline-size: fit-content;
  gap: var(--dropdown-trigger-gap, 0.5em);
}
.menu-dropdown__trigger-label {
  white-space: nowrap;
}
.menu-dropdown__trigger-icon-wrapper {
  inline-size: fit-content;
}
.menu-dropdown__trigger-icon {
  block-size: var(--dropdown-trigger-icon-size, 1em);
  inline-size: var(--dropdown-trigger-icon-size, 1em);
  min-inline-size: var(--dropdown-trigger-icon-size, 1em);
  transition: transform var(--dropdown-transition-duration, 0.15s) ease-out;
  color: inherit;

  path {
    stroke: currentColor
  }
}
.menu-dropdown__content-wrapper {
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
  min-inline-size: 200px;
  z-index: 999;
  transform-origin: top center;
  visibility: hidden;
  transition-property: var(--dropdown-transition-property, all);
  transition-duration: var(--dropdown-transition-duration, 0.15s);
  transition-delay: var(--dropdown-transition-delay, 0);
  transition-timing-function: var(--dropdown-transition-timing, cubic-bezier(0.4, 0, 0.2, 1));
  opacity: 0;

  &.stacked-mode {
    position: absolute;
    inset-block: 0;
    inset-inline: 0;
    background: var(--mobile-menu-bg-color);
    transform: translateX(100%);
    overflow-y: auto;
    overflow-x: clip;
    transform-origin: center center;
    transition-timing-function: var(--mobile-dropdown-stacked-timing, ease-out);
    transition-duration: var(--mobile-menu-transition-duration);

    .menu-dropdown-back-button {
      display: flex;
    }

    &.open {
      transform: translateX(0);
      scale: 1;
      visibility: visible;
      opacity: 1;
    }

    &.open:has(+ .menu-dropdown__content-wrapper.open) {
      transform: translateX(20px);
      scale: 0.98;

      /*RTL language flip direction */
      html[dir='RTL'] & {
        transform: translateX(-20px);
      }
    }

    .nav__list:has(~ &) {
      transform: translateX(0);
      scale: 1;
      transform-origin: center center;
      transition-property: transform, opacity, scale;
      opacity: 1;
      transition-duration: var(--mobile-menu-transition-duration);
      transition-delay: var(--dropdown-transition-delay, 0);
      transition-timing-function: var(--mobile-dropdown-stacked-timing, ease-out);
    }

    /* mobile dropdown stacked animations */
    .nav__list:has(~ &.open) {
      transform: translateX(20px);
      scale: 0.98;
      opacity: 0;

      /*RTL language flip direction */
      html[dir='rtl'] & {
        transform: translateX(-20px);
      }
    }
  }
}
.menu-dropdown-back-button {
  align-items: center;
  gap: 0.5em;
  text-decoration: none;
  display: none;
  inline-size: 100%;
  z-index: 100;
  position: sticky;
  inset-block-start: -1px;

  svg {
    block-size: 1em;
    inline-size: 1em;
    order: -1;

    html[dir='rtl'] & {
      transform: rotate(180deg);
    }
  }
}
.menu-dropdown__content {
  display: flex;
  flex-direction: column;
  --divider-gap: 0.5em;

  > li {
    display: flex;
    inline-size: 100%;
    max-inline-size: 100%;
  }

  > li > a,
  > li > button {
    inline-size: 100%;
  }
}
.sc-intro {
  
    display: flex; flex-direction: column; gap: var(--content-gap);
    &[data-alignment="left"] { align-items: flex-start; align-self: flex-start; text-align: left; }
    &[data-alignment="center"] { align-items: center; align-self: center; text-align: center; }
    &[data-alignment="center-mobile-left"] {
      align-items: flex-start; align-self: flex-start; text-align: left;
      @media (min-width: 48rem) {
        align-items: center; align-self: center; text-align: center;
      }
    }
  
}
.sc-intro--tokens {
  --heading-max-width: 30ch; /* was 40ch */
  --lede-max-width: 70ch; /* nieuw, was er nog niet expliciet gezet */
  --heading-color: inherit;
  --eyebrow-color: inherit;

  --eyebrow-pill-accent: var(--primary);
}
.sc-intro__eyebrow {
  max-inline-size: var(--lede-max-width, 55ch);
  color: var(--eyebrow-color, inherit);
  &[data-position='above'] {
    font-size: var(--text-s);
    font-weight: var(--text-font-weight, 600);
    text-transform: uppercase;
    letter-spacing: var(--eyebrow-letter-spacing, 0.08em);
  }
  &[data-position='below'] {
    font-size: calc(var(--text-m) * 1.2);
    font-weight: var(--text-font-weight, 400);
    text-transform: none;
    letter-spacing: 0.01em;
    line-height: 1.6;
  }
  &[data-variant='pill'] {
    display: inline-flex;
    align-items: center;
    inline-size: fit-content;
    padding-inline: var(--space-s);
    padding-block: calc(var(--space-xs) / 3);
    background: color-mix(in oklch, var(--eyebrow-pill-accent, var(--primary)) 15%, var(--white));
    color: var(--eyebrow-pill-accent, var(--primary));
    border-radius: 999px;
    &[data-pill-style='outline'] {
      background: transparent;
      border: var(--border-size, 1px) var(--border-style, solid) var(--eyebrow-pill-accent, var(--primary));
      color: var(--eyebrow-pill-accent, var(--primary));
    }
  }
}
.sc-intro__heading {
  
    max-inline-size: var(--heading-max-width, 40ch); color: var(--heading-color, inherit);
    &[data-heading-tag="h1"] { font-size: var(--heading-font-size, var(--h1)); }
    &[data-heading-tag="h2"] { font-size: var(--heading-font-size, var(--h2)); }
    &[data-heading-tag="h3"] { font-size: var(--heading-font-size, var(--h3)); }
    .sc-intro__eyebrow[data-position="above"] + & { margin-block-start: calc(var(--space-xs) - var(--content-gap)); }
  
}
.svw-intro .sc-intro__heading {
  
    --heading-font-size: calc(var(--h1) * 1.5);
    @media (max-width: 47.99em) {
      --heading-font-size: var(--h1);
    }
  
}
.sc-intro__lede {
  font-size: var(--lede-font-size, var(--text-m));
  font-weight: var(--lede-font-weight, var(--text-font-weight, 400));
  max-inline-size: var(--lede-max-width, 55ch);
  color: var(--lede-color, inherit);
  opacity: var(--lede-opacity, 0.8);
}
.sc-intro__actions {
  
    display: flex; gap: var(--space-s); margin-block-start: var(--space-s);
  
}
.button-group {
  
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start; /* was: center - linksuitgelijnd zodat de knoppen gelijk lopen met de Intro Heading */
    flex-wrap: wrap;
    gap: var(--space-m);
    @media (max-width: 47.99em) {
      flex-direction: column;
      align-items: stretch;
      align-self: stretch;
    }
  
}
.button-group__button {
  
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-xs) var(--space-l);
    border-radius: var(--radius-full, 999px);
    border: 1px solid var(--btn-color);
    text-decoration: none;
    font-weight: 600;
    background: var(--btn-color);
    color: var(--white);
    transition: 0.2s ease;
  
}
.button-group__button--outline {
  
    background: transparent;
    color: var(--btn-color);
  
}
.site-logo {
  display: flex;
align-items: center;
gap: var(--content-gap);
text-decoration: none;
color: var(--text-dark);
}
.site-logo__avatar {
  inline-size: var(--space-xxl);
aspect-ratio: 1;
flex-shrink: 0;
margin: 0;
}
.site-logo__img {
  inline-size: 100%;
block-size: 100%;
object-fit: cover;
border-radius: var(--radius-circle);
border: calc(var(--btn-border-width) * 2.5) solid var(--primary);
}
.site-logo__text {
  font-family: var(--heading-font-family);
font-size: var(--h3);
font-weight: 600;
color: var(--text-dark);
}
.site-footer__inner {
  inline-size: 100%;
max-inline-size: var(--content-width);
margin-inline: auto;
display: grid;
gap: var(--grid-gap);

@media (width >= 48em) {
  grid-template-columns: 1fr 1fr;
}
}
.site-footer__brand {
  display: flex;
flex-direction: column;
gap: var(--content-gap);
}
.site-footer__mark {
  inline-size: var(--space-xxl);
block-size: var(--space-xxl);

& path {
  fill: var(--neutral-semi-light);
}
}
.site-footer__name {
  font-family: var(--heading-font-family);
font-size: var(--h3);
}
.site-footer__tagline {
  font-size: var(--text-s);
}
.site-footer__text {
  max-inline-size: var(--width-30);
}
.site-footer__navigation {
  display: grid;
gap: calc(var(--grid-gap) * 2);

@media (width >= 48em) {
  grid-template-columns: var(--grid-2);
}
}
.site-footer__nav {
  block-size: max-content;
display: flex;
flex-direction: column;
gap: var(--content-gap);
}
.site-footer__heading {
  font-family: var(--heading-font-family);
font-size: var(--text-l);
color: var(--text-light);
}
.site-footer__list {
  list-style: none;
padding-inline: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: calc(var(--grid-gap) * 0.5);
}
.site-footer__social {
  grid-column: 1 / -1;
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: calc(var(--content-gap) * 2);
}
.social-icon {
  display: flex;
align-items: center;
justify-content: center;
inline-size: calc(var(--icon-size) * 1.5);
block-size: calc(var(--icon-size) * 1.5);
padding: calc(var(--space-xs) / 2);
background-color: var(--neutral-semi-light);
border: var(--border);
border-radius: var(--radius);
color: var(--neutral);
transition: var(--transition);

&:hover,
&:focus-visible {
  background-color: var(--neutral-light);
}
}
.social-icon__svg {
  inline-size: 100%;
block-size: 100%;
fill: currentColor;
}
.site-footer__credits {
  inline-size: 100%;
max-inline-size: var(--content-width);
margin-inline: auto;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
gap: calc(var(--content-gap) * 2);
padding-block: var(--space-xs);
border-block-start: var(--border-width) solid color-mix(in oklch, var(--neutral-semi-light) 20%, transparent);
color: var(--neutral-semi-light);

& a {
  color: var(--neutral-semi-light);
}
}
.sc-dark {
  color: var(--white);
  h1, h2, h3 {
    color: var(--white);
  }
}
.feature-grid {
  display: grid;
  @media (width >= 48em) {
    grid-template-columns: var(--grid-3);
  }
}
.feature-card {
  --heading: var(--white);
  --heading-hover: var(--neutral-light);
  --card-radius: var(--radius);
  --card-padding-block-start: var(--space-l);
  --card-padding-block-end: var(--space-l);
  --card-padding-inline: var(--space-m);
  li:has(> &) {
    display: flex;
  }

  /* Begin Clickable Parent - Ensure this is placed on the clickable parent element. */
  position: relative;
  a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 10;
  }
  &.etch-builder-block a::after {
    content: '';
    display: none;
  }
  /* End Clickable Parent */
  background: linear-gradient(135deg, color-mix(in oklch, var(--white) 10%, transparent), color-mix(in oklch, var(--white) 5%, transparent));
  transition: all var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(var(--space-xs));
  padding-inline: var(--card-padding-inline);
  padding-block-start: var(--card-padding-block-start);
  padding-block-end: var(--card-padding-block-end);
  border: var(--border-width) solid color-mix(in oklch, var(--white) 15%, transparent);
  border-radius: var(--card-radius);
  box-shadow: var(--box-shadow-1);
  flex: 1;

  &:hover {
    background: linear-gradient(135deg, color-mix(in oklch, var(--white) 15%, transparent), color-mix(in oklch, var(--white) 8%, transparent));
    transform: translateY(calc(var(--focus-width) * -1));
  }
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
}
.feature-card__heading {
  a {
  color: inherit;
    text-decoration: none;
  }
}
.main-content-leusden {
  padding-block: 0;
  padding-inline: var(--gutter);
  @media (max-width: 47.99em) {
    padding-inline: 0;
  }
}
.main-content-leusden__inner {
  padding-block: var(--section-space-m);
  max-width: var(--content-width);
  align-self: center;
  background-color: var(--bg-ultra-light);
  @media (max-width: 47.99em) {
    padding-inline: calc(var(--gutter) / 2);
  }
}
.main-content-leusden__content {
  --content-width: var(--width-50);
  color: var(--text-dark);
  background-color: var(--bg-ultra-light);
  /* Begin Content Grid */
  & {
    --feature-width: var(--space-xl);
    --feature-max-width: var(--space-xxl);
    --full: minmax(var(--gutter), 1fr);
    padding-inline: 0 !important;
    column-gap: 0 !important;
    display: grid;
    grid-template-columns:
      [full-start]
      var(--full)
      [feature-max-start]
      minmax(0, var(--feature-max-width))
      [feature-start]
      minmax(0, var(--feature-width))
      [content-start]
      min(var(--content-width), 100% - var(--gutter) * 2)
      [content-end]
      minmax(0, var(--feature-width))
      [feature-end]
      minmax(0, var(--feature-max-width))
      [feature-max-end]
      var(--full)
      [full-end];

    > :not(.content--feature, .content--feature-max, .content--full, .content--full-safe) {
      max-width: 100%;
      width: 100%;
    }

    > :where(:not(.content--feature, .content--feature-max, .content--full, .content--full-safe)) {
      grid-column: content;
    }

    > .is-bg {
      grid-column: full;
    }

    &:is([class*='section--'], [class*='header--']) {
      padding-inline: 0;
    }

    /* For Gutenberg @post-content Rendering - Remove if Unnecessary */
    [data-type='core/post-content'] {
      display: contents !important;
      grid-column: full;
      > :where(:not(.content--feature, .content--feature-max, .content--full, .content--full-safe)) {
        grid-column: content;
      }
    }
    /* End For Gutenberg Rendering */
  }
  /* End Content Grid */
}
.smart-spacing__vars {
  --paragraph-spacing: var(--space-m);
  .lightbox-gallery {
    padding-block-start: var(--space-m);
  }
}
.main-content-leusden__grid-columns {
  .lightbox-gallery {
    grid-column: feature;
  }
  .viewer-wrapper {
    grid-column: feature;
  }
  .video-gumlet {
    grid-column: feature;
  }
}
.image-standalone {
  position: relative;
  max-inline-size: var(--width-60);
  justify-self: center;
  figcaption {
    position: absolute;
    bottom: var(--space-m);
    left: var(--space-m);
    padding: calc(var(--space-xs) / 2) var(--space-xs);
    background: color-mix(in oklch, var(--black) 60%, transparent);
    color: var(--white);
    font-size: var(--text-m);
    display: inline-block;
  }
}
.projects-home {
  display: flex;
}
.projects-home__heading {
  @media (width >= 48em) {
    text-align: center;
  }
}
.projects-home-grid {
  display: grid;
  grid-template-columns: var(--grid-3);
  @media (width >= 48em) {
    grid-template-columns: var(--grid-5);
  }
}
.project-card-small {
  li:has(> &) {
  }
  gap: var(--content-gap);
  display: flex;
  flex-direction: column;
/*
  filter: grayscale(0%) brightness(1) contrast(1);
  &:hover {
    box-shadow: var(--box-shadow-3);
  }
  */

  &:is(:hover, :focus-within) {
    box-shadow: var(--box-shadow-3);
    img{
        transform: scale(1.05);
        filter: grayscale(0%) brightness(1) contrast(1);    
    }
  }
  
  /* Begin Clickable Parent - Ensure this is placed on the clickable parent element. */
  position: relative;

  /* Configure your selector if you have more than one link */
  a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 10;
  }
  /* Remove effect in builder. */
  &.etch-builder-block a::after {
    content: '';
    display: none;
  }
  /* End Clickable Parent */
}
.project-card-small__media-wrapper {
  &:before {
    background: color-mix(in oklch, var(--neutral) 50%, transparent);
  }
}
.sc-image {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
}
.project-card-small__media {
  aspect-ratio: 1/1;
  border-radius: var(--radius);
  filter: grayscale(60%) brightness(0.85) contrast(0.7);
  transition: all var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1);
  transform: scale(1.05);
  &:hover {
    transform: translateY(calc(var(--focus-width) * -2));
    filter: grayscale(0%) brightness(0.95) contrast(1);
  }
}
.project-card-small__heading {
  font-size: var(--text-m);
  font-weight: 500;
  a {
    color: inherit;
    text-decoration: none;
  }
}
.sc-slider {
  --slide-size: 80%;
  --slide-size-md: 45%;
  --slide-spacing: var(--space-xs);
  --slide-spacing-md: var(--space-s);

  & .sc-slider__viewport {
    overflow: hidden;
  }

  & .sc-slider__container {
    display: flex;
    touch-action: pan-y pinch-zoom;
    margin-left: calc(var(--slide-spacing) * -1);
  }

  & .sc-slider__slide {
    flex: 0 0 var(--slide-size);
    min-width: 0;
    padding-left: var(--slide-spacing);
  }

  @media (width >= 48em) {
    & .sc-slider__container {
      margin-left: calc(var(--slide-spacing-md) * -1);
    }

    & .sc-slider__slide {
      flex: 0 0 var(--slide-size-md);
      padding-left: var(--slide-spacing-md);
    }
  }

  /* start main slide active */
  & .sc-slider__slide {
    transition: opacity 0.2s ease-in-out;

    &:not(.is-snapped) {
      opacity: 0.36;
    }
  }

  & .sc-slider__controls {
    display: flex;
    justify-content: flex-end; /* rechts uitgelijnd */
    gap: var(--space-xs);
    margin-top: var(--space-s);
  }

  /* end main slide active */

  & .sc-slider__prev,
  & .sc-slider__next {
    //background: white;
    --button-color: light-dark(var(--text-light), var(--text-dark));
    --border: solid var(--button-color) var(--border-width);

    color: var(--button-color);
    border: var(--border);
    border-radius: 50%;
    width: calc(var(--icon-size) + var(--space-xs));
    height: calc(var(--icon-size) + var(--space-xs));
    cursor: pointer;
    display: grid;
    place-items: center;

    & svg {
      width: calc(var(--icon-size) * 0.75);
      height: calc(var(--icon-size) * 0.75);
    }
  }
}
.sc-slider__container {
  touch-action: pan-y pinch-zoom;
}
.sc-slider__slide {
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
  /* Begin Clickable Parent - Ensure this is placed on the clickable parent element. */
  position: relative;
  /* Configure your selector if you have more than one link */
  a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 10;
  }
  /* Remove effect in builder. */
  &.etch-builder-block a::after {
    content: '';
    display: none;
  }
  /* End Clickable Parent */
}
.sc-slide__heading {
  font-size: calc(var(--h3) / 1.5);
  a {
    color: inherit;
    text-decoration: none;
  }
}
.sc-slide__media-wrapper {
  order: -1;
}
.emba-slide__media {
  object-fit: cover;
  aspect-ratio: 16/10;
  inline-size: 100%;
  block-size: 100%;
}
.section-intro-leeuwarden {
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
  &[data-layout='center' i] {
    @media (width >= 47.25em) {
      align-items: center;
      text-align: center;
    }

    .section-intro-leeuwarden__lede {
      margin-inline: auto;
    }
  }

  &[data-layout='left' i] {
    align-items: start;
    text-align: left;
  }
}
.section-intro-leeuwarden__heading {
  font-size: calc(var(--h1) * 2);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  color: var(--heading-color);
  order: 2;
}
.section-intro-leeuwarden__eyebrow {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  order: 1;
 // color: var(--text-dark-muted);
}
.section-intro-leeuwarden__lede {
  font-size: var(--text-l);
  max-inline-size: 52ch;
  order: 4;
}
.section-intro-leeuwarden__tagline {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  order: 3;
 // color: var(--text-light);
}
.video-gumlet__wrapper {
  border-radius: var(--radius);
  overflow: clip;
  border: var(--border-width) solid color-mix(in oklch, var(--white) 15%, transparent);
}
.video-gumlet {
  position: relative;
  aspect-ratio: 16/9;

  & iframe {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    border: 0;
  }
}
.featured-media-card {
  max-inline-size: var(--width-80);
  :has(> &) {
    container-type: inline-size;
  }
  --quote-width: var(--width-30);
  --image-width: calc(100% - var(--quote-width) / var(--overlap-ratio, 2));
  display: grid;
  gap: var(--content-gap);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  justify-items: end;
  position: relative;

  &[data-alignment='left' i] {
    justify-items: start;
  }

  @media (max-width: 47.99em) {
    display: flex;
    flex-direction: column;
    gap: 0;

    &[data-mobile-card="below"] {
      gap: var(--content-gap);
    }

    > .featured-media-card__image-wrapper {
      inline-size: 100%;
      max-inline-size: 100%;
    }
  }
}
.featured-media-card__image-wrapper {
  grid-row: 1;
  grid-column: 1 / -1;
  inline-size: 100%;
  max-inline-size: var(--image-width);
  justify-self: start;
  :has(> &)[data-alignment='left' i] & {
    justify-self: end;
  }
}
body figure {
  margin: 0;
}
.featured-media-card__image {
  inline-size: 100%;
  max-inline-size: 100%;
  border-radius: var(--radius);
  aspect-ratio: 16/11;
  object-fit: cover;
}
.featured-media-card__content-card {
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
  padding: var(--space-m);
  background-color: var(--neutral-ultra-light);
  border-radius: var(--radius);
  grid-column: 1 / -1;
  grid-row: 1;
  inline-size: 100%;
  max-inline-size: var(--quote-width);

  @media (max-width: 47.99em) {
    position: relative;
    margin-block-start: -20%;
    inline-size: var(--quote-width);
    max-inline-size: 85%;

    .featured-media-card[data-mobile-card='below'] & {
      position: static;
      margin-block-start: 0;
      inline-size: 100%;
      max-inline-size: 100%;
    }
  }
}
.featured-media-card__cta-link {
  display: flex;
  flex-direction: row;
  text-decoration: none;
  color: inherit;
  font-weight: 500;
}
.sc-read-more__link {
  display: flex;
  flex-direction: row;
  text-decoration: none;
  color: inherit;
  font-weight: 500;
}
.image1-grid-horizontal {
  gap: var(--space-s);
  display: grid;
  grid-template-columns: 1fr;
  max-inline-size: var(--width-60);
  margin-inline: auto;

  img {
    border-radius: var(--radius);
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 16/9;
  }

  figure {
    justify-self: center;
  }

  &[data-layout='square'] {
    img {
      aspect-ratio: 1/1;
    }
  }

  &[data-layout='portrait'] {
    img {
      aspect-ratio: 3/4;
    }
    max-inline-size: var(--width-40);
  }

  &[data-layout='standard'] {
    img {
      aspect-ratio: 4/3;
    }
  }
}
.cta-barneveld {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: var(--space-m);
  background: var(--neutral-light);
  border-radius: var(--radius);
  gap: var(--content-gap);
  display: flex;
  flex-direction: column;
  /* Was container queries (600px/1000px). Staat altijd in de smalle contentkolom: alleen de 2-koloms grid vanaf --bp-s-up blijft. */
  @media (width >= 37.5em) {
    display: grid;
    grid-template-columns: var(--grid-2-3);
  }
}
.cta-barneveld__content-wrapper {
  gap: calc(var(--content-gap) / 2);
  display: flex;
  flex-direction: column;
  @media (width >= 37.5em) {
    justify-content: center;
  }
}
.cta-barneveld__lede {
  font-size: var(--text-m);
}
.cta-barneveld__media-wrapper {
  order: -1;
  position: relative;
  inline-size: 100%;
  aspect-ratio: 16/9;
  @media (width >= 37.5em) {
    aspect-ratio: 1;
  }
}
.cta-barneveld__media {
  border-radius: var(--radius);
  position: absolute;
  inset: 0;
  block-size: 100%;
  inline-size: 100%;
  object-fit: cover;
}
.blog-content-leusden {
  padding-block: 0;
  padding-inline: var(--gutter);
  @media (max-width: 47.99em) {
    padding-inline: 0;
  }
}
.blog-conten-leusden__inner {
  padding-block: var(--section-space-m);
  max-width: var(--content-width);
  align-self: center;
  background-color: var(--bg-ultra-light);
}
.blog-extra {
  .lightbox-gallery {
    grid-column: feature-max;
  }
}
.blog-content-leusden__body-wrapper {
  /* Begin Content Grid */
  & {
    --feature-width: var(--space-xl);
    --feature-max-width: var(--space-xxl);
    --full: minmax(var(--gutter), 1fr);
    padding-inline: 0 !important;
    column-gap: 0 !important;
    display: grid;
    grid-template-columns:
      [full-start]
      var(--full)
      [feature-max-start]
      minmax(0, var(--feature-max-width))
      [feature-start]
      minmax(0, var(--feature-width))
      [content-start]
      min(var(--content-width), 100% - var(--gutter) * 2)
      [content-end]
      minmax(0, var(--feature-width))
      [feature-end]
      minmax(0, var(--feature-max-width))
      [feature-max-end]
      var(--full)
      [full-end];

    > :not(.content--feature, .content--feature-max, .content--full, .content--full-safe) {
      max-width: 100%;
      width: 100%;
    }

    > :where(:not(.content--feature, .content--feature-max, .content--full, .content--full-safe)) {
      grid-column: content;
    }

    > .is-bg {
      grid-column: full;
    }

    &:is([class*='section--'], [class*='header--']) {
      padding-inline: 0;
    }

    /* For Gutenberg @post-content Rendering - Remove if Unnecessary */
    [data-type='core/post-content'] {
      display: contents !important;
      grid-column: full;
      > :where(:not(.content--feature, .content--feature-max, .content--full, .content--full-safe)) {
        grid-column: content;
      }
    }
    /* End For Gutenberg Rendering */
  }
  /* End Content Grid */
  --content-width: var(--width-50);
  color: var(--text-dark);
  .viewer-wrapper {
    grid-column: feature-max;
  }
  .video-gumlet {
    grid-column: feature-max;
  }
   .lightbox-gallery {
    grid-column: feature-max;
  }
}
.test-blog-section {
  //padding-inline: 0;
  background-color: var(--bg-ultra-light);
}
.blog-hero-leusden {
  padding-block: 0;
  padding-inline: 0;
}
.blog-hero-leusden__inner {
  position: relative;
  min-block-size: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.blog-hero-leusden__content-wrapper {
  //padding: var(--space-xl);
  padding-inline: var(--gutter);
  padding-block-end: var(--section-space-m);
  color: var(--text-dark);
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
}
.blog-hero-leusden__heading {
  max-width: 20ch;
  font-size: calc(var(--h1) * 1.5)
}
.blog-hero-leusden__date {
  order: -1;
  font-size: var(--text-s);
}
.sc-lede {
  text-wrap: balance;
max-inline-size: 60ch;
}
.blog-section-leusden__media-wrapper {
  position: absolute;
  inset: 0;
  z-index: -1;
  --color1: color-mix(in oklch, var(--neutral) 70%, transparent);
  position: absolute;
  &::before {
    background-image: linear-gradient(var(--color1), var(--color1));
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
  }
}
.blog-sectio-leusden__media {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
}
.lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in oklch, var(--black) 80%, transparent);
  justify-content: center;
  align-items: center;
  z-index: 1000;

  &.active {
    display: flex;
  }

  .lightbox-content {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
  }

  .close,
  .nav {
    color: var(--white);
    font-size: var(--h2);
    cursor: pointer;
    user-select: none;
    padding: var(--space-xs);

    &:focus {
      outline: var(--focus-width) solid var(--white);
      outline-offset: var(--focus-offset);
    }
  }

  .close {
    position: absolute;
    top: var(--space-s);
    right: var(--space-m);
  }

  .nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    /* Pijltjes implementatie */
    font-size: 0; /* Verberg originele tekst */

    &::before {
      font-size: var(--h1);
      font-weight: bold;
    }

    &.prev {
      left: var(--space-s);
      &::before {
        content: '‹';
      }
    }

    &.next {
      right: var(--space-s);
      &::before {
        content: '›';
      }
    }

    /* Mobiel aanpassingen */
    @media (max-width: 47.99em) {
      &::before {
        font-size: var(--h2);
      }
      padding: calc(var(--space-xs) / 2);
    }
  }

  .sr-only {
    position: absolute;
    width: var(--border-width);
    height: var(--border-width);
    padding: 0;
    margin: calc(var(--border-width) * -1);
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }
}
.testimonial-grid {
  grid-column: feature-max;
  display: block;
  padding-inline: 0 !important;
  columns: 1;
  column-gap: var(--grid-gap);

  @media (width >= 48em) {
    columns: 2;
  }

  @media (width >= 62.5em) {
    columns: 3;
  }
}
.testimonial-grid__list-item {
  
        display: block;
        break-inside: avoid;
        margin-block-end: var(--grid-gap);
      
}
.testimonial-card {
  
    display: flex;
    flex-direction: column;
    gap: var(--content-gap);
    padding: var(--space-l);
    padding-block-start: calc(var(--space-l) + var(--space-xs));
    background: var(--bg-light);
    border-radius: var(--radius);
    position: relative;
    z-index: 0;
    box-shadow: 0 var(--border-width) var(--focus-width) color-mix(in oklch, var(--text-dark) 10%, transparent);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1);

    &::before {
      content: '\201C';
      position: absolute;
      z-index: -1;
      top: calc(var(--space-xs) / 2);
      left: var(--space-m);
      font-family: CenturyOldStyleRegular, serif;
      font-size: var(--h1);
      line-height: 1;
      color: color-mix(in oklch, var(--primary) 35%, transparent);
      pointer-events: none;
    }

    &:hover {
      transform: translateY(calc(var(--focus-width) * -2));
      box-shadow: 0 var(--space-s) var(--space-m) calc(var(--space-s) * -1) color-mix(in oklch, var(--text-dark) 35%, transparent);
    }

    .testimonial-grid__list-item:nth-child(3n+2) & {
      background: var(--primary);

      &::before {
        color: color-mix(in oklch, var(--text-light) 30%, transparent);
      }
    }
  
}
.testimonial-card__property {
  
    display: inline-flex;
    position: absolute;
    bottom: var(--space-xs);
    right: var(--space-xs);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--primary-dark);
    background: var(--primary-ultra-light);
    padding: 0.2em 0.6em;
    border-radius: var(--radius);

    .testimonial-grid__list-item:nth-child(3n+2) & {
      color: var(--text-light);
      background: color-mix(in oklch, var(--text-light) 20%, transparent);
    }
  
}
.testimonial-card__quote {
  
    font-family: CenturyOldStyleRegular, serif;
    font-style: normal;
    font-weight: 400;
    font-size: var(--text-l);
    line-height: 1.2;
    color: var(--primary);
    order: -1;

    .testimonial-grid__list-item:nth-child(3n+2) & {
      color: var(--text-light);
    }
  
}
.testimonial-card__content {
  
    font-style: italic;
    color: var(--text-dark);
    text-wrap: pretty;

    .testimonial-grid__list-item:nth-child(3n+2) & {
      color: var(--text-light);
    }
  
}
.testimonial-card__name {
  
    margin-block-start: auto;
    padding-block-start: var(--space-xs);
    font-weight: 700;
    font-size: var(--text-s);
    color: var(--primary);

    &::before {
      content: '\2014\a0';
    }

    .testimonial-grid__list-item:nth-child(3n+2) & {
      color: var(--text-light);
    }
  
}
.sc-timeline-section {
  --tl-line-color: color-mix(in srgb, var(--tl-fill-color) 50%, transparent);
  --tl-fill-color: var(--primary);
  --tl-dot-bg: var(--neutral-dark);
  --tl-dot-border: var(--neutral-light);
  --tl-dot-active-bg: var(--white);
  --tl-dot-active-border: var(--white);
  --tl-line-width: var(--focus-width);
  --tl-line-fill-width: calc(var(--focus-width) * 2);
  --tl-creative-color: var(--accent); /* was #ba7517 (oranje), geen passend ACSS-token actief */
  --tl-digital-color: var(--primary-light); /* was #0f6e56 (groen), geen passend ACSS-token actief */
}
.sc-timeline__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  margin-bottom: var(--space-m);
}
.sc-timeline__legend {
  display: flex;
  gap: calc(var(--content-gap) / 2)
}
.sc-timeline__legend-item {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--space-xs) / 2);
  font-size: 0.85em;

  &::before {
    content: '';
    display: inline-block;
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
    border-radius: var(--radius-xs);
  }

  &.sc-timeline__legend-item--creative::before {
    background: var(--tl-creative-color);
  }

  &.sc-timeline__legend-item--digital::before {
    background: var(--tl-digital-color);
  }
}
.sc-timeline {
  position: relative;
  padding: var(--space-m) 0;

  & .sc-timeline__line-bg {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: var(--tl-line-width);
    background: var(--tl-line-color);
    transform: translateX(-50%);
  }

  & .sc-timeline__line-fill {
    position: absolute;
    left: 50%;
    top: 0;
    width: var(--tl-line-fill-width);
    height: 0;
    background: var(--tl-fill-color);
    transform: translateX(-50%);
  }

  & .sc-timeline__dot {
    position: absolute;
    left: 50%;
    width: var(--icon-size-s);
    height: var(--icon-size-s);
    border-radius: 50%;
    background: var(--tl-dot-bg);
    border: var(--focus-width) solid var(--tl-dot-border);
    transform: translateX(-50%) translateY(-50%);
    transition:
      border-color 0.3s,
      background 0.3s;
    z-index: 2;

    &.active {
      background: var(--tl-dot-active-bg);
      border-color: var(--tl-dot-active-border);
    }
  }

  & .sc-timeline__item {
    display: flex;
    margin-bottom: var(--space-xl);
    position: relative;
    align-items: flex-start;

    &.sc-timeline__item--left {
      flex-direction: row;

      & .sc-timeline__content {
        text-align: end;
      }
    }

    &.sc-timeline__item--right {
      flex-direction: row-reverse;

      & .sc-timeline__content {
        text-align: start;
      }
    }
  }

  & .sc-timeline__content {
    flex: 0 0 calc(50% - var(--space-m));
    padding: var(--space-s);
    background: color-mix(in oklch, var(--white) 5%, transparent);
    border-radius: var(--radius-l);
    opacity: 0;
    transform: translateY(var(--space-s));
    transition:
      opacity 0.4s ease,
      transform 0.4s ease;

    &.visible {
      opacity: 1;
      transform: translateY(0);
    }
  }

  & .sc-timeline__spacer {
    flex: 0 0 calc(50% + var(--space-m));
  }

  & .sc-timeline__year {
    font-size: var(--h3);
    font-weight: 500;
    margin: 0 0 calc(var(--space-xs) / 3);
  }

  & .sc-timeline__function {
    margin: 0 0 calc(var(--space-xs) / 6);
    font-size: var(--text-m);
  }

  & .sc-timeline__company {
    margin: 0;
    opacity: 0.6;
  }

  & .sc-timeline__description {
    margin: calc(var(--space-xs) / 2) 0 0;
    font-size: 0.9em;
    opacity: 0.7;
    line-height: 1.5;
  }

  & .sc-timeline__link {
    display: inline-flex;
    align-items: center;
    color: inherit;
    margin-top: calc(var(--space-xs) / 2);
    font-size: 0.85em;
    opacity: 0.7;
    text-decoration: none;
    & svg {
      width: var(--icon-size-s);
      height: var(--icon-size-s);
    }
  }

  & .sc-timeline__item--left .sc-timeline__content {
    border-left: calc(var(--border-width) * 3) solid transparent;
    border-right: none;
    border-radius: 0 var(--radius-l) var(--radius-l) 0;
  }

  & .sc-timeline__item--right .sc-timeline__content {
    border-right: calc(var(--border-width) * 3) solid transparent;
    border-left: none;
    border-radius: var(--radius-l) 0 0 var(--radius-l);
  }

  & [data-filter='creative'] .sc-timeline__content {
    border-color: var(--tl-creative-color);
  }

  & [data-filter='digital'] .sc-timeline__content {
    border-color: var(--tl-digital-color);
  }

  @media (max-width: 47.99em) {
    & .sc-timeline__line-bg,
    & .sc-timeline__line-fill {
      left: var(--space-m);
      transform: translateX(-50%);
    }

    & .sc-timeline__dot {
      left: var(--space-m);
      transform: translateX(-50%) translateY(-50%);
    }

    & .sc-timeline__spacer {
      display: none;
    }

    & .sc-timeline__item--left,
    & .sc-timeline__item--right {
      flex-direction: row;

      & .sc-timeline__content {
        flex: 1;
        text-align: start !important;
        margin-left: var(--space-xl);
      }
    }

    & .sc-timeline__item--left .sc-timeline__content,
    & .sc-timeline__item--right .sc-timeline__content {
      border-left: none;
      border-right: calc(var(--border-width) * 3) solid transparent;
      border-radius: var(--radius-l) 0 0 var(--radius-l);
    }

    & [data-filter='creative'] .sc-timeline__content {
      border-right-color: var(--tl-creative-color);
    }

    & [data-filter='digital'] .sc-timeline__content {
      border-right-color: var(--tl-digital-color);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    & .sc-timeline__content {
      opacity: 1;
      transform: none;
      transition: none;
    }
  }
}
.intro-leusden {
  gap: var(--content-gap);
  text-wrap: pretty;
  justify-content: flex-start;
  max-inline-size: var(--content-width);

   h1, h2, p  {
      max-inline-size: var(--width-50);
    }

  :where(h1, h2, h3) span {
  color: var(--accent);}
  
  &[data-centered='true'] {
    
    @media (width >= 48em) {
      align-items: center;
      text-align: center;
      margin-inline-start: auto;
      margin-inline-end: auto;
      max-inline-size: var(--width-50);
      .intro-amersfoort__heading-wrapper {align-items: center}

    }
  }
}
.intro-amersfoort__heading-wrapper {
  gap: calc(var(--content-gap) / 3);
}
.sc-text {
  font-family: var(--text-font-family);
  color: var(--text-color);
}
.sc-accent--heading {
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.095em;
  font-size: var(--text-s);
  font-weight: 600;
  order: -1;
  margin-bottom: 0;
}
.intro-leusden__visual-heading {
  &[data-heading-tag='h1'] {
    font-size: var(--h1);
  }
  &[data-heading-tag='h2'] {
    font-size: var(--h2);
  }
  &[data-heading-tag='h3'] {
    font-size: var(--h3);
  }
  span {
    color: var(--accent);
  }
}
.sc-heading {
  font-family: var(--heading-font-family);
  line-height: var(--heading-line-height);
  font-weight: var(--heading-font-weight);
  color: var(--heading-color);
  text-wrap: var(--heading-text-wrap);
}
.etch-accordion {
  /* etch accordion */
  --etch-accordion-gap: calc(var(--space-xs) / 2);


  /* etch accordion item */
  --etch-accordion-item-border-radius: var(--radius);
  --etch-accordion-item-border: var(--border-width) solid var(--neutral-light);
  --etch-accordion-item-text-color: light-dark(var(--text-dark), var(--white));
  --etch-accordion-item-padding-inline: var(--space-s);
  --etch-accordion-item-padding-block: var(--space-s);

  /* etch accordion button */
  --etch-accordion-button-padding: var(--etch-accordion-item-padding-inline) var(--etch-accordion-item-padding-block);
  --etch-accordion-button-outline: var(--focus-width) solid var(--focus-color);
  --etch-accordion-button-outline-offset: var(--focus-offset);
  --etch-accordion-button-background: var(--primary);

  /* etch accordion svg */
  --etch-accordion-svg-rotate: 180deg;
  --etch-accordion-svg-transition-duration: var(--etch-accordion-transition-duration);
  --etch-accordion-svg-transition-timing-function: var(--etch-accordion-transition-timing-function);

  /* etch accordion panel */
  --etch-accordion-panel-padding-inline: var(--etch-accordion-item-padding-inline);
  --etch-accordion-panel-transition-duration: var(--etch-accordion-transition-duration);
  --etch-accordion-panel-transition-timing-function: var(--etch-accordion-transition-timing-function);

  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--etch-accordion-gap);
  background: var(--etch-accordion-background);

  :where(.etch-accordion__item) {
    color: var(--etch-accordion-item-text-color);
    border: var(--etch-accordion-item-border);
    border-radius: var(--etch-accordion-item-border-radius);
  }

  :where(.etch-accordion__button) {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: var(--etch-accordion-button-padding);
    color: var(--etch-accordion-item-text-color);
    cursor: pointer;
  }

  :where(.etch-accordion__button:focus-visible) {
    outline: var(--etch-accordion-button-outline);
    outline-offset: var(--etch-accordion-button-outline-offset);
    background: var(--etch-accordion-button-background);
  }

  :where(.etch-accordion__button:hover) {
    background: var(--etch-accordion-button-background);
  }

  :where(.etch-accordion__button svg) {
    transition: transform var(--etch-accordion-svg-transition-duration) var(--etch-accordion-svg-transition-timing-function);
  }

  :where(.etch-accordion__button[aria-expanded='true']) {
    border-bottom: var(--etch-accordion-item-border);
  }

  :where(.etch-accordion__button[aria-expanded='true'] svg) {
    transform: rotate(var(--etch-accordion-svg-rotate));
  }

  :where(.etch-accordion__panel) {
    /* keep at 0px to avoid animation issues */
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--etch-accordion-panel-transition-duration) var(--etch-accordion-panel-transition-timing-function);
  }

  :where(.etch-accordion__panel[hidden]) {
    display: none;
  }

  :where(.etch-accordion__content) {
    padding-inline: var(--etch-accordion-item-padding-inline);
    padding-block: var(--etch-accordion-item-padding-block);
  }
}
.etch-accordion__button-text {
  text-align: left;
}
.avatar {
  inline-size: calc(var(--space-xxl) * 1.6);
  position: relative; /* ← Nodig voor ::after */
  
  img {
    border-radius: var(--radius-circle);
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }
  
  /* ::after op container, niet op img! */
  &::after {
    content: '';
    position: absolute;
    inset: calc(var(--space-xs) / -2);
    border: var(--focus-width) solid var(--accent);
    border-radius: var(--radius-circle);
    pointer-events: none;
  }
}
.studio-coda {
  gap: var(--space-xxl);
  display: grid;
   align-items: center;
  @media (width >= 48em) {
    grid-template-columns: var(--grid-2);
  }
}
.studio-coda__media-wrapper {
  svg path {
    fill: white;
  }
}
.studio-coda__logo {
  block-size: auto;
  inline-size: 100%;
}
.studio-coda__content-wrapper {
  background-color: var(--neutral-dark);
  padding-block: var(--space-xl);
  padding-inline: var(--space-m);
  border-radius: var(--radius);
}
.studio-coda__cta {
  --btn-background: var(--accent);
	--btn-background-hover: var(--accent);
	--btn-text-color: var(--white);
	--btn-text-color-hover: var(--white);
	--btn-border-color: var(--accent);
	--btn-border-color-hover: var(--accent);
	--focus-color: var(--primary-light);
	--btn-border-width: var(--btn-outline-border-width);
  /* was Studio Coda-oranje #EF613C; omgezet naar --accent (geen hardcoded hex) */
}
.testimonial-card-achterveld {
  inline-size: var(--width-xl);
  display: grid;
  >*:first-child {
    grid-row-start: auto;
    grid-row-end: auto;
    grid-column-start: auto;
    grid-column-end: auto;
  }
    @media (width >= 48em) {
      grid-template-columns: var(--grid-12);
      grid-template-rows: auto;
      gap: 0;
      > *:last-child {
        grid-row-start: 1;
        grid-row-end: 12;
        grid-column-start: 1;
        grid-column-end: 10;
      }
      > *:first-child {
        grid-row-start: 4;
        grid-row-end: 10;
        grid-column-start: 7;
        grid-column-end: 12;
      }
    }
}
.testimonial-card-achterveld__content-wrapper {
  padding-inline: var(--space-l);
  padding-block: var(--space-l);
  z-index: 1;
  background-color: var(--neutral-ultra-light);
  border-radius: var(--radius);
  color: var(--neutral-dark);
}
.testimonial-card-achterveld__media-wrapper {
  overflow: hidden;
  border-radius: var(--radius);
  @media (max-width: 47.99em){order: -1;
}
}
.intro-amersfoort {
  gap: var(--content-gap);
  text-wrap: pretty;
  justify-content: flex-start;
  max-inline-size: var(--content-width);

   h1, h2, p  {
      max-inline-size: var(--width-50);
    }

  
  &[data-centered='true'] {
    
    @media (width >= 48em) {
      align-items: center;
      text-align: center;
      margin-inline-start: auto;
      margin-inline-end: auto;
      max-inline-size: var(--width-50);
      .intro-amersfoort__heading-wrapper {align-items: center}

    }
  }
}
.intro-amersfoort__accent-heading {
  font-size: var(--text-s);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.blog-card-list {
  display: grid;
  grid-template-columns: var(--grid-1);
  grid-template-rows: 1fr;
  @media (width >= 62.5em) {
    grid-template-columns: var(--grid-3);
  }
}
.blog-card-leeuwarden {
  li:has(> &) {
    display: flex;
  }
  /* Begin Clickable Parent - Ensure this is placed on the clickable parent element. */
  position: relative;
  /* Configure your selector if you have more than one link */
  a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 10;
  }
  /* Remove effect in builder. */
  &.etch-builder-block a::after {
    content: '';
    display: none;
  }
  /* End Clickable Parent */

  --border: color-mix(in oklch, var(--bg) 70%, var(--white)) solid var(--border-width);
  --card-bg: color-mix(in oklch, var(--bg) 90%, var(--white));
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
  background: var(--card-bg);
  border-radius: var(--radius);
  border: var(--border);
}
.blog-card-leeuwarden__media {
  inline-size: 100%;
  aspect-ratio: 9/6;
  object-fit: cover;
}
.blog-card-leeuwarden__content-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
  flex: 1;
	padding: var(--space-xs);
}
.blog-card-leeuwarden__heading {
  font-size: var(--h3);
  a {
    color: inherit;
    text-decoration: none;
  }
}
.projects-card {
  display: grid;
  @media (width >= 48em) {
    grid-template-columns: var(--grid-2-3);
    gap: var(--space-xxl);
  }
}
.projects-card__content-wrapper {
  padding-block: var(--space-s);
  padding-inline: var(--space-m);
  justify-content: center;
}
.link-on-dark {
  color: var(--neutral-light);
  &:hover {color: var(--neutral-ultra-light);}
}
.projects-card__media-wrapper {
  @media (width >= 48em){
  order: -1;}
}
.projects-card__image {
  aspect-ratio: 4/3;
  border: var(--border);
  border-radius: var(--radius);
}
.image4-grid-horizontal {
  gap: var(--space-s);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  max-inline-size: var(--width-60);
  margin-inline: auto;

  img {
    border-radius: var(--radius);
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    aspect-ratio: 4/3;
  }

  figure {
    display: flex;
    height: 100%;
  }

  figure:nth-child(1) {
    grid-column: span 5;
  }

  figure:nth-child(2) {
    grid-column: span 7;
  }

  figure:nth-child(3) {
    grid-column: span 7;
  }

  figure:nth-child(4) {
    grid-column: span 5;
  }

  /* Responsive */
  @media (max-width: 47.99em) {
    grid-template-columns: 1fr;

    figure:nth-child(1),
    figure:nth-child(2),
    figure:nth-child(3),
    figure:nth-child(4) {
      grid-column: 1 / -1; /* Volledige breedte */
    }

    img {
      height: auto;
    }
  }
}
.button-wrapper-leusden {
  display: flex;
  flex-direction: row;
	gap: var(--content-gap);
}
.single-article-main {
  padding-block: 0 var(--section-space-m);
  padding-inline: var(--gutter);

  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: clip;
  @media (max-width: 47.99em) {
    padding-inline: 0;
  }
}
.single-article-main__inner {
  padding-block-start: var(--space-m);
  padding-block-end: var(--space-m);
  max-width: var(--content-width);
  align-self: center;
 // background-color: var(--black);
  background-color: var(--bg-ultra-light);
}
.blog-content {
  padding-inline: 0;
  background-color: var(--bg-ultra-light);
}
.blog-content__inner {
  --content-width: 70ch;
  color: var(--text-dark);
  .viewer-wrapper {
    grid-column: feature-max;
  }
  .lightbox-gallery {
  }
  .video-gumlet {
    grid-column: feature-max;
  }
}
.career-card {
  grid-column: feature;
  border: var(--border);
  border-radius: var(--radius);
  padding-block: var(--space-xs);
  padding-inline: var(--space-xs);
  background-color: var(--neutral-light)
}
.social-leusden {
  display: flex;
  flex-direction: row;
  max-inline-size: max-content;
  gap: 1em;
}
.social-leusden__icon-wrapper {
  max-inline-size: max-content;
}
.social-leusden__image {
  width: var(--space-l)
}
.dorico-offer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 1fr;
  grid-column: feature-max;
  gap: var(--content-gap);
  --list-indent-spacing: 0;
  --list-item-spacing: 0;
  /*
  padding-inline-start: 0 !important;
  li {
    margin-block-start: 0 !important;
  }
  */
  :has(> &) {
    container-type: inline-size;
  }
  @media (max-width: 47.99em) {
    
  
	display: flex;
	flex-direction: column;}
}
.dorico-card {
  li:has(> &) {
    display: flex;
  }
  flex: 1;
  --card-gap: calc(var(--content-gap) / 1.5);
  gap: var(--card-gap);
  display: flex;
  flex-direction: column;
  border: var(--border);
  border-radius: var(--radius);
  padding: var(--space-s-to-xs);
  box-shadow: inset 0 0 0 var(--border-width) transparent;
  transition: box-shadow 0.2s ease;

  &:hover {
    box-shadow: inset 0 0 0 var(--focus-width) var(--primary);
  }
  
  /* Begin Clickable Parent - Ensure this is placed on the clickable parent element. */
  position: relative;
  /* Configure your selector if you have more than one link */
  a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 10;
  }
  /* Remove effect in builder. */
  &.etch-builder-block a::after {
    content: '';
    display: none;
  }
  /* End Clickable Parent */
}
.dorico-card__heading {
  font-size: var(--h3);
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
}
.dorico-card__eyebrow {
  order: -1;
  font-size: var(--text-s);
  font-weight: 300;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.dorico-card__list-item {
  font-size: var(--text-s);
  display: flex;
  align-items: flex-start;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--text-s);
  color: var(--neutral-dark);
  line-height: 1.5;
  &::before {
    content: '';
    flex-shrink: 0;
    width: var(--icon-size-s);
    height: var(--icon-size-s);
    background-color: var(--accent); /* Nu makkelijk aan te passen! */
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
  }
}
.dorico-card__cta {
  text-decoration: none;
  font-weight: 400;
  color: inherit;
  margin-block-start: auto;
}
.image3-grid-vertical {
  gap: var(--space-s);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  max-inline-size: var(--width-60);
  margin-inline: auto;

  img {
    border-radius: var(--radius);
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    aspect-ratio: 4/3; /* Standaard ratio voor kleine afbeeldingen */
  }

  /* Default: 2 links, 1 rechts */
  figure:nth-child(3) {
    grid-column: 2;
    grid-row: 1 / 3; /* Van rij 1 tot 3 (span 2) */
    img {
      aspect-ratio: 3/4; /* Portret ratio */
    }
  }

  /* Layout: 1 links, 2 rechts */
  &[data-layout='left-tall'] {
    figure:nth-child(1) {
      grid-column: 1;
      grid-row: 1 / 3; /* Van rij 1 tot 3 (span 2) */
      img {
        aspect-ratio: 3/4; /* Portret ratio */
      }
    }

    figure:nth-child(2) {
      grid-column: 2;
      grid-row: 1;
    }

    figure:nth-child(3) {
      grid-column: 2;
      grid-row: 2;
      img {
        aspect-ratio: 4/3; /* Terug naar standaard */
      }
    }
  }
}
.image3-grid-horizontal {
  gap: var(--space-s);
  display: grid;
  grid-template-columns: var(--grid-2);
  max-inline-size: var(--width-60);
  margin-inline: auto;

  img {
    border-radius: var(--radius);
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 4/3; /* Standaard ratio voor kleine afbeeldingen */
  }

  /* Default: 2 boven, 1 onder */
  figure:nth-child(3) {
    grid-column: span 2;
    img {
      aspect-ratio: 16/9;
    }
  }

  /* Layout: 1 boven, 2 onder */
  &[data-layout='top-wide'] {
    figure:nth-child(1) {
      grid-column: span 2;
      img {
        aspect-ratio: 16/9;
      }
    }

    figure:nth-child(3) {
      grid-column: span 1;
      img {
        aspect-ratio: 4/3; /* Terug naar standaard */
      }
    }
  }
}
.image2-grid-horizontal {
  gap: var(--space-s);
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-inline-size: var(--width-60);
  margin-inline: auto;

  img {
    border-radius: var(--radius);
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    aspect-ratio: 4/3; /* Standaard ratio */
  }

  /* Layout: linker afbeelding breed, rechter smal - zelfde hoogte */
  &[data-layout='left-wide'] {
    grid-template-columns: 2fr 1fr;
    grid-auto-rows: var(--width-30); /* Vaste rijhoogte voor beide */

    img {
      aspect-ratio: auto; /* Laat de grid de hoogte bepalen */
    }
  }

  /* Layout: rechter afbeelding breed, linker smal - zelfde hoogte */
  &[data-layout='right-wide'] {
    grid-template-columns: 1fr 2fr;
    grid-auto-rows: var(--width-30); /* Vaste rijhoogte voor beide */

    img {
      aspect-ratio: auto; /* Laat de grid de hoogte bepalen */
    }
  }

  /* Layout: vierkante afbeeldingen */
  &[data-layout='square'] {
    grid-auto-rows: auto;
    img {
      aspect-ratio: 1/1;
      height: auto;
    }
  }

  /* Responsive */
  @media (max-width: 47.99em) {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;

    img {
      aspect-ratio: 4/3 !important;
    }
  }
}
.popup-section {
  gap: var(--content-gap);
}
.cc-form {
  display: grid; gap: var(--space-m); min-inline-size: 0; position: relative;
}
.cc-form__field {
  display: flex; flex-direction: column; gap: calc(var(--space-xs) / 2); min-inline-size: 0;
}
.cc-form__label {
  font-weight: bold;
}
.cc-form__input {
  inline-size: 100%; min-inline-size: 0; font: inherit; color: var(--text-dark); background: var(--base-ultra-light); border: var(--border-width) solid var(--base-semi-dark); border-radius: var(--radius); padding: var(--space-xs);
&:is(textarea) { resize: vertical; }
&:focus-visible { outline: var(--focus-width) solid var(--focus-color); outline-offset: var(--focus-width); }
&[aria-invalid="true"] { border-color: var(--primary-dark); border-width: var(--focus-width); }
}
.cc-form__error {
  color: var(--primary-dark); font-size: var(--text-s);
&:empty { display: none; }
}
.cc-form__optional {
  color: var(--text-dark-muted); font-size: var(--text-s); font-weight: normal;
}
.cc-form__honeypot {
  display: none;
}
.cc-form__actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s);
& button:disabled { cursor: wait; }
}
.cc-form__status {
  margin: 0; overflow-wrap: anywhere;
&:empty { display: none; }
}
.cc-form__rating {
  display: flex; flex-direction: column; gap: var(--space-xs); min-inline-size: 0; margin: 0; padding: 0; border: none;
}
.cc-form__legend {
  padding: 0; font-weight: bold;
}
.cc-form__rating-options {
  display: flex; flex-wrap: wrap; gap: var(--space-s);
}
.cc-form__rating-option {
  display: flex; align-items: center; gap: calc(var(--space-xs) / 2); cursor: pointer; padding-block: calc(var(--space-xs) / 2);
& input { accent-color: var(--primary-dark); inline-size: var(--text-m); block-size: var(--text-m); }
& input:focus-visible { outline: var(--focus-width) solid var(--focus-color); outline-offset: var(--focus-width); }
}
.video-gumlet__play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;

  &:hover .video-gumlet__icon,
  &:focus-visible .video-gumlet__icon {
    transform: scale(1.08);
  }

  &:focus-visible {
    outline: var(--focus-width) solid var(--focus-color);
    outline-offset: calc(var(--focus-width) * -2);
  }
}
.video-gumlet__poster {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.video-gumlet__icon {
  position: relative;
  display: grid;
  place-items: center;
  inline-size: var(--icon-size-l);
  block-size: var(--icon-size-l);
  padding: var(--space-xs);
  border-radius: var(--radius-circle);
  background: var(--primary);
  color: var(--text-light);
  box-shadow: var(--box-shadow-2);
  transition: transform var(--transition);

  & svg {
    inline-size: 100%;
    block-size: 100%;
  }
}