/* Custom CSS */
html {
	scroll-behavior: smooth;
}

h2 {
	font-family:"ivyora-text"!important;
}

.italic{
	font-family:"ivyora-text";
	font-style: italic;
}
.ivyora-normal{
	font-family:"ivyora-text";
}
.ivyora-normal span,
.ivyora-normal h3{
	font-family:"ivyora-text"!important;
}
.ivyora-normal span span,
.ivyora-normal h3 span{
	font-family: "Geist", Sans-serif!important;
}


/* Site-wide keyboard focus styles */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid #F58220 !important;
    outline-offset: 3px !important;
}


.bg-blur,
.bg-blur ul.elementor-nav-menu ul.sub-menu {
	backdrop-filter: blur(6px);
}
/* Icon Circle */
.btn-icon .elementor-button-icon {
	display: flex;
	padding: 13px;
	border-radius: 25px;
	background: var(--Kerr-Orange, #F17E42);
}
.btn-icon.bg-white .elementor-button-icon {

	background: var(--Kerr-Orange, #FAFAFA);
}

/* Button Text */
.btn-icon .elementor-button-text {
	display: flex;
	align-items: center;
}

.color-text{
	color: rgba(25, 25, 25, 0.40);
}

.btn-icon .elementor-flip-box__button {
	position: relative;
	padding-right: 52px;
}

.btn-icon .elementor-flip-box__button::after, .btn-icon .elementor-heading-title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #F5823A url("https://kerrgroupdev.wpenginepowered.com/wp-content/uploads/2026/06/67474b40a3d9369b64d717c8_arrow20up.svg.svg") no-repeat center;
	background-size: 14px;
}

/* footer email */
.btn-icon .elementor-heading-title{
	height: 50px;
	align-content: space-evenly;
}

.carousel-dots .swiper-pagination-bullet{
	border-radius: 2px;
}

.carousel-image img{
	width: 100%;
	height: 500px;
	object-fit: cover;
	display: block;
}
.email-height{
	height: 55px;
	align-content: space-evenly;
}

.carousel-dots.elementor-widget-n-carousel .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #F17E42 !important;
	opacity: 1 !important;
}

.tab-icon button .e-n-tab-icon{
	border: 1px solid;
	border-radius: 50px;
	background: #FAFAFA;
	padding: 5px;
}


/* Load More Button */
.load-more-btn.elementor-widget-loop-grid .e-loop__load-more .elementor-button{
	display: inline-flex;
	align-items: center;
	gap: 15px;
	padding: 10px 5px 10px 20px;
	min-height: 54px;
	border-radius: 50px;
	background: #F17E42;
	color: #fff;
	border: 0;
}

/* Hide Elementor's default icon */
.load-more-btn.elementor-widget-loop-grid .elementor-button i,
.load-more-btn.elementor-widget-loop-grid .elementor-button svg{
	display: none;
}

/* Custom icon */
.load-more-btn.elementor-widget-loop-grid .elementor-button-content-wrapper::after, #form-icon .elementor-button-content-wrapper::after{
	content: "";
	width: 45px;
	height: 45px;
	flex-shrink: 0;
	border-radius: 50%;
	background: #fff url("https://kerrgroupdev.wpenginepowered.com/wp-content/uploads/2026/07/67474b40a3d9369b64d717c8_arrow20up.svg-1.svg") center center / 18px no-repeat;
}

.week-accordian .e-n-accordion .e-n-accordion-item-title::after, .tab-mobile .elementor-widget-n-tabs .e-n-tab-title::after{
	content: "";
	width: 45px;
	height: 45px;
	flex-shrink: 0;
	border-radius: 50%;
	background: #fff url("https://kerrgroupdev.wpenginepowered.com/wp-content/uploads/2026/07/67474b40a3d9369b64d717c8_arrow20up.svg-3.svg") center center / 25px no-repeat;
}

/* Hover */
.load-more-btn.elementor-widget-loop-grid .e-loop__load-more .elementor-button:hover, #form-icon .elementor-button:hover{
	background: #5D5244;
}
.load-more-btn .elementor-button-text, #form-icon .elementor-button-text {
	display: inline-block;
	align-content: center;
	padding-right: 20px;
}

