/* General */
/*
	--primary: ;
	
	*/
/* General */
:root {
	--border-radius: 0;
	--border-radius2x: 0;
	--default: #333;
}
/* Skin Colors */
:root {
	--primary: #21748C;
	--primary-100: #1c6377;
	--primary-200: #1a5a6d;
	--primary-300: #175263;
	--primary--100: #2685a1;
	--primary--200: #288eab;
	--primary--300: #2b96b5;
	--primary-rgba-0: rgba(33, 116, 140, 0);
	--primary-rgba-10: rgba(33, 116, 140, 0.1);
	--primary-rgba-20: rgba(33, 116, 140, 0.2);
	--primary-rgba-30: rgba(33, 116, 140, 0.3);
	--primary-rgba-40: rgba(33, 116, 140, 0.4);
	--primary-rgba-50: rgba(33, 116, 140, 0.5);
	--primary-rgba-60: rgba(33, 116, 140, 0.6);
	--primary-rgba-70: rgba(33, 116, 140, 0.7);
	--primary-rgba-80: rgba(33, 116, 140, 0.8);
	--primary-rgba-90: rgba(33, 116, 140, 0.9);
	--secondary: #FFD519;
	--secondary-100: #ffd000;
	--secondary-200: #f2c600;
	--secondary-300: #e5bb00;
	--secondary--100: #ffda33;
	--secondary--200: #ffdc3f;
	--secondary--300: #ffde4c;
	--secondary-rgba-0: rgba(255, 213, 25, 0);
	--secondary-rgba-10: rgba(255, 213, 25, 0.1);
	--secondary-rgba-20: rgba(255, 213, 25, 0.2);
	--secondary-rgba-30: rgba(255, 213, 25, 0.3);
	--secondary-rgba-40: rgba(255, 213, 25, 0.4);
	--secondary-rgba-50: rgba(255, 213, 25, 0.5);
	--secondary-rgba-60: rgba(255, 213, 25, 0.6);
	--secondary-rgba-70: rgba(255, 213, 25, 0.7);
	--secondary-rgba-80: rgba(255, 213, 25, 0.8);
	--secondary-rgba-90: rgba(255, 213, 25, 0.9);
	--tertiary: #F9F9F9;
	--tertiary-100: #ececec;
	--tertiary-200: #e6e6e6;
	--tertiary-300: #e0e0e0;
	--tertiary--100: #ffffff;
	--tertiary--200: #ffffff;
	--tertiary--300: #ffffff;
	--tertiary-rgba-0: rgba(249, 249, 249, 0);
	--tertiary-rgba-10: rgba(249, 249, 249, 0.1);
	--tertiary-rgba-20: rgba(249, 249, 249, 0.2);
	--tertiary-rgba-30: rgba(249, 249, 249, 0.3);
	--tertiary-rgba-40: rgba(249, 249, 249, 0.4);
	--tertiary-rgba-50: rgba(249, 249, 249, 0.5);
	--tertiary-rgba-60: rgba(249, 249, 249, 0.6);
	--tertiary-rgba-70: rgba(249, 249, 249, 0.7);
	--tertiary-rgba-80: rgba(249, 249, 249, 0.8);
	--tertiary-rgba-90: rgba(249, 249, 249, 0.9);
	--quaternary: #121212;
	--quaternary-100: #050505;
	--quaternary-200: #000000;
	--quaternary-300: #000000;
	--quaternary--100: #1f1f1f;
	--quaternary--200: #252525;
	--quaternary--300: #2c2c2c;
	--quaternary-rgba-0: rgba(18, 18, 18, 0);
	--quaternary-rgba-10: rgba(18, 18, 18, 0.1);
	--quaternary-rgba-20: rgba(18, 18, 18, 0.2);
	--quaternary-rgba-30: rgba(18, 18, 18, 0.3);
	--quaternary-rgba-40: rgba(18, 18, 18, 0.4);
	--quaternary-rgba-50: rgba(18, 18, 18, 0.5);
	--quaternary-rgba-60: rgba(18, 18, 18, 0.6);
	--quaternary-rgba-70: rgba(18, 18, 18, 0.7);
	--quaternary-rgba-80: rgba(18, 18, 18, 0.8);
	--quaternary-rgba-90: rgba(18, 18, 18, 0.9);
	--dark: #121212;
	--dark-100: #050505;
	--dark-200: #000000;
	--dark-300: #000000;
	--dark--100: #1f1f1f;
	--dark--200: #252525;
	--dark--300: #2c2c2c;
	--dark-rgba-0: rgba(18, 18, 18, 0);
	--dark-rgba-10: rgba(18, 18, 18, 0.1);
	--dark-rgba-20: rgba(18, 18, 18, 0.2);
	--dark-rgba-30: rgba(18, 18, 18, 0.3);
	--dark-rgba-40: rgba(18, 18, 18, 0.4);
	--dark-rgba-50: rgba(18, 18, 18, 0.5);
	--dark-rgba-60: rgba(18, 18, 18, 0.6);
	--dark-rgba-70: rgba(18, 18, 18, 0.7);
	--dark-rgba-80: rgba(18, 18, 18, 0.8);
	--dark-rgba-90: rgba(18, 18, 18, 0.9);
	--light: #FFF;
	--light-100: #f2f2f2;
	--light-200: #ececec;
	--light-300: #e6e6e6;
	--light--100: #ffffff;
	--light--200: #ffffff;
	--light--300: #ffffff;
	--light-rgba-0: rgba(255, 255, 255, 0);
	--light-rgba-10: rgba(255, 255, 255, 0.1);
	--light-rgba-20: rgba(255, 255, 255, 0.2);
	--light-rgba-30: rgba(255, 255, 255, 0.3);
	--light-rgba-40: rgba(255, 255, 255, 0.4);
	--light-rgba-50: rgba(255, 255, 255, 0.5);
	--light-rgba-60: rgba(255, 255, 255, 0.6);
	--light-rgba-70: rgba(255, 255, 255, 0.7);
	--light-rgba-80: rgba(255, 255, 255, 0.8);
	--light-rgba-90: rgba(255, 255, 255, 0.9);
}
/* Skin Colors - Inverse */
:root {
	--primary-inverse: #777;
	--secondary-inverse: #777;
	--tertiary-inverse: #777;
	--quaternary-inverse: #FFF;
	--dark-inverse: #FFF;
	--light-inverse: #777;
}
/* Grey Colors */
:root {
	--grey: #969696;
	--grey-100: #f4f4f4;
	--grey-200: #eaeaea;
	--grey-300: #e5e5e5;
	--grey-400: #e0e0e0;
	--grey-500: #dbdbdb;
	--grey-600: #cecece;
	--grey-700: #c1c1c1;
	--grey-800: #a8a8a8;
	--grey-900: #8e8e8e;
	--grey-1000: #757575;
}


.less-error-message ul, .less-error-message li {
	list-style-type: none;
	margin-right: 15px;
	padding: 4px 0;
	margin: 0;
}

.less-error-message label {
	font-size: 12px;
	margin-right: 15px;
	padding: 4px 0;
	color: #cc7777;
}

.less-error-message pre {
	color: #dd6666;
	padding: 4px 0;
	margin: 0;
	display: inline-block;
}

.less-error-message pre.line {
	color: #ff0000;
}

.less-error-message h3 {
	font-size: 20px;
	font-weight: bold;
	padding: 15px 0 5px 0;
	margin: 0;
}

.less-error-message a {
	color: #10a;
}

.less-error-message .error {
	color: red;
	font-weight: bold;
	padding-bottom: 2px;
	border-bottom: 1px dashed red;
}

/* Body */
.body {
		max-width: 100vw;
		overflow-x: hidden;
}

/* Container */
@media (min-width: 1440px) {
		.container {
				max-width: 1340px !important;
		}
}

/* Header */
@media (min-width: 992px) {
		#header .header-nav-main nav > ul > li > a {
				font-weight: 500;
				font-size: 16px;
				padding-left: 1.3rem !important;
				padding-right: 1.3rem !important;
		}
}

@media (max-width: 1280px) {
		#header .header-nav-main nav > ul > li > a {
				padding-left: 1rem !important;
				padding-right: 1rem !important;
		}
}

/* Font Size */
.custom-font-size-1 {
		font-size: clamp(28px, 4px + 0.05 * 100vw, 64px);
		line-height: 1.1;
}

/* Hero */
.custom-hero-bg {
		position: absolute;
		width: 100vw;
		height: 100vh;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
}

.custom-hero-bg svg {
		width: 100vw;
		height: 100vh;
}

.custom-hero-bg:after {
		content: "";
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		position: absolute;
		opacity: 0.8;
		background-color: var(--quaternary);
}

.custom-hero-font-1 {
		font-size: clamp(28px, 0px + 0.0583333333 * 100vw, 70px);
		line-height: 1.1;
}

.custom-hero-heading {
		position: absolute;
		width: 100%;
		bottom: 0;
		text-align: center;
		-webkit-mask-image: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%);
		mask-image: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%);
}

@media (max-width: 991px) {
		.custom-hero-heading {
				bottom: 80px;
		}
}

.custom-hero-heading strong {
		text-transform: uppercase;
		font-size: 13cqw;
		line-height: 13cqw;
}

/* Page Header */
.page-header .custom-hero-bg {
		height: 500px;
}

.page-header .custom-hero-bg svg {
		height: 500px;
}

@keyframes arrowMove {
		0% {
				margin-top: 0;
		}
		50% {
				margin-top: -30px;
		}
		100% {
				margin-top: 0;
		}
}

/* Elements */
.custom-el-1 {
		opacity: 0.1;
		align-items: center;
		display: flex;
		justify-content: center;
		flex-direction: column;
		animation: arrowMove 3000ms linear;
		animation-iteration-count: infinite;
}

.custom-el-1 img {
		margin-bottom: -100px;
}

.custom-el-pos-1 {
		top: 55%;
		left: -60px;
}

.custom-el-2 {
		opacity: 0.1;
		align-items: center;
		display: flex;
		justify-content: center;
		flex-direction: column;
		animation: arrowMove 3000ms linear;
		animation-iteration-count: infinite;
}

.custom-el-2 img {
		margin-bottom: -47px;
}

.custom-el-pos-2 {
		top: 80%;
		right: -30px;
}

.custom-el-3 {
		width: 100%;
		height: 100%;
		max-width: 220px;
		max-height: 220px;
		min-height: 220px;
		position: relative;
		overflow: hidden;
}

.custom-el-3 .custom-el-3-img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
}

