:root {
  --ink: #08080b;
  --gold: #c9a96b;
  --gold-light: #e6d6b2;
  --gold-line: #8f794e;
  --paper: #efebe4;
  --muted: #9c968c;
}

html,
body {
  overflow-x: clip;
  background: var(--ink);
}

body {
  color: var(--paper);
}

a,
button,
summary,
input,
select,
textarea {
  touch-action: manipulation;
}

a,
button,
summary {
  min-height: 44px;
}

.desktop-nav > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.desktop-nav .nav-contact {
  padding-top: 0;
  padding-bottom: 0;
}

input,
select,
textarea {
  min-height: 48px;
  font-size: 16px !important;
}

textarea {
  min-height: 132px;
}

.hero-seo,
.seo-intro {
  max-width: 46rem;
  color: var(--muted);
  font-size: clamp(.9rem, 1.4vw, 1rem);
  line-height: 1.65;
}

.home-hero__content .hero-seo {
  margin: 1rem 0 1.3rem;
  color: var(--paper);
}

.showreel .video-frame {
  position: relative;
}

.showreel-play {
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  width: 74px;
  height: 74px;
  min-height: 74px;
  padding: 0;
  transform: translate(-50%, -50%);
  place-items: center;
  border: 1px solid var(--gold-light);
  border-radius: 50%;
  background: var(--gold);
  color: var(--ink);
  cursor: pointer;
  box-shadow: 0 0 0 10px rgb(8 8 11 / 54%);
  transition: transform 180ms ease, background 180ms ease;
  z-index: 3;
}

.showreel-play:hover,
.showreel-play:focus-visible {
  transform: translate(-50%, -50%) scale(1.06);
  background: var(--gold-light);
  outline: 2px solid var(--paper);
  outline-offset: 4px;
}

.showreel-play span {
  position: absolute;
  top: 50%;
  left: calc(50% + 3px);
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 16px solid var(--ink);
  font-size: 0;
}

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

.quote {
  min-width: 0;
}

.quote figcaption {
  color: var(--gold-light);
}

.testimonial-slider__controls {
  display: none;
}

.testimonial-slider.is-ready .testimonial-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
}

.testimonial-slider.is-ready .quote,
.testimonial-slider.is-ready .quote:nth-child(n) {
  grid-area: 1 / 1;
  min-height: clamp(18rem, 31vw, 25rem);
  border: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(1.5rem);
  pointer-events: none;
  transition: opacity 520ms ease, transform 520ms ease, visibility 520ms;
}

.testimonial-slider.is-ready .quote.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

.testimonial-slider.is-ready .testimonial-slider__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  padding-top: 1rem;
}

.testimonial-slider__controls button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: .65rem;
  padding: .55rem .85rem;
  border: 1px solid var(--gold-line);
  color: var(--gold-light);
  font-size: .69rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.testimonial-slider__controls button:hover,
.testimonial-slider__controls button:focus-visible {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--ink);
  outline: none;
}

.testimonial-slider__counter {
  min-width: 4.7rem;
  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .2em;
  text-align: center;
}

.session-card__duration {
  margin-top: 1.5rem !important;
  padding-top: 1rem;
  border-top: 1px solid var(--gold-line);
  color: var(--muted) !important;
  font-size: .93rem;
}

.faq-section {
  border-top: 1px solid var(--gold-line);
  border-bottom: 1px solid var(--gold-line);
}

