:root {
  --vdk-ink: #171713;
  --vdk-paper: #f3f1ea;
  --vdk-paper-deep: #e8e5dc;
  --vdk-accent: #365044;
  --vdk-accent-soft: #708277;
  --vdk-line: #d2cfc7;
  --vdk-muted: #666a64;
  --vdk-display: "Avenir Next", Avenir, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --vdk-editorial: Georgia, "Times New Roman", serif;
}

.vdk-hero, .vdk-section-head, .vdk-services, .vdk-projects, .vdk-project-intro,
.vdk-split, .vdk-trust-strip, .vdk-master-signature, .vdk-color-story,
.vdk-manifesto, .vdk-quote-cta, .vdk-marquee, .vdk-floating-quote, .vdk-project-feature, .vdk-project-case,
.vdk-hero *, .vdk-section-head *, .vdk-services *, .vdk-projects *, .vdk-project-intro *,
.vdk-split *, .vdk-trust-strip *, .vdk-master-signature *, .vdk-color-story *,
.vdk-manifesto *, .vdk-quote-cta *, .vdk-marquee *, .vdk-floating-quote *, .vdk-project-feature *, .vdk-project-case * {
  box-sizing: border-box;
}

.vdk-hero, .vdk-section-head, .vdk-services, .vdk-projects, .vdk-project-intro,
.vdk-split, .vdk-trust-strip, .vdk-master-signature, .vdk-color-story,
.vdk-manifesto, .vdk-quote-cta, .vdk-marquee, .vdk-floating-quote, .vdk-project-feature, .vdk-project-case {
  font-family: var(--vdk-display);
}

/* Reveal system */
.vdk-js [data-vdk-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
}
.vdk-js [data-vdk-reveal].is-visible { opacity: 1; transform: none; }
.vdk-media-reveal { position: relative; overflow: hidden; }
.vdk-js [data-vdk-reveal] .vdk-media-reveal::after,
.vdk-js .vdk-media-reveal[data-vdk-reveal]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background: var(--vdk-paper);
  transform: translateX(0);
  transition: transform 1s cubic-bezier(.77,0,.18,1) .12s;
  pointer-events: none;
}
.vdk-js [data-vdk-reveal].is-visible .vdk-media-reveal::after,
.vdk-js .vdk-media-reveal[data-vdk-reveal].is-visible::before { transform: translateX(101%); }

/* Shared micro typography */
.vdk-kicker, .vdk-split__label, .vdk-color-story__label, .vdk-quote-cta__topline,
.vdk-section-head__meta, .vdk-manifesto__label, .vdk-project-intro__eyebrow {
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 700;
}