.custom-el-3 .custom-el-3-img img {
		transition: transform 2s;
		will-change: transform;
}

.custom-el-3-pos-1 {
		top: 30%;
		z-index: 1;
}

.custom-el-3-pos-2 {
		top: -30%;
}

.custom-el-4-pos {
		margin-top: -15px;
}

.custom-el-pos-5 {
		left: -60px;
		top: 35%;
}

/* Custom Marquee */
.custom-marquee-1 .js-marquee-wrapper,
.custom-marquee-1 .js-marquee,
.custom-marquee-1 .js-marquee > span {
		display: flex;
}

/* Custom Avatar */
.custom-avatar-1 {
		width: 70px;
		height: 70px;
		position: relative;
}

.custom-avatar-1-info {
		position: absolute;
		top: -30px;
		text-align: center;
		font-size: 12px;
		white-space: nowrap;
		letter-spacing: -0.5px;
		font-weight: 600;
		margin-left: -15px;
		opacity: 0.5;
}

.custom-avatar-1-info .animated-icon {
		transform: rotate(120deg);
		float: left;
		margin-right: 5px;
}

/* Custom Popover */
.custom-popover-1 {
		text-align: center;
		font-size: 16px;
		font-weight: 600;
		letter-spacing: -1px;
}

/* Custom Btn */
.custom-btn-1 {
		width: 200px;
		height: 200px;
		line-height: 190px;
		border-radius: 100%;
		white-space: nowrap;
}

/* Custom Grid */
.custom-grid-1 {
		margin-top: -70px;
		position: relative;
}

.custom-grid-1 .container {
		margin: 0 auto;
}

.custom-grid-1 .container .row {
		margin: 0;
}

.custom-grid-1 .container .row > * {
		padding: 0;
		background-color: var(--light);
		min-height: 220px;
		align-items: center;
		overflow: hidden;
}

@media (max-width: 991px) {
		.custom-grid-1 .container .row > * {
				border: 1px solid var(--grey-100);
		}
}

@media (min-width: 992px) {
		.custom-grid-1 .container .row > *:nth-child(1),
		.custom-grid-1 .container .row > *:nth-child(3),
		.custom-grid-1 .container .row > *:nth-child(6),
		.custom-grid-1 .container .row > *:nth-child(8) {
				background-color: var(--grey-100);
		}
}

.custom-grid-1 .custom-grid-1-item {
		position: relative;
}

.custom-grid-1 .custom-grid-1-item .custom-grid-1-img {
		transition: opacity 300ms;
		opacity: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
}

.custom-grid-1 .custom-grid-1-item .custom-grid-1-img img {
		transition: transform 2s;
		will-change: transform;
		transform: scale(0.75);
}

.custom-grid-1 .custom-grid-1-item .custom-grid-1-img:after {
		content: "";
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		position: absolute;
		opacity: 0.7;
		background-color: var(--quaternary);
}

.custom-grid-1 .custom-grid-1-item .custom-grid-1-text {
		position: relative;
		z-index: 1;
}

.custom-grid-1 .custom-grid-1-item:hover .custom-grid-1-img {
		opacity: 1;
}

.custom-grid-1 .custom-grid-1-item:hover .custom-grid-1-img img {
		transform: scale(1);
}

.custom-grid-1 .custom-grid-1-item:hover h3 {
		color: var(--light) !important;
}

/* Custom Projects */
@media (max-width: 991px) {
		.custom-projects-1 .border-end {
				border: 0 !important;
		}
}

/* Custom Border Radius */
.custom-border-radius-1 {
		border-radius: 0 100px 0 100px;
}

.custom-border-radius-2 {
		border-radius: 100px 0 0 0;
}

.custom-border-radius-3 {
		border-radius: 100px 100px 100px 0;
}

.custom-border-radius-4 {
		border-radius: 200px 10px 10px 10px;
}

.custom-border-radius-5 {
		border-radius: 0 0 100px 0;
}

/* Custom Section */
.custom-section-1 {
		margin-top: -70px;
		padding-top: 70px;
}

/* Custom Carousel */
@media (min-width: 1200px) {
		.custom-carousel-1 > .owl-carousel {
				width: calc( 100vw - ( ( 100vw - 1400px ) / 2 ));
		}
}

/* Custom Content */
.custom-page-content {
		margin-top: -70px;
}

/* Custom Padding */
.custom-padding-top-1 {
		padding-top: 70px;
}

.custom-padding-bottom-1 {
		padding-bottom: 70px;
}

/* Footer */
#footer {
		margin-top: -70px;
}


@media (max-width: 767px){
	.custom-el-3 { width: 100px; height: 100px; min-width: auto;  max-width: initial; min-height: auto; max-height: inherit; }
	.custom-el-3 .custom-el-3-img img,
	.custom-el-3 .custom-el-3-img img { width: 100px !important; }
	.custom-border-radius-3 {
		border-radius: 50px 50px 50px 0;
	}
	.custom-border-radius-1 {
		border-radius: 0 50px 0 50px;
	}
}