.faq-container > h2 {
  max-width: 18ch;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.faq-list {
  border-top: 1px solid var(--gold-line);
}

.faq-list details {
  border-bottom: 1px solid var(--gold-line);
}

.faq-list summary {
  position: relative;
  display: flex;
  align-items: center;
  padding: 1.3rem 3rem 1.3rem 0;
  color: var(--paper);
  font-family: var(--serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  cursor: pointer;
  list-style: none;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  position: absolute;
  right: .5rem;
  content: "+";
  color: var(--gold);
  font-family: var(--sans);
  font-size: 1.5rem;
}

.faq-list details[open] summary::after {
  content: "−";
}

.faq-list details p {
  max-width: 56rem;
  margin: 0;
  padding: 0 3rem 1.6rem 0;
  color: var(--muted);
  line-height: 1.75;
}

.about-portrait {
  object-position: 58% 26% !important;
  transform: scale(1.22);
  transform-origin: 58% 28%;
}

.timeline-scroll__list li > div > p + p {
  margin-top: .85rem;
}

.timeline-scroll__media img[src*="goochelaar-vandaag"],
.timeline-scroll__mobile-image[src*="goochelaar-vandaag"] {
  object-position: center 34%;
}

.gallery-grid figure {
  cursor: zoom-in;
}

.gallery-grid figure:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 4px;
}

.gallery-lightbox {
  width: min(94vw, 1200px);
  max-width: none;
  height: min(92vh, 900px);
  max-height: none;
  padding: 0;
  border: 1px solid var(--gold-line);
  background: var(--ink);
  color: var(--paper);
}

.gallery-lightbox::backdrop {
  background: rgb(0 0 0 / 88%);
}

.gallery-lightbox__inner {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  padding: 2rem;
}

.gallery-lightbox img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gallery-lightbox button {
  position: absolute;
  top: .75rem;
  right: .75rem;
  width: 48px;
  min-height: 48px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
  font-size: 1.4rem;
  cursor: pointer;
  z-index: 2;
}

.site-footer__bottom > a {
  color: var(--muted);
  font-size: .72rem;
  letter-spacing: .04em;
}

.mobile-contact-bar {
  display: none;
}

.cookie-banner {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 9999;
  width: min(42rem, calc(100vw - 2rem));
  padding: 1.4rem;
  border: 1px solid var(--gold-line);
  background: var(--ink);
  box-shadow: 0 18px 48px rgb(0 0 0 / 46%);
}

.cookie-banner h2 {
  margin: 0 0 .6rem;
  font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.cookie-banner p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.cookie-banner__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 1.2rem;
}

.cookie-choice {
  width: 100%;
  min-height: 48px;
  padding: .75rem 1rem;
  border: 1px solid var(--gold);
  border-radius: 999px;
  background: transparent;
  color: var(--paper);
  font: 600 .82rem/1 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.cookie-choice:hover,
.cookie-choice:focus-visible {
  background: var(--gold);
  color: var(--ink);
  outline: none;
}

.protected-media,
.protected-media img,
.protected-media video {
  -webkit-user-drag: none;
  user-select: none;
}

@media (max-width: 760px) {
  body {
    padding-bottom: 68px;
  }

  h1,
  h2,
  h3 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .home-hero__content,
  .page-intro__content {
    padding-right: 1.15rem;
    padding-left: 1.15rem;
  }

  .home-hero__content h1,
  .page-intro__content h1 {
    font-size: clamp(2.5rem, 13vw, 4.1rem);
  }

  .home-hero__content .hero-seo {
    max-width: 34rem;
    font-size: .9rem;
  }

  .testimonial-grid {
    grid-template-columns: 1fr;
  }

  .showreel-play {
    width: 64px;
    height: 64px;
    min-height: 64px;
  }

  .faq-list summary {
    padding-right: 2.6rem;
  }

  .faq-list details p {
    padding-right: 0;
  }

  .mobile-contact-bar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9000;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    border-top: 1px solid var(--gold-line);
    background: var(--ink);
  }

  .mobile-contact-bar a {
    display: grid;
    min-height: 58px;
    place-items: center;
    padding: .65rem;
    color: var(--paper);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-align: center;
    text-transform: uppercase;
  }

  .mobile-contact-bar a + a {
    border-left: 1px solid var(--gold-line);
    background: var(--gold);
    color: var(--ink);
  }

  .cookie-banner {
    right: .65rem;
    bottom: 4.35rem;
    width: calc(100vw - 1.3rem);
  }

  .cookie-banner__actions {
    grid-template-columns: 1fr;
  }

  .gallery-lightbox__inner {
    padding: 3.5rem .75rem .75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Correctieronde 2 */
.home-hero__media img {
  object-position: 72% 34%;
  transform: scale(1.06) translateX(3.5%);
}

.home-hero__shade {
  background: linear-gradient(90deg, rgb(8 8 11 / 96%) 0%, rgb(8 8 11 / 91%) 40%, rgb(8 8 11 / 63%) 66%, rgb(8 8 11 / 30%) 100%);
}

.home-seo-lead {
  max-width: 62rem;
  margin: 2.25rem 0 0;
  color: var(--gold-light);
  font-family: var(--serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.55;
}

.audience-routes {
  background: var(--ink-soft);
}

.audience-routes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--hair);
  border-left: 1px solid var(--hair);
}

.audience-routes article {
  padding: clamp(2rem, 5vw, 4.5rem);
  border-right: 1px solid var(--hair);
  border-bottom: 1px solid var(--hair);
}

.audience-routes h2 {
  max-width: 18ch;
  font-size: clamp(2rem, 3.3vw, 3.65rem);
}

.audience-routes article > p:not(.eyebrow) {
  color: var(--muted);
}

.testimonial-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.testimonial-grid .quote {
  padding: clamp(1.7rem, 3vw, 2.8rem);
}

.testimonial-grid .quote blockquote {
  max-width: 68ch;
  margin-bottom: 1.7rem;
  font-size: clamp(1.12rem, 1.45vw, 1.45rem);
  line-height: 1.45;
}

.testimonial-grid .quote:nth-child(n + 4) {
  border-top: 1px solid var(--hair);
}

.testimonial-grid .quote:nth-child(3n + 1) {
  border-left: 0;
}

.companies-page .page-intro__media img {
  object-position: center 37%;
}

.services-hero-media img {
  object-fit: contain;
  object-position: center top;
  transform: scale(1.3) translateY(-13%);
  transform-origin: center top;
  background: #000;
}

.services-hero-media {
  border-right: 1px solid var(--gold-line);
  background: #000;
}

.private-page .page-intro__media img {
  object-position: 62% center;
}

.private-page .intimate-story__grid img {
  object-position: center 38%;
}

.corporate-proof,
.private-proof {
  background: var(--ink-soft);
}

.private-process {
  background: var(--ink);
}

.gallery-grid {
  grid-auto-flow: row;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 12px;
}

.gallery-grid figure,
.gallery-grid figure:first-child,
.gallery-grid figure:nth-child(7) {
  min-height: 0;
  aspect-ratio: 4 / 3;
  grid-row: auto;
  grid-column: auto;
}

.gallery-grid img {
  object-fit: cover;
}

.gallery-lightbox__close {
  top: .75rem !important;
  right: .75rem !important;
}

.gallery-lightbox__previous,
.gallery-lightbox__next {
  top: 50% !important;
  width: 52px !important;
  min-height: 52px !important;
  transform: translateY(-50%);
  font-size: 2rem !important;
}

.gallery-lightbox__previous {
  right: auto !important;
  left: .75rem;
}

.gallery-lightbox__next {
  right: .75rem !important;
}

.gallery-lightbox__count {
  position: absolute;
  right: 50%;
  bottom: .75rem;
  padding: .35rem .65rem;
  transform: translateX(50%);
  border: 1px solid var(--gold-line);
  background: rgb(8 8 11 / 88%);
  color: var(--gold-light);
  font-size: .75rem;
  letter-spacing: .16em;
}

.gallery-video-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.gallery-video-card {
  display: grid;
  grid-template-rows: auto minmax(44px, auto);
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  color: var(--paper);
  text-align: left;
  cursor: pointer;
}

.gallery-video-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: opacity 180ms ease;
}

.gallery-video-card:hover img,
.gallery-video-card:focus-visible img {
  opacity: .78;
}

.gallery-video-card:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 4px;
}