/* HERO */
.vdk-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr);
  gap: clamp(26px, 4vw, 72px);
  align-items: stretch;
  padding: clamp(26px, 4.7vw, 78px);
  overflow: hidden;
  position: relative;
}
.vdk-hero__copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.vdk-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: clamp(34px, 6vw, 92px); }
.vdk-kicker::before { content: ''; width: 34px; height: 1px; flex: none; }
.vdk-hero__title {
  margin: 0;
  font-size: clamp(58px, 8.7vw, 148px);
  line-height: .82;
  letter-spacing: -.072em;
  font-weight: 500;
  max-width: 9.2ch;
  text-wrap: balance;
}
.vdk-hero__intro { max-width: 540px; font-size: clamp(17px, 1.45vw, 21px); line-height: 1.48; margin: clamp(30px, 4vw, 50px) 0 0; }
.vdk-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.vdk-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 26px;
  min-height: 52px; padding: 0 21px; border-radius: 999px; text-decoration: none !important;
  font-size: 13px; font-weight: 700; transition: transform .25s ease, opacity .25s ease, background .25s ease;
}
.vdk-button:hover { transform: translateY(-2px); }
.vdk-button--primary { color: #fff !important; }
.vdk-button--ghost { color: currentColor !important; border: 1px solid currentColor; }
.vdk-hero__trust { display: flex; flex-wrap: wrap; gap: 15px 25px; margin-top: clamp(38px, 5vw, 78px); font-size: 12px; letter-spacing: .01em; }
.vdk-hero__trust span { display: inline-flex; align-items: center; gap: 9px; }
.vdk-trust-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.vdk-hero__media { position: relative; min-height: 570px; background: #d9d4ca; isolation: isolate; }
.vdk-hero__media > img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.vdk-hero:hover .vdk-hero__media > img { transform: scale(1.018); }
.vdk-hero__vertical {
  position: absolute; left: 14px; top: 18px; z-index: 3; writing-mode: vertical-rl; transform: rotate(180deg);
  color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; mix-blend-mode: difference;
}
.vdk-hero__seal {
  position: absolute; right: 20px; bottom: 20px; z-index: 3; width: 132px; aspect-ratio: 1;
  border-radius: 50%; display: grid; place-items: center; color: #fff; background: rgba(20,20,17,.93);
  transform: rotate(-6deg); box-shadow: 0 14px 34px rgba(0,0,0,.16);
}
.vdk-hero__seal-ring { position: absolute; inset: 8px; border: 1px solid; border-radius: 50%; }
.vdk-hero__seal-top, .vdk-hero__seal-bottom { position: absolute; left: 50%; transform: translateX(-50%); width: 100%; text-align: center; font-size: 8px; letter-spacing: .13em; font-weight: 800; }
.vdk-hero__seal-top { top: 25px; }
.vdk-hero__seal-bottom { bottom: 25px; }
.vdk-hero__seal-mark { font-family: var(--vdk-editorial); font-style: italic; font-size: 54px; font-weight: 400; line-height: 1; }

/* MARQUEE */
.vdk-marquee { overflow: hidden; padding: 15px 0; white-space: nowrap; border-top: 1px solid rgba(0,0,0,.12); border-bottom: 1px solid rgba(0,0,0,.12); }
.vdk-marquee__track { display: flex; width: max-content; animation: vdk-marquee var(--vdk-marquee-duration, 28s) linear infinite; will-change: transform; }
.vdk-marquee[data-reverse="true"] .vdk-marquee__track { animation-direction: reverse; }
.vdk-marquee:hover .vdk-marquee__track { animation-play-state: paused; }
.vdk-marquee__group { display: flex; align-items: center; flex-shrink: 0; }
.vdk-marquee__item { padding: 0 17px; letter-spacing: -.025em; font-size: clamp(16px, 1.4vw, 21px); }
.vdk-marquee__sep { padding: 0 3px; font-family: var(--vdk-editorial); font-style: italic; }
@keyframes vdk-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* SECTION HEADING */
.vdk-section-head { display: grid; grid-template-columns: minmax(170px,.32fr) minmax(0,1fr); gap: clamp(28px,7vw,120px); padding: clamp(46px,8vw,116px) 0; border-top: 1px solid; }
.vdk-section-head__meta { display: flex; gap: 18px; align-items: flex-start; }
.vdk-section-head__number { min-width: 30px; font-family: var(--vdk-editorial); font-style: italic; font-size: 16px; letter-spacing: 0; }
.vdk-section-head__main { max-width: 1080px; }
.vdk-section-head h2 { margin: 0; font-size: clamp(46px,6.6vw,104px); line-height: .92; letter-spacing: -.06em; font-weight: 500; text-wrap: balance; }
.vdk-section-head__text { max-width: 620px; margin-top: 34px; font-size: clamp(16px,1.3vw,19px); line-height: 1.58; }
.vdk-section-head__text p:last-child { margin-bottom: 0; }

/* SERVICES */
.vdk-services { width: 100%; position: relative; }
.vdk-service { border-top: 1px solid; position: relative; isolation: isolate; }
.vdk-service:last-child { border-bottom: 1px solid; }
.vdk-service__head { appearance: none; width: 100%; border: 0; background: transparent; color: inherit; display: grid; grid-template-columns: 76px 1fr 50px; align-items: center; gap: 24px; padding: clamp(25px,3.5vw,52px) 0; text-align: left; cursor: pointer; position: relative; z-index: 3; }
.vdk-service__head:disabled { cursor: default; }
.vdk-service__number { font-family: var(--vdk-editorial); font-style: italic; font-size: 18px; font-weight: 400; }
.vdk-service__name { display: flex; align-items: baseline; justify-content: space-between; gap: 28px; min-width: 0; }
.vdk-service__title { font-size: clamp(36px,5.5vw,84px); line-height: .94; letter-spacing: -.052em; transition: transform .3s ease; }
.vdk-service__micro { flex: 0 0 auto; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.vdk-service:hover .vdk-service__title { transform: translateX(8px); }
.vdk-service__plus { width: 40px; height: 40px; border: 1px solid; border-radius: 50%; display: grid; place-items: center; font-size: 20px; transition: transform .25s ease, background .25s ease; }
.vdk-service.is-open .vdk-service__plus { transform: rotate(45deg); }
.vdk-service__body { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(30px,5vw,84px); max-height: 0; overflow: hidden; opacity: 0; transition: max-height .5s ease, opacity .35s ease, padding .35s ease; }
.vdk-service.is-open .vdk-service__body { max-height: 980px; opacity: 1; padding: 0 0 clamp(36px,5vw,82px) 100px; }
.vdk-service__copy { align-self: end; font-size: 17px; line-height: 1.58; max-width: 430px; }
.vdk-service__copy p { margin-top: 0; }
.vdk-service__copy a { color: inherit; font-weight: 700; text-decoration: none; display: inline-flex; gap: 20px; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.vdk-service__image { min-height: 320px; }
.vdk-service__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vdk-service__hover { position: absolute; width: clamp(190px,22vw,350px); aspect-ratio: 4/3; right: 8%; top: 50%; z-index: 2; overflow: hidden; opacity: 0; transform: translateY(-50%) rotate(2deg) scale(.94); transition: opacity .28s ease, transform .35s cubic-bezier(.2,.7,.2,1); pointer-events: none; box-shadow: 0 25px 70px rgba(0,0,0,.16); }
.vdk-service__hover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vdk-service:not(.is-open):hover .vdk-service__hover { opacity: 1; transform: translateY(-50%) rotate(-1deg) scale(1); }

/* PROJECT GRID */
.vdk-projects { display: grid; gap: clamp(26px,3vw,46px); }
.vdk-projects--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.vdk-projects--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.vdk-project { color: inherit !important; text-decoration: none !important; display: block; min-width: 0; }
.vdk-project__media { aspect-ratio: 4/5; overflow: hidden; background: #ddd6c8; position: relative; }
.vdk-project--tall .vdk-project__media { aspect-ratio: 4/6; }
.vdk-project__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .65s cubic-bezier(.2,.7,.2,1), opacity .5s ease; }
.vdk-project__image--hover { opacity: 0; transform: scale(1.04); }
.vdk-project:hover .vdk-project__image--base { transform: scale(1.025); }
.vdk-project:hover .vdk-project__image--hover { opacity: 1; transform: scale(1); }
.vdk-project__number { position: absolute; top: 14px; right: 14px; z-index: 3; width: 38px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: rgba(242,239,231,.92); color: var(--vdk-ink); font-family: var(--vdk-editorial); font-style: italic; font-size: 13px; }
.vdk-project__rail { position: absolute; left: 13px; bottom: 14px; z-index: 3; writing-mode: vertical-rl; transform: rotate(180deg); color: #fff !important; mix-blend-mode: difference; font-size: 9px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.vdk-project__caption { padding-top: 15px; }
.vdk-project__caption h3 { margin: 0; font-size: clamp(22px,2.3vw,34px); line-height: 1; letter-spacing: -.04em; font-weight: 500; }
.vdk-projects--title-large .vdk-project__caption h3 { font-size: clamp(28px,3.2vw,50px); line-height: .94; letter-spacing: -.052em; }
.vdk-project__meta { margin-top: 9px; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.vdk-project__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#ddd5c6,#bdb3a2); }

/* FULLSCREEN PROJECT */
.vdk-project-intro { position: relative; min-height: 92vh; display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; background-image: var(--vdk-project-bg); background-size: cover; background-position: center; padding: clamp(30px,5vw,76px); }
.vdk-project-intro::after { content:""; position:absolute; inset:0; z-index:-1; background:rgba(17,17,14,.3); }
.vdk-project-intro::before { content:""; position:absolute; inset:0; z-index:-2; background-image:var(--vdk-project-bg); background-size:cover; background-position:center; transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.vdk-project-intro:hover::before { transform: scale(1.025); }
.vdk-project-intro__content { width: 100%; position: relative; z-index: 2; }
.vdk-project-intro__eyebrow { margin-bottom: 24px; }
.vdk-project-intro h2 { margin: 0; max-width: 9ch; font-size: clamp(70px,12vw,190px); line-height: .76; letter-spacing: -.078em; font-weight: 500; text-wrap: balance; }
.vdk-project-intro__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-top: clamp(38px,6vw,84px); padding-top: 17px; border-top: 1px solid rgba(255,255,255,.5); }
.vdk-project-intro__meta { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.vdk-project-intro__link { color: inherit !important; text-decoration: none !important; display: inline-flex; gap: 34px; font-weight: 700; font-size: 13px; }
.vdk-project-intro__rail { position:absolute; right:18px; top:26px; z-index:3; display:flex; gap:28px; writing-mode:vertical-rl; font-size:9px; letter-spacing:.16em; text-transform:uppercase; font-weight:800; }
.vdk-project-intro__number { font-family:var(--vdk-editorial); }

/* SPLIT */
.vdk-split { display: grid; grid-template-columns: 1.06fr .94fr; min-height: 760px; overflow: hidden; }
.vdk-split--right .vdk-split__media { order: 2; }
.vdk-split--right .vdk-split__copy { order: 1; }
.vdk-split__media { overflow: hidden; min-height: 620px; position: relative; }
.vdk-split__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.vdk-split:hover .vdk-split__media img { transform: scale(1.018); }
.vdk-split__copy { padding: clamp(42px,6vw,104px); display: flex; flex-direction: column; justify-content: center; }
.vdk-split__label { margin-bottom: 58px; }
.vdk-split h2 { margin: 0; font-size: clamp(50px,6.5vw,96px); line-height: .91; letter-spacing: -.062em; font-weight: 500; text-wrap: balance; }
.vdk-split__text { max-width: 540px; margin-top: 34px; font-size: 17px; line-height: 1.6; }
.vdk-split__quote { margin: 48px 0 0; padding: 22px 0 0; border-top: 1px solid; font-family: var(--vdk-editorial); font-size: clamp(19px,1.8vw,27px); line-height: 1.35; font-style: italic; }

/* TRUST */
.vdk-trust-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top:1px solid var(--vdk-line); border-bottom:1px solid var(--vdk-line); }
.vdk-trust-item { padding: clamp(26px,3.2vw,48px); border-right: 1px solid; }
.vdk-trust-item:last-child { border-right: 0; }
.vdk-trust-item strong { display: block; font-size: clamp(28px,3vw,46px); line-height: .95; letter-spacing: -.045em; font-weight: 500; }
.vdk-trust-item span { display: block; margin-top: 11px; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; opacity: .68; }

/* MASTER SIGNATURE */
.vdk-master-signature { min-height: 520px; display: grid; grid-template-columns: minmax(260px,.7fr) minmax(0,1fr); align-items: center; gap: clamp(40px,8vw,130px); padding: clamp(42px,7vw,110px); }
.vdk-master-signature p { max-width: 710px; margin: 0; font-family: var(--vdk-editorial); font-style: italic; font-size: clamp(34px,4.5vw,72px); line-height: 1.03; letter-spacing: -.035em; }
.vdk-master-seal { width: min(330px,74vw); aspect-ratio: 1; border-radius: 50%; position: relative; display: grid; place-items: center; }
.vdk-master-seal__ring { position:absolute; inset:0; border:1px solid; border-radius:50%; }
.vdk-master-seal__ring::after { content:""; position:absolute; inset:14px; border:1px solid currentColor; opacity:.35; border-radius:50%; }
.vdk-master-seal__copy { position:absolute; left:50%; transform:translateX(-50%); width:92%; text-align:center; font-size:11px; letter-spacing:.17em; font-weight:800; }
.vdk-master-seal__copy--top { top:52px; }
.vdk-master-seal__copy--bottom { bottom:52px; font-size:9px; }
.vdk-master-seal__center { font-family:var(--vdk-editorial); font-style:italic; font-size:clamp(98px,12vw,150px); font-weight:400; line-height:1; }
.vdk-master-seal__cross { position:absolute; width:78px; height:78px; border-top:1px solid; border-bottom:1px solid; transform:rotate(45deg); opacity:.35; }

/* COLOR */
.vdk-color-story { padding: clamp(46px,7vw,108px); }
.vdk-color-story__copy { display: grid; grid-template-columns: .35fr 1fr .62fr; gap: clamp(26px,5vw,84px); align-items: start; }
.vdk-color-story h2 { margin: 0; font-size: clamp(48px,5.8vw,88px); line-height: .93; letter-spacing: -.056em; font-weight: 500; }
.vdk-color-story p { margin: 0; font-size: 17px; line-height: 1.6; max-width: 430px; }
.vdk-swatches { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-top: clamp(48px,7vw,100px); }
.vdk-swatch { min-width: 0; }
.vdk-swatch__color { display: block; width: 100%; aspect-ratio: 1/1.28; background: var(--vdk-swatch); transition: transform .3s ease; transform-origin: bottom center; }
.vdk-swatch:hover .vdk-swatch__color { transform: translateY(-8px); }
.vdk-swatch__name { display: block; margin-top: 11px; font-size: 10px; text-transform: uppercase; letter-spacing: .11em; }

/* MANIFESTO */
.vdk-manifesto { padding: clamp(48px,8vw,126px); display:grid; grid-template-columns:.28fr 1fr; gap:clamp(34px,7vw,120px); align-items:start; }
.vdk-manifesto__label { text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:700; padding-top:12px; }
.vdk-manifesto__statement { margin:0; max-width:1200px; font-size:clamp(52px,7.5vw,120px); line-height:.91; letter-spacing:-.064em; font-weight:500; }
.vdk-manifesto__accent { grid-column:2; margin-top:clamp(35px,6vw,80px); font-family:var(--vdk-editorial); font-style:italic; font-size:clamp(24px,2.4vw,38px); }

/* QUOTE CTA */
.vdk-quote-cta { padding: clamp(44px,7vw,106px); overflow:hidden; }
.vdk-quote-cta__topline { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:clamp(68px,10vw,158px); }
.vdk-quote-cta__badge { width:90px; height:90px; border-radius:50%; display:grid; place-items:center; border:1px solid currentColor; font-family:var(--vdk-editorial); font-style:italic; font-size:13px; transform:rotate(-7deg); }
.vdk-quote-cta__grid { display:grid; grid-template-columns:1.28fr .72fr; gap:clamp(42px,7vw,124px); align-items:end; }
.vdk-quote-cta h2 { margin:0; font-size:clamp(54px,7.7vw,122px); line-height:.87; letter-spacing:-.068em; font-weight:500; max-width:10ch; text-wrap:balance; }
.vdk-quote-cta__side p { font-size:18px; line-height:1.58; max-width:520px; }
.vdk-quote-cta__button { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-width:250px; margin-top:22px; padding:17px 22px; color:#fff !important; text-decoration:none !important; border-radius:999px; font-weight:700; }
.vdk-quote-cta__side small { display:block; margin-top:17px; opacity:.78; line-height:1.45; font-size:11px; letter-spacing:.04em; }

/* FLOATING QUOTE */
.vdk-floating-quote { position:fixed; right:22px; bottom:22px; z-index:9997; display:flex; align-items:center; gap:13px; min-width:244px; padding:13px 16px; border-radius:999px; text-decoration:none !important; box-shadow:0 18px 44px rgba(0,0,0,.18); transition:transform .25s ease, box-shadow .25s ease; }
.vdk-floating-quote:hover { transform:translateY(-3px); box-shadow:0 22px 54px rgba(0,0,0,.23); }
.vdk-floating-quote__dot { width:9px; height:9px; border-radius:50%; flex:none; }
.vdk-floating-quote span { display:block; flex:1; line-height:1.1; }
.vdk-floating-quote strong { display:block; font-size:13px; }
.vdk-floating-quote small { display:block; margin-top:4px; font-size:9px; opacity:.72; letter-spacing:.035em; }
.vdk-floating-quote b { font-size:16px; font-weight:400; }


/* PROJECT FEATURE */
.vdk-project-feature { position:relative; overflow:hidden; }
.vdk-project-feature--editorial { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); min-height:720px; }
.vdk-project-feature--image-left .vdk-project-feature__media { order:1; }
.vdk-project-feature--image-left .vdk-project-feature__copy { order:2; }
.vdk-project-feature__copy { padding:clamp(42px,6.8vw,108px); display:flex; flex-direction:column; justify-content:center; }
.vdk-project-feature__eyebrow { text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:800; margin-bottom:clamp(46px,7vw,100px); }
.vdk-project-feature h2 { margin:0; font-size:clamp(52px,6.6vw,104px); line-height:.89; letter-spacing:-.064em; font-weight:500; text-wrap:balance; }
.vdk-project-feature__copy > p { max-width:520px; margin:clamp(28px,3vw,44px) 0 0; font-size:17px; line-height:1.58; }
.vdk-project-feature__foot { margin-top:auto; padding-top:clamp(54px,7vw,100px); display:flex; justify-content:space-between; align-items:flex-end; gap:30px; border-top:1px solid rgba(255,255,255,.18); }
.vdk-project-feature__meta { font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.vdk-project-feature__link { color:inherit !important; text-decoration:none !important; display:inline-flex; align-items:center; gap:28px; padding-bottom:6px; border-bottom:1px solid currentColor; font-size:12px; font-weight:700; }
.vdk-project-feature__media { min-height:720px; position:relative; overflow:hidden; }
.vdk-project-feature__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.vdk-project-feature--editorial:hover .vdk-project-feature__media img { transform:scale(1.018); }
.vdk-project-feature--full { min-height:88vh; display:flex; align-items:flex-end; padding:clamp(30px,5vw,76px); isolation:isolate; background-image:var(--vdk-feature-bg); background-size:cover; background-position:center; }
.vdk-project-feature--full::before { content:""; position:absolute; inset:0; z-index:-2; background-image:var(--vdk-feature-bg); background-size:cover; background-position:center; transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.vdk-project-feature--full::after { content:""; position:absolute; inset:0; z-index:-1; }
.vdk-project-feature--full:hover::before { transform:scale(1.022); }
.vdk-project-feature__full-copy { width:100%; }
.vdk-project-feature--full h2 { max-width:10ch; font-size:clamp(60px,8.4vw,138px); line-height:.84; letter-spacing:-.072em; }
.vdk-project-feature__full-foot { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(160px,.35fr) auto; gap:clamp(24px,5vw,70px); align-items:end; margin-top:clamp(40px,8vw,110px); padding-top:22px; border-top:1px solid rgba(255,255,255,.35); }
.vdk-project-feature__full-foot p { margin:0; max-width:560px; font-size:16px; line-height:1.55; }

/* PROJECT CASE */
.vdk-project-case { padding:clamp(42px,7vw,112px); }
.vdk-project-case__header { display:grid; grid-template-columns:minmax(130px,.25fr) minmax(0,1fr) minmax(230px,.38fr); gap:clamp(28px,6vw,96px); align-items:start; padding-bottom:clamp(52px,7vw,100px); border-bottom:1px solid var(--vdk-line); }
.vdk-project-case__index { display:flex; align-items:flex-start; gap:16px; }
.vdk-project-case__index > span:first-child { font-family:var(--vdk-editorial); font-style:italic; font-size:22px; line-height:1; }
.vdk-project-case__eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:800; line-height:1.35; }
.vdk-project-case__headline h2 { margin:0; max-width:10ch; font-size:clamp(46px,6.1vw,94px); line-height:.9; letter-spacing:-.061em; font-weight:500; }
.vdk-project-case__headline p { margin:30px 0 0; max-width:650px; font-size:17px; line-height:1.62; }
.vdk-project-case__facts { display:grid; gap:22px; padding-top:4px; }
.vdk-project-case__facts > div { display:grid; grid-template-columns:72px 1fr; gap:18px; padding-bottom:16px; border-bottom:1px solid var(--vdk-line); }
.vdk-project-case__facts span { text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.14em; }
.vdk-project-case__facts strong { font-size:13px; line-height:1.35; font-weight:500; color:inherit; }
.vdk-project-case__gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(18px,2.4vw,36px); padding-top:clamp(40px,6vw,86px); align-items:start; }
.vdk-case-shot { margin:0; grid-column:span 5; }
.vdk-case-shot--normal:nth-child(even) { grid-column:span 6; }
.vdk-case-shot--wide { grid-column:span 7; }
.vdk-case-shot--tall { grid-column:span 5; }
.vdk-case-shot--hero { grid-column:1 / -1; }
.vdk-case-shot__media { position:relative; overflow:hidden; background:#ddd6c8; aspect-ratio:4/3; }
.vdk-case-shot--tall .vdk-case-shot__media { aspect-ratio:4/5.2; }
.vdk-case-shot--hero .vdk-case-shot__media { aspect-ratio:16/9; }
.vdk-case-shot--wide .vdk-case-shot__media { aspect-ratio:3/2; }
.vdk-case-shot__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.vdk-case-shot:hover img { transform:scale(1.015); }
.vdk-case-shot__label { position:absolute; left:14px; top:14px; z-index:3; padding:8px 10px; background:rgba(242,239,231,.93); color:var(--vdk-ink) !important; font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.vdk-case-shot__caption { margin-top:11px; font-size:11px; line-height:1.45; letter-spacing:.02em; }
.vdk-case-shot__placeholder { width:100%; height:100%; background:linear-gradient(135deg,#ddd5c6,#bdb3a2); }

@media (prefers-reduced-motion: reduce) {
  .vdk-marquee__track { animation:none; }
  .vdk-js [data-vdk-reveal] { opacity:1; transform:none; transition:none; }
  .vdk-js [data-vdk-reveal] .vdk-media-reveal::after,
  .vdk-js .vdk-media-reveal[data-vdk-reveal]::before { display:none; }
}

@media (max-width: 1024px) {
  .vdk-hero { grid-template-columns:1fr; min-height:auto !important; }
  .vdk-hero__media { min-height:66vw; }
  .vdk-hero__title { max-width:11ch; }
  .vdk-section-head { grid-template-columns:1fr; gap:34px; }
  .vdk-service__micro { display:none; }
  .vdk-service.is-open .vdk-service__body { padding-left:0; }
  .vdk-service__body { grid-template-columns:1fr 1fr; }
  .vdk-service__hover { display:none; }
  .vdk-projects--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vdk-project-intro h2 { font-size:clamp(70px,14vw,130px); }
  .vdk-split { grid-template-columns:1fr; }
  .vdk-split--right .vdk-split__media, .vdk-split--right .vdk-split__copy { order:initial; }
  .vdk-split__media { min-height:68vw; }
  .vdk-color-story__copy { grid-template-columns:1fr; }
  .vdk-swatches { grid-template-columns:repeat(5,minmax(105px,1fr)); overflow-x:auto; }
  .vdk-manifesto { grid-template-columns:1fr; }
  .vdk-manifesto__accent { grid-column:1; }
  .vdk-master-signature { grid-template-columns:1fr; }
  .vdk-quote-cta__grid { grid-template-columns:1fr; }
  .vdk-project-feature--editorial { grid-template-columns:1fr; min-height:0; }
  .vdk-project-feature__media { min-height:62vw; }
  .vdk-project-feature--image-left .vdk-project-feature__media, .vdk-project-feature--image-left .vdk-project-feature__copy { order:initial; }
  .vdk-project-feature__full-foot { grid-template-columns:1fr 1fr; }
  .vdk-project-feature__full-foot .vdk-project-feature__link { justify-self:end; }
  .vdk-project-case__header { grid-template-columns:1fr; }
  .vdk-project-case__headline h2 { max-width:13ch; }
  .vdk-case-shot, .vdk-case-shot--normal:nth-child(even), .vdk-case-shot--wide, .vdk-case-shot--tall { grid-column:span 6; }
}

@media (max-width: 767px) {
  .vdk-hero { padding:22px; }
  .vdk-hero__title { font-size:clamp(52px,17vw,84px); line-height:.84; }
  .vdk-kicker { margin-bottom:48px; }
  .vdk-hero__media { min-height:118vw; }
  .vdk-hero__seal { width:106px; right:13px; bottom:13px; }
  .vdk-hero__seal-top { top:20px; font-size:6px; }
  .vdk-hero__seal-bottom { bottom:20px; font-size:6px; }
  .vdk-hero__seal-mark { font-size:44px; }
  .vdk-actions { flex-direction:column; align-items:stretch; }
  .vdk-button { width:100%; }
  .vdk-hero__trust { flex-direction:column; gap:10px; }
  .vdk-section-head { padding:50px 0; }
  .vdk-section-head__meta { justify-content:space-between; }
  .vdk-section-head h2 { font-size:clamp(40px,13vw,66px); }
  .vdk-service__head { grid-template-columns:38px 1fr 34px; gap:11px; }
  .vdk-service__title { font-size:clamp(31px,10vw,50px); }
  .vdk-service__plus { width:32px; height:32px; }
  .vdk-service__body { grid-template-columns:1fr; }
  .vdk-service__image { min-height:70vw; }
  .vdk-projects--2, .vdk-projects--3 { grid-template-columns:1fr; }
  .vdk-project--tall .vdk-project__media, .vdk-project__media { aspect-ratio:4/5; }
  .vdk-projects--title-large .vdk-project__caption h3 { font-size:clamp(32px,10vw,52px); }
  .vdk-project-intro { min-height:82vh !important; padding:22px; }
  .vdk-project-intro h2 { font-size:clamp(62px,19vw,98px); line-height:.79; }
  .vdk-project-intro__foot { align-items:flex-start; flex-direction:column; }
  .vdk-project-intro__rail { display:none; }
  .vdk-split__copy { padding:36px 23px 50px; }
  .vdk-split h2 { font-size:clamp(44px,13vw,68px); }
  .vdk-trust-strip { grid-template-columns:1fr; }
  .vdk-trust-item { border-right:0; border-bottom:1px solid; }
  .vdk-trust-item:last-child { border-bottom:0; }
  .vdk-master-signature { padding:44px 24px 60px; min-height:0; }
  .vdk-master-signature p { font-size:clamp(31px,10vw,48px); }
  .vdk-color-story { padding:40px 23px; }
  .vdk-swatches { grid-template-columns:repeat(5,112px); }
  .vdk-manifesto { padding:48px 23px 68px; }
  .vdk-manifesto__statement { font-size:clamp(44px,13vw,70px); }
  .vdk-quote-cta { padding:38px 23px 50px; }
  .vdk-quote-cta__topline { margin-bottom:74px; }
  .vdk-quote-cta h2 { font-size:clamp(46px,14vw,72px); }
  .vdk-floating-quote { left:12px; right:12px; bottom:12px; min-width:0; justify-content:center; }
  .vdk-floating-quote--hide-mobile { display:none !important; }
  .vdk-project-feature__copy { padding:44px 23px 56px; }
  .vdk-project-feature__eyebrow { margin-bottom:52px; }
  .vdk-project-feature__media { min-height:112vw; }
  .vdk-project-feature--full { min-height:80vh; padding:24px; }
  .vdk-project-feature--full h2 { font-size:clamp(52px,16vw,82px); }
  .vdk-project-feature__full-foot { grid-template-columns:1fr; gap:18px; margin-top:52px; }
  .vdk-project-feature__full-foot .vdk-project-feature__link { justify-self:start; }
  .vdk-project-feature__foot { flex-direction:column; align-items:flex-start; }
  .vdk-project-case { padding:44px 23px 64px; }
  .vdk-project-case__headline h2 { font-size:clamp(44px,13vw,68px); }
  .vdk-project-case__facts > div { grid-template-columns:64px 1fr; }
  .vdk-project-case__gallery { grid-template-columns:1fr; }
  .vdk-case-shot, .vdk-case-shot--normal:nth-child(even), .vdk-case-shot--wide, .vdk-case-shot--tall, .vdk-case-shot--hero { grid-column:1; }
  .vdk-case-shot__media, .vdk-case-shot--wide .vdk-case-shot__media, .vdk-case-shot--hero .vdk-case-shot__media { aspect-ratio:4/3; }
  .vdk-case-shot--tall .vdk-case-shot__media { aspect-ratio:4/5; }
}

.vdk-master-seal { transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.vdk-master-signature:hover .vdk-master-seal { transform: rotate(-2deg); }

/* SITE HEADER */
.vdk-site-header{position:relative;z-index:999;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(24px,4vw,64px);padding:14px clamp(20px,3.5vw,54px);border-bottom:1px solid rgba(23,23,19,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:var(--vdk-display)}
.vdk-site-header__brand{display:inline-flex;flex-direction:column;color:inherit!important;text-decoration:none!important;line-height:1}
.vdk-site-header__brand strong{font-size:16px;letter-spacing:.12em;font-weight:700}.vdk-site-header__brand span{font-size:8px;letter-spacing:.31em;margin-top:5px;font-weight:700;opacity:.68}
.vdk-site-header__nav{display:flex;justify-content:center;gap:clamp(18px,2.4vw,38px)}.vdk-site-header__nav a{color:inherit!important;text-decoration:none!important;font-size:12px;font-weight:650;position:relative;padding:10px 0}.vdk-site-header__nav a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:currentColor;transition:right .25s ease}.vdk-site-header__nav a:hover:after{right:0}
.vdk-site-header__actions{display:flex;align-items:center;gap:16px}.vdk-site-header__actions small{max-width:120px;font-size:9px;line-height:1.25;opacity:.65;text-align:right}.vdk-site-header__cta{display:inline-flex;align-items:center;gap:28px;border-radius:999px;padding:13px 17px;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:750;white-space:nowrap}
.vdk-site-header__toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:10px;cursor:pointer}.vdk-site-header__toggle span{display:block;height:1px;background:currentColor;margin:6px 0;transition:.25s ease}
.elementor-location-header{position:sticky;top:0;z-index:9998}

/* SITE FOOTER */
.vdk-site-footer{padding:clamp(52px,7vw,110px) clamp(22px,5.5vw,88px) 28px;font-family:var(--vdk-display)}
.vdk-site-footer__top{display:grid;grid-template-columns:minmax(240px,.5fr) minmax(0,1fr);gap:clamp(46px,9vw,150px);padding-bottom:clamp(70px,9vw,140px)}
.vdk-site-footer__brand{display:inline-flex;flex-direction:column;color:inherit!important;text-decoration:none!important;line-height:1}.vdk-site-footer__brand strong{font-size:20px;letter-spacing:.12em}.vdk-site-footer__brand span{font-size:9px;letter-spacing:.32em;margin-top:7px;font-weight:800}.vdk-site-footer__top>div:first-child p{max-width:360px;margin:32px 0 0;opacity:.72;font-size:14px;line-height:1.6}
.vdk-site-footer__headline h2{margin:20px 0 0;max-width:11ch;font-size:clamp(52px,7.4vw,118px);line-height:.86;letter-spacing:-.067em;font-weight:500}.vdk-site-footer__kicker{font-size:9px;letter-spacing:.16em;font-weight:800}
.vdk-site-footer__bottom{display:grid;grid-template-columns:1fr auto minmax(230px,.65fr);gap:32px;border-top:1px solid rgba(255,255,255,.18);padding-top:22px;align-items:start}.vdk-site-footer__nav,.vdk-site-footer__contact{display:flex;flex-wrap:wrap;gap:12px 22px}.vdk-site-footer__nav a,.vdk-site-footer__contact a{color:inherit!important;text-decoration:none!important;font-size:11px}.vdk-site-footer__copy{text-align:right;font-size:10px;line-height:1.6;opacity:.7}.vdk-site-footer__copy span{opacity:.75}

/* CONTACT / QUOTE FORM */
.vdk-contact-form{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,7vw,118px);padding:clamp(46px,7vw,112px)}
.vdk-contact-form__intro>span{text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:800}.vdk-contact-form__intro h2{margin:32px 0 0;font-size:clamp(48px,6.3vw,98px);line-height:.88;letter-spacing:-.062em;font-weight:500;max-width:9ch}.vdk-contact-form__intro p{margin:34px 0 0;max-width:520px;font-size:17px;line-height:1.6;opacity:.72}
.vdk-contact-form__panel form{display:grid;gap:24px}.vdk-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vdk-contact-form label{display:grid;gap:8px}.vdk-contact-form label>span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.vdk-contact-form input,.vdk-contact-form textarea,.vdk-contact-form select{width:100%;border:0;border-bottom:1px solid rgba(23,23,19,.33);border-radius:0;background:transparent;padding:12px 0 13px;color:inherit;font:inherit;outline:none}.vdk-contact-form textarea{resize:vertical}.vdk-contact-form input:focus,.vdk-contact-form textarea:focus,.vdk-contact-form select:focus{border-color:currentColor}.vdk-contact-form button{border:0;border-radius:999px;color:#fff;min-height:54px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;cursor:pointer;margin-top:8px}.vdk-contact-form small{font-size:10px;line-height:1.5;opacity:.62}.vdk-contact-form__notice{padding:13px 15px;border:1px solid currentColor;margin-bottom:24px;font-size:13px}.vdk-contact-form__notice.is-error{border-style:dashed}.vdk-contact-form__hp{position:absolute!important;left:-9999px!important}

/* Generic starter page utility classes */
.vdk-starter-copy{padding:clamp(46px,7vw,110px);font-family:var(--vdk-display);color:var(--vdk-ink)}.vdk-starter-copy--dark{background:var(--vdk-ink);color:var(--vdk-paper)}.vdk-starter-copy__grid{display:grid;grid-template-columns:minmax(170px,.3fr) minmax(0,1fr);gap:clamp(32px,8vw,130px)}.vdk-starter-copy h2{margin:0;font-size:clamp(45px,6.3vw,98px);line-height:.9;letter-spacing:-.06em;font-weight:500}.vdk-starter-copy p{font-size:17px;line-height:1.62;max-width:720px}.vdk-starter-copy__kicker{text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:800}

@media(max-width:1024px){.vdk-site-header{grid-template-columns:auto auto;justify-content:space-between}.vdk-site-header__toggle{display:block}.vdk-site-header__nav,.vdk-site-header__actions small{display:none}.vdk-site-header__actions{position:absolute;right:74px}.vdk-site-header.is-open .vdk-site-header__nav{display:flex;position:absolute;left:0;right:0;top:100%;background:var(--vdk-paper);color:var(--vdk-ink);padding:28px;flex-direction:column;align-items:flex-start;border-top:1px solid var(--vdk-line);box-shadow:0 24px 50px rgba(0,0,0,.08)}.vdk-site-header.is-open .vdk-site-header__toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.vdk-site-header.is-open .vdk-site-header__toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.vdk-site-footer__top{grid-template-columns:1fr}.vdk-site-footer__bottom{grid-template-columns:1fr 1fr}.vdk-site-footer__copy{grid-column:1/-1;text-align:left}.vdk-contact-form{grid-template-columns:1fr}.vdk-starter-copy__grid{grid-template-columns:1fr}}
@media(max-width:767px){.vdk-site-header{padding:12px 16px}.vdk-site-header__actions{right:64px}.vdk-site-header__cta{padding:11px 13px}.vdk-site-header__cta span{display:none}.vdk-site-header__brand strong{font-size:13px}.vdk-site-header__brand span{font-size:6.5px}.vdk-site-footer{padding:58px 22px 24px}.vdk-site-footer__bottom{grid-template-columns:1fr}.vdk-site-footer__copy{grid-column:auto}.vdk-contact-form{padding:54px 22px}.vdk-contact-form__row{grid-template-columns:1fr}.vdk-starter-copy{padding:54px 22px}}


/* ==========================================================
   VDK 1.4 — compact art direction
   Minder lucht, neutralere typografie, groen accent en rustiger projectgrid.
   ========================================================== */
:root{
  --vdk-accent:#365044;
  --vdk-accent-soft:#708277;
}

.vdk-hero,.vdk-section-head,.vdk-services,.vdk-projects,.vdk-project-intro,.vdk-split,.vdk-trust-strip,
.vdk-master-signature,.vdk-color-story,.vdk-manifesto,.vdk-quote-cta,.vdk-marquee,.vdk-floating-quote,
.vdk-project-feature,.vdk-project-case,.vdk-site-header,.vdk-site-footer,.vdk-contact-form,.vdk-starter-copy{
  font-family:var(--vdk-display);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* strakker buttonsysteem */
.vdk-button,.vdk-quote-cta__button,.vdk-site-header__cta,.vdk-contact-form button,.vdk-floating-quote{
  border-radius:2px;
}
.vdk-button{min-height:48px;padding:0 18px;gap:20px;font-size:12px;}

/* hero */
.vdk-hero{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:clamp(24px,3vw,48px);padding:clamp(24px,3.6vw,54px);}
.vdk-kicker{margin-bottom:clamp(26px,3vw,46px);}
.vdk-hero__title{font-size:clamp(54px,7.1vw,116px);line-height:.88;letter-spacing:-.047em;font-weight:600;max-width:10ch;}
.vdk-hero__intro{margin-top:24px;font-size:clamp(16px,1.2vw,19px);line-height:1.5;max-width:500px;}
.vdk-actions{margin-top:24px;}
.vdk-hero__trust{margin-top:clamp(28px,3vw,44px);}
.vdk-hero__media{min-height:520px;}

/* sectiekoppen */
.vdk-section-head{grid-template-columns:minmax(150px,.27fr) minmax(0,1fr);gap:clamp(28px,5vw,76px);padding:clamp(38px,5vw,74px) 0;}
.vdk-section-head h2{font-size:clamp(42px,5vw,78px);line-height:.96;letter-spacing:-.043em;font-weight:600;max-width:14ch;}
.vdk-section-head__text{margin-top:22px;font-size:16px;line-height:1.55;}

/* diensten */
.vdk-service__head{grid-template-columns:58px 1fr 42px;gap:18px;padding:clamp(22px,2.4vw,34px) 0;}
.vdk-service__title{font-size:clamp(32px,4.2vw,62px);line-height:.98;letter-spacing:-.04em;font-weight:600;}
.vdk-service__plus{width:36px;height:36px;}
.vdk-service.is-open .vdk-service__body{padding:0 0 clamp(30px,4vw,52px) 76px;}
.vdk-service__copy{font-size:16px;}
.vdk-service__image{min-height:280px;}

/* projectcards: één rustig raster, geen verticale rail/cirkel/bizarre hoogtes */
.vdk-projects{gap:clamp(18px,2vw,28px);}
.vdk-project__media,.vdk-project--tall .vdk-project__media{aspect-ratio:4/3;background:#dedbd3;}
.vdk-project__number,.vdk-project__rail{display:none!important;}
.vdk-project__image{transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .35s ease;}
.vdk-project:hover .vdk-project__image--base{transform:scale(1.012);}
.vdk-project__image--hover{transform:none;}
.vdk-project:hover .vdk-project__image--hover{transform:none;}
.vdk-project__caption{padding-top:12px;border-top:0;}
.vdk-project__topline{display:flex;align-items:center;gap:12px;margin-bottom:8px;color:var(--vdk-muted);}
.vdk-project__index{font-size:10px;line-height:1;letter-spacing:.08em;font-weight:700;}
.vdk-project__index::after{content:"";display:inline-block;width:20px;height:1px;margin-left:10px;vertical-align:middle;background:currentColor;opacity:.45;}
.vdk-project__meta{margin:0;font-size:9px;letter-spacing:.1em;line-height:1.3;}
.vdk-project__caption h3,.vdk-projects--title-large .vdk-project__caption h3{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0;font-size:clamp(22px,2vw,31px);line-height:1.08;letter-spacing:-.028em;font-weight:600;}
.vdk-project__caption h3 span{font-size:.62em;font-weight:400;padding-top:.18em;transition:transform .2s ease;}
.vdk-project:hover .vdk-project__caption h3 span{transform:translate(2px,-2px);}

/* grote beeldblokken compacter */
.vdk-project-feature--editorial{min-height:590px;}
.vdk-project-feature__copy{padding:clamp(38px,4.8vw,72px);}
.vdk-project-feature__eyebrow{margin-bottom:clamp(28px,3.5vw,48px);}
.vdk-project-feature h2{font-size:clamp(46px,5.2vw,78px);line-height:.94;letter-spacing:-.045em;font-weight:600;}
.vdk-project-feature__copy>p{margin-top:24px;font-size:16px;}
.vdk-project-feature__foot{padding-top:clamp(32px,4vw,50px);}
.vdk-project-feature__media{min-height:590px;}
.vdk-project-feature--full{min-height:76vh;}
.vdk-project-feature--full h2{font-size:clamp(54px,7vw,108px);line-height:.89;letter-spacing:-.05em;font-weight:600;}
.vdk-project-feature__full-foot{margin-top:clamp(34px,5vw,68px);}

.vdk-project-intro{min-height:78vh;padding:clamp(26px,4vw,56px);}
.vdk-project-intro h2{font-size:clamp(60px,9.2vw,142px);line-height:.83;letter-spacing:-.055em;font-weight:600;}
.vdk-project-intro__foot{margin-top:clamp(30px,4vw,52px);}

/* split, trust, kleur, manifesto, CTA */
.vdk-split{min-height:610px;}
.vdk-split__media{min-height:520px;}
.vdk-split__copy{padding:clamp(38px,4.8vw,72px);}
.vdk-split__label{margin-bottom:34px;}
.vdk-split h2{font-size:clamp(44px,5.2vw,76px);line-height:.95;letter-spacing:-.044em;font-weight:600;}
.vdk-split__text{margin-top:24px;font-size:16px;}
.vdk-split__quote{margin-top:30px;font-size:clamp(18px,1.5vw,24px);}
.vdk-trust-item{padding:clamp(20px,2.4vw,32px);}
.vdk-trust-item strong{font-size:clamp(24px,2.3vw,36px);line-height:1;letter-spacing:-.03em;font-weight:600;}
.vdk-master-signature{min-height:440px;padding:clamp(38px,5vw,74px);gap:clamp(34px,6vw,90px);}
.vdk-master-signature p{font-size:clamp(30px,3.5vw,54px);line-height:1.08;}
.vdk-color-story{padding:clamp(38px,5vw,72px);}
.vdk-color-story h2{font-size:clamp(42px,4.8vw,70px);line-height:.98;letter-spacing:-.042em;font-weight:600;}
.vdk-swatches{margin-top:clamp(34px,4vw,56px);}
.vdk-manifesto{padding:clamp(42px,5vw,76px);gap:clamp(28px,5vw,72px);}
.vdk-manifesto__statement{font-size:clamp(46px,5.6vw,86px);line-height:.95;letter-spacing:-.045em;font-weight:600;}
.vdk-manifesto__accent{margin-top:clamp(28px,3vw,44px);font-size:clamp(21px,2vw,30px);}
.vdk-quote-cta{padding:clamp(40px,5vw,76px);}
.vdk-quote-cta__topline{margin-bottom:clamp(46px,5vw,76px);}
.vdk-quote-cta h2{font-size:clamp(48px,5.8vw,88px);line-height:.93;letter-spacing:-.048em;font-weight:600;max-width:12ch;}
.vdk-quote-cta__grid{gap:clamp(34px,5vw,72px);}

/* cases */
.vdk-project-case{padding:clamp(40px,5vw,78px);}
.vdk-project-case__header{gap:clamp(26px,4.5vw,68px);padding-bottom:clamp(38px,4.5vw,64px);}
.vdk-project-case__headline h2{font-size:clamp(44px,5vw,76px);line-height:.95;letter-spacing:-.044em;font-weight:600;}
.vdk-project-case__headline p{margin-top:22px;font-size:16px;}
.vdk-project-case__gallery{gap:clamp(16px,1.8vw,26px);padding-top:clamp(34px,4vw,58px);}

/* formulieren / footer / losse startercopy */
.vdk-contact-form{gap:clamp(36px,5vw,76px);padding:clamp(40px,5vw,76px);}
.vdk-contact-form__intro h2{font-size:clamp(44px,5.2vw,78px);line-height:.95;letter-spacing:-.044em;font-weight:600;}
.vdk-site-footer{padding:clamp(46px,5vw,76px) clamp(22px,4vw,64px) 26px;}
.vdk-site-footer__top{gap:clamp(40px,6vw,90px);padding-bottom:clamp(48px,5vw,76px);}
.vdk-site-footer__headline h2{font-size:clamp(46px,5.6vw,86px);line-height:.93;letter-spacing:-.048em;font-weight:600;}
.vdk-starter-copy{padding:clamp(40px,5vw,76px);}
.vdk-starter-copy__grid{gap:clamp(28px,5vw,76px);}
.vdk-starter-copy h2{font-size:clamp(42px,5vw,74px);line-height:.96;letter-spacing:-.042em;font-weight:600;}
.vdk-starter-copy p{font-size:16px;line-height:1.58;}

@media(max-width:1024px){
  .vdk-hero__media{min-height:58vw;}
  .vdk-projects--3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vdk-project-feature__media{min-height:56vw;}
}
@media(max-width:767px){
  .vdk-hero{padding:18px;gap:18px;}
  .vdk-hero__title{font-size:clamp(46px,14vw,70px);line-height:.9;}
  .vdk-kicker{margin-bottom:28px;}
  .vdk-hero__media{min-height:104vw;}
  .vdk-section-head{padding:36px 0;gap:22px;}
  .vdk-section-head h2{font-size:clamp(36px,11vw,54px);}
  .vdk-service__title{font-size:clamp(29px,9vw,44px);}
  .vdk-projects--2,.vdk-projects--3{grid-template-columns:1fr;}
  .vdk-project__media{aspect-ratio:4/3;}
  .vdk-project-feature__copy{padding:34px 20px 42px;}
  .vdk-project-feature__media{min-height:92vw;}
  .vdk-project-feature--full{min-height:70vh;}
  .vdk-split__copy{padding:32px 20px 40px;}
  .vdk-color-story,.vdk-manifesto,.vdk-quote-cta,.vdk-project-case,.vdk-contact-form,.vdk-starter-copy{padding-left:20px;padding-right:20px;}
}


/* ==========================================================
   V1.5 — ART DIRECTION CLEANUP
   Rustiger, compacter, geen zij-nummers, geen Elementor-roze.
   ========================================================== */
:root{
  --vdk-content-max:1440px;
  --vdk-page-pad:clamp(24px,4vw,64px);
}

/* Elementor / theme button states must never leak the global #cc3366 accent into VDK widgets. */
.vdk-services .vdk-service__head,
.vdk-services .vdk-service__head:hover,
.vdk-services .vdk-service__head:focus,
.vdk-services .vdk-service__head:focus-visible,
.vdk-services .vdk-service__head:active{
  background:transparent!important;
  background-color:transparent!important;
  color:inherit!important;
  border:0!important;
  box-shadow:none!important;
  outline:none!important;
}

/* Shared content gutter — no text glued to the viewport edges. */
.vdk-section-head,
.vdk-services,
.vdk-projects,
.vdk-starter-copy{
  width:min(100%,var(--vdk-content-max));
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--vdk-page-pad);
  padding-right:var(--vdk-page-pad);
}

/* Section headings: one clean column. Side numbering is removed. */
.vdk-section-head{
  display:block;
  padding-top:clamp(40px,4.2vw,64px);
  padding-bottom:clamp(38px,4vw,60px);
  border-top:1px solid var(--vdk-line);
}
.vdk-section-head__meta{
  display:block;
  margin:0 0 15px;
}
.vdk-section-head__number{display:none!important;}
.vdk-section-head__eyebrow{
  display:block;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
}
.vdk-section-head__main{max-width:980px;}
.vdk-section-head h2{
  max-width:16ch;
  font-size:clamp(38px,4.1vw,64px);
  line-height:.99;
  letter-spacing:-.038em;
  font-weight:600;
}
.vdk-section-head__text{
  max-width:680px;
  margin-top:18px;
  font-size:16px;
  line-height:1.55;
}

/* Services: no left-side numbering, smaller titles, stable hover/focus behaviour. */
.vdk-services{padding-top:0;padding-bottom:0;}
.vdk-service__number{display:none!important;}
.vdk-service__head{
  grid-template-columns:minmax(0,1fr) 38px!important;
  gap:20px!important;
  padding:clamp(20px,2vw,28px) 0!important;
}
.vdk-service__name{gap:24px;}
.vdk-service__title{
  font-size:clamp(30px,3.2vw,48px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  font-weight:600!important;
}
.vdk-service:hover .vdk-service__title{transform:none;}
.vdk-service__micro{font-size:9px;letter-spacing:.11em;}
.vdk-service__plus{width:34px;height:34px;font-size:18px;}
.vdk-service.is-open .vdk-service__body{
  padding:0 0 clamp(28px,3vw,44px) 0!important;
  grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
  gap:clamp(28px,4vw,64px);
}
.vdk-service__hover{
  width:clamp(180px,20vw,300px);
  right:4%;
  box-shadow:0 18px 44px rgba(0,0,0,.12);
}

/* Trust strip: three equal proof points; compact and aligned. */
.vdk-trust-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
.vdk-trust-item{padding:clamp(22px,2.4vw,34px) var(--vdk-page-pad);}
.vdk-trust-item strong{font-size:clamp(24px,2.2vw,34px);}

/* Project cards: plain portfolio cards. No numbers, rails or busy hover choreography. */
.vdk-projects{gap:clamp(20px,2.2vw,32px);}
.vdk-project__media,.vdk-project--tall .vdk-project__media{aspect-ratio:16/10;}
.vdk-project__number,.vdk-project__rail,.vdk-project__index{display:none!important;}
.vdk-project__image--hover{display:none!important;}
.vdk-project:hover .vdk-project__image--base{transform:scale(1.008);}
.vdk-project__caption{padding-top:13px;}
.vdk-project__topline{margin:0 0 7px;}
.vdk-project__meta{font-size:9px;letter-spacing:.095em;}
.vdk-project__caption h3,.vdk-projects--title-large .vdk-project__caption h3{
  font-size:clamp(21px,1.8vw,29px);
  line-height:1.1;
  letter-spacing:-.025em;
}

/* Remove decorative side numbering/rails from project intros and project cases too. */
.vdk-project-intro__rail{display:none!important;}
.vdk-project-case__index > span:first-child{display:none!important;}
.vdk-project-case__header{
  grid-template-columns:minmax(0,1fr) minmax(250px,.42fr)!important;
  gap:clamp(36px,5vw,72px)!important;
}
.vdk-project-case__index{
  grid-column:1/-1;
  margin-bottom:-18px;
}
.vdk-project-case__headline h2{max-width:13ch;}

/* Work process: a compact readable four-step grid. */
.vdk-process{
  width:min(100%,var(--vdk-content-max));
  margin:0 auto;
  padding:0 var(--vdk-page-pad) clamp(50px,5vw,76px);
  font-family:var(--vdk-display);
  color:var(--vdk-ink);
}
.vdk-process__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--vdk-line);
  border-bottom:1px solid var(--vdk-line);
}
.vdk-process__item{
  padding:clamp(24px,2.6vw,38px) clamp(18px,2.2vw,30px);
  border-right:1px solid var(--vdk-line);
}
.vdk-process__item:first-child{padding-left:0;}
.vdk-process__item:last-child{border-right:0;padding-right:0;}
.vdk-process__item small{
  display:block;
  margin-bottom:14px;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--vdk-accent);
}
.vdk-process__item h3{
  margin:0;
  font-size:clamp(22px,2vw,30px);
  line-height:1.08;
  letter-spacing:-.025em;
  font-weight:600;
}
.vdk-process__item p{
  margin:12px 0 0;
  font-size:15px;
  line-height:1.52;
  color:var(--vdk-muted);
}

/* The colour swatch block remains available as a widget, but starter layouts no longer use it. */

@media(max-width:1024px){
  .vdk-process__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vdk-process__item:nth-child(2){border-right:0;}
  .vdk-process__item:nth-child(-n+2){border-bottom:1px solid var(--vdk-line);}
  .vdk-project-case__header{grid-template-columns:1fr!important;}
  .vdk-project-case__index{grid-column:auto;margin-bottom:0;}
}
@media(max-width:767px){
  :root{--vdk-page-pad:20px;}
  .vdk-section-head{padding-top:34px;padding-bottom:32px;}
  .vdk-section-head h2{font-size:clamp(34px,10vw,48px);}
  .vdk-service__head{grid-template-columns:minmax(0,1fr) 32px!important;gap:12px!important;}
  .vdk-service__micro{display:none;}
  .vdk-service.is-open .vdk-service__body{grid-template-columns:1fr;}
  .vdk-trust-strip{grid-template-columns:1fr;}
  .vdk-trust-item{border-right:0;border-bottom:1px solid var(--vdk-line);}
  .vdk-trust-item:last-child{border-bottom:0;}
  .vdk-process__grid{grid-template-columns:1fr;}
  .vdk-process__item,.vdk-process__item:first-child,.vdk-process__item:last-child{
    padding:22px 0;
    border-right:0;
    border-bottom:1px solid var(--vdk-line);
  }
  .vdk-process__item:last-child{border-bottom:0;}
}

.vdk-hero__vertical{display:none!important;}