.single-realisatie ul {
	list-style: none; margin-left: 0px; padding-left: 0px;
}
/* Ruben Vaes 2026 additions */
.rv-standard-page{padding:150px 0 90px}.rv-standard-page h1,.rv-landing h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.98;letter-spacing:-.045em;font-weight:500}.rv-standard-page h2,.rv-landing h2{font-weight:500;letter-spacing:-.025em}.rv-kicker{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#20748C;margin-bottom:18px}.rv-service-intro{max-width:1000px;padding-bottom:70px}.rv-service-intro .lead{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.55;max-width:850px}.rv-service-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:70px;padding-top:60px;border-top:1px solid #ddd}.rv-service-body aside,.rv-landing-cta{background:#111;color:#fff;padding:45px}.rv-service-body aside h2,.rv-landing-cta h2{color:#fff}.rv-landing-hero{padding:175px 0 95px;background:#f4f5f3}.rv-landing-hero p:not(.rv-kicker){max-width:780px;font-size:1.25rem;line-height:1.65}.rv-hero-actions{display:flex;gap:12px;margin-top:30px}.rv-landing-content{padding-top:85px;padding-bottom:100px}.rv-copy-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:80px}.rv-project-heading{margin-bottom:35px}.rv-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.rv-project-card a{display:block;color:#111;text-decoration:none}.rv-project-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#eee}.rv-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.rv-project-card:hover img{transform:scale(1.025)}.rv-project-copy{display:block;padding:20px 0 12px}.rv-project-copy small{color:#20748C;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.rv-project-copy h3{font-size:1.35rem;margin:6px 0 10px}.rv-landing-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:90px}.rv-landing-cta p{margin-bottom:0}.rv-landing-cta .btn,.rv-service-body aside .btn{background:#FED518;border-color:#FED518;color:#111}@media(max-width:991px){.rv-project-grid{grid-template-columns:repeat(2,1fr)}.rv-service-body,.rv-copy-columns{grid-template-columns:1fr;gap:35px}.rv-landing-cta{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.rv-standard-page{padding-top:115px}.rv-landing-hero{padding:130px 0 65px}.rv-project-grid{grid-template-columns:1fr}.rv-hero-actions{align-items:flex-start;flex-direction:column}}

/* 2026 service landing pages */
.rv-standard-page:has(.rv-service-page){padding-top:0;padding-bottom:0}.rv-standard-page:has(.rv-service-page)>.container{max-width:none;padding:0}.rv-service-page{--rv-ink:#111;--rv-petrol:#20748C;--rv-yellow:#FED518;--rv-soft:#f2f3f1;color:var(--rv-ink)}.rv-service-page h1,.rv-service-page h2,.rv-service-page h3{font-weight:500;letter-spacing:-.035em}.rv-service-page h2{font-size:clamp(2.2rem,4.6vw,4.5rem);line-height:1.03}.rv-service-page p{line-height:1.7}.rv-service-hero{min-height:720px;padding:180px max(6vw,40px) 90px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:8vw;align-items:end;background:#f4f4f1}.rv-service-hero-copy{max-width:1000px}.rv-service-hero h1{font-size:clamp(3.6rem,7.5vw,7.6rem);line-height:.91;max-width:1100px;margin:0 0 35px}.rv-service-lead{font-size:clamp(1.15rem,1.8vw,1.5rem);max-width:850px}.rv-service-hero-aside{border-left:1px solid #c9cbc6;padding-left:30px;display:grid;grid-template-columns:35px 1fr;gap:14px 15px;align-items:center}.rv-service-hero-aside span{font-size:.7rem;color:var(--rv-petrol);font-weight:700}.rv-service-hero-aside p{margin:0;font-size:1.05rem}.rv-cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--rv-yellow);color:#111!important;padding:17px 20px 17px 24px;font-weight:700;text-decoration:none!important;border:0;min-width:215px;transition:transform .2s ease}.rv-cta-button:hover{transform:translateY(-2px)}.rv-cta-button span{font-size:1.25rem}.rv-text-link{color:#111!important;text-decoration:none!important;border-bottom:1px solid #aaa;padding-bottom:4px}.rv-service-statement,.rv-service-split,.rv-service-keywords,.rv-service-faq,.rv-service-work,.rv-service-final-cta{margin:0 auto;padding:110px max(6vw,40px)}.rv-service-statement h2{max-width:1150px}.rv-service-statement h2 em{font-weight:400;color:var(--rv-petrol)}.rv-two-copy{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:1050px;margin:55px 0 0 auto;font-size:1.08rem}.rv-service-pillars{display:grid;grid-template-columns:repeat(3,1fr);background:#111;color:#fff}.rv-service-pillars article{padding:70px 55px;min-height:440px;border-right:1px solid #333;display:flex;flex-direction:column}.rv-service-pillars article:last-child{border-right:0}.rv-service-pillars article>span{color:var(--rv-yellow);font-size:.72rem}.rv-service-pillars h3{font-size:3rem;color:#fff;margin:45px 0 25px}.rv-service-pillars p{color:#d8d8d8}.rv-service-pillars small{margin-top:auto;padding-top:30px;text-transform:uppercase;letter-spacing:.1em;color:#999}.rv-service-split,.rv-service-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.rv-service-split>div:last-child h3{font-size:1.55rem;margin:0 0 8px;padding-top:30px;border-top:1px solid #ddd}.rv-service-split>div:last-child h3:first-child{padding-top:0;border:0}.rv-service-split>div:last-child p{margin-bottom:35px}.rv-service-keywords{background:var(--rv-petrol);color:#fff}.rv-service-keywords h2{color:#fff;max-width:800px}.rv-service-keywords .rv-kicker{color:#b9d8df}.rv-keyword-cloud{display:flex;flex-wrap:wrap;gap:12px;margin-top:45px}.rv-keyword-cloud span{border:1px solid rgba(255,255,255,.45);border-radius:99px;padding:11px 18px;font-size:.92rem}.rv-service-faq details{border-top:1px solid #ccc;padding:24px 0}.rv-service-faq details:last-child{border-bottom:1px solid #ccc}.rv-service-faq summary{cursor:pointer;font-size:1.2rem;font-weight:600;list-style:none}.rv-service-faq summary:after{content:'+';float:right;font-size:1.5rem;font-weight:400}.rv-service-faq details[open] summary:after{content:'−'}.rv-service-faq details p{max-width:700px;padding-top:15px;color:#555}.rv-service-work{background:#f4f4f1}.rv-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.rv-section-head h2{max-width:850px;margin-bottom:0}.rv-service-final-cta{background:#111;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:60px}.rv-service-final-cta h2{color:#fff;max-width:850px}.rv-service-final-cta p:not(.rv-kicker){color:#ccc;max-width:720px;font-size:1.1rem}.rv-service-final-cta .rv-kicker{color:var(--rv-yellow)}@media(max-width:991px){.rv-service-hero{grid-template-columns:1fr;min-height:auto}.rv-service-hero-aside{display:none}.rv-service-pillars{grid-template-columns:1fr}.rv-service-pillars article{min-height:0;border-right:0;border-bottom:1px solid #333}.rv-service-split,.rv-service-faq,.rv-two-copy{grid-template-columns:1fr;gap:35px}.rv-service-final-cta,.rv-section-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.rv-service-hero{padding:130px 22px 65px}.rv-service-statement,.rv-service-split,.rv-service-keywords,.rv-service-faq,.rv-service-work,.rv-service-final-cta{padding:75px 22px}.rv-service-hero h1{font-size:3.2rem}.rv-service-pillars article{padding:55px 22px}.rv-service-pillars h3{margin-top:25px}.rv-hero-actions{gap:24px}.rv-cta-button{width:100%}}

/* RV 2026 service refinements v6 */
.rv-service-page h2{font-size:clamp(2rem,3.25vw,3.35rem);line-height:1.08}
.rv-service-hero{min-height:620px;padding-top:155px;padding-bottom:75px}
.rv-service-hero h1{font-size:clamp(3.15rem,6vw,6rem);line-height:.95;max-width:980px}
.rv-service-statement,.rv-service-split,.rv-service-keywords,.rv-service-faq,.rv-service-work{padding-top:90px;padding-bottom:90px}
.rv-service-pillars h3{font-size:2.45rem}
.rv-service-split>div:last-child h3{font-size:1.4rem}
.rv-service-work .rv-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.rv-service-work .rv-project-card{background:#fff;overflow:hidden}
.rv-service-work .rv-project-card>a{display:block;color:#111;text-decoration:none!important}
.rv-service-work .rv-project-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#e8e9e5}
.rv-service-work .rv-project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.rv-service-work .rv-project-card:hover .rv-project-image img{transform:scale(1.025)}
.rv-service-work .rv-project-image--fallback{display:flex;align-items:center;justify-content:center;background:#20748C;color:#fff;font-size:2rem;font-weight:600}
.rv-service-work .rv-project-copy{display:block;padding:25px 25px 28px}
.rv-service-work .rv-project-copy small{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;color:#777;margin-bottom:10px}
.rv-service-work .rv-project-copy h3{font-size:1.45rem;margin:0 0 22px;letter-spacing:-.02em}
.rv-service-work .rv-project-copy>span{font-size:.9rem;border-bottom:1px solid #aaa;padding-bottom:3px}
.rv-standard-page:has(.rv-service-page){padding-bottom:0}
.rv-service-final-cta{width:100%;max-width:none;margin:0;padding:85px max(6vw,40px);box-sizing:border-box}
.rv-service-final-cta h2{font-size:clamp(2rem,3.25vw,3.35rem)}
.rv-service-final-cta+.footer,.rv-service-page+footer{margin-top:0}
@media(max-width:991px){.rv-service-work .rv-project-grid{grid-template-columns:1fr 1fr}.rv-service-hero{min-height:auto}}
@media(max-width:600px){.rv-service-page h2,.rv-service-final-cta h2{font-size:2.15rem}.rv-service-hero h1{font-size:3rem}.rv-service-work .rv-project-grid{grid-template-columns:1fr}.rv-service-statement,.rv-service-split,.rv-service-keywords,.rv-service-faq,.rv-service-work,.rv-service-final-cta{padding-top:65px;padding-bottom:65px}}

/* RV v7 – full-bleed service sections + refined statement/CTA */
.rv-service-page{overflow:hidden}
.rv-service-pillars,
.rv-service-keywords,
.rv-service-work,
.rv-service-final-cta{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}
.rv-service-statement{
  max-width:1680px;
  margin-left:auto;
  margin-right:auto;
  padding-left:max(6vw,40px);
  padding-right:max(6vw,40px);
}
.rv-service-statement .rv-kicker{margin-bottom:28px}
.rv-service-statement h2{
  max-width:1320px;
  font-size:clamp(2.5rem,4.2vw,4.65rem);
  line-height:1.08;
  margin-bottom:0;
}
.rv-service-statement h2 em{display:inline-block;margin-top:5px}
.rv-two-copy{
  max-width:1240px;
  margin:65px auto 0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:80px;
  font-size:1.04rem;
}
.rv-two-copy p{margin:0;max-width:560px}
.rv-two-copy p:last-child{justify-self:end}
.rv-service-pillars{padding-left:max(6vw,40px);padding-right:max(6vw,40px)}
.rv-service-pillars article:first-child{border-left:1px solid #333}
.rv-service-pillars article:last-child{border-right:1px solid #333}
.rv-service-keywords,.rv-service-work{padding-left:max(6vw,40px);padding-right:max(6vw,40px)}
.rv-service-final-cta{
  position:relative;
  border-bottom:6px solid var(--rv-yellow);
  padding-left:max(8vw,55px);
  padding-right:max(8vw,55px);
}
.rv-service-final-cta:after{
  content:'';
  position:absolute;
  right:max(8vw,55px);
  bottom:-6px;
  width:84px;
  height:6px;
  background:var(--rv-petrol);
}
.rv-service-final-cta + *{margin-top:0!important}
@media(max-width:991px){
  .rv-two-copy{grid-template-columns:1fr;gap:24px;margin-top:42px}
  .rv-two-copy p,.rv-two-copy p:last-child{max-width:720px;justify-self:start}
  .rv-service-pillars{padding-left:0;padding-right:0}
  .rv-service-pillars article:first-child,.rv-service-pillars article:last-child{border-left:0;border-right:0}
}
@media(max-width:600px){
  .rv-service-statement{padding-left:22px;padding-right:22px}
  .rv-service-statement h2{font-size:2.35rem}
  .rv-service-keywords,.rv-service-work,.rv-service-final-cta{padding-left:22px;padding-right:22px}
  .rv-service-final-cta:after{right:22px;width:54px}
}

/* RV v9 – true full bleed and clean statement styling */
.rv-standard-page:has(.rv-service-page),
.rv-standard-page:has(.rv-service-page) > .container,
.rv-service-page {
    overflow: visible !important;
}

.rv-standard-page:has(.rv-service-page) {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.rv-standard-page:has(.rv-service-page) > .container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.rv-service-page {
    width: 100%;
    max-width: none;
}

.rv-service-pillars,
.rv-service-keywords,
.rv-service-work,
.rv-service-final-cta {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    box-sizing: border-box;
}

.rv-service-statement h2 .rv-statement-accent {
    display: inline-block;
    margin-top: 12px;
    line-height: 1.06;
    font-style: normal !important;
    font-weight: 600;
    letter-spacing: -.035em;
    color: #20748C;
}

@media (max-width: 600px) {
    .rv-service-statement h2 .rv-statement-accent {
        margin-top: 8px;
    }
}

/* RV v10 – service hero + desktop header refinements */
@media (min-width: 992px) {
  #header .header-container.container {
    width: 100% !important;
    max-width: none !important;
    padding-left: max(6vw, 40px) !important;
    padding-right: max(6vw, 40px) !important;
  }
  #header .header-row.py-3 {
    min-height: 108px;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    transition: min-height .25s ease, padding .25s ease;
  }
  #header .header-logo img {
    width: auto;
    height: 74px !important;
    transition: height .25s ease;
  }
  #header .header-nav {
    align-items: center;
  }
  #header .header-nav-main nav > ul > li {
    position: relative;
  }
  #header .header-nav-main nav > ul > li > ul.sub-menu,
  #header .header-nav-main nav > ul > li > ul.dropdown-menu {
    position: absolute !important;
    z-index: 1005;
    top: calc(100% + 14px) !important;
    left: 0 !important;
    min-width: 235px;
    margin: 0 !important;
    padding: 10px 0 !important;
    background: #111 !important;
    border: 0 !important;
    box-shadow: 0 14px 35px rgba(0,0,0,.18);
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  #header .header-nav-main nav > ul > li:hover > ul.sub-menu,
  #header .header-nav-main nav > ul > li:focus-within > ul.sub-menu,
  #header .header-nav-main nav > ul > li:hover > ul.dropdown-menu,
  #header .header-nav-main nav > ul > li:focus-within > ul.dropdown-menu {
    display: block !important;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  #header .header-nav-main nav > ul > li > ul li {
    display: block !important;
    width: 100%;
    margin: 0 !important;
  }
  #header .header-nav-main nav > ul > li > ul li a {
    display: block;
    padding: 11px 20px !important;
    color: #fff !important;
    white-space: nowrap;
    text-decoration: none !important;
  }
  #header .header-nav-main nav > ul > li > ul li a:hover {
    color: #FED518 !important;
    background: rgba(255,255,255,.04) !important;
  }
  #header .header-nav > .btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    margin-left: 38px !important;
    transition: min-height .25s ease, padding .25s ease;
  }

  #header.sticky-header-active .header-row.py-3,
  .sticky-header-active #header .header-row.py-3,
  #header .header-body.header-body-sticky .header-row.py-3 {
    min-height: 76px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  #header.sticky-header-active .header-logo img,
  .sticky-header-active #header .header-logo img,
  #header .header-body.header-body-sticky .header-logo img {
    height: 58px !important;
  }
  #header.sticky-header-active .header-nav > .btn-secondary,
  .sticky-header-active #header .header-nav > .btn-secondary,
  #header .header-body.header-body-sticky .header-nav > .btn-secondary {
    min-height: 48px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

.rv-service-hero h1 {
  font-size: clamp(3rem, 5vw, 5.15rem);
  line-height: .98;
  max-width: 850px;
}

.rv-hero-actions .rv-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 16px 25px;
  background: #111;
  color: #fff !important;
  border: 1px solid #111;
  text-decoration: none !important;
  font-weight: 600;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.rv-hero-actions .rv-text-link:hover {
  background: transparent;
  color: #111 !important;
  transform: translateY(-2px);
}

.rv-service-final-cta {
  border-bottom-width: 1px !important;
}
.rv-service-final-cta:after {
  bottom: -1px !important;
  height: 1px !important;
}

@media (max-width: 600px) {
  .rv-service-hero h1 { font-size: 2.75rem; }
  .rv-hero-actions .rv-text-link { width: 100%; }
}

/* RV v11 – header, dropdown, footer width and statement alignment */
@media (min-width: 992px) {
  #header .header-container.container,
  #footer > .container,
  #footer .footer-copyright > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: max(6vw, 40px) !important;
    padding-right: max(6vw, 40px) !important;
  }

  #header .header-row.py-3 {
    min-height: 88px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  #header .header-logo img {
    height: 62px !important;
  }
  #header .header-nav > .btn-secondary {
    min-height: 50px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* The custom WP walker outputs .sub-menu-container. */
  #header .header-nav-main nav > ul > li.menu-item-has-children {
    position: relative !important;
  }
  #header .header-nav-main nav > ul > li.menu-item-has-children > ul.sub-menu-container {
    display: block !important;
    position: absolute !important;
    z-index: 9999 !important;
    top: 100% !important;
    left: 0 !important;
    width: max-content !important;
    min-width: 245px !important;
    margin: 0 !important;
    padding: 12px 0 !important;
    background: #111 !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.22) !important;
    list-style: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
  }
  #header .header-nav-main nav > ul > li.menu-item-has-children:hover > ul.sub-menu-container,
  #header .header-nav-main nav > ul > li.menu-item-has-children:focus-within > ul.sub-menu-container {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  #header .header-nav-main nav > ul > li > ul.sub-menu-container > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #header .header-nav-main nav > ul > li > ul.sub-menu-container > li > a {
    display: block !important;
    padding: 10px 20px !important;
    color: #fff !important;
    background: transparent !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }
  #header .header-nav-main nav > ul > li > ul.sub-menu-container > li > a:hover {
    color: #FED518 !important;
    background: rgba(255,255,255,.04) !important;
  }

  #header.sticky-header-active .header-row.py-3,
  .sticky-header-active #header .header-row.py-3,
  #header .header-body.header-body-sticky .header-row.py-3 {
    min-height: 68px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  #header.sticky-header-active .header-logo img,
  .sticky-header-active #header .header-logo img,
  #header .header-body.header-body-sticky .header-logo img {
    height: 50px !important;
  }
  #header.sticky-header-active .header-nav > .btn-secondary,
  .sticky-header-active #header .header-nav > .btn-secondary,
  #header .header-body.header-body-sticky .header-nav > .btn-secondary {
    min-height: 44px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
}

