/* 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: block;
    margin-top: 12px;
    background-color: var(--rv-petrol);
    line-height: 1.06;
    font-style: normal !important;
    font-weight: 400;
    letter-spacing: -.035em;
    color: white;
    display: inline-block;
    padding: 8px 11px;
}

@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;
  }
}
