.section-logo-showcase {
	background-color: var(--colors--cream);
	color: var(--colors--linear-two);
	position: relative;
}

.works_project-slider .swiper-slide {
	transition: filter .15s ease, transform .15s ease;
	cursor: pointer;
}

.section_layout47 .text-h1,
.section_layout47 .heading-style-h3 {
	font-size: 2.5rem;
	line-height: 1;
}

.section_layout47 .layout47_item-list {
	padding-top: 0;
}

.section_layout47 .layout47_text-wrapper p {
	font-size: 1.25rem;
}

.works_image-modal.is-active {
	display: flex;
	opacity: 1;
}

.lightbox-frame {
	position: relative;
	display: inline-flex;
}

.lightbox-frame .works_modal-close {
	position: absolute;
	top: -4rem;
	right: -2rem;
}

.lightbox-nav {
	align-items: center;
	background: none;
	border: 0;
	color: #fff;
	cursor: pointer;
	display: flex;
	height: 3rem;
	justify-content: center;
	opacity: .7;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity .2s ease;
	width: 3rem;
	z-index: 2;
}

.lightbox-nav:hover {
	opacity: 1;
}

.lightbox-nav svg {
	filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .55));
	height: 2rem;
	width: 2rem;
}

.lightbox-nav-prev {
	left: 1rem;
}

.lightbox-nav-next {
	right: 1rem;
}