.rv-service-statement .rv-two-copy {
  width: 100%;
  max-width: 1200px;
  margin: 45px 0 0 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(40px, 6vw, 90px);
}
.rv-service-statement .rv-two-copy > * {
  margin-top: 0;
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .rv-service-statement .rv-two-copy {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}


/* RV v14 – active navigation and shared home content width */
#header .header-nav-main nav > ul > li.current-menu-item > a,
#header .header-nav-main nav > ul > li.current-menu-ancestor > a,
#header .header-nav-main nav > ul > li.current-menu-parent > a,
#header .header-nav-main nav ul.sub-menu-container li.current-menu-item > a {
  color: #20748C !important;
}
#header .header-nav-main nav > ul > li > a:hover,
#header .header-nav-main nav ul.sub-menu-container li > a:hover {
  color: #20748C !important;
}

@media (min-width: 992px) {
  body.home #main > section > .container,
  body.home #main > section > div > .container,
  body.home .custom-grid-1 > .container,
  body.home #concept > .container,
  body.home #projects > .container,
  body.home #clients > .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: max(6vw, 40px) !important;
    padding-right: max(6vw, 40px) !important;
    box-sizing: border-box;
  }
}

/* RV v14 – richer sector landing pages */
.rv-sector-landing .rv-landing-hero .container,
.rv-sector-landing .rv-landing-content {
  width: 100%;
  max-width: none;
  padding-left: max(6vw, 40px);
  padding-right: max(6vw, 40px);
}
.rv-sector-title {
  max-width: 900px;
  margin: 34px 0 28px;
  font-size: clamp(1.7rem, 2.6vw, 2.7rem);
  line-height: 1.12;
}
.rv-sector-intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6vw;
  max-width: 1250px;
}
.rv-sector-landing .rv-landing-hero .rv-sector-intro p {
  max-width: none;
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .rv-sector-landing .rv-landing-hero .container,
  .rv-sector-landing .rv-landing-content { padding-left: 22px; padding-right: 22px; }
  .rv-sector-intro { grid-template-columns: 1fr; gap: 18px; }
}