.gallery-video-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 56px;
  height: 56px;
  transform: translate(-50%, -64%);
  place-items: center;
  border: 1px solid var(--gold-light);
  border-radius: 50%;
  background: var(--gold);
  color: var(--ink);
  font-size: 0;
  box-shadow: 0 0 0 8px rgb(8 8 11 / 48%);
}

.gallery-video-card__play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% + 3px);
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid var(--ink);
}

.gallery-video-card__label {
  display: flex;
  align-items: center;
  padding: .8rem .9rem;
  border-top: 1px solid var(--hair);
  color: var(--gold-light);
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.gallery-video-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  width: 100%;
  height: 100dvh;
  padding: clamp(.75rem, 2vw, 1.5rem);
  place-items: center;
  background: rgb(0 0 0 / 90%);
}

.gallery-video-lightbox[hidden] {
  display: none;
}

.has-video-lightbox {
  overflow: hidden;
}

.gallery-video-lightbox__inner {
  position: relative;
  display: grid;
  width: min(92vw, 960px);
  height: min(90dvh, 850px);
  padding: 3.75rem 1rem 1rem;
  border: 1px solid var(--gold-line);
  place-items: center;
  background: var(--ink);
}

.gallery-video-lightbox video {
  width: 100%;
  height: 100%;
  max-height: calc(90vh - 5rem);
  object-fit: contain;
  background: #000;
}