/* Contact Form */
.elementor-field-textual {
	padding: 0 !important;
}
.elementor-field-group .elementor-field-textual:focus {
	box-shadow: none !important;
}

input.elementor-field::placeholder,
textarea.elementor-field::placeholder {
	color: rgba(9, 4, 2, 0.20);
	opacity: 1;
}


/* Open state */

.career-accordian .e-n-accordion-item{
	padding: 0px 50px;
}

.career-accordian .e-n-accordion-item[open] .e-n-accordion-item-title-text {
	font-family:"ivyora-text";
	font-size: 60px;
	font-weight: 400;
	line-height: 70px;
	letter-spacing: 0;
	padding-top: 60px;
}

.li-space li{
	padding-bottom: 25px;
}
.li-space ul{
	padding-left: 25px;
}

/* Progress Bar */
.progress-bar .elementor-progress-wrapper{
	margin-top: 10px;
}
.elementor-progress-bar {
	position: relative;
	overflow: visible; 
}
.elementor-progress-bar::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -10px; 
	transform: translateY(-50%);
	width: 12px;
	height: 12px;
	background: url("https://kerrgroupdev.wpenginepowered.com/wp-content/uploads/2026/07/Ellipse-offset-to-get-to-the-middle.svg") no-repeat center;
	background-size: contain;
}

/* Tab Section Mobile view */
.tab-mobile .elementor-widget-n-tabs .e-n-tabs-heading{
	width: 350px;
	height: 194.854px;
	bottom: -0.854px;
	border-radius: 20px;
	border: 1px solid #D6D1C7;
	background: rgba(214, 209, 199, 0.20);
	backdrop-filter: blur(6px);
	display: flex;
	height: 54.41px;
	min-height: 54.41px;
	padding: 5px 5px 5px 20px;
	justify-content: space-between;
	align-self: stretch;
	margin-bottom: 45px;
}
.tab-mobile .elementor-widget-n-tabs .e-n-tab-title{
	background: none !important;
}


.white-menu .elementor-nav-menu a, .elementor-nav-menu li, .image-menu .elementor-nav-menu a, .elementor-nav-menu li{
	justify-content: space-evenly;
}

/* Google Map */
.elementor-widget-google_maps iframe {
	filter: grayscale(100%);
	transition: filter .4s ease;
}

.elementor-widget-google_maps:hover iframe {
	filter: grayscale(0);
}