/* RV v15 – sector CTA uses the same full-width component as service pages */
.rv-sector-landing .rv-sector-final-cta {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 85px max(6vw, 40px);
  box-sizing: border-box;
  border-bottom: 1px solid var(--rv-yellow, #FED518);
}
.rv-sector-landing .rv-sector-final-cta:after { display: none; }
.rv-sector-landing .rv-sector-final-cta h2 {
  font-size: clamp(2rem, 3.25vw, 3.35rem);
  line-height: 1.05;
}
@media (max-width: 600px) {
  .rv-sector-landing .rv-sector-final-cta { padding: 65px 22px; }
}

/* RV v16 – sector landing width + CTA button hardening */
.rv-sector-landing {
  --rv-petrol: #20748C;
  --rv-yellow: #FED518;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.rv-sector-landing .rv-landing-hero,
.rv-sector-landing .rv-landing-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
.rv-sector-landing .rv-landing-hero > .container,
.rv-sector-landing .rv-landing-content.container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: max(6vw, 40px) !important;
  padding-right: max(6vw, 40px) !important;
  box-sizing: border-box !important;
}
.rv-sector-landing .rv-sector-final-cta .rv-cta-button {
  display: inline-flex !important;
  background: #FED518 !important;
  background-color: #FED518 !important;
  color: #111 !important;
  opacity: 1 !important;
}
.rv-sector-landing .rv-sector-final-cta .rv-cta-button:hover {
  background: #fff !important;
  background-color: #fff !important;
  color: #111 !important;
}
@media (max-width: 767px) {
  .rv-sector-landing .rv-landing-hero > .container,
  .rv-sector-landing .rv-landing-content.container {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* Location landing pages: match service-page buttons and full-width final CTA. */
.rv-landing{--rv-yellow:#FED518;--rv-petrol:#20748C}
.rv-landing .rv-hero-actions{align-items:center;gap:30px}
.rv-landing .rv-hero-actions .rv-cta-button{background:#FED518;color:#111!important}
.rv-landing .rv-hero-actions .rv-text-link{display:inline-flex;align-items:center}
.rv-landing .rv-location-final-cta{width:100%;max-width:none;margin:0;padding:85px max(6vw,40px);background:#111;box-sizing:border-box}
.rv-landing .rv-location-final-cta .rv-kicker{color:#FED518}
.rv-landing .rv-location-final-cta h2{color:#fff;font-size:clamp(2rem,3.25vw,3.35rem)}
.rv-landing .rv-location-final-cta p:not(.rv-kicker){color:#ccc;max-width:720px;font-size:1.1rem}
.rv-landing .rv-location-final-cta .rv-cta-button{background:#FED518;color:#111!important}
@media(max-width:600px){.rv-landing .rv-hero-actions{align-items:flex-start;gap:24px}.rv-landing .rv-location-final-cta{padding:65px 22px}.rv-landing .rv-location-final-cta h2{font-size:2.15rem}}


/* v25: hover op realisatiekaarten alleen via het projectbeeld */
.rv-project-card a:hover,
.rv-project-card a:focus,
.rv-service-work .rv-project-card a:hover,
.rv-service-work .rv-project-card a:focus {
    color: inherit !important;
    text-decoration: none !important;
}
.rv-project-card a:hover *,
.rv-project-card a:focus *,
.rv-service-work .rv-project-card a:hover *,
.rv-service-work .rv-project-card a:focus * {
    text-decoration: none !important;
}
.rv-project-card a:hover .rv-project-copy h3,
.rv-project-card a:hover .rv-project-copy small,
.rv-project-card a:hover .rv-project-copy > span,
.rv-project-card a:focus .rv-project-copy h3,
.rv-project-card a:focus .rv-project-copy small,
.rv-project-card a:focus .rv-project-copy > span {
    color: inherit;
    border-bottom-color: transparent;
}
.rv-project-card:hover .rv-project-image img,
.rv-project-card:focus-within .rv-project-image img {
    transform: scale(1.055);
}

/* v25: projecttags petrol achtergrond bij hover/focus, witte tekst */
.rv-project-tags a.badge,
.rv-project-tags a.badge:visited {
    color: #fff !important;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease;
}
.rv-project-tags a.badge:hover,
.rv-project-tags a.badge:focus-visible {
    background-color: #20748C !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* v26 — overzichtspagina Diensten */
.rv-services-overview .rv-service-hero h1 em{font-style:normal;color:#20748C}
.rv-overview-intro{padding:105px max(6vw,40px) 85px;display:grid;grid-template-columns:1fr 1fr;gap:25px 8vw}
.rv-overview-intro .rv-kicker{grid-column:1/-1;margin:0}
.rv-overview-intro h2{max-width:750px;margin:0}
.rv-overview-intro h2 span{color:#20748C}
.rv-overview-intro>p:last-child{max-width:530px;font-size:1.1rem;align-self:end;margin:0}
.rv-overview-services{background:#f4f4f1}
.rv-overview-service{padding:75px max(6vw,40px);border-top:1px solid #d8d9d5;display:grid;grid-template-columns:25% 1fr;gap:5vw;transition:background .25s}
.rv-overview-service:hover{background:#e9ece9}
.rv-overview-service-number{font-size:.9rem;font-weight:700;color:#20748C}
.rv-overview-service-main{max-width:900px}
.rv-overview-service-main h2{font-size:clamp(2.7rem,5vw,5.2rem);margin:12px 0 20px}
.rv-overview-service-main h3{font-size:clamp(1.25rem,2vw,1.8rem);font-weight:500;margin:0 0 20px}
.rv-overview-service-main>p:not(.rv-kicker){max-width:710px;color:#4d4d4d;font-size:1.06rem}
.rv-overview-readmore{display:inline-flex;align-items:center;gap:36px;margin-top:25px;color:#111!important;text-decoration:none!important;font-weight:700;border-bottom:1px solid #111;padding-bottom:10px;transition:color .2s,border-color .2s}
.rv-overview-readmore:hover{color:#20748C!important;border-color:#20748C}
.rv-overview-readmore span{font-size:1.35rem}
@media(max-width:767px){.rv-overview-intro,.rv-overview-service{padding:65px 22px;display:block}.rv-overview-intro h2{margin:22px 0}.rv-overview-service-number{margin-bottom:22px}.rv-overview-service-main h2{font-size:2.9rem}}

/* v27: contactpagina — tweekoloms zonder kaart */
.rv-contact-page{background:#fff;color:#111}
.rv-contact-header{padding:105px max(6vw,40px) 90px;max-width:1500px;margin:auto}
.rv-contact-header h1{font-size:clamp(3.4rem,6.8vw,7.4rem);line-height:1.03;letter-spacing:-.055em;max-width:1100px;margin:22px 0 30px}
.rv-contact-header h1 span{color:#20748C}
.rv-contact-header>p:last-child{font-size:1.22rem;max-width:720px;color:#555;line-height:1.7}
.rv-contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:95px max(6vw,40px) 120px;background:#f5f6f4}
.rv-contact-columns h2{font-size:clamp(2rem,3vw,3.4rem);line-height:1.15;letter-spacing:-.035em;margin:20px 0}
.rv-contact-details>p:not(.rv-kicker),.rv-contact-form-panel>p:not(.rv-kicker){max-width:600px;color:#555;line-height:1.7}
.rv-contact-detail{border-top:1px solid #d4d8d6;padding:26px 0;display:flex;flex-direction:column;gap:8px}
.rv-contact-detail:first-of-type{margin-top:50px}
.rv-contact-detail>span{font-size:.76rem;letter-spacing:.12em;font-weight:700;color:#20748C}
.rv-contact-detail a{font-size:clamp(1.1rem,1.8vw,1.65rem);color:#111;text-decoration:none!important}
.rv-contact-detail a:hover{color:#20748C}
.rv-contact-detail p{margin:0;font-size:1.13rem}
.rv-contact-form-panel{background:#fff;padding:clamp(28px,4vw,60px);box-shadow:0 15px 65px rgba(0,0,0,.045)}
.rv-contact-form-panel .gform_wrapper input:not([type=checkbox]):not([type=radio]):not([type=submit]),.rv-contact-form-panel .gform_wrapper textarea,.rv-contact-form-panel .gform_wrapper select{width:100%;border:1px solid #d9ddda;border-radius:0;background:#fafafa;padding:15px;box-sizing:border-box}
.rv-contact-form-panel .gform_wrapper input[type=submit],.rv-contact-form-panel .gform_wrapper button[type=submit]{background:#FED518;color:#111;border:0;border-radius:40px;padding:16px 32px;font-weight:700;cursor:pointer}
.rv-contact-form-panel .gform_wrapper input[type=submit]:hover{background:#20748C;color:#fff}
.rv-contact-form-notice{border:1px dashed #bbb;padding:18px;font-size:.95rem}
@media(max-width:850px){.rv-contact-header{padding:70px 24px}.rv-contact-columns{grid-template-columns:1fr;padding:60px 24px;gap:45px}.rv-contact-header h1{font-size:clamp(3rem,10vw,5rem)}}

/* v29 contact consistent with service pages */
.rv-standard-page:has(.rv-contact-page){padding:0!important}
.rv-standard-page:has(.rv-contact-page)>.container{max-width:none!important;padding:0!important}
.rv-contact-page .rv-contact-header{box-sizing:border-box;display:block;max-width:none;margin:0;background:#f4f4f1;min-height:auto;padding:155px max(6vw,40px) 90px}
.rv-contact-page .rv-contact-hero-inner{max-width:1100px}
.rv-contact-page .rv-contact-header h1{font-size:clamp(3.15rem,6vw,6rem);line-height:.95;letter-spacing:-.035em;font-weight:500;max-width:980px;margin:22px 0 32px}
.rv-contact-page .rv-contact-header>div>p:last-child{font-size:clamp(1.15rem,1.8vw,1.5rem);max-width:850px;line-height:1.7;color:#444}
.rv-contact-page .rv-contact-columns{padding-left:max(6vw,40px);padding-right:max(6vw,40px);gap:8vw}
.rv-contact-page .rv-contact-detail{display:flex;flex-direction:row;align-items:flex-start;gap:18px}
.rv-contact-page .rv-contact-detail>div{display:flex;flex-direction:column;gap:7px;min-width:0}
.rv-contact-page .rv-contact-detail>div>span{font-size:.76rem;letter-spacing:.12em;font-weight:700;color:#20748C}
.rv-contact-page .rv-contact-icon{font-style:normal;flex:0 0 38px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #cbd7d7;border-radius:50%;color:#20748C;font-size:20px}
.rv-contact-page .rv-contact-detail a:hover{text-decoration:none!important}
@media(max-width:850px){.rv-contact-page .rv-contact-header{padding:135px 24px 70px}.rv-contact-page .rv-contact-columns{padding-left:24px;padding-right:24px}.rv-contact-page .rv-contact-header h1{font-size:clamp(3rem,9vw,4.5rem)}}

/* v30 – contact: open, clean outline icons like reference */
.rv-contact-page .rv-contact-icon{width:34px!important;height:34px!important;flex:0 0 34px!important;border:0!important;border-radius:0!important;padding:0!important;color:#20748C;display:block!important;stroke-width:1.65}
.rv-contact-page .rv-contact-detail{align-items:flex-start;gap:24px}
.rv-contact-page .rv-contact-detail>div{min-width:0;overflow-wrap:anywhere}
.rv-contact-page .rv-contact-detail a{font-size:clamp(1.1rem,2.2vw,1.85rem)}
.rv-contact-page .rv-contact-detail p{overflow-wrap:anywhere}
@media(max-width:767px){.rv-contact-page .rv-contact-icon{width:29px!important;height:29px!important;flex-basis:29px!important}}

/* v30 – freelance WordPress landing page */
.rv-freelance-page{--rv-freelance-gutter:max(6vw,40px)}
.rv-freelance-container{padding-left:var(--rv-freelance-gutter);padding-right:var(--rv-freelance-gutter)}
.rv-freelance-hero{display:block!important;padding:155px 0 100px!important;background:#f4f4f1}
.rv-freelance-hero h1{font-size:clamp(3.25rem,6vw,6.4rem);line-height:1.04;max-width:1100px;letter-spacing:-.045em}
.rv-freelance-hero h1 em{color:#20748C;font-style:normal}
.rv-freelance-hero .rv-service-lead{max-width:860px}
.rv-freelance-intro{padding-top:105px;padding-bottom:105px;display:grid;grid-template-columns:1fr 1fr;gap:24px 7vw}
.rv-freelance-intro .rv-kicker{grid-column:1/-1}
.rv-freelance-intro h2{font-size:clamp(2.2rem,3.8vw,4.2rem);letter-spacing:-.035em}
.rv-freelance-intro>p:last-child{align-self:center;font-size:1.13rem;line-height:1.75;color:#555}
.rv-freelance-services{padding:100px 0;background:#f4f4f1}
.rv-freelance-services h2,.rv-freelance-collaboration h2,.rv-freelance-projects h2{font-size:clamp(2.2rem,3.5vw,3.9rem);letter-spacing:-.035em;max-width:900px}
.rv-freelance-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d8dcda;margin-top:55px;border:1px solid #d8dcda}
.rv-freelance-grid article{padding:42px;background:#f4f4f1}
.rv-freelance-grid article>span{color:#20748C;font-weight:700}
.rv-freelance-grid article h3{font-size:1.6rem;margin:25px 0 18px}
.rv-freelance-grid article p{color:#555;line-height:1.7}
.rv-freelance-collaboration{padding-top:105px;padding-bottom:105px}
.rv-freelance-collaboration>p:last-child{max-width:850px;font-size:1.14rem;line-height:1.75;color:#555}
.rv-freelance-projects{background:#f4f4f1;padding:95px 0}
.rv-freelance-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:50px}
.rv-freelance-project-grid a{color:#111;text-decoration:none!important}
.rv-freelance-project-grid img{width:100%;height:260px;object-fit:cover;transition:transform .3s}
.rv-freelance-project-grid article{overflow:hidden}
.rv-freelance-project-grid article:hover img{transform:scale(1.035)}
.rv-freelance-project-grid h3{font-size:1.5rem;margin:20px 0 10px}
.rv-freelance-project-grid span{color:#20748C;font-weight:700}
@media(max-width:767px){.rv-freelance-page{--rv-freelance-gutter:24px}.rv-freelance-hero{padding:125px 0 75px!important}.rv-freelance-intro{display:block;padding-top:70px;padding-bottom:70px}.rv-freelance-services,.rv-freelance-collaboration,.rv-freelance-projects{padding-top:70px;padding-bottom:70px}.rv-freelance-grid,.rv-freelance-project-grid{grid-template-columns:1fr}.rv-freelance-grid article{padding:30px}}

/* v31: contact icons vertically align with detail labels */
.rv-contact-page .rv-contact-detail .rv-contact-icon{
  position:relative;
  top:9px;
}

/* v31: one consistent horizontal rhythm across freelance sections */
.rv-freelance-page{
  --rv-freelance-gutter:max(6vw,40px);
}
.rv-freelance-page .rv-freelance-hero,
.rv-freelance-page .rv-freelance-intro,
.rv-freelance-page .rv-freelance-services,
.rv-freelance-page .rv-freelance-collaboration,
.rv-freelance-page .rv-freelance-projects,
.rv-freelance-page .rv-service-final-cta{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  margin-left:0!important;
  margin-right:0!important;
}
.rv-freelance-page .rv-service-final-cta{
  padding-left:var(--rv-freelance-gutter)!important;
  padding-right:var(--rv-freelance-gutter)!important;
}
.rv-freelance-page .rv-service-final-cta:after{
  right:var(--rv-freelance-gutter);
}
.rv-freelance-page .rv-freelance-container{
  box-sizing:border-box;
  width:100%;
  padding-left:var(--rv-freelance-gutter)!important;
  padding-right:var(--rv-freelance-gutter)!important;
  margin-left:0!important;
  margin-right:0!important;
}
.rv-freelance-page .rv-freelance-intro,
.rv-freelance-page .rv-freelance-collaboration{
  padding-left:var(--rv-freelance-gutter)!important;
  padding-right:var(--rv-freelance-gutter)!important;
}
@media(max-width:767px){
  .rv-freelance-page{--rv-freelance-gutter:24px}
  .rv-contact-page .rv-contact-detail .rv-contact-icon{top:7px}
}

/* v32 – contactgegevens en Gravity Forms in dezelfde huisstijl */
.rv-contact-page .rv-contact-columns{align-items:start;gap:clamp(38px,5vw,90px)}
.rv-contact-page .rv-contact-details{min-width:0}
.rv-contact-page .rv-contact-detail p{line-height:1.55}
.rv-contact-page .rv-contact-address-line{display:block;overflow-wrap:break-word}
.rv-contact-page .rv-contact-detail:has(.rv-contact-address-line){padding-top:32px;padding-bottom:32px}
.rv-contact-page .rv-contact-form-panel{min-width:0;border:1px solid #e2e5e2;box-shadow:none;padding:clamp(26px,3.6vw,56px);background:#fff}
.rv-contact-page .rv-contact-form-panel>h2{font-weight:500;letter-spacing:-.035em}
.rv-contact-page .rv-contact-form{margin-top:34px}
.rv-contact-page .gform_wrapper.gravity-theme .gform_fields,
.rv-contact-page .gform_wrapper .gform_fields{grid-row-gap:23px;column-gap:20px}
.rv-contact-page .gform_wrapper .gfield_label,
.rv-contact-page .gform_wrapper .ginput_complex label{font-size:14px;font-weight:600;color:#202526;margin-bottom:9px;letter-spacing:.005em}
.rv-contact-page .gform_wrapper .gfield_required{color:#20748C}
.rv-contact-page .gform_wrapper input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.rv-contact-page .gform_wrapper textarea,
.rv-contact-page .gform_wrapper select{
 box-sizing:border-box;width:100%;max-width:100%;min-height:52px;
 background:#f7f8f7;border:1px solid #d8ddda;border-radius:3px;
 padding:13px 16px;font:inherit;font-size:16px;color:#111;
 transition:border-color .2s,box-shadow .2s,background .2s;
}
.rv-contact-page .gform_wrapper textarea{min-height:145px;resize:vertical}
.rv-contact-page .gform_wrapper input:focus,
.rv-contact-page .gform_wrapper textarea:focus,
.rv-contact-page .gform_wrapper select:focus{outline:0;border-color:#20748C!important;box-shadow:0 0 0 3px rgba(32,116,140,.10);background:#fff}
.rv-contact-page .gform_wrapper .gsection{margin-top:16px;padding-bottom:14px;border-bottom:1px solid #d7dedb}
.rv-contact-page .gform_wrapper .gsection_title{font-size:clamp(19px,2vw,25px);font-weight:600;letter-spacing:-.02em}
.rv-contact-page .gform_wrapper .gfield_description{font-size:13px;color:#6a7370}
.rv-contact-page .gform_wrapper .gform_footer,
.rv-contact-page .gform_wrapper .gform_page_footer{margin-top:30px;padding-top:8px}
/* Gravity Forms classic and modern markup; yellow matches primary site CTAs */
.rv-contact-page .gform_wrapper .gform_footer input[type=submit],
.rv-contact-page .gform_wrapper .gform_page_footer input[type=submit],
.rv-contact-page .gform_wrapper .gform_page_footer button,
.rv-contact-page .gform_wrapper button[type=submit],
.rv-contact-page .gform_wrapper input.gform_button,
.rv-contact-page .gform_wrapper .gform_button{
 display:inline-flex!important;align-items:center;justify-content:center;
 min-height:54px;padding:16px 32px!important;border:1px solid #FED518!important;
 border-radius:40px!important;background:#FED518!important;color:#111!important;
 font-size:15px!important;font-weight:700!important;line-height:1.2!important;
 text-decoration:none!important;box-shadow:none!important;cursor:pointer;
 transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.rv-contact-page .gform_wrapper .gform_footer input[type=submit]:hover,
.rv-contact-page .gform_wrapper .gform_page_footer input[type=submit]:hover,
.rv-contact-page .gform_wrapper .gform_page_footer button:hover,
.rv-contact-page .gform_wrapper button[type=submit]:hover,
.rv-contact-page .gform_wrapper input.gform_button:hover,
.rv-contact-page .gform_wrapper .gform_button:hover{
 background:#20748C!important;border-color:#20748C!important;color:#fff!important;transform:translateY(-1px)
}
.rv-contact-page .gform_wrapper .gform_validation_errors{border-color:#d7dedb;background:#f7f8f7}
@media(max-width:850px){.rv-contact-page .rv-contact-columns{gap:52px}.rv-contact-page .rv-contact-form-panel{padding:28px 22px}}

/* v33: Gravity Forms section spacing and native select styling */
.rv-contact-page .gform_wrapper .gsection_title{margin-bottom:8px!important}
.rv-contact-page .gform_wrapper select,
.rv-contact-page .gform_wrapper .ginput_container_select select{
  appearance:none!important;-webkit-appearance:none!important;
  background-color:#f7f8f7!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2320748C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-position:right 16px center!important;background-repeat:no-repeat!important;
  background-size:16px 16px!important;padding-right:46px!important;
  cursor:pointer!important;box-shadow:none!important;
}
.rv-contact-page .gform_wrapper select:hover,
.rv-contact-page .gform_wrapper .ginput_container_select select:hover{
  background-color:#fff!important;border-color:#20748C!important;
  box-shadow:none!important;
}
.rv-contact-page .gform_wrapper select:focus,
.rv-contact-page .gform_wrapper .ginput_container_select select:focus{
  background-color:#fff!important;border-color:#20748C!important;
  box-shadow:0 0 0 3px rgba(32,116,140,.10)!important;
}

/* v34 — Realisaties: masonry & filter zonder paginaherlading */
.rv-realisaties-page{--rv-work-gutter:max(6vw,40px);color:#111;background:#fff}
.rv-realisaties-wrap{width:100%;max-width:none;margin:0;box-sizing:border-box;padding-left:var(--rv-work-gutter);padding-right:var(--rv-work-gutter)}
.rv-realisaties-hero{background:#f4f4f1;padding:160px 0 110px}
.rv-realisaties-hero h1{font-size:clamp(3.8rem,7vw,8rem);letter-spacing:-.055em;line-height:1.02;margin:20px 0 28px;font-weight:500}
.rv-realisaties-hero h1 em{font-style:normal;color:#20748C}
.rv-realisaties-hero .rv-realisaties-wrap>p:last-child{max-width:790px;font-size:clamp(1.1rem,1.65vw,1.45rem);color:#535353;line-height:1.65}
.rv-realisaties-list{padding-top:105px;padding-bottom:115px}
.rv-realisaties-top{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:45px}
.rv-realisaties-top h2{font-size:clamp(2.4rem,4vw,4.7rem);line-height:1.1;letter-spacing:-.045em;margin:18px 0 0}
.rv-realisaties-count{white-space:nowrap;color:#666;margin:0 0 6px}
.rv-realisaties-filters{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #dedede;padding:27px 0 48px}
.rv-realisaties-filter{border:1px solid #d6d8d7;background:transparent;color:#111;border-radius:999px;padding:11px 21px;line-height:1.2;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.rv-realisaties-filter:hover,.rv-realisaties-filter:focus-visible{border-color:#20748C;color:#20748C;background:#eef4f4}
.rv-realisaties-filter.is-active,.rv-realisaties-filter.is-active:hover{background:#20748C;color:#fff;border-color:#20748C}
.rv-realisaties-masonry{columns:3;column-gap:30px}
.rv-realisaties-card{break-inside:avoid;margin:0 0 43px;display:inline-block;width:100%;vertical-align:top}
.rv-realisaties-card[hidden]{display:none!important}
.rv-realisaties-card>a{display:block;color:#111!important;text-decoration:none!important}
.rv-realisaties-image{position:relative;overflow:hidden;background:#e6eae8;aspect-ratio:4/3}
.rv-realisaties-image--1{aspect-ratio:4/4.6}
.rv-realisaties-image--2{aspect-ratio:4/3.2}
.rv-realisaties-image--3{aspect-ratio:4/5}
.rv-realisaties-image--0{aspect-ratio:4/3.7}
.rv-realisaties-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rv-realisaties-card:hover .rv-realisaties-image img,.rv-realisaties-card:focus-within .rv-realisaties-image img{transform:scale(1.055)}
.rv-realisaties-arrow{position:absolute;right:16px;bottom:16px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#FED518;color:#111;font-size:1.5rem;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.rv-realisaties-card:hover .rv-realisaties-arrow,.rv-realisaties-card:focus-within .rv-realisaties-arrow{opacity:1;transform:translateY(0)}
.rv-realisaties-caption{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:20px 0 0}
.rv-realisaties-caption h3{font-size:clamp(1.25rem,1.65vw,1.8rem);line-height:1.2;margin:0 0 8px;font-weight:600}
.rv-realisaties-caption p{font-size:.88rem;color:#6b6b6b;margin:0}
.rv-realisaties-caption>span{font-size:1.45rem;line-height:1;color:#20748C}
.rv-realisaties-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:5rem;font-weight:800;color:#20748C}
.rv-realisaties-placeholder span{color:#FED518}
.rv-realisaties-empty{padding:30px 0;color:#555}
.rv-realisaties-cta{padding-left:var(--rv-work-gutter)!important;padding-right:var(--rv-work-gutter)!important;box-sizing:border-box}
@media(max-width:1000px){.rv-realisaties-masonry{columns:2;column-gap:22px}}
@media(max-width:650px){.rv-realisaties-page{--rv-work-gutter:24px}.rv-realisaties-hero{padding:125px 0 75px}.rv-realisaties-list{padding-top:70px;padding-bottom:75px}.rv-realisaties-top{display:block}.rv-realisaties-count{margin-top:15px}.rv-realisaties-filters{padding-bottom:32px}.rv-realisaties-filter{padding:9px 15px;font-size:.88rem}.rv-realisaties-masonry{columns:1}.rv-realisaties-card{margin-bottom:32px}.rv-realisaties-arrow{opacity:1;transform:none}}

/* v35 – compactere projectbeelden, geen pijltjes */
.rv-realisaties-image,.rv-realisaties-image--0,.rv-realisaties-image--1,.rv-realisaties-image--2,.rv-realisaties-image--3{aspect-ratio:4/3!important}
.rv-realisaties-image--1{aspect-ratio:4/3.4!important}
.rv-realisaties-image--3{aspect-ratio:4/3.6!important}
.rv-realisaties-arrow,.rv-realisaties-caption>span{display:none!important}

/* v36 — realisaties: CTA consistent with the service pages */
.rv-standard-page:has(.rv-realisaties-page),
.rv-standard-page:has(.rv-realisaties-page) > .container {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.rv-realisaties-page {
  --rv-yellow:#FED518;
  --rv-petrol:#20748C;
  width:100%;
  max-width:none;
  margin:0;
}
.rv-realisaties-page .rv-realisaties-cta {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:85px var(--rv-work-gutter)!important;
  box-sizing:border-box;
  background:#111;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:50px;
  border-bottom:1px solid #FED518!important;
}
.rv-realisaties-page .rv-realisaties-cta h2{color:#fff;max-width:850px}
.rv-realisaties-page .rv-realisaties-cta .rv-kicker{color:#FED518}
.rv-realisaties-page .rv-realisaties-cta p:not(.rv-kicker){color:#ccc;max-width:720px}
.rv-realisaties-page .rv-realisaties-cta:after{right:var(--rv-work-gutter);background:#20748C}
.rv-realisaties-page .rv-realisaties-cta .rv-cta-button{flex-shrink:0}
@media(max-width:991px){
  .rv-realisaties-page .rv-realisaties-cta{flex-direction:column;align-items:flex-start;gap:30px}
}
@media(max-width:650px){
  .rv-realisaties-page .rv-realisaties-cta{padding:70px 24px!important}
}

/* v37 — correct CTA heading line-height on Realisaties */
.rv-realisaties-page .rv-realisaties-cta h2 {
  font-size: clamp(2.25rem, 3.25vw, 3.35rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.035em;
  margin-top: 14px;
  margin-bottom: 24px;
  max-width: 850px;
}
.rv-realisaties-page .rv-realisaties-cta p:not(.rv-kicker) {
  line-height: 1.65;
}
@media (max-width: 650px) {
  .rv-realisaties-page .rv-realisaties-cta h2 {
    font-size: clamp(2rem, 8vw, 2.6rem) !important;
    line-height: 1.16 !important;
  }
}

/* v38 - Projectdetail met compacte hero en websitepreview */
.rv-case-page{--rv-case-gutter:max(6vw,40px);background:#fff;color:#111}
.rv-case-container{box-sizing:border-box;width:100%;max-width:1500px;margin:0 auto;padding-left:var(--rv-case-gutter);padding-right:var(--rv-case-gutter)}
.rv-case-hero{background:#f4f4f1;padding:145px 0 75px}
.rv-case-breadcrumb{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:60px;font-size:.9rem}
.rv-case-breadcrumb a{color:#333;text-decoration:none}.rv-case-breadcrumb a:hover{color:#20748C}
.rv-case-breadcrumb span{color:#999}
.rv-case-hero h1{font-size:clamp(3rem,6vw,6.7rem);line-height:1.05;letter-spacing:-.055em;font-weight:500;max-width:1100px;margin:22px 0}
.rv-case-lead{font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.6;max-width:900px;color:#555}
.rv-case-meta{display:flex;flex-wrap:wrap;gap:35px 65px;margin-top:60px;padding-top:27px;border-top:1px solid #d6d9d6}
.rv-case-meta>div{display:flex;flex-direction:column;gap:8px}
.rv-case-meta span{color:#20748C;font-size:.77rem;letter-spacing:.11em;font-weight:700}
.rv-case-meta strong,.rv-case-meta a{font-weight:600;color:#111;text-decoration:none}
.rv-case-meta a:hover{color:#20748C}
.rv-case-preview-section{padding:65px 0 35px;background:#fff}
.rv-case-browser{width:min(100%,1050px);margin:0 auto;overflow:hidden;border:1px solid #d8dddc;border-radius:13px;box-shadow:0 26px 75px rgba(0,0,0,.09);background:#fff}
.rv-case-browser-bar{height:43px;background:#f5f6f6;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid #e3e6e5;color:#687273;font-size:.76rem}
.rv-case-dots{position:absolute;left:19px;display:flex;gap:7px}.rv-case-dots i{width:9px;height:9px;border-radius:50%;background:#d1d6d5}
.rv-case-browser-image{height:clamp(290px,40vw,530px);overflow:hidden;background:#e7e9e8}
.rv-case-browser-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.rv-case-story{padding:95px 0 105px}
.rv-case-story-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8vw}
.rv-case-story-heading h2{font-size:clamp(2rem,3.4vw,3.8rem);line-height:1.13;letter-spacing:-.035em;margin:25px 0}
.rv-case-story-copy{font-size:1.1rem;line-height:1.8;color:#515151}
.rv-case-story-copy p{margin:0 0 22px}
.rv-case-story-copy h3{color:#111;font-size:1.6rem;margin:35px 0 14px}
.rv-case-visit{display:inline-flex;gap:45px;align-items:center;border-bottom:1px solid #111;color:#111!important;font-weight:700;text-decoration:none!important;padding-bottom:9px;margin-top:20px}
.rv-case-visit:hover{color:#20748C!important;border-color:#20748C}
.rv-case-taxonomies{background:#f4f4f1;padding:45px 0}.rv-case-taxonomies .rv-project-tags{margin-top:20px}
@media(max-width:767px){.rv-case-page{--rv-case-gutter:24px}.rv-case-hero{padding:120px 0 60px}.rv-case-breadcrumb{margin-bottom:35px}.rv-case-meta{margin-top:40px;gap:24px 30px}.rv-case-preview-section{padding:35px 0}.rv-case-browser-image{height:310px}.rv-case-story{padding:65px 0}.rv-case-story-grid{grid-template-columns:1fr;gap:15px}}

/* v39: project detail typography and link arrows */
.rv-case-story-heading h2 strong{font-weight:750;color:#111}
.rv-case-page .rv-case-meta a,.rv-case-page .rv-case-visit{transition:color .2s ease}
.rv-case-page .rv-case-visit span{font-size:1.25em;line-height:1}

/* v40: compact project image beside the project heading */
.rv-case-page .rv-case-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:center}
.rv-case-page .rv-case-hero-grid.rv-case-has-image{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr)}
.rv-case-page .rv-case-hero-copy{min-width:0}
.rv-case-page .rv-case-hero-copy h1{overflow-wrap:break-word;margin-top:0}
.rv-case-page .rv-case-hero-visual{margin:0;min-width:0;aspect-ratio:4/3;max-height:410px;overflow:hidden;border-radius:10px;background:#e7e9e8}
.rv-case-page .rv-case-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.rv-case-page .rv-case-hero-grid+.rv-case-meta{margin-top:48px}
/* Clean petrol checkmarks for imported project scope lists */
.rv-case-page .rv-case-story-copy .rv-case-prose ul,
.rv-case-page .rv-case-story-copy ul{list-style:none;padding-left:0;margin:20px 0 32px}
.rv-case-page .rv-case-story-copy .rv-case-prose ul li,
.rv-case-page .rv-case-story-copy ul li{position:relative;padding-left:34px;margin:0 0 13px;line-height:1.65}
.rv-case-page .rv-case-story-copy .rv-case-prose ul li::before,
.rv-case-page .rv-case-story-copy ul li::before{content:'✓';position:absolute;left:0;top:0;color:#20748C;font-weight:800;font-size:1.12em;line-height:1.65}
@media(max-width:900px){.rv-case-page .rv-case-hero-grid.rv-case-has-image{grid-template-columns:1fr;gap:28px}.rv-case-page .rv-case-hero-visual{max-height:360px;aspect-ratio:16/9}.rv-case-page .rv-case-hero-grid+.rv-case-meta{margin-top:35px}}
@media(max-width:550px){.rv-case-page .rv-case-hero-visual{max-height:260px}.rv-case-page .rv-case-story-copy ul li{padding-left:29px}}


/* v42 – mobile navigation and footer columns */
@media (max-width: 991px) {
  #header .header-nav-main nav.collapse,
  #header .header-nav-main nav.collapsing,
  #header .header-nav-main nav.show {
    background: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 55px rgba(0,0,0,.18) !important;
    padding: 10px 18px !important;
    max-height: calc(100dvh - 105px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  #header .header-nav-main nav > ul,
  #header .header-nav-main nav ul.nav { margin: 0 !important; padding: 0 !important; }
  #header .header-nav-main nav > ul > li {
    display: block !important; margin: 0 !important;
    padding: 0 !important; border-bottom: 1px solid #e9e9e9 !important;
  }
  #header .header-nav-main nav > ul > li:last-child { border-bottom: 0 !important; }
  #header .header-nav-main nav > ul > li > a {
    display: block !important; padding: 13px 8px !important;
    margin: 0 !important; min-height: 0 !important;
    font-size: 16px !important; font-weight: 700 !important;
    line-height: 1.35 !important; color: #171717 !important;
    background: transparent !important; border: 0 !important;
  }
  #header .header-nav-main nav > ul > li.current-menu-item > a,
  #header .header-nav-main nav > ul > li.current-menu-ancestor > a { color: #20748C !important; }
  #header .header-nav-main nav ul.sub-menu-container,
  #header .header-nav-main nav ul.sub-menu,
  #header .header-nav-main nav ul.dropdown-menu {
    display: block !important; position: static !important;
    float: none !important; width: 100% !important; min-width: 0 !important;
    max-width: none !important; height: auto !important;
    margin: -2px 0 9px !important; padding: 0 0 0 14px !important;
    background: transparent !important; box-shadow: none !important;
    border: 0 !important; border-left: 2px solid #d4e6eb !important;
    opacity: 1 !important; visibility: visible !important;
    transform: none !important; list-style: none !important;
  }
  #header .header-nav-main nav ul.sub-menu-container > li,
  #header .header-nav-main nav ul.sub-menu > li,
  #header .header-nav-main nav ul.dropdown-menu > li {
    display: block !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important;
  }
  #header .header-nav-main nav ul.sub-menu-container > li > a,
  #header .header-nav-main nav ul.sub-menu > li > a,
  #header .header-nav-main nav ul.dropdown-menu > li > a {
    display: block !important; padding: 8px 10px !important;
    margin: 0 !important; font-size: 14px !important;
    font-weight: 500 !important; line-height: 1.4 !important;
    color: #555 !important; background: transparent !important;
    border: 0 !important; white-space: normal !important;
  }
  #header .header-nav-main nav ul.sub-menu-container > li > a:hover,
  #header .header-nav-main nav ul.sub-menu > li > a:hover,
  #header .header-nav-main nav ul.dropdown-menu > li > a:hover,
  #header .header-nav-main nav ul.sub-menu-container > li.current-menu-item > a,
  #header .header-nav-main nav ul.sub-menu > li.current-menu-item > a {
    color: #20748C !important;
  }
}
@media (max-width: 767px) {
  /* The last two footer columns are both Realisaties; remove the spacer heading and gap. */
  #footer > .container > .row > .col-lg-8 .row > .col-md-3:nth-child(3) {
    margin-bottom: 0 !important; padding-bottom: 0 !important;
  }
  #footer > .container > .row > .col-lg-8 .row > .col-md-3:nth-child(3) ul {
    margin-bottom: 0 !important; padding-bottom: 0 !important;
  }
  #footer > .container > .row > .col-lg-8 .row > .col-md-3:nth-child(4) {
    margin-top: 0 !important; padding-top: 0 !important;
  }
  #footer > .container > .row > .col-lg-8 .row > .col-md-3:nth-child(4) h4 {
    display: none !important;
  }
  #footer > .container > .row > .col-lg-8 .row > .col-md-3:nth-child(4) ul {
    margin-top: 0 !important; padding-top: 0 !important;
  }
}

/* v47: footer lists controlled through WordPress menus */
#footer .rv-footer-link-list { margin:0; padding:0; list-style:none; }
#footer .rv-footer-link-list > li { margin:0 0 12px; padding:0; }
#footer .rv-footer-link-list > li > a { color:#969696; text-decoration:none; transition:color .2s ease; }
#footer .rv-footer-link-list > li > a:hover,
#footer .rv-footer-link-list > li.current-menu-item > a { color:#20748C; }
@media (min-width:768px) {
 #footer .rv-footer-realisaties .rv-footer-link-list { columns:2; column-gap:26px; }
 #footer .rv-footer-realisaties .rv-footer-link-list > li { break-inside:avoid; }
}
@media (max-width:767px) {
 #footer .rv-footer-menus .rv-footer-menu-group { margin-bottom:20px!important; }
 #footer .rv-footer-menus .rv-footer-menu-group:last-child { margin-bottom:0!important; }
 #footer .rv-footer-realisaties .rv-footer-link-list { columns:1; }
}

/* v54 – Projectdetail: compacte titel en aanklikbare sectoren */
.rv-case-page .rv-case-hero-copy h1{font-size:clamp(2.65rem,3.7vw,4.3rem);line-height:1.07;letter-spacing:-.045em;overflow-wrap:normal;word-break:normal}
.rv-case-page .rv-case-meta .rv-case-sector-links a{color:inherit!important;text-decoration:none}
.rv-case-page .rv-case-meta .rv-case-sector-links a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.rv-case-page .rv-case-hero-copy h1{font-size:clamp(2.4rem,9vw,3.5rem);overflow-wrap:break-word}}

/* v55 – CTA onderaan projectdetail */
.rv-case-bottom-cta{background:#20748c;color:#fff;padding:clamp(54px,7vw,108px) 0;margin:0}
.rv-case-bottom-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:48px}
.rv-case-bottom-cta-copy{max-width:760px}
.rv-case-bottom-cta-kicker{color:#fed518!important;font-size:13px;font-weight:800;letter-spacing:.16em;margin:0 0 16px}
.rv-case-bottom-cta h2{color:#fff!important;font-size:clamp(2rem,3.2vw,3.7rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 22px}
.rv-case-bottom-cta-copy>p:last-child{color:rgba(255,255,255,.85);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.65;margin:0}
.rv-case-bottom-cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:240px}
.rv-case-bottom-cta-button{display:inline-flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 22px;border-radius:4px;font-weight:700;text-decoration:none!important;transition:background .2s,color .2s}
.rv-case-bottom-cta-primary{background:#fed518;color:#151515!important}
.rv-case-bottom-cta-primary:hover{background:#fff;color:#151515!important}
.rv-case-bottom-cta-secondary{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.7)}
.rv-case-bottom-cta-secondary:hover{background:#fff;color:#20748c!important}
@media(max-width:900px){.rv-case-bottom-cta-inner{flex-direction:column;align-items:stretch;gap:30px}.rv-case-bottom-cta-actions{flex-direction:row;flex-wrap:wrap}}
@media(max-width:540px){.rv-case-bottom-cta-actions{flex-direction:column}.rv-case-bottom-cta-button{width:100%}}
/* Eerdere footerfix expliciet behouden */
@media(min-width:768px){.rv-footer-footer-realisaties ul.rv-footer-link-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:30px;grid-auto-flow:row}}
.rv-footer-footer-realisaties ul.rv-footer-link-list li a{color:var(--grey)!important}

/* v56 – Projectdetail CTA in dezelfde stijl als onderaan de dienst Webdesign */
.rv-case-bottom-cta{
  background:#111!important;
  color:#fff!important;
  padding:85px max(6vw,40px)!important;
}
.rv-case-bottom-cta .rv-case-bottom-cta-inner{
  width:100%;max-width:none;margin:0;
  display:flex;justify-content:space-between;align-items:flex-end;gap:60px;
}
.rv-case-bottom-cta .rv-case-bottom-cta-copy{max-width:850px}
.rv-case-bottom-cta .rv-case-bottom-cta-kicker{
  color:#FED518!important;font-size:13px;font-weight:700;letter-spacing:.12em;
}
.rv-case-bottom-cta h2{
  color:#fff!important;font-size:clamp(2rem,3.25vw,3.35rem)!important;
  line-height:1.08;letter-spacing:-.035em;
}
.rv-case-bottom-cta .rv-case-bottom-cta-copy>p:last-child{color:#ccc!important;max-width:720px;font-size:1.1rem}
.rv-case-bottom-cta .rv-case-bottom-cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:215px}
.rv-case-bottom-cta .rv-case-bottom-cta-button{
  display:inline-flex;justify-content:space-between;align-items:center;gap:35px;
  border:0;border-radius:0;padding:17px 20px 17px 24px;
  min-width:215px;font-weight:700;transition:transform .2s ease;
}
.rv-case-bottom-cta .rv-case-bottom-cta-primary{background:#FED518!important;color:#111!important}
.rv-case-bottom-cta .rv-case-bottom-cta-secondary{background:transparent!important;color:#fff!important;border:1px solid #777}
.rv-case-bottom-cta .rv-case-bottom-cta-button:hover{transform:translateY(-2px)}
@media(max-width:991px){.rv-case-bottom-cta .rv-case-bottom-cta-inner{align-items:flex-start;flex-direction:column;gap:35px}}
@media(max-width:600px){.rv-case-bottom-cta{padding:65px 22px!important}.rv-case-bottom-cta .rv-case-bottom-cta-actions{width:100%}.rv-case-bottom-cta .rv-case-bottom-cta-button{width:100%}}

/* v57 – subtiele scheidingslijn tussen project-CTA en footer */
.rv-case-bottom-cta { border-bottom: 1px solid rgba(255,255,255,.18) !important; }

/* v60: projectomschrijving en leesbare tekstselectie */
.rv-case-prose p {
    line-height: 2rem;
}

::selection {
    background-color: #20748C;
    color: #fff;
}

::-moz-selection {
    background-color: #20748C;
    color: #fff;
}

/* v63 – omschrijving onder de titel op het realisatiesoverzicht */
.rv-realisaties-caption .rv-realisaties-description {font-size:1rem;line-height:1.65;color:#404040;margin:0 0 9px;}
.rv-realisaties-caption .rv-realisaties-sectors {font-size:.88rem;color:#6b6b6b;margin:0;}

/* v64: compact project heading + separate editable subtitle; display full project preview */
.rv-case-page .rv-case-hero-copy .rv-case-subtitle{font-size:clamp(1.2rem,1.9vw,1.8rem);line-height:1.35;font-weight:600;letter-spacing:-.02em;margin:12px 0 20px;color:#20748c}
.rv-case-page .rv-case-hero-visual{aspect-ratio:auto;max-height:none;overflow:visible;background:transparent}
.rv-case-page .rv-case-hero-visual img{width:100%;height:auto;object-fit:contain;object-position:center; border-radius:10px}
@media(max-width:900px){.rv-case-page .rv-case-hero-visual{aspect-ratio:auto;max-height:none}}
@media(max-width:550px){.rv-case-page .rv-case-hero-visual{max-height:none}}

/* RV v69: mobile homepage — selectors match <body class="front-page"> */
@media (max-width: 767.98px) {
  body.front-page #home .container > .row > .col-lg-8 {
    width: 100%;
    padding-inline: 18px;
  }
  body.front-page #home .custom-hero-font-1 {
    font-size: clamp(32px, 8.4vw, 40px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.035em;
    max-width: 21ch;
    margin-inline: auto;
    text-wrap: balance;
    overflow-wrap: normal;
  }
  /* Compact 3 + 2 shape layout; keep the original staggered composition. */
  body.front-page #concept .col-lg-6:first-child > .d-flex {
    width: 100%;
    max-width: 390px;
    margin-inline: auto;
    justify-content: center;
    gap: 0;
  }
  body.front-page #concept .col-lg-6:first-child > .d-flex > .flex-fill {
    flex: 0 0 33.333333%;
    min-width: 0;
    padding: 2px !important;
  }
  body.front-page #concept .col-lg-6:first-child .custom-el-3 {
    width: min(31vw, 126px) !important;
    height: min(31vw, 126px) !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  body.front-page #concept .custom-el-3 .custom-el-3-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
  body.front-page #concept .custom-el-4-pos { margin-top: -22px !important; }
  /* Project image before title/description on phones. */
  body.front-page .rv-home-project-row {
    display: flex !important;
    flex-direction: column !important;
  }
  body.front-page .rv-home-project-row > .rv-home-project-image {
    order: 0 !important;
    width: 100% !important;
    padding: 22px 0 0 !important;
  }
  body.front-page .rv-home-project-row > .rv-home-project-image img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 !important;
  }
  body.front-page .rv-home-project-row > .rv-home-project-text {
    order: 1 !important;
    width: 100% !important;
    padding-top: 8px !important;
  }
  body.front-page .rv-home-project-row > .rv-home-project-text h3 {
    margin-top: 16px !important;
  }
}