.gallery-video-lightbox button {
  position: absolute;
  top: .75rem;
  right: .75rem;
  z-index: 2;
  width: 48px;
  min-height: 48px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
  font-size: 1.4rem;
  cursor: pointer;
}

.timeline-scroll__media img {
  transform: none !important;
  transition: opacity 350ms ease-out !important;
}

.timeline-scroll__list::after {
  transition: none;
}

.timeline-scroll__media img[src$="geschiedenis-02-uitgebreid.webp"] {
  object-fit: contain;
  object-position: center;
  transform: none !important;
  background: #050506;
}

.timeline-scroll__mobile-image[src$="geschiedenis-02-uitgebreid.webp"] {
  aspect-ratio: 4 / 5;
  object-fit: contain;
  object-position: center;
  padding: 0;
  background: #050506;
}

.request-form select {
  appearance: none;
  padding-right: 2.25rem;
  border-bottom-color: var(--hair);
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='M2 2l7 7 7-7' fill='none' stroke='%23c9a96b' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .25rem center;
  color: var(--paper);
}

.request-form select option {
  background: var(--panel);
  color: var(--paper);
}

.request-form input,
.request-form textarea {
  border-bottom-color: var(--hair);
}

.request-form input:focus,
.request-form textarea:focus,
.request-form select:focus {
  border-bottom-color: var(--gold);
  box-shadow: 0 1px 0 var(--gold);
  outline: none;
}

.request-form input[type="date"]::-webkit-calendar-picker-indicator {
  filter: sepia(1) saturate(.8) brightness(1.45);
  cursor: pointer;
}

.form-consent input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin-top: 3px;
  padding: 0;
  border: 1px solid var(--gold);
  border-radius: 1px;
  background: transparent center / 13px 13px no-repeat;
}

.form-consent input[type="checkbox"]:checked {
  background-color: var(--gold);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.2l2.7 2.7 6.3-6.3' fill='none' stroke='%2308080b' stroke-width='2'/%3E%3C/svg%3E");
}

.form-consent input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 3px;
}

.form-consent a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.form-status {
  margin: 0 0 2rem;
  padding: clamp(1.5rem, 4vw, 2.8rem);
}

.form-status h2 {
  margin-bottom: .8rem;
  font-size: clamp(2rem, 4vw, 3.4rem);
}

.form-status p {
  color: var(--muted);
}

.footer-legal {
  padding: 1.35rem 0;
  border-top: 1px solid var(--hair);
}

.footer-legal p {
  max-width: none;
  margin: 0;
  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .06em;
}

.site-footer__bottom {
  align-items: center;
  gap: 1.2rem;
}

.site-footer__bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
}

.site-footer__bottom nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.legal-hero {
  padding: clamp(10rem, 18vw, 15rem) 0 clamp(4rem, 8vw, 7rem);
  border-bottom: 1px solid var(--hair);
  background: radial-gradient(circle at 76% 26%, rgb(201 169 107 / 10%), transparent 32%), var(--ink);
}

.legal-hero h1 {
  margin-bottom: 1.5rem;
}

.legal-hero > .container > p:last-child {
  color: var(--muted);
}

.legal-content {
  background: var(--ink-soft);
}

.legal-content__inner {
  max-width: 880px;
}

.legal-content__inner section + section {
  margin-top: 3.5rem;
  padding-top: 3.5rem;
  border-top: 1px solid var(--hair);
}