/* Numbers scroll bar */
.scroll-container {
	height: 700px;       
	overflow-y: auto;
	overflow-x: hidden;

	/* Hide scrollbar */
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.scroll-container::-webkit-scrollbar {
	display: none;
}

/* Custom Cursor */

body,
*, 
*::before, 
*::after {
	cursor: none !important;
}

.custom-cursor {
	position: fixed;
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
	background: #F58245;
	border-radius: 50%;
	pointer-events: none;
	transform: translate(-50%, -50%);
	z-index: 99999;
	transition: background .2s ease, transform .15s ease;
}

.custom-cursor.hover {
	background: #333333;
	transform: translate(-50%, -50%) scale(1.5);
}


/* Atomic Timeline Tabs - Global (class "timeline-tabs" on the Tabs widget) */
.elementor .timeline-tabs.e-tabs-base{display:flex;flex-direction:column-reverse;gap:60px;padding:0 30px;}
.elementor .timeline-tabs .e-tabs-menu-base{position:relative;display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:0;flex-wrap:nowrap;}
.elementor .timeline-tabs .e-tabs-menu-base::before{
    content:'';
    position:absolute;
    top:10px;
    left:70px;
    right:70px;
    width:auto !important;
    height:1px;
    background:#5D5244;
    z-index:1;
}
.elementor .timeline-tabs .e-tab-base{position:relative;flex:0 0 91px;width:91px;min-width:0;display:flex !important;flex-direction:column;align-items:center;gap:30px;padding:0 !important;border:0 !important;background:transparent !important;cursor:pointer;z-index:2;text-align:center;}
.elementor .timeline-tabs .e-tab-base .e-paragraph-base{font-family:'Geist',sans-serif;font-size:16px;font-weight:700;line-height:16px;letter-spacing:0.1em;text-transform:uppercase;text-align:center;color:var(--e-global-color-primary);display:block;width:91px;white-space:normal;overflow-wrap:break-word;}
.elementor .timeline-tabs .e-tab-base:hover .e-paragraph-base, .elementor .timeline-tabs .e-tab-base.e--selected .e-paragraph-base{color:var(--e-global-color-accent);}
.elementor .timeline-tabs .e-tab-base .e-svg-base{display:inline-flex;position:relative;background:#fff;padding:0 20px;z-index:3;width:60px;height:20px;box-sizing:border-box;}
.elementor .timeline-tabs .e-tab-base .e-svg-base svg{width:20px;height:20px;}
/* inactive icon first, active icon second */
.elementor .timeline-tabs .e-tab-base .elementor-widget-e-svg + .elementor-widget-e-svg > .e-svg-base, .elementor .timeline-tabs .e-tab-base > .e-svg-base + .e-svg-base{display:none !important;}
.elementor .timeline-tabs .e-tab-base.e--selected .elementor-widget-e-svg:has(+ .elementor-widget-e-svg) > .e-svg-base, .elementor .timeline-tabs .e-tab-base.e--selected > .e-svg-base:has(+ .e-svg-base){display:none !important;}
.elementor .timeline-tabs .e-tab-base.e--selected .elementor-widget-e-svg + .elementor-widget-e-svg > .e-svg-base, .elementor .timeline-tabs .e-tab-base.e--selected > .e-svg-base + .e-svg-base{display:inline-flex !important;}



@media (hover: none) {
	body,
	*,
	*::before,
	*::after {
		cursor: auto !important;
	}

	.custom-cursor {
		display: none;
	}
}


/* Hide on desktop */
@media (min-width: 1200px) {
	.contact-mob {
		display: none !important;
	}
}

@media (max-width: 1199px) {

	/* Mobile only menu item */
	.contact-mob{
		display:block !important;
	}

	/* Menu widget */
	.mob-menu{
		position:relative;
		overflow:visible !important;
		background:transparent !important;
		border:none !important;
		box-shadow:none !important;
	}

	/* Hamburger / Close button */
	.mob-menu .elementor-menu-toggle{
		position:relative;
		z-index:99999;
		color:#F47C3C;
	}

	.mob-menu .elementor-menu-toggle svg{
		width:24px;
		height:24px;
	}

	.mob-menu .elementor-menu-toggle__icon--close {
		fill:#F47C3C !important;
		stroke:#F47C3C !important;
	}

	/* Floating popup */
	.mob-menu .elementor-nav-menu--dropdown{
		position:absolute!important;
		top:70px;
		right:16px;
		left:auto;

		width:300px;
		max-width:calc(100vw - 32px);

		background:#262626!important;
		border:1px solid rgba(255,255,255,.15);
		border-radius:24px;
		padding:24px;
		box-shadow:0 25px 60px rgba(0,0,0,.35);

		backdrop-filter:none;
		-webkit-backdrop-filter:none;

		z-index:9999;
	}

	.white-menu .elementor-nav-menu .elementor-item {
		color: #FAFAFA !important;
	}
	/* Hover & Active */
	.white-menu .elementor-nav-menu--dropdown .elementor-item:hover,
	.white-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
	.white-menu .elementor-nav-menu--dropdown .current-menu-item > .elementor-item,
	.white-menu .elementor-nav-menu--dropdown .current_page_item > .elementor-item {
		color: #F47C3C !important; 
		background-color: #FAFAFA26;

	}

	.white-menu .elementor-nav-menu--dropdown a
	{
		color: #FAFAFA !important;
	}

	/* Menu items */
	.mob-menu .elementor-nav-menu--dropdown .elementor-item{
		padding:12px 0;
		font-size:20px;
		line-height:1.4;
	}

	/* Submenu */
	.mob-menu .elementor-nav-menu--dropdown .sub-menu{
		margin-top:8px;
		padding-left:16px;
		background:transparent;
	}

	.mob-menu .elementor-nav-menu--dropdown .sub-arrow{
		margin-left:8px;
	}

	/* Active item */
	.mob-menu .elementor-item-active{
		color:#F47C3C !important;
	}
	.mob-menu .elementor-nav-menu--dropdown::before{
		content: "";
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,.45);
		z-index: -1;
	}

	.mob-menu .elementor-nav-menu--dropdown{
		z-index: 99999;
	}
}


@media (max-width:1024px){
	.elementor .timeline-tabs.e-tabs-base{padding:0;}
	.elementor .timeline-tabs .e-tab-base .e-svg-base{padding:0 12px;width:44px;}

	.category-list.elementor-widget-post-info .elementor-post-info__terms-list {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0px !important;
	}
}



@media (max-width: 767px) {
	/* Hide menu on mobile */
	.hide-menu {
		display: none !important;
	}


	/* Mobile: accordion layout (each week's title above its content) */
	.elementor .timeline-tabs.e-tabs-base{flex-direction:column;gap:15px;padding:0 20px;}
	.elementor .timeline-tabs .e-tab-content-base.e-tab-content-base{padding-left:0;padding-right:0;}
	.elementor .timeline-tabs .e-tabs-menu-base, .elementor .timeline-tabs .e-tabs-content-area-base{display:contents;}
	.elementor .timeline-tabs .e-tabs-menu-base::before{display:none;}
	.elementor .timeline-tabs .e-tab-base:nth-child(1 of .e-tab-base){order:1;} .elementor .timeline-tabs .e-tab-content-base:nth-child(1 of .e-tab-content-base){order:2;}
	.elementor .timeline-tabs .e-tab-base:nth-child(2 of .e-tab-base){order:3;} .elementor .timeline-tabs .e-tab-content-base:nth-child(2 of .e-tab-content-base){order:4;}
	.elementor .timeline-tabs .e-tab-base:nth-child(3 of .e-tab-base){order:5;} .elementor .timeline-tabs .e-tab-content-base:nth-child(3 of .e-tab-content-base){order:6;}
	.elementor .timeline-tabs .e-tab-base:nth-child(4 of .e-tab-base){order:7;} .elementor .timeline-tabs .e-tab-content-base:nth-child(4 of .e-tab-content-base){order:8;}
	.elementor .timeline-tabs .e-tab-base:nth-child(5 of .e-tab-base){order:9;} .elementor .timeline-tabs .e-tab-content-base:nth-child(5 of .e-tab-content-base){order:10;}
	.elementor .timeline-tabs .e-tab-base:nth-child(6 of .e-tab-base){order:11;} .elementor .timeline-tabs .e-tab-content-base:nth-child(6 of .e-tab-content-base){order:12;}
	.elementor .timeline-tabs .e-tab-base:nth-child(7 of .e-tab-base){order:13;} .elementor .timeline-tabs .e-tab-content-base:nth-child(7 of .e-tab-content-base){order:14;}
	.elementor .timeline-tabs .e-tab-base:nth-child(8 of .e-tab-base){order:15;} .elementor .timeline-tabs .e-tab-content-base:nth-child(8 of .e-tab-content-base){order:16;}
	.elementor .timeline-tabs .e-tab-base:nth-child(9 of .e-tab-base){order:17;} .elementor .timeline-tabs .e-tab-content-base:nth-child(9 of .e-tab-content-base){order:18;}
	.elementor .timeline-tabs .e-tab-base:nth-child(10 of .e-tab-base){order:19;} .elementor .timeline-tabs .e-tab-content-base:nth-child(10 of .e-tab-content-base){order:20;}
	.elementor .timeline-tabs .e-tab-base:nth-child(11 of .e-tab-base){order:21;} .elementor .timeline-tabs .e-tab-content-base:nth-child(11 of .e-tab-content-base){order:22;}
	.elementor .timeline-tabs .e-tab-base:nth-child(12 of .e-tab-base){order:23;} .elementor .timeline-tabs .e-tab-content-base:nth-child(12 of .e-tab-content-base){order:24;}
	.elementor .timeline-tabs .e-tab-base{flex:0 0 auto;width:100%;height:55px;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:5px 5px 5px 20px !important;border-radius:50px;background:rgba(214,209,199,0.2) !important;text-align:left;transition:background-color .2s;}
	.elementor .timeline-tabs .e-tab-base:hover{background:#5D5244 !important;}
	.elementor .timeline-tabs .e-tab-base.e--selected{background:var(--e-global-color-accent) !important;}
	.elementor .timeline-tabs .e-tab-base .e-paragraph-base{width:auto;font-family:var(--e-global-typography-accent-font-family),sans-serif;font-size:16px;font-weight:400;line-height:22px;letter-spacing:normal;text-transform:none;text-align:left;color:var(--e-global-color-primary);}
	.elementor .timeline-tabs .e-tab-base:hover .e-paragraph-base, .elementor .timeline-tabs .e-tab-base.e--selected .e-paragraph-base{color:var(--e-global-color-secondary);}
	.elementor .timeline-tabs .e-tab-base.e-tab-base.e-tab-base .e-svg-base.e-svg-base{display:none !important;}
	.elementor .timeline-tabs .e-tab-base::after{content:'';width:45px;height:45px;flex-shrink:0;border-radius:50%;background:#fff url("https://kerrgroupdev.wpenginepowered.com/wp-content/uploads/2026/07/67474b40a3d9369b64d717c8_arrow20up.svg-3.svg") center / 25px no-repeat;}
}

/* Static light-to-dark heading text (3-tier, no scroll effect) */
.fade-heading {
	font-family: Geist;
	font-size: 72.6px;
	font-style: normal;
	font-weight: 400;
	line-height: 81.26px; /* 111.928% */
	letter-spacing: -2px;
}
.fade-heading .fade-1 {
	color: rgba(25, 25, 25, 0.20);
}
.fade-heading .fade-2 {
	color: rgba(25, 25, 25, 0.40);
}
.fade-heading .fade-3 {
	color: #191919;
}

.people-card {
	border: 1px solid rgba(38, 38, 38, 0.30);
}
.people-card:hover .elementor-widget-theme-post-title .elementor-heading-title {
	color: #D6D1C7 !important;
}
.people-card:hover .elementor-widget-theme-post-content{
	display: none;
}
.people-card:hover .elementor-widget-theme-post-content{
	display: none;
}
.people-card:hover .elementor-icon-list-text {
	color: #F17E42 !important;
}
.people-card:hover .elementor-icon-list-text {
	color: #262626;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 16px; /* 100% */
	letter-spacing: 1.6px;
}
.small-20{
	color: #262626;
	font-family: Geist;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 20px;
}
.small-text-30{
	color: #262626;
	font-family: Geist;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px !important; 
}
.category-list.elementor-widget-post-info .elementor-post-info__terms-list-item,
.elementor-element.category-list .e-filter-item{
	padding: 10px 15px;
	align-items: center;
	border-radius: 4px;
	background: rgba(214, 209, 199, 0.40);
	color: #262626;
	font-size: 16px;
	font-weight: 700;
	line-height: 16px; /* 100% */
	letter-spacing: 1.6px;
}   
.category-list.elementor-widget-post-info  .elementor-post-info__terms-list{
	display: flex !important;
	align-items: center;
	gap: 20px;
	color: transparent;
}
.swiper-pagination-clickable .swiper-pagination-bullet{
	border-radius: 0px;

}

/* QA fix 30 Oct: hero H1s overflowed the viewport on mobile (Contact, Technology, Office design, projects, posts). Cap H1 size on mobile and stop sideways scroll. */
@media (max-width: 767px) {
	h1.elementor-heading-title {
		font-size: clamp(40px, 15vw, 64px) !important;
		line-height: 1.05 !important;
	}
	.elementor-widget-heading h2.elementor-heading-title,
	.elementor-widget-heading h3.elementor-heading-title {
		overflow-wrap: anywhere;
	}
	html {
		overflow-x: clip;
	}
}


/* QA fix 30 Oct: 'Scroll down' circle - remove the 50px side padding so the text centres inside the circle on smaller laptops */
.elementor-element-e3346d9,
.elementor-element-6cd95b4 {
	padding: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center;
}
.elementor-element-e3346d9 .elementor-heading-title,
.elementor-element-6cd95b4 .elementor-heading-title {
	margin: 0 auto;
}


/* QA fix 30 Oct: Header dropdown match - make the desktop sub-menu use the same background, blur, border and corners as the nav pill (both header templates: dark 4c9933a and light 823cc83), and align sub-item text with the parent item text */
.elementor-element-4c9933a .elementor-nav-menu--main .sub-menu,
.elementor-element-823cc83 .elementor-nav-menu--main .sub-menu {
	background: rgba(214, 209, 199, 0.25) !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 0.8px solid #D6D1C7 !important;
	border-radius: 30px !important;
	box-shadow: none !important;
	margin-top: 0 !important;
	top: calc(100% + 11px) !important; /* link bottom is 49px above the pill bottom, +10px gap */
	overflow: hidden;
}
.elementor-element-4c9933a .elementor-nav-menu--main .sub-menu a,
.elementor-element-823cc83 .elementor-nav-menu--main .sub-menu a {
	padding: 14px 18px !important;
	text-align: left;
	font-size: 18px !important;
	font-weight: 300 !important;
}


/* QA fix 30 Oct: Mobile menu rebuild - full-width light beige panel, dark text, every item left-aligned with the arrow on the right, sub-items indented (both header templates) */
@media (max-width: 1024px) {
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown {
		position: absolute !important;
		left: auto !important;
		right: 0 !important;
		top: calc(100% + 12px) !important;
		width: calc(100vw - 40px) !important;
		max-height: calc(100vh - 130px);
		overflow-y: auto;
		background: #F2EFEA !important;
		border: 0.8px solid #D6D1C7 !important;
		border-radius: 20px !important;
		padding: 12px 0 !important;
		box-shadow: 0 10px 30px rgba(0,0,0,0.12);
	}
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown > ul,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown > ul {
		display: block !important;
	}
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown ul.sub-menu::before,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown ul.sub-menu::before,
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown ul.sub-menu::after,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown ul.sub-menu::after,
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown::before,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown::before,
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown::after,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown::after {
		display: none !important;
		background: none !important;
	}
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown a,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown a {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		text-align: left !important;
		padding: 14px 24px !important;
		color: #262626 !important;
		background: transparent !important;
		font-size: 18px;
	}
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown a.elementor-item-active,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown a.elementor-item-active,
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown a.highlighted,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown a.highlighted {
		color: #F17E42 !important;
		background: transparent !important;
	}
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown .sub-arrow,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown .sub-arrow {
		margin-left: auto;
		padding-left: 12px;
	}
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown ul.sub-menu,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown ul.sub-menu {
		position: static !important;
		width: auto !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		margin: 0 !important;
		padding: 0 0 6px !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}
	.elementor-element-4c9933a nav.elementor-nav-menu--dropdown ul.sub-menu a,
	.elementor-element-823cc83 nav.elementor-nav-menu--dropdown ul.sub-menu a {
		padding: 10px 24px 10px 44px !important;
		font-size: 16px;
		color: #5A5A5A !important;
	}
}


/* desktop sub-menu margin reset */
@media (min-width: 1025px) {
	.elementor-element-4c9933a .elementor-nav-menu--main .sub-menu,
	.elementor-element-823cc83 .elementor-nav-menu--main .sub-menu {
		margin-top: 0 !important;
	}
	.elementor-element-4c9933a .elementor-nav-menu--main .sub-menu::before,
	.elementor-element-823cc83 .elementor-nav-menu--main .sub-menu::before,
	.elementor-element-4c9933a .elementor-nav-menu--main .sub-menu::after,
	.elementor-element-823cc83 .elementor-nav-menu--main .sub-menu::after {
		display: none !important;
	}
}


/* QA fix 30 Oct: Header overrides v2 - high-specificity rules so they beat the widget CSS on both templates */
/* Orange chevrons everywhere */
html body .elementor-element.elementor-element-4c9933a .sub-arrow,
html body .elementor-element.elementor-element-823cc83 .sub-arrow {
	color: #F17E42 !important;
}
html body .elementor-element.elementor-element-4c9933a .sub-arrow svg,
html body .elementor-element.elementor-element-823cc83 .sub-arrow svg {
	fill: #F17E42 !important;
}
@media (max-width: 1024px) {
	/* no blur / box behind the burger */
	html body .elementor-element.elementor-element-4c9933a,
	html body .elementor-element.elementor-element-823cc83 {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		background: transparent !important;
		border: 0 !important;
	}
	html body .elementor-element.elementor-element-4c9933a .elementor-menu-toggle,
	html body .elementor-element.elementor-element-823cc83 .elementor-menu-toggle {
		background: transparent !important;
	}
	/* consistent text: dark, 16px/300 top level, 15px grey sub-items */
	html body .elementor-element.elementor-element-4c9933a nav.elementor-nav-menu--dropdown li > a,
	html body .elementor-element.elementor-element-823cc83 nav.elementor-nav-menu--dropdown li > a {
		color: #262626 !important;
		font-size: 16px !important;
		font-weight: 300 !important;
		background: transparent !important;
	}
	html body .elementor-element.elementor-element-4c9933a nav.elementor-nav-menu--dropdown ul.sub-menu li > a,
	html body .elementor-element.elementor-element-823cc83 nav.elementor-nav-menu--dropdown ul.sub-menu li > a {
		color: #5A5A5A !important;
		font-size: 15px !important;
	}
	html body .elementor-element.elementor-element-4c9933a nav.elementor-nav-menu--dropdown li > a.elementor-item-active,
	html body .elementor-element.elementor-element-823cc83 nav.elementor-nav-menu--dropdown li > a.elementor-item-active,
	html body .elementor-element.elementor-element-4c9933a nav.elementor-nav-menu--dropdown li > a.highlighted,
	html body .elementor-element.elementor-element-823cc83 nav.elementor-nav-menu--dropdown li > a.highlighted {
		color: #F17E42 !important;
	}
}


/* QA fix 30 Oct: 404 page styling - hide search, style in line with the site, home button */
.error404 .search-form { display: none !important; }
.error404 .page-header,
.error404 .page-content {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
	padding-left: 20px;
	padding-right: 20px;
}
.error404 .page-header { padding-top: 140px; padding-bottom: 10px; }
.error404 .page-content { padding-bottom: 160px; }
.error404 .sub-heading {
	color: #F17E42;
	font-family: "Geist", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1.6px;
	margin: 0 0 20px;
}
html body.error404 .page-header .entry-title {
	font-family: "Geist", sans-serif !important;
	font-weight: 300 !important;
	font-size: clamp(40px, 7vw, 100px) !important;
	line-height: 1.05 !important;
	color: #262626;
	margin: 0 0 24px;
}
.error404 .page-content p {
	font-family: "Geist", sans-serif;
	font-size: 20px;
	color: #262626;
	margin: 0 0 32px;
}
.error404 .page-content a.home-btn,
.error404 .page-content p > a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #F17E42;
	color: #FAFAFA !important;
	font-family: "Geist", sans-serif;
	font-size: 16px;
	font-weight: 400;
	padding: 16px 28px;
	border-radius: 50px;
	text-decoration: none !important;
	transition: background .2s ease;
}
.error404 .page-content a.home-btn:hover,
.error404 .page-content p > a:hover { background: #262626; }


/* QA fix 30 Oct: Tablet overflow fixes (768-1024) - headings/copy that were wider than their columns */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-element-ced0d88 .elementor-heading-title { font-size: 56px !important; line-height: 1.05 !important; } /* Home: How we help businesses */
	.elementor-element-4baccdf p,
	.elementor-element-ba4e110 p,
	.elementor-element-3a2e558 p,
	.elementor-element-8e6352e p { font-size: 24px !important; line-height: 1.2 !important; } /* Home: What sets us apart cards */
	.elementor-element-60aaf352 .elementor-heading-title { font-size: 48px !important; } /* Home: Making workplace change easier */
	.elementor-element-eaa818a .elementor-heading-title { font-size: 50px !important; } /* Home: Trusted by organisations */
	.elementor-element-645fec0 .elementor-heading-title { font-size: 48px !important; } /* Contact: Let's start the conversation */
	.elementor-element-c92006d p,
	.elementor-element-c92006d a { font-size: 20px !important; overflow-wrap: anywhere; } /* Contact: email address */
	.elementor-element-29ee6e9 .elementor-heading-title { font-size: 72px !important; } /* Office design hero */
	.elementor-element-3a8b746 p,
	.elementor-element-d12bcb4 p { font-size: 24px !important; line-height: 1.2 !important; } /* Office design cards */
	.elementor-element-fd3ea76 .elementor-heading-title { font-size: 50px !important; } /* Projects: The opportunity */
	h1, h2, h3, p { overflow-wrap: anywhere; }
}
@media (min-width: 1025px) and (max-width: 1366px) {
	.elementor-element-68521d5e .elementor-heading-title { font-size: 120px !important; } /* Technology hero at laptop */
}

/* QA fix 30 Oct: Mobile grids - Insights posts and About team in 2 columns to halve page length */
@media (max-width: 767px) {
	.elementor-element-4da7c4b .elementor-loop-container,
	.elementor-element-6e866a6 .elementor-loop-container {
		/* grid-template-columns: repeat(2, minmax(0, 1fr)) !important; */
		/* gap: 30px 16px !important; */
	}
	.elementor-element-4da7c4b .elementor-loop-container h2,
	.elementor-element-4da7c4b .elementor-loop-container h3,
	.elementor-element-4da7c4b .elementor-loop-container .elementor-heading-title {
		font-size: 18px !important;
		line-height: 1.25 !important;
	}
	.elementor-element-4da7c4b .elementor-loop-container p { font-size: 14px !important; }
	.elementor-element-6e866a6 .elementor-loop-container h3,
	.elementor-element-6e866a6 .elementor-loop-container .elementor-heading-title { font-size: 18px !important; }
	.elementor-element-6e866a6 .elementor-loop-container p { font-size: 14px !important; }
}


/* QA fix 30 Oct: Batch 5 fixes */
/* Buttons in Geist, not Roboto (Elementor default) */
.elementor-button, .elementor-button-text { font-family: "Geist", sans-serif !important; }
/* Footer legal links min 14px */
.elementor-location-footer .elementor-nav-menu .elementor-item { font-size: 14px !important; }
/* Back to top: minimum 44px tap target */
.ekit-back-to-top-container,
.ekit-back-to-top-container a,
.ekit-back-to-top-container .ekit-btt__button {
	min-width: 44px !important;
	min-height: 44px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
/* Mobile: halve the Insights card image and the team card height */
@media (max-width: 767px) {
	.elementor-element-4da7c4b .elementor-loop-container .elementor-widget-theme-post-featured-image img {
		height: 220px !important;
		object-fit: cover;
	}
	.elementor-element-6e866a6 .elementor-loop-container .elementor-element-6f0a43e {
		min-height: 235px !important;
	}
}


/* QA fix 30 Oct: Service page project carousel - images were fixed at 580px tall on 215px-wide mobile slides; match the home carousel proportions (3:4) */
@media (max-width: 767px) {
	.elementor-element-fe47acc .swiper-slide img,
	.elementor-element-fe47acc .swiper-slide .elementor-widget-image img,
	.elementor-element-fe47acc .swiper-slide .elementor-widget-theme-post-featured-image img {
		height: 290px !important;
		object-fit: cover;
	}
}

/* Fix 3 Nov: inner-page (light header 823cc83) dropdown - solid, opaque panel in the pill colour instead of a see-through blur, so it reads cleanly over hero images */
.elementor-element-823cc83 .elementor-nav-menu--main .sub-menu {
	background: #F5F4F1 !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Fix 3 Nov: project list 'Load more projects' button - match the standard pill button (hide the empty left icon that was pushing the text off-centre, same gap/padding/size as other buttons) */
.e-loop__load-more .elementor-button {
	padding: 5px 5px 5px 20px !important;
}
.e-loop__load-more .elementor-button .elementor-button-icon {
	display: none !important;
}
.e-loop__load-more .elementor-button .elementor-button-content-wrapper {
	gap: 18px !important;
}
.e-loop__load-more .elementor-button .elementor-button-text {
	font-family: "Geist", sans-serif !important;
	font-size: 16px !important;
	line-height: 1.4;
}