.lightbox-dots {
	bottom: -2.25rem;
	display: flex;
	gap: .5rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.lightbox-dot {
	background: rgba(255, 255, 255, .4);
	border-radius: 999px;
	height: .5rem;
	width: .5rem;
}

.lightbox-dot.is-active {
	background: #fff;
}

@media screen and (max-width: 767px) {
	.lightbox-nav {
		height: 2.5rem;
		width: 2.5rem;
	}

	.lightbox-nav-prev {
		left: .5rem;
	}

	.lightbox-nav-next {
		right: .5rem;
	}

	.lightbox-dots {
		bottom: 1rem;
	}
}

.works_lightbox-image {
	border-radius: 8px;
	overflow: hidden;
	width: auto;
	height: auto;
	max-width: 80vw;
	max-height: 70vh;
	display: block;
}

/* Optionele "Bezoek website"-knop per lightbox-afbeelding (Diverse Projecten).
   Overlay onderaan de afbeelding zelf, zodat hij nooit botst met de dots
   eronder (die op desktop buiten het frame vallen, op mobiel er net onder). */
.misc-lightbox-cta {
	align-items: center;
	background-color: rgba(16, 15, 15, .78);
	border-radius: 999px;
	bottom: 1.5rem;
	color: #fff;
	display: flex;
	font-size: .9rem;
	font-weight: 500;
	left: 50%;
	padding: .6rem 1.25rem;
	position: absolute;
	text-decoration: none;
	transform: translateX(-50%);
	transition: background-color .2s ease;
	white-space: nowrap;
	z-index: 3;
}

.misc-lightbox-cta:hover {
	background-color: var(--colors--washed-red);
}

@media screen and (max-width: 767px) {
	.misc-lightbox-cta {
		bottom: 3.25rem;
		font-size: .8rem;
		padding: .5rem 1rem;
	}
}

.section-hero-post .hero-intro-title {
	max-width: 65rem;
}

/* Aankondigingsbalk: vaste strook bovenaan, boven de (eveneens fixed) topnav en
   hamburgerknop. Beide krijgen een top-offset zodra de balk actief is, zodat er
   niets onder verdwijnt — zie body.has-announcement hieronder. */
.announcement-bar {
	align-items: center;
	background-color: var(--colors--charcoal, #100f0f);
	color: var(--colors--cream, #f7f1e3);
	column-gap: 1rem;
	display: flex;
	justify-content: center;
	left: 0;
	min-height: 2.75rem;
	padding: .6rem 3rem;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 10001;
}

.announcement-bar_inner {
	align-items: center;
	column-gap: .6rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}

.announcement-bar_dot {
	border-radius: 999px;
	flex: none;
	height: .5rem;
	width: .5rem;
}

.announcement-bar_dot.is-available {
	background-color: #4caf6e;
}

.announcement-bar_dot.is-unavailable {
	background-color: var(--colors--washed-red);
}

.announcement-bar_text {
	font-size: .9rem;
	font-weight: 500;
}

.announcement-bar_link {
	color: var(--colors--washed-red);
	font-size: .9rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: .15em;
}

.announcement-bar_close {
	background: none;
	border: 0;
	color: var(--colors--cream, #f7f1e3);
	cursor: pointer;
	font-size: 1.2rem;
	line-height: 1;
	opacity: .7;
	padding: 0;
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity .2s ease;
}

.announcement-bar_close:hover {
	opacity: 1;
}

/* --announcement-bar-height wordt door announcement-bar.js op de werkelijke,
   gemeten hoogte van de balk gezet (die kan variëren als de tekst wrapt op
   smallere schermen) — de vaste 2.75rem hier is enkel een fallback voor het
   eerste, JS-loze moment. */
body.has-announcement .navbar {
	top: var(--announcement-bar-height, 2.75rem);
}

body.has-announcement .sidebar {
	height: calc(100vh - var(--announcement-bar-height, 2.75rem));
	top: var(--announcement-bar-height, 2.75rem);
}

body.has-announcement {
	padding-top: var(--announcement-bar-height, 2.75rem);
}

@media screen and (max-width: 767px) {
	.announcement-bar {
		column-gap: .5rem;
		min-height: 3.5rem;
		padding: .5rem 2.5rem;
	}

	.announcement-bar_text,
	.announcement-bar_link {
		font-size: .8rem;
	}

	.announcement-bar_close {
		right: .75rem;
	}
}

/* "Terug naar werk"-linkje boven de projecttitel — enkel op desktop, zodat je niet
   eerst moet terugscrollen of de hamburgernav moet openen om terug te navigeren. */
.work-back-link {
	align-items: center;
	color: var(--colors--charcoal, #100f0f);
	column-gap: .5rem;
	display: none;
	font-size: .9rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
	opacity: .65;
	text-decoration: none;
	transition: color .2s ease, opacity .2s ease;
}

.work-back-link:hover {
	color: var(--colors--washed-red);
	opacity: 1;
}

@media screen and (min-width: 992px) {
	.work-back-link {
		display: inline-flex;
	}
}

.section-hero-post .heading-xlarge {
	font-size: clamp(2.2rem, 6.2vw, 4.5rem);
	overflow-wrap: break-word;
}

.section-hero-post .project-hero-intro {
	padding-bottom: 3rem;
}

.section-hero-post .project-info-wrap {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.hero-services {
	display: flex;
	flex-direction: column;
	gap: .75rem;
}

.hero-services-list {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
}

.hero-service-pill {
	border: 1px solid color-mix(in srgb, var(--colors--charcoal) 35%, transparent);
	border-radius: 999px;
	font-size: .95rem;
	padding: .5rem 1.15rem;
}

@media screen and (max-width: 767px) {
	.section-hero-post .project-hero-intro {
		padding-top: 2.5rem;
		padding-bottom: 2rem;
	}
}

.work_intro-image-wrap {
	aspect-ratio: 1280 / 790;
}

.work_intro-image-wrap .image-w100 {
	height: 100%;
	object-fit: cover;
}

body,
.page-wrapper,
.main-wrapper {
	background-color: var(--colors--cream);
}

html,
body {
	overflow-x: hidden;
}

#about {
	scroll-margin-top: 19rem;
}

.section-logo-showcase.is-work-logo-strip {
	background-color: var(--colors--cream);
	box-shadow: 0 -4rem 0 0 var(--colors--cream);
	clear: both;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	padding-bottom: clamp(3rem, 6vw, 5rem);
	padding-top: clamp(2rem, 4vw, 3.5rem);
	pointer-events: none;
	position: relative;
	width: 100%;
	z-index: 20;
}

.is-work-logo-strip .page-padding,
.is-work-logo-strip .container-large,
.is-work-logo-strip .logo-showcase {
	width: 100%;
}

.awwwards-banner,
.awwwards-mob,
.section-about-home .slide-up.hide,
.section-hero-home.hide {
	display: none !important;
}

.logo-showcase {
	display: grid;
	gap: 0;
}

.logo-showcase__slots {
	display: grid;
	gap: clamp(1.4rem, 4vw, 4rem);
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.is-work-logo-strip .logo-showcase__slots {
	gap: clamp(1rem, 3vw, 3.25rem);
	margin-left: auto;
	margin-right: auto;
	max-width: min(82rem, 84vw);
	width: 100%;
}

.logo-showcase__slot {
	align-items: center;
	display: flex;
	height: clamp(3.5rem, 5vw, 5rem);
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.is-work-logo-strip .logo-showcase__slot {
	height: clamp(2.4rem, 3.2vw, 3.45rem);
	min-width: 0;
}

.logo-showcase__logo {
	filter: grayscale(1) contrast(1.2) brightness(0);
	height: auto;
	left: 50%;
	max-height: 3rem;
	max-width: 84%;
	object-fit: contain;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, 35%);
	transition: opacity .54s ease, transform .54s cubic-bezier(.22, 1, .36, 1);
	width: auto;
}

.is-work-logo-strip .logo-showcase__logo {
	max-height: clamp(1.55rem, 2.2vw, 2.35rem);
	max-width: 80%;
}

.logo-showcase__logo.is-active {
	opacity: .8;
	transform: translate(-50%, -50%);
}

.is-work-logo-strip .logo-showcase__logo.is-active {
	opacity: .62;
}

.is-work-logo-strip .logo-showcase__logo.is-leaving {
	opacity: 0;
}

.logo-showcase__logo.is-leaving {
	opacity: 0;
	transform: translate(-50%, -135%);
}

.logo-showcase__logo.is-entering {
	transform: translate(-50%, 35%);
}

.logo-showcase__logo.is-entering.is-active {
	transform: translate(-50%, -50%);
}

.kisho-hero-intro {
	display: none;
	gap: 1.25rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: clamp(.85rem, 2vw, 1.2rem);
	max-width: 34rem;
	width: 100%;
}

.kisho-hero-cta {
	display: flex;
	justify-content: center;
}

.main-wrapper .text-weight-semibold {
	font-weight: 400;
}

.main-wrapper .text-size-regular,
.main-wrapper .text-weight-normal {
	font-weight: 300;
}

.section_hero .heading-style-h1.is-hero {
	font-size: clamp(3.3rem, 5.65vw, 6.85rem);
	line-height: 1.12;
	text-wrap: balance;
}

.section_hero .heading-style-h1.is-hero .is-big {
	display: inline-block;
	font-size: clamp(2.9rem, 5.15vw, 6.25rem);
	line-height: .95;
	margin-top: .24em;
	white-space: nowrap;
}

.section_hero .home-hero_heading-wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 72rem;
	width: 100%;
}

.section_hero .animation-object {
	opacity: 1 !important;
	visibility: visible !important;
}

/* Scroll-hint: enkel op mobiel, want daar is de hero niet verkleind en staat de
   desktop-pijl (.sidebar-bottom) sowieso al verborgen onder 991px. */
.mobile-scroll-hint {
	display: none;
}

/* iOS Safari negeert soms de eerste tik op fixed-position knoppen (300ms-tap-vertraging /
   dubbeltik-zoom-detectie). manipulation schakelt dat gedrag uit. */
.menu-link,
.open-menu-link,
.close-menu-link,
.sidebar-menu-item {
	touch-action: manipulation;
}

@media screen and (max-width: 767px) {
	.mobile-scroll-hint {
		align-items: center;
		align-self: center;
		background-color: var(--colors--washed-red);
		border-radius: 999px;
		color: #fff;
		column-gap: 0.5rem;
		display: flex;
		margin-top: 1.5rem;
		padding: 0.65rem 1.15rem;
		animation: mobile-scroll-hint-bounce 2s ease-in-out infinite;
	}

	.mobile-scroll-hint_text {
		font-size: 0.85rem;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.02em;
	}

	.mobile-scroll-hint_icon {
		display: flex;
	}

	@keyframes mobile-scroll-hint-bounce {
		0%, 100% {
			transform: translateY(0);
		}
		50% {
			transform: translateY(0.3rem);
		}
	}
}

@media screen and (min-width: 1440px) {
	.section_hero .home-hero_heading-wrap {
		max-width: 68rem;
	}
}

/* "DAT"/"THAT" staat standaard (desktop) na "Design"; op mobiel verhuist het naar het
   begin van de oranje regel — zie de mobiele media query verderop. */
.hero-word--mobile,
.hero-break-mobile {
	display: none;
}

@media screen and (max-width: 767px) {
	.section_hero .heading-style-h1.is-hero .is-big {
		white-space: normal;
	}

	.section-logo-showcase.is-work-logo-strip {
		padding-bottom: 3.25rem;
		padding-top: 2.25rem;
	}

	/* De clamp() hierboven is getuned voor tablet/desktop en valt op smalle telefoons
	   terug op zijn ondergrens (3.3rem) — een pak kleiner dan het originele Webflow-
	   ontwerp (dat daar 17vw gebruikte). Hier expliciet groter en compacter zetten. */
	.section_hero .heading-style-h1.is-hero {
		font-size: clamp(4.2rem, 17vw, 6rem);
		line-height: .95;
	}

	.section_hero .heading-style-h1.is-hero .is-big {
		font-size: clamp(3.8rem, 16vw, 5.5rem);
		line-height: .95;
		margin-top: .08em;
	}

	/* "DAT"/"THAT" verhuist op mobiel van de zwarte kop naar het begin van de oranje
	   regel, zodat de kop opbreekt als Design / dat niet / blijft / liggen. i.p.v.
	   Design dat / niet blijft / liggen. */
	.hero-word--desktop {
		display: none;
	}

	.hero-word--mobile {
		display: inline;
	}

	.hero-break-mobile {
		display: block;
	}
}

/* "WAAR IK" (en gelijkaardige korte woordparen) samenhouden bij het afbreken, zodat er
   geen eenzaam woord alleen op een regel achterblijft. */
.heading-nowrap {
	white-space: nowrap;
}

.main-wrapper .about-lead-kisho {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.25;
	margin-left: auto;
	margin-right: auto;
	max-width: 80rem;
	text-wrap: normal;
}

.about-lead-kisho__line {
	display: block;
	white-space: nowrap;
}

.section-action .action-intro-wrapper {
	grid-row-gap: clamp(2.4rem, 3vw, 3.5rem);
}

.section-action .action-intro {
	grid-row-gap: 1rem;
	max-width: 40rem;
}

.section-action .heading-style-h1 {
	font-family: var(--_typography---heading);
	font-size: 5rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
	white-space: nowrap;
}

.section-action .action-intro .heading-style-h1,
.section-action .kisho-action-lead,
.section-action .kisho-action-copy {
	color: var(--colors--cream);
}

/* "Call me, baby": Calendly-knop + WhatsApp-knop naast elkaar (wrapt op mobiel). */
.kisho-cta-buttons {
	column-gap: 1rem;
	display: flex;
	flex-wrap: wrap;
	row-gap: 1rem;
}

.button.is-whatsapp {
	background-color: #26D365;
	color: #fff;
}

.button.is-whatsapp:hover {
	opacity: .85;
}

.main-wrapper .section-action .heading-style-h5 {
	font-family: var(--_typography---body);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.4;
	max-width: 62rem;
}

.section-action .text-size-regular {
	font-family: var(--_typography---body);
	font-size: 1.25rem;
	line-height: 1.45;
	max-width: 48rem;
}

.section-action .border-top,
.section-action .border-bottom {
	color: var(--colors--washed-red);
	display: block;
	left: 50%;
	min-width: 104vw;
	opacity: 1;
	pointer-events: none;
	right: auto;
	transform: translateX(-50%);
	visibility: visible;
	width: 104vw;
	z-index: 10;
}

.section-action .border-top .w-embed,
.section-action .border-bottom .w-embed,
.section-action .border-top svg,
.section-action .border-bottom svg {
	display: block;
	height: 100%;
	width: 100%;
}

.section-action .hand-call-wrap {
	display: block;
	opacity: 1;
	visibility: visible;
	z-index: 20;
}

@media screen and (max-width: 767px) {
	.section-action .heading-style-h1 {
		white-space: normal;
		font-size: clamp(3rem, 11vw, 4rem);
		line-height: 1.05;
	}

	.about-lead-kisho__line {
		white-space: normal;
	}
}

.section-works-home .works-title::before {
	content: none;
	display: none;
}

.section-works-home .works-title {
	max-width: 58rem;
}

.section-works-home .works-title h1 {
	font-size: clamp(3.2rem, 4.4vw, 4.9rem);
	line-height: .98;
}

.section-works-home .works-title h1 .is-big {
	display: inline-block;
	font-size: .92em;
}

.section-works-home .home-works_para-wrap {
	max-width: 46rem;
}

.section-works-home .category-list {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem 1rem;
}

.section-works-home .category-bar {
	margin-bottom: clamp(2rem, 4vw, 4rem);
}

.section-works-home .work_filter-button-item {
	margin: 0;
}

.section-works-home .button.is-work-category {
	margin: 0;
	text-transform: none;
}

.section-price-configurator {
	z-index: 2;
}

.section-price-configurator + .section_rocket-man {
	margin-top: clamp(1rem, 2.5vw, 2.5rem);
}

.section_rocket-man {
	background-color: var(--colors--cream);
	color: var(--colors--linear-two);
	display: block;
	overflow: clip;
	position: relative;
	z-index: 2;
}

.section_rocket-man .padding-vertical.padding-xhuge {
	padding-bottom: clamp(5rem, 8vw, 8rem);
	padding-top: clamp(4rem, 6vw, 6rem);
}

.section_rocket-man .spacer-xhuge {
	height: 3rem;
	padding-top: 3rem;
}

.section_rocket-man .rocket-man_heading-wrap {
	margin-bottom: clamp(3rem, 5.5vw, 5.5rem);
}

.section_rocket-man .rocket-man_heading-wrap h1 {
	color: var(--colors--linear-two);
	font-size: clamp(2.8rem, 4.35vw, 5.4rem);
	line-height: .98;
	margin: 0;
	max-width: 54rem;
}

.section_rocket-man .rocket-man_heading-wrap h1::after {
	content: none;
	display: none;
}

.section_rocket-man .tab-intro,
.section_rocket-man .tabs {
	display: none;
}

.section_rocket-man .rocket-man_layout {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) .5fr;
	position: relative;
}

.section_rocket-man .rocket-man_contain {
	display: block;
	left: 50%;
	min-height: 0;
	position: relative;
	top: auto;
	width: 100%;
}

.section_rocket-man .why-me_list {
	display: flex;
	flex-direction: column;
	gap: clamp(3.5rem, 5.5vw, 6rem);
}

.section_rocket-man .why-me_item-wrap {
	display: grid;
	gap: 0;
	position: relative;
	z-index: 1;
}

.section_rocket-man .faq-single-title {
	align-items: baseline;
	display: flex;
	gap: .9rem;
}

.section_rocket-man .strength_number {
	color: var(--colors--linear-two);
	font-size: clamp(.95rem, 1.2vw, 1.2rem);
	line-height: 1;
	margin-right: 0;
	padding-top: 0;
}

.section_rocket-man .faq-single-title h2 {
	color: var(--colors--washed-red);
	font-size: clamp(1.8rem, 2.7vw, 3.35rem);
	line-height: 1;
	margin: 0;
	white-space: nowrap;
}

.section_rocket-man .max-width-large {
	max-width: 43rem;
}

.section_rocket-man .text-size-medium {
	color: var(--colors--charcoal);
	font-size: clamp(1rem, 1.18vw, 1.18rem);
	font-weight: 300;
	line-height: 1.45;
}

.section_rocket-man .spacer-medium {
	height: clamp(1.35rem, 2.2vw, 2.4rem);
}

.section_rocket-man .animation-path_wrap3 {
	align-items: center;
	display: block;
	inset: 0% -20vw -40rem 0%;
	justify-content: center;
	min-height: 0;
	overflow: visible;
	position: absolute;
	width: auto;
}

.section_rocket-man .animation-object3 {
	align-items: flex-end;
	display: flex;
	height: 7vw;
	left: auto;
	max-height: 6.8rem;
	max-width: 20rem;
	min-height: 3.8rem;
	min-width: 10rem;
	position: absolute;
	right: -50vw;
	top: 0;
	width: 21vw;
}

.section_rocket-man .rocket-path-embed {
	color: #75736a;
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.section_rocket-man .faq-bottom {
	display: none;
}

.section-footer {
	position: relative;
	bottom: auto;
	z-index: 1;
}

.section-footer .footer-email-wrapper::before {
	content: none;
	display: none;
}

.section-footer .heading-style-h1.is-footer {
	font-size: clamp(3.4rem, 5.8vw, 7rem);
	line-height: .94;
	max-width: 86rem;
}

.section-footer .is-big.is-footer {
	font-size: 1.25em;
	line-height: .95;
}

.section-footer .text-size-medium.text-style-allcaps {
	font-family: var(--_typography---body);
	font-size: clamp(1.05rem, 1.55vw, 1.45rem);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.35;
	max-width: 44rem;
	text-transform: none;
}

.section-footer .social-link-list {
	align-self: center;
	display: flex !important;
	flex: 0 0 auto;
	height: max-content;
	margin: clamp(2rem, 4vw, 4rem) auto clamp(2rem, 3.2vw, 3rem);
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
	width: max-content;
	z-index: 2;
}

.section-footer .footer-component {
	display: flex;
	flex-direction: column;
	gap: 0;
	justify-content: space-between;
	min-height: 85vh;
	padding-bottom: 0;
	padding-top: 0;
}

.section-footer .footer-email-wrapper {
	align-self: center;
	flex: 1 1 auto;
	justify-content: center;
	min-height: 0;
	padding-top: clamp(4rem, 7vh, 7rem);
	row-gap: 1.85rem;
}

.section-footer .footer-email-wrapper .text-align-center.slide-up {
	margin-top: 0;
}

.section-footer .footer-email-wrapper .spacer-xsmall {
	padding-top: .75rem;
}

.section-footer .footer_contact-link {
	display: inline-block;
	margin-top: 0;
}

.section-footer .footer_contact-link:hover {
	animation: kishoEmailVibrate .4s ease;
}

@keyframes kishoEmailVibrate {
	0%, 100% {
		transform: translateX(0) rotate(0deg);
	}

	20% {
		transform: translateX(-3px) rotate(-1.5deg);
	}

	40% {
		transform: translateX(3px) rotate(1.5deg);
	}

	60% {
		transform: translateX(-2px) rotate(-1deg);
	}

	80% {
		transform: translateX(2px) rotate(1deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.section-footer .footer_contact-link:hover {
		animation: none;
	}
}

.section-footer .footer-bottom {
	align-self: stretch;
	margin-top: 0;
}

@media screen and (min-width: 992px) {
	.section_hero .heading-style-h1.is-hero {
		font-size: 80px;
		line-height: 1.1;
	}

	.section_hero .heading-style-h1.is-hero .is-big {
		font-size: 100px;
		line-height: .95;
		margin-top: .2em;
	}

	.section-action .heading-style-h1,
	.section-works-home .works-title h1 {
		font-size: 80px;
		line-height: .98;
	}

	.section-footer .heading-style-h1.is-footer {
		font-size: 60px;
		line-height: 1;
	}

	.section_rocket-man .rocket-man_heading-wrap h1 {
		font-size: 64px;
		line-height: .98;
	}

	.section_rocket-man .faq-single-title h2 {
		font-size: 48px;
		line-height: 1;
	}

	.section-footer .is-big.is-footer {
		font-size: 100px;
	}
}

@media screen and (max-width: 991px) {
	.logo-showcase__slots {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.section_rocket-man .rocket-man_layout {
		grid-template-columns: 1fr;
	}

	.section_rocket-man .rocket-man_contain {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.logo-showcase__slots {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.logo-showcase__slot {
		height: 6rem;
	}

	.is-work-logo-strip .logo-showcase__slot:nth-child(5) {
		display: none;
	}

	.section_rocket-man .rocket-man_heading-wrap h1 {
		font-size: clamp(2.6rem, 13vw, 4.8rem);
	}

	.section_rocket-man .rocket-man_heading-wrap h1::after {
		content: none;
	}

	.section_rocket-man .faq-single-title {
		align-items: flex-start;
		flex-direction: column;
	}

	.section_rocket-man .faq-single-title h2 {
		white-space: normal;
	}
}

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

.section-next-post .works-hero-intro {
	align-items: center;
}

/* Case-study project layout */
.case-study_divider {
	width: 100%;
	height: 1px;
	background: color-mix(in srgb, var(--colors--charcoal) 25%, transparent);
	margin: 2rem 0;
}

.case-study_intro-visuals {
	display: grid;
	grid-template-columns: minmax(0, 28%) minmax(0, 1fr);
	gap: 4rem;
	align-items: start;
}

.case-study_visuals-col .works_project-gallery-container {
	margin: 0;
}

.case-study_role-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .6rem;
}

.case-study_role-list li {
	position: relative;
	padding-left: 1.4rem;
	font-size: 1rem;
	line-height: 1.4;
}

.case-study_role-list li::before {
	content: "—";
	position: absolute;
	left: 0;
	color: var(--colors--washed-red);
}

.case-study_website {
	display: grid;
	grid-template-columns: minmax(0, 33%) minmax(0, 1fr);
	gap: 4rem;
	align-items: center;
}

.case-study_website-image {
	width: 100%;
	height: auto;
	display: block;
	border-radius: .5rem;
}

.case-study_results-text {
	max-width: 46rem;
}

.case-study_results-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem;
}

.case-study_result-item {
	border-top: 1px solid color-mix(in srgb, var(--colors--charcoal) 25%, transparent);
	padding-top: 1rem;
}

@media screen and (max-width: 991px) {
	.case-study_intro-visuals {
		grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
		gap: 2.5rem;
	}

	.case-study_website {
		grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
		gap: 2.5rem;
	}

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

@media screen and (max-width: 767px) {
	.case-study_intro-visuals {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.case-study_website {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.case-study_results-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem;
	}
}

/* Homepage grid: laat het diverse-projecten kaartje een volle rij innemen */
.projects .project-item--wide {
	grid-column: 1 / -1;
}

/* Optioneel label-pilletje op een projectkaart (aan/uit + tekst via ACF, per project) */
.project-badge {
	position: absolute;
	top: 2rem;
	left: 2rem;
	z-index: 25;
	background-color: var(--colors--washed-red);
	color: var(--colors--cream);
	border-radius: 999px;
	padding: .4rem 1rem;
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: .02em;
}

.projects .project-item--wide .project-card {
	aspect-ratio: 16 / 7;
}

@media screen and (max-width: 479px) {
	.projects .project-item--wide .project-card {
		aspect-ratio: 5 / 3.5;
	}
}

/* De sticky-footer-reveal (voor lange projectpagina's) rekent verkeerd op korte,
   tekst-only pagina's zoals de privacyverklaring — Lenis/ScrollTrigger krijgen
   dan een te vroege/foute hoogtemeting en de footer plakt meteen bovenaan vast. */
.section-legal-content ~ .section-footer,
.section-faq-content ~ .section-footer,
.section-blog-archive ~ .section-footer,
.section-blog-single ~ .section-footer,
.section-reviews ~ .section-footer {
	position: static;
	bottom: auto;
}

/* Zelfde afstand tot de topnav als op de projectdetailpagina's (12.5rem i.p.v. de
   standaard 9rem van .padding-xhuge). */
.section-faq-content > .page-padding > .container-large > .padding-vertical.padding-xhuge,
.section-blog-archive > .page-padding > .container-large > .padding-vertical.padding-xhuge,
.section-blog-single > .page-padding > .container-medium > .padding-vertical.padding-xhuge {
	padding-top: 12.5rem;
}

@media screen and (max-width: 767px) {
	.section-faq-content > .page-padding > .container-large > .padding-vertical.padding-xhuge,
	.section-blog-archive > .page-padding > .container-large > .padding-vertical.padding-xhuge,
	.section-blog-single > .page-padding > .container-medium > .padding-vertical.padding-xhuge {
		padding-top: 8rem;
	}
}

.review-stars {
	display: flex;
	gap: .15rem;
	color: color-mix(in srgb, var(--colors--charcoal) 30%, transparent);
}

.review-star.is-filled {
	color: var(--colors--washed-red);
}

.reviews-summary {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.reviews-summary_score {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
}

.reviews-summary_count {
	opacity: .65;
	width: 100%;
}

.reviews-summary.is-placeholder .reviews-summary_count {
	color: var(--colors--washed-red);
	opacity: 1;
}

.reviews-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	max-width: 72rem;
}

.review-card {
	border: 1px solid color-mix(in srgb, var(--colors--charcoal) 20%, transparent);
	border-radius: .75rem;
	padding: 1.5rem;
}

.review-card.is-placeholder {
	border-style: dashed;
}

.review-card_header {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: .75rem;
}

.review-card_avatar {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background-color: var(--colors--linear-two);
	color: var(--colors--cream);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	flex-shrink: 0;
}

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

.review-card_date {
	opacity: .6;
}

.review-card_text {
	opacity: .85;
}

@media screen and (max-width: 991px) {
	.reviews-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 767px) {
	.reviews-grid {
		grid-template-columns: 1fr;
	}
}

.blog-list-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem;
	max-width: 90rem;
}

.blog-card {
	display: block;
	color: inherit;
	text-decoration: none;
}

.blog-card_image-wrap {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: .5rem;
	margin-bottom: 1rem;
}

.blog-post-content-marker h3 {
	margin-top: 2.75rem;
	margin-bottom: 1rem;
}

.blog-post-content-marker h3:first-child {
	margin-top: 0;
}

.blog-post_hero-image {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: .75rem;
	display: block;
}

.blog-card_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.blog-card_meta {
	opacity: .6;
}

.blog-card_draft-tag {
	color: var(--colors--washed-red);
}

@media screen and (max-width: 991px) {
	.blog-list-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 767px) {
	.blog-list-grid {
		grid-template-columns: 1fr;
	}
}

.faq-content-marker {
	max-width: 70rem;
	display: flex;
	flex-direction: column;
}

.faq-item {
	border-bottom: 1px solid color-mix(in srgb, var(--colors--charcoal) 25%, transparent);
}

.faq-item_question-button {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	background: none;
	border: none;
	padding: 1.5rem 0;
	cursor: pointer;
	text-align: left;
	color: inherit;
	font-family: inherit;
}

.faq-item_question {
	margin: 0;
}

.faq-item_chevron {
	display: flex;
	flex-shrink: 0;
	transition: transform .25s ease;
}

.faq-item.is-active .faq-item_chevron {
	transform: rotate(180deg);
}

.faq-item_answer-wrap {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}

.faq-item.is-active .faq-item_answer-wrap {
	max-height: 40rem;
}

.faq-item_answer {
	padding-bottom: 1.5rem;
}

/* Hamburger-knop pas zichtbaar na een klein beetje scrollen, zodat hij bovenaan
   niet overlapt met de top-navbalk. Consistent op alle pagina's. */
.menu-link {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.menu-link.is-nav-visible {
	opacity: 1;
	pointer-events: auto;
}

/* Op mobiel meteen zichtbaar: geen topnav om mee te overlappen, dus geen reden om te wachten op scroll. */
@media screen and (max-width: 767px) {
	.menu-link {
		opacity: 1;
		pointer-events: auto;
	}
}

/* Voor ingelogde gebruikers (admin-bar) op mobiel: de WP-balk staat los over de pagina
   heen en overlapt anders de sluit-knop van de hamburgernav bovenaan. .sidebar-menu
   is zelf ook position:fixed (los van .sidebar), dus moet apart mee-verschuiven. */
@media screen and (max-width: 782px) {
	body.admin-bar .sidebar,
	body.admin-bar .sidebar-menu {
		top: 46px;
	}
}

/* Compactere hamburger-nav zodra er meer dan 4 items zijn (Blog/FAQ/Reviews) */
.sidebar-menu-list.is-compact .sidebar-menu-item {
	font-size: 2.5rem;
	padding-top: .5rem;
	padding-bottom: .5rem;
}

/* Op echte mobiele Safari is 100vh de hoogte MET de adresbalk ingeklapt — groter dan wat
   je effectief ziet zolang die balk nog getoond wordt. Daardoor viel de onderkant van het
   hamburgermenu (social icons) letterlijk buiten beeld. dvh houdt wel rekening met de balk. */
@supports (height: 100dvh) {
	.sidebar,
	.mega-menu-trigger {
		height: 100dvh;
	}

	.sidebar-menu,
	.sidebar-menu-content {
		bottom: auto;
		height: 100dvh;
	}
}

@media screen and (max-width: 767px) {
	/* Compactere hamburger-nav op mobiel: alles (6 items + social icons) moet zonder
	   scrollen passen, ook op kleinere schermhoogtes. */
	.sidebar-menu-list.is-compact .sidebar-menu-item {
		font-size: 1.85rem;
		padding-top: .3rem;
		padding-bottom: .3rem;
	}

	.sidebar-menu-content {
		padding-top: .5rem;
		padding-bottom: 1.5rem;
		overflow-y: auto;
	}

	.title-wrapper {
		padding-bottom: .5rem;
	}
}

/* Taalwissel: los, klein element onder de hoofdnavigatie i.p.v. een menu-regel */
.lang-toggle {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-top: 1.5rem;
	color: inherit;
	text-decoration: none;
	width: fit-content;
}

.lang-toggle_option {
	font-size: .85rem;
	font-weight: 600;
	letter-spacing: .04em;
	opacity: .4;
}

.lang-toggle_option.is-current {
	opacity: 1;
	text-decoration: underline;
}

.lang-toggle_divider {
	opacity: .4;
	font-size: .85rem;
}

.lang-toggle_label {
	font-size: .8rem;
	opacity: .6;
	margin-left: .25rem;
}

@media screen and (max-width: 479px) {
	.lang-toggle_label {
		display: none;
	}
}

/* Diverse-projecten (misc) layout */
.misc-project_why {
	max-width: 60rem;
}

.misc-project_why-section .padding-vertical.padding-xhuge {
	padding-bottom: 3rem;
}

.misc-project_masonry-grid {
	column-count: 3;
	column-gap: 1.5rem;
}

.misc-project_masonry-item {
	break-inside: avoid;
	margin-bottom: 1.5rem;
	position: relative;
}

.misc-project_grid-section .padding-vertical.padding-xhuge {
	padding-bottom: 11rem;
}

/* Footer "boek een online call"-knop: past bij inhoud, geen volle breedte, geen outline-schaduw */
.footer-call-button {
	display: inline-flex;
	width: auto;
	box-shadow: none;
}

.kisho-cta-buttons.is-footer {
	justify-content: center;
}

.misc-project_masonry-media {
	width: 100%;
	height: auto;
	display: block;
	border-radius: .5rem;
	cursor: pointer;
}

@media screen and (max-width: 991px) {
	.misc-project_masonry-grid {
		column-count: 2;
		column-gap: 1.25rem;
	}

	.misc-project_masonry-item {
		margin-bottom: 1.25rem;
	}
}

@media screen and (max-width: 479px) {
	.misc-project_masonry-grid {
		column-count: 1;
	}
}

a {
	color: inherit;
	text-decoration: inherit;
	font-size: inherit;
}

.kisho-legal-content {
	padding-top: 6rem;
}

.kisho-legal-content .cmplz-document a {
	color: #386eec;
	text-decoration: underline;
}

.kisho-legal-title {
	margin-bottom: 2rem;
}

.kisho-legal-content .cmplz-document h2 {
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	font-size: 1.5rem;
	line-height: 1.3;
}

.kisho-legal-content .cmplz-document p,
.kisho-legal-content .cmplz-document ul {
	margin-bottom: 1rem;
	line-height: 1.6;
}

.kisho-legal-content .cmplz-document .cmplz-subtitle {
	font-weight: 600;
}