.legal-content h2 {
  font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.legal-content p,
.legal-content li {
  color: var(--muted);
}

.legal-content ul {
  margin: 1rem 0;
  padding-left: 1.2rem;
  list-style: disc;
}

.legal-content a:not(.button) {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-content code {
  color: var(--gold-light);
}

.cookie-banner {
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: .7rem clamp(1rem, 3vw, 2rem);
  border: 0;
  border-top: 1px solid var(--gold);
  border-radius: 0;
  background: var(--ink);
  box-shadow: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
}

.cookie-banner p {
  flex: 1;
  max-width: none;
  margin: 0;
  color: var(--paper);
  font-size: .82rem;
  line-height: 1.4;
}

.cookie-banner p a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-banner__actions {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: auto;
  margin: 0;
  gap: .65rem;
}

.cookie-choice {
  width: 148px;
  min-height: 44px;
  padding: .65rem .9rem;
  border: 1px solid var(--gold);
  border-radius: 1px;
  background: transparent;
  color: var(--paper);
  font-size: .7rem;
  letter-spacing: .1em;
}

.mobile-contact-bar {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 980px) {
  .testimonial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .testimonial-grid .quote:nth-child(3n + 1) {
    border-left: 1px solid var(--hair);
  }

  .testimonial-grid .quote:nth-child(2n + 1) {
    border-left: 0;
  }

  .testimonial-grid .quote:nth-child(n + 3) {
    border-top: 1px solid var(--hair);
  }

  .gallery-grid,
  .gallery-video-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .home-hero__media img {
    object-position: 72% center;
    transform: scale(1.12) translateX(5%);
  }

  .home-hero__shade {
    background: linear-gradient(90deg, rgb(8 8 11 / 94%) 0%, rgb(8 8 11 / 84%) 56%, rgb(8 8 11 / 38%) 100%);
  }

  .audience-routes__grid {
    grid-template-columns: 1fr;
  }

  .testimonial-grid,
  .testimonial-grid--compact {
    grid-template-columns: 1fr;
  }

  .testimonial-grid .quote,
  .testimonial-grid .quote:nth-child(n) {
    border-top: 1px solid var(--hair);
    border-left: 0;
  }

  .testimonial-grid .quote:first-child {
    border-top: 0;
  }

  .testimonial-slider.is-ready .quote,
  .testimonial-slider.is-ready .quote:nth-child(n) {
    min-height: clamp(22rem, 100vw, 31rem);
    border: 0;
  }

  .testimonial-slider.is-ready .testimonial-slider__controls {
    justify-content: space-between;
  }

  .testimonial-slider__controls button {
    padding-inline: .7rem;
  }

  .companies-page .page-intro__media img {
    object-position: center 30%;
  }

  .services-hero-media img {
    object-position: center top;
    transform: scale(1.35) translateY(-11%);
  }

  .services-hero-media {
    border-right: 0;
    border-bottom: 1px solid var(--gold-line);
  }

  .private-page .page-intro__media img {
    object-position: 65% center;
  }

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

  .gallery-lightbox {
    width: 100vw;
    height: calc(100dvh - 58px);
    border-right: 0;
    border-left: 0;
  }

  .gallery-lightbox__inner {
    padding: 3.4rem .5rem 2.7rem;
  }

  .gallery-lightbox__previous,
  .gallery-lightbox__next {
    width: 44px !important;
    min-height: 44px !important;
    background: rgb(8 8 11 / 84%) !important;
  }

  .gallery-video-lightbox {
    width: 100vw;
    height: calc(100dvh - 58px);
    padding: 0;
  }

  .gallery-video-lightbox__inner {
    width: 100vw;
    height: calc(100dvh - 58px);
    border-right: 0;
    border-left: 0;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .cookie-banner {
    bottom: 58px;
    max-height: 25vh;
    padding: .6rem .75rem;
    flex-direction: column;
    align-items: stretch;
    gap: .55rem;
    overflow: auto;
  }

  .cookie-banner p {
    font-size: .74rem;
    line-height: 1.3;
  }

  .cookie-banner__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .cookie-choice {
    width: 100%;
    min-height: 44px;
  }

  .mobile-contact-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .timeline-scroll__list::after {
    height: 100% !important;
  }
}

/* Correctieronde 5: grotere reviews en uitgebreid tijdlijnbeeld */
.testimonial-slider.is-ready .quote,
.testimonial-slider.is-ready .quote:nth-child(n) {
  display: flex;
  min-height: clamp(19rem, 32vw, 26rem);
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.25rem, 5vw, 4rem);
}

.testimonial-slider.is-ready .testimonial-grid .quote blockquote {
  max-width: 42ch;
  margin-bottom: clamp(1.7rem, 3vw, 2.5rem);
  font-size: clamp(2.1rem, 3.8vw, 3.45rem);
  line-height: 1.23;
}

.testimonial-slider.is-ready .testimonial-grid .quote figcaption {
  font-size: clamp(.7rem, .9vw, .82rem);
  line-height: 1.6;
}

@media (max-width: 760px) {
  .testimonial-slider.is-ready .quote,
  .testimonial-slider.is-ready .quote:nth-child(n) {
    min-height: clamp(24rem, 112vw, 29rem);
    padding: 1.9rem 1.35rem;
  }

  .testimonial-slider.is-ready .testimonial-grid .quote blockquote {
    max-width: none;
    font-size: clamp(1.75rem, 7vw, 2.35rem);
    line-height: 1.28;
  }

  .testimonial-slider.is-ready .testimonial-grid .quote figcaption {
    font-size: .68rem;
  }
}
