/**
 * Opus Nebula Theme Styles
 *
 * @package Opus_Nebula
 */

/* ==========================================================================
   Variables & Reset
   ========================================================================== */

:root {
	--color-primary: #0a0a0a;
	--color-secondary: #0066cc;
	--color-accent: #004499;
	--color-text: #1a1a1a;
	--color-text-light: #4a4a4a;
	--color-bg: #ffffff;
	--color-bg-dark: #f8f8f8;
	--color-border: #d0d0d0;
	--font-primary: 'Onest', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--font-heading: 'Onest', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--spacing-xs: 0.5rem;
	--spacing-sm: 1rem;
	--spacing-md: 2rem;
	--spacing-lg: 3rem;
	--spacing-xl: 4rem;
	--container-width: 1200px;
	--transition: all 0.3s ease;
	--gf-local-outline-color: rgb(27 118 188);
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	overflow-x: hidden;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

body {
	overflow-x: hidden;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	padding-top: 0;
}

/* Ensure all sections have proper edge spacing */
section {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
}

/* Reset WordPress default list styles */
ul, ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: var(--font-primary);
	font-size: 17px;
	font-weight: 300;
	line-height: 30px;
	color: var(--color-text);
	background-color: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   Typography
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: 700;
	line-height: 45px;
	margin-bottom: var(--spacing-sm);
	color: var(--color-primary);
}

h1 { font-size: 68px; }
h2 { font-size: 34px; }
h3 { font-size: 26px; }
h4 { font-size: 20px; }
h5 { font-size: 19px; }
h6 { font-size: 18px; }

p {
	margin-bottom: var(--spacing-sm);
}

a {
	color: var(--color-secondary);
	text-decoration: none;
	transition: color 0.3s ease, opacity 0.3s ease;
}

a:hover {
	text-decoration: none;
	opacity: 0.85;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ==========================================================================
   Layout
   ========================================================================== */

.site {
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	position: relative;
}

.site-main {
	flex: 1;
	padding-top: 0 !important;
}

.container {
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 var(--spacing-md);
	width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
}

/* ==========================================================================
   Header
   ========================================================================== */

.site-header {
	background-color: transparent;
	color: #ffffff;
	padding: 0;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100%;
	z-index: 1000;
	transition: all 0.3s ease;
	display: block;
	overflow: visible;
	box-sizing: border-box;
}

.site-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease, height 0.3s ease;
}

/* Menu Overlay */
.menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 3, 12, 0.75);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	z-index: 999;
	pointer-events: none;
}

.menu-overlay.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Top Info Bar */
.top-info-bar {
	display: none;
	width: 100%;
	background-color: transparent;
	padding: 20px 0;
	box-sizing: border-box;
}

.top-info-bar-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 50px;
	box-sizing: border-box;
}

.top-info-bar-left {
	display: flex;
	align-items: center;
	gap: 15px;
}

.phone-number {
	color: #ffffff;
	font-family: 'Onest', sans-serif;
	font-size: 13px;
	line-height: 1.5;
}

.linkedin-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	text-decoration: none;
}

.linkedin-text {
	color: #00C3FF;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
}

.top-info-bar-right {
	display: flex;
	align-items: center;
	gap: 20px;
}

.top-info-bar-right a {
	color: #ffffff;
	text-decoration: none;
	font-family: 'Onest', sans-serif;
	font-size: 13px;
	line-height: 1.5;
	transition: color 0.3s ease;
}

.top-info-bar-right a:hover {
	color: #00C3FF;
}

.header-wrapper {
	position: relative;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	margin-top: 30px;;
}

.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 90%;
	height: 79px;
	margin: 0;
	padding: 1.25rem 2rem;
	background-color: #182652;
	border-radius: 60px;
	transition: all 0.3s ease;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	overflow: visible;
	box-sizing: border-box;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	z-index: 1001;
}

.site-branding {
	flex-shrink: 0;
	padding: 0;
	display: flex;
	align-items: center;
	min-width: 0;
	z-index: 2;
}

#site-navigation {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	flex: 1;
	width: auto;
	min-width: 0;
	max-width: 100%;
	overflow: visible;
	z-index: 1000;
	margin: 0 auto;
	margin-right: 6px;
}

.site-header.scrolled .header-container {
	height: 60px;
}

.site-header.scrolled::before {
    height: 120px;
    opacity: 1;
    background: linear-gradient(180deg, rgb(12 22 55) 0%, rgb(12 22 55 / 0%) 100%);
}

.site-logo img {
	max-height: 60px;
	width: auto;
	transition: max-height 0.3s ease, width 0.3s ease;
}

.site-header.scrolled .site-logo img {
	max-height: 32px;
}

.site-header.scrolled .request-demo-button {
	line-height: 1;
}

.main-navigation {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	height: 100%;
}


/* Ensure navigation menu is horizontal */
#site-navigation ul,
#site-navigation ul li,
.main-navigation ul,
.main-navigation ul li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.menu-toggle {
	display: none;
	background: none;
	border: none;
	color: #ffffff;
	cursor: pointer;
	padding: var(--spacing-xs);
	font-size: 1.5rem;
	width: 40px;
	height: 40px;
	position: relative;
	z-index: 1002;
}

.hamburger-icon {
	display: block;
	width: auto;
	height: auto;
	max-width: 24px;
	max-height: 24px;
	object-fit: contain;
}

.nav-menu {
	display: flex;
	list-style: none !important;
	gap: 30px;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center;
	height: 100%;
}

.nav-menu li,
#primary-menu li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	align-items: center;
	height: 100%;
	position: relative;
}

.nav-menu li.menu-item-has-children,
#primary-menu li.menu-item-has-children {
	position: relative;
}

.nav-menu a,
#primary-menu > li > a {
	color: #ffffff;
	text-decoration: none;
	display: flex;
	align-items: center;
	white-space: nowrap;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 32px;
	height: 100%;
	position: relative;
}

/* Add down arrow icon for menu items with children */
.nav-menu li.menu-item-has-children > a::after,
#primary-menu li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	background-image: url('../images/svg/menu-blue-arrow-down.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	margin-left: 8px;
	flex-shrink: 0;
}

.nav-menu a:hover,
#primary-menu > li > a:hover {
	text-decoration: none;
	color: #ffffff;
	opacity: 0.85;
}

#primary-menu .current-menu-item > a,
#primary-menu .current_page_item > a,
#primary-menu .current-menu-ancestor > a,
#primary-menu .current-page-ancestor > a,
#primary-menu .current_page_ancestor > a {
	color: #00c3ff;
}

/* Request Demo Button */
.request-demo-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 34px;
	background-color: #FD2171;
	color: #ffffff;
	text-decoration: none;
	border-radius: 40px;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 32px;
	white-space: nowrap;
	transition: all 0.3s ease;
	flex-shrink: 0;
	border: none;
	cursor: pointer;
	z-index: 1000;
	margin-right: -25px;
}

.request-demo-button:hover {
	background-color: #e01d63;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Request Demo Button for Mobile (in mega menu) */
.request-demo-button-mobile {
	display: none;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	padding: 18px 34px;
	background-color: #FD2171;
	color: #ffffff;
	text-decoration: none;
	border-radius: 40px;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 32px;
	white-space: nowrap;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
	width: fit-content;
	margin: 20px 0 0;
	grid-column: 1 / -1;
	justify-self: start;
}

.request-demo-button-mobile img {
	width: 14px;
	height: 14px;
	object-fit: contain;
}

.mobile-mega-social-links {
	display: none;
	align-items: center;
	gap: 12px;
}

.mobile-mega-cta-row {
	display: none;
	align-items: center;
	gap: 30px;
	grid-column: 1 / -1;
}

.mobile-mega-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
}

.mobile-mega-social-link img {
	display: block;
	width: 21px;
	height: auto;
	object-fit: contain;
}

.request-demo-button-mobile:hover {
	background-color: #e01d63;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Hide submenus by default */
.nav-menu .sub-menu,
#primary-menu .sub-menu {
	display: none !important;
	position: absolute;
	top: 100%;
	left: 0;
	background-color: #ffffff;
	min-width: 200px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	padding: 10px 0;
	margin: 0;
	list-style: none !important;
	z-index: 1001;
	flex-direction: column;
	gap: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Mega Menu Bridge - invisible area to bridge the gap (Desktop only) */
.mega-menu-bridge {
	position: fixed;
	top: calc(50px + 79px + 30px);
	left: 80px;
	right: 80px;
	width: auto;
	height: 30px;
	z-index: 1001;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: none;
}

.mega-menu-bridge.active {
	opacity: 0;
	visibility: visible;
	pointer-events: auto;
}

/* Mega Menu Container */
.mega-menu-container {
    position: fixed;
    top: calc(50px + 20px + 30px);
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    min-height: 420px;
    height: auto;
    background: linear-gradient(180deg, #1C2B5C 0%, #1C75BC 100%);
    border-radius: 40px;
    padding: 40px 50px;
    z-index: 1002;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease, width 0.3s ease, top 0.3s ease, left 0.3s ease, transform 0.3s ease;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
    overflow: hidden;
}

.mega-menu-container.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.site-header.scrolled .mega-menu-bridge {
	top: calc(50px + 60px + 30px);
}

.site-header.scrolled .mega-menu-container {
    top: calc(0px + 60px + 20px);
}


/* Hide default submenu - mega menu will replace it */
.nav-menu li.menu-item-has-children > .sub-menu,
#primary-menu li.menu-item-has-children > .sub-menu {
	display: none !important;
}

/* Mega Menu Content Structure */
.mega-menu-content {
	display: grid;
	grid-template-columns: 1fr 400px;
	grid-template-rows: auto;
	gap: 40px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	overflow: visible;
	align-items: start;
}

.mega-menu-left {
	display: flex;
	flex-direction: column;
	grid-column: 1;
	grid-row: 1;
}

.mega-menu-columns-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-top: 30px;
}

.mega-menu-title {
	display: flex;
	align-items: baseline;
	gap: 22px;
	margin-bottom: 30px;
	color: #ffffff;
}

.mega-menu-title-text {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 1;
	margin: 0;
	padding: 0;
	color: #ffffff;
}

.mega-menu-title .four-dots-icon {
	width: 64px;
	height: 12px;
	flex-shrink: 0;
	object-fit: contain;
}

.mega-menu-arrow-up {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 24px;
	height: 24px;
	cursor: pointer;
	z-index: 10;
}

.mega-menu-arrow-up img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mega-menu-column {
	display: flex;
	flex-direction: column;
	gap: 30px
}

.mega-menu-item {
	display: flex;
	align-items: center;
	gap: 15px;
	width: auto;
	max-width: 100%;
}

.mega-menu-item-icon {
	flex-shrink: 0;
	width: 68px;
	height: 68px;
}

.mega-menu-item-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mega-menu-item-text {
	color: #ffffff;
	font-family: 'Onest', sans-serif;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.5;
}

.mega-menu-item-text a {
	color: #ffffff;
	text-decoration: none;
	display: inline-block;
	position: relative;
	padding-left: 20px;
	transition: opacity 0.3s ease;
}

.mega-menu-item-text a.mega-menu-item-link--active {
	color: #00C3FF;
}

.mega-menu-item-text a::before {
    content: '';
    position: absolute;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #00C3FF;
}

.mega-menu-item-text a::after {
	content: '.';
	color: #00C3FF;
	margin-left: 6px;
	font-size: 40px;
	line-height: 0;
}

.mega-menu-item-text a:hover {
	opacity: 0.85;
	text-decoration: none;
}

@media (min-width: 1181px) {
	.mega-menu-container.mega-menu--solutions .mega-menu-item-text a {
		white-space: nowrap;
	}

	.mega-menu-container.mega-menu--challenges .mega-menu-item-text a,
	.mega-menu-container.mega-menu--who-we-help .mega-menu-item-text a {
		display: block;
		max-width: 100%;
		white-space: normal;
	}
}

.mega-menu-case-study {
	grid-column: 2;
	grid-row: 1;
	margin-top: 55px;
	padding-bottom: 8px;
}

.mega-menu-case-study--inactive {
	visibility: hidden;
	pointer-events: none;
}

.mega-menu-case-study-inner {
	position: relative;
	padding: 8px 30px 0 20px;
}

.mega-menu-case-study-inner::before {
	content: '';
	position: absolute;
	left: -20px;
	top: 8px;
	bottom: -8px;
	width: 1px;
	background-color: #00C3FF;
}

.mega-menu-case-study-logo {
	min-height: 48px;
	margin-bottom: 20px;
	max-width: 160px;
}

.mega-menu-case-study-logo.is-empty img {
	visibility: hidden;
}

.mega-menu-case-study-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 48px;
	height: auto;
	object-fit: contain;
	object-position: left center;
	filter: brightness(0) invert(1);
}

.mega-menu-case-study-title {
	color: #ffffff;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 22px;
	margin-bottom: 15px;
}

.mega-menu-case-study-text {
	display: block;
	color: #ffffff;
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 18px;
}

/* Per request: make the case-study text replace the logo slot visually. */
.mega-menu-case-study-logo {
	display: none;
}

.mega-menu-case-study-buttons {
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
}

.mega-menu-button {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 40px;
	text-decoration: none;
	font-family: 'Onest', sans-serif;
	font-weight: 600;
	font-size: 14px;
	text-align: center;
	transition: all 0.3s ease;
}

.mega-menu-button-primary {
	background-color: #00C3FF;
	color: #ffffff;
}

.mega-menu-button-primary:hover {
	background-color: #00a8d9;
	color: #ffffff;
}

.mega-menu-button-secondary {
	color: #00C3FF;
	text-decoration: none;
}

.mega-menu-button-secondary:hover {
	opacity: 0.8;
}

.nav-menu .sub-menu li,
#primary-menu .sub-menu li {
	display: block !important;
	height: auto;
	width: 100%;
	margin: 0;
	padding: 0;
}

.nav-menu .sub-menu a,
#primary-menu .sub-menu a {
	color: #0B1638;
	padding: 12px 20px;
	height: auto;
	line-height: 1.5;
	display: block;
	width: 100%;
	text-decoration: none;
	transition: background-color 0.3s ease;
}

.nav-menu .sub-menu a:hover,
#primary-menu .sub-menu a:hover {
	background-color: #f5f5f5;
	text-decoration: none;
}

/* Submenu hover is now handled by mega menu - old hover code removed */

/* Nested submenus */
.nav-menu .sub-menu .sub-menu,
#primary-menu .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	margin-left: 0;
}

/* ==========================================================================
   Hero Block
   ========================================================================== */

.hero-block {
	position: relative;
	height: 800px;
	min-height: 800px;
	display: flex;
	align-items: center;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #000000;
	color: #ffffff;
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
}

/* Pull hero up behind the fixed header - extend background to top of viewport */
.site-main > .hero-block:first-child {
	margin-top: calc(-1 * var(--header-height, 179px));
	padding-top: var(--header-height, 179px);
	box-sizing: border-box;
}

.hero-block .container {
	position: relative;
	z-index: 2;
	max-width: 1400px;
	width: 100%;
	padding: 180px 0px 0;
	margin: 0 auto;
}

.hero-wrapper {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--spacing-xl);
	align-items: center;
	width: 100%;
}

.hero-image {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	justify-self: end;
	order: 2;
}

.hero-image img {
	max-width: 100%;
	height: auto;
	display: block;
	vertical-align: middle;
}

.hero-content {
	max-width: 610px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	order: 1;
}

.hero-title {
	font-family: 'Onest', sans-serif;
	font-weight: 100;
	font-size: 68px;
	line-height: 66px;
	margin-bottom: var(--spacing-md);
	color: #ffffff;
}

.hero-subtitle {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 32px;
	margin-bottom: var(--spacing-sm);
	color: rgba(255, 255, 255, 0.9);
}

.hero-description {
	font-size: 1.125rem;
	margin-bottom: var(--spacing-lg);
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.8;
}

.hero-cta-wrapper {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	flex-wrap: nowrap;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.button,
.hero-cta,
.cta-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 18px 34px;
	background-color: var(--color-secondary);
	color: #ffffff;
	text-decoration: none;
	border-radius: 40px;
	font-weight: 600;
	transition: var(--transition);
	border: none;
	cursor: pointer;
}

.hero-cta {
	background-color: #FD2171;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	transition: none;
}

.hero-cta:hover,
a.hero-cta.button:hover {
	background-color: #e01d63 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

.button::after,
.cta-button::after {
	content: '→';
	font-size: 1.2em;
	line-height: 1;
	transition: var(--transition);
}

.hero-cta::after {
	display: none;
}

.hero-button-icon {
	width: auto;
	height: auto;
	max-width: 20px;
	max-height: 20px;
	margin-left: 0.5rem;
	display: inline-block;
	vertical-align: middle;
	transition: none;
}

.button:hover,
.cta-button:hover {
	background-color: var(--color-accent);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.button:hover::after,
.cta-button:hover::after {
	transform: translateX(4px);
}

.button.hero-cta:hover,
a.hero-cta.button:hover {
	transform: none;
}

/* ==========================================================================
   Empty / link-less Button placeholders
   Rendered when "Show buttons without links" is enabled in Theme Settings.
   ========================================================================== */

a[aria-disabled="true"].is-empty,
a.is-empty[aria-disabled="true"] {
	cursor: not-allowed;
	pointer-events: none;
	opacity: 0.85;
}

a[aria-disabled="true"].is-empty:hover,
a.is-empty[aria-disabled="true"]:hover {
	transform: none;
	box-shadow: none;
}

/* ==========================================================================
   Content Section Block
   ========================================================================== */

.content-section-block {
	padding: 120px 0;
}

.content-section-wrapper {
	display: grid;
	grid-template-columns: 536px 456px;
	gap: var(--spacing-lg);
	align-items: flex-start;
	justify-content: center;
}

.content-section-wrapper.image-left {
	grid-template-columns: 456px 536px;
}

.content-section-wrapper.image-right {
	grid-template-columns: 536px 456px;
}

.content-section-wrapper.image-right .content-section-image {
	order: 2;
}

.content-section-wrapper.image-right .content-section-text {
	order: 1;
	width: 536px;
}

.content-section-text {
	width: 536px;
}

.content-section-image {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 456px;
	position: relative;
	transform: none;
	will-change: auto;
}

.content-section-image img {
	width: 80% !important;
	max-width: 80% !important;
	height: auto;
	object-fit: contain;
	aspect-ratio: auto;
}

.content-section-image .content-section-cta {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: var(--spacing-md);
}

.content-section-image .content-section-button,
.content-section-text .content-section-button,
.content-section-cta-mobile .content-section-button,
.content-section-cta .content-section-button {
	background-color: #00C3FF !important;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px 34px;
	margin: 0;
	line-height: 1.2;
}

.content-section-image .content-section-button::after,
.content-section-text .content-section-button::after,
.content-section-cta-mobile .content-section-button::after,
.content-section-cta .content-section-button::after {
	display: none;
}

.content-section-image .content-section-button:hover,
.content-section-text .content-section-button:hover,
.content-section-cta-mobile .content-section-button:hover,
.content-section-cta .content-section-button:hover {
	background-color: #00a8d9 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

.content-section-icon {
	margin-bottom: var(--spacing-sm);
}

.content-section-icon img {
	max-width: 60px;
	height: auto;
	width: auto;
	display: block;
}

.content-section-title {
	margin-bottom: var(--spacing-md);
}

.content-section-content {
	font-size: 17px;
	font-weight: 300;
	line-height: 30px;
	color: var(--color-text-light);
	margin-bottom: 0 !important;;
}

.content-section-cta {
	margin-top: var(--spacing-md);
}

/* Hide mobile button on desktop */
.content-section-cta-mobile {
	display: none;
}

.content-section-button {
	margin-top: var(--spacing-sm);
	background-color: #00C3FF !important;
	border-radius: 40px;
}

.content-section-button:hover {
	background-color: #00a8d9 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

/* ==========================================================================
   Benefits Grid Block
   ========================================================================== */

.benefits-grid-block {
	position: relative;
	padding: var(--spacing-xl) 0;
	background-size: cover;
	background-position: center;
}

.benefits-background-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.95);
	z-index: 1;
}

.benefits-grid-block .container {
	position: relative;
	z-index: 2;
}

.benefits-icon {
	text-align: center;
	margin-bottom: var(--spacing-sm);
}

.benefits-icon img {
	max-width: 60px;
	height: auto;
	width: auto;
	display: inline-block;
}

.benefits-title {
	text-align: center;
	margin-bottom: var(--spacing-lg);
}

.benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--spacing-md);
}

.benefit-card {
	padding: var(--spacing-md);
	background-color: var(--color-bg);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: var(--transition);
}

.benefit-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.benefit-icon {
	margin-bottom: var(--spacing-sm);
}

.benefit-icon img {
	max-width: 60px;
	height: auto;
}

.benefit-title {
	margin-bottom: var(--spacing-xs);
}

.benefit-description {
	color: var(--color-text-light);
}

/* ==========================================================================
   Testimonials Block
   ========================================================================== */

/* ==========================================================================
   Testimonials Block
   ========================================================================== */

.testimonials-block {
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center !important;
}

.testimonials-block .container {
	margin-left: 520px;
	margin-right: auto;
	width: auto;
}

.testimonials-slider {
	position: relative;
	width: 100%;
}

.testimonials-slider-wrapper {
	position: relative;
	width: 100%;
	min-height: 0;
	overflow: hidden;
}

.testimonial-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.5s ease-in-out;
	z-index: 1;
}

.testimonial-slide.active {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 2;
}

.testimonial-content {
	width: 100%;
}

.testimonial-text-wrapper {
	position: relative;
	margin-bottom: var(--spacing-md);
}

.testimonial-speech-marks {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	line-height: 34px;
	display: flex;
	align-items: flex-start;
}

.testimonial-speech-marks img {
	width: auto;
	height: auto;
	max-width: 60px;
	max-height: 60px;
	display: block;
	vertical-align: top;
	margin-top:70px
}

.testimonial-image {
	margin-bottom: 15px;
	padding-left: 80px;
}

.testimonial-image img {
	max-height: 60px;
	height: auto;
	width: auto;
	display: block;
}

.testimonial-text {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 20px;
	line-height: 34px;
	margin: 0;
	padding: 0;
	padding-left: 80px;
	color: #0B1638;
	font-style: normal;
	max-width: 630px;
	width: 100%;
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.testimonial-author {
	margin-top: 35px;
	padding-left: 80px;
}

.testimonial-info {
	display: block;
	margin-bottom: 0;
}

.testimonial-name {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 25px;
	color: #0B1638;
	margin: 0;
	display: inline;
}

.testimonial-role {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 25px;
	color: #0B1638;
	margin: 0;
	display: inline;
}

.testimonial-company {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 25px;
	color: #0B1638;
	margin: 0;
	margin-top: 0;
	display: block;
}

.testimonial-meta {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 25px;
	color: #0B1638;
	margin: 0;
	display: inline;
}

.testimonials-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 15px;
	margin-top: 25px;
	padding-left: 80px;
}

.testimonial-nav {
	background: transparent;
	border: none;
	width: auto;
	height: auto;
	cursor: pointer;
	transition: var(--transition);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.testimonial-nav img {
	width: auto;
	height: auto;
	max-width: 40px;
	max-height: 40px;
	display: block;
	opacity: 0.7;
	transition: var(--transition);
}

.testimonial-nav:hover img {
	opacity: 1;
}

/* ==========================================================================
   CTA Block
   ========================================================================== */

.cta-block {
	padding: var(--spacing-xl) 0;
	text-align: center;
}

.cta-content {
	max-width: 800px;
	margin: 0 auto;
}

.cta-icon {
	text-align: center;
	margin-bottom: var(--spacing-sm);
}

.cta-icon img {
	max-width: 60px;
	height: auto;
	width: auto;
	display: inline-block;
}

.cta-title {
	margin-bottom: var(--spacing-md);
}

.cta-description {
	font-size: 1.125rem;
	margin-bottom: var(--spacing-lg);
	color: var(--color-text-light);
}

/* ==========================================================================
   Challenges Block
   ========================================================================== */

.challenges-block {
	position: relative;
}

/* Header Section with Background Image (600px height) */
.challenges-header-section {
	position: relative;
	height: 600px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

/* Ensure header section stays below card container */
.challenges-block > .container:not(.challenges-header-section .container) {
	position: relative;
	z-index: 100 !important;
	transform: translateZ(0);
}

.challenges-background-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

.challenges-header-section .container {
	position: relative;
	z-index: 2;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	margin-top: -90px;
}

/* Container for challenges card - needs to be above header section */
/* Target the container that comes after challenges-header-section */
.challenges-header-section + .container {
	position: relative;
	z-index: 100 !important;
	transform: translateZ(0);
	margin-top: -90px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Ensure card container in responsive breakpoints maintains z-index */
@media (max-width: 1100px) {
	.challenges-header-section + .container {
		z-index: 100 !important;
	}
	
	.challenges-card {
		z-index: 101 !important;
	}
}

@media (max-width: 1024px) {
	.challenges-header-section + .container {
		z-index: 100 !important;
	}
	
	.challenges-card {
		z-index: 101 !important;
	}
}

.challenges-header {
	text-align: left;
	margin-bottom: 0;
}

.challenges-icon {
	margin-bottom: var(--spacing-sm);
}

.challenges-icon img {
	max-width: 60px;
	height: auto;
	width: auto;
	display: block;
}

.challenges-title {
	text-align: left;
	margin-bottom: 25px;
	color: #ffffff;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: 45px;
	max-width: 480px;
}

.challenges-description {
	margin-bottom: 0;
	color: #ffffff;
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 28px;
	max-width: 510px;
}

.challenges-arrow-down {
	margin-top: var(--spacing-md);
	text-align: left;
}

.challenges-arrow-down img {
	width: auto;
	height: auto;
	max-width: 40px;
	display: block;
}

/* Challenges Grid Section */
.challenges-card {
	margin: 0 auto 120px;
	max-width: 1400px;
	width: 100%;
	position: relative;
	z-index: 101 !important;
	background-color: #ffffff;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	padding: var(--spacing-xl);
	transform: translateZ(0);
	box-sizing: border-box;
}

.challenges-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 112px;
	row-gap: 46px;
	max-width: 1200px;
	margin: 0 auto;
}

.challenge-item {
	padding: 0;
}

.challenge-icon {
	margin-bottom: 20px;
}

.challenge-icon img {
	max-height: 80px;
	height: auto;
	width: auto;
	display: block;
}

.challenge-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 36px;
	margin-bottom: var(--spacing-sm);
	color: var(--color-text);
}

.challenge-description {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 28px;
	color: var(--color-text);
}

@media (max-width: 768px) {
	.challenges-header-section {
		background-position: center top;
	}
	
	.challenges-card {
		padding: var(--spacing-lg);
	}
	
	.challenges-grid {
		grid-template-columns: 1fr;
		gap: var(--spacing-lg);
	}
	
	.challenges-title {
		font-size: 28px;
		line-height: 36px;
	}
}

/* ==========================================================================
   Case Studies
   ========================================================================== */

/* Case Studies Block (Home Page) */
.case-studies-block {
	padding: 120px 0;
	background: linear-gradient(90deg, #f4f4f4 0%, #FFFFFF 100%);
}

.case-studies-wrapper {
	display: grid;
	grid-template-columns: 460px 536px;
	gap: 75px !important;
	align-items: center;
	justify-content: center;
}

.case-studies-image {
	width: 460px;
}

.case-studies-image img {
	width: 460px;
	height: 307px;
	object-fit: cover;
	border-radius: 8px;
}

.case-studies-content {
	width: 536px;
}

.case-studies-icon {
	margin-bottom: var(--spacing-sm);
}

.case-studies-icon img {
	max-width: 60px;
	height: auto;
	width: auto;
	display: block;
}

.case-studies-title {
	font-size: 34px;
	font-weight: 700;
	line-height: 45px;
	margin-bottom: var(--spacing-md);
}

.case-studies-excerpt-icon {
	margin-bottom: var(--spacing-sm);
}

.case-studies-excerpt-icon img {
	max-width: 60px;
	height: auto;
	width: auto;
	display: block;
}

.case-studies-excerpt {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 20px;
	line-height: 34px;
	color: var(--color-text);
	margin-bottom: var(--spacing-md);
}

.case-studies-actions {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
	margin-top: var(--spacing-md);
	flex-wrap: nowrap;
}

.case-studies-button {
	margin: 0;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	background-color: #00C3FF;
	border-radius: 40px;
	padding: 18px 34px;
	line-height: 1.2;
	transition: none;
}

.case-studies-button::after {
	display: none;
}

.case-studies-view-all {
	color: #00C3FF;
	text-decoration: none;
	font-family: 'Onest', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 30px;
	transition: none;
}

.button.case-studies-button:hover,
a.case-studies-button.button:hover {
	transform: none;
}

/* ==========================================================================
   Reports Accordion Block
   ========================================================================== */

.reports-accordion-block {
	position: relative;
	padding: 120px 0;
	overflow: hidden;
	background: none !important;
}

.reports-accordion-block::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-image: var(--bg-image-url, none);
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-attachment: fixed !important;
	z-index: 0;
	pointer-events: none;
}

.reports-accordion-block::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
	pointer-events: none;
}

.reports-accordion-block .container {
	position: relative;
	z-index: 2;
}

.reports-accordion-wrapper {
	display: grid;
	grid-template-columns: 1fr 1.5fr;
	gap: var(--spacing-xl);
	align-items: flex-start;
}

.reports-accordion-content {
	max-width: 536px;
}

.reports-accordion-icon {
	margin-bottom: var(--spacing-sm);
}

.reports-accordion-icon img {
	max-width: 60px;
	height: auto;
	width: auto;
	display: block;
}

.reports-accordion-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: 45px;
	margin-bottom: var(--spacing-md);
	color: #ffffff;
}

.reports-accordion-description {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 28px;
	color: #ffffff;
}

/* Accordion Styles */
.reports-accordion {
	width: 100%;
}

.accordion-item {
	margin-bottom: var(--spacing-sm);
	background: #00c3ff12;
	border-radius: 12px;
	overflow: hidden;
}

.accordion-item:last-child {
	margin-bottom: 0;
}

.accordion-header {
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0 var(--spacing-md);
	background: #00c3ff12;
	border: none;
	border-radius: 0;
	cursor: pointer;
	text-align: left;
	font-family: 'Onest', sans-serif;
	transition: var(--transition);
	outline: none;
}

.accordion-header:hover {
	opacity: 0.9;
}

.accordion-header:focus,
.accordion-header:active,
.accordion-header:focus-visible {
	outline: none;
	background: #00c3ff12;
	box-shadow: none;
}

.accordion-header[aria-expanded="true"] {
	background: #00c3ff12;
	border-radius: 12px 12px 0 0;
}

.accordion-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 19px;
	line-height: 30px;
	color: #ffffff;
	flex: 1;
}

.accordion-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	position: relative;
	width: 20px;
	height: 20px;
}

.accordion-icon img,
.accordion-arrow {
	width: auto;
	height: auto;
	max-width: 20px;
	max-height: 20px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	will-change: transform;
	backface-visibility: hidden;
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.accordion-arrow-down {
	transform: translate(-50%, -50%) rotate(0deg);
}

.accordion-arrow-up {
	display: none;
}

.accordion-header[aria-expanded="true"] .accordion-arrow-down {
	transform: translate(-50%, -50%) rotate(180deg);
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background: #00c3ff12;
}

.accordion-content[aria-hidden="false"] {
	max-height: 1000px;
	border-radius: 0 0 12px 12px;
}

.accordion-inner {
	padding: var(--spacing-md);
	padding-top: var(--spacing-sm);
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	color: #ffffff;
}

.accordion-inner p,
.accordion-inner ul,
.accordion-inner ol,
.accordion-inner li,
.accordion-inner h1,
.accordion-inner h2,
.accordion-inner h3,
.accordion-inner h4,
.accordion-inner h5,
.accordion-inner h6,
.accordion-inner div,
.accordion-inner span {
	color: #ffffff;
}

.accordion-inner p {
	margin-bottom: 0;
}

.accordion-read-more {
	margin-top: 0;
	padding-top: 0;
}

/* Ebook Block */
.ebook-block {
	padding: 100px 0;
	background: linear-gradient(180deg, #FFFFFF 0%, #F5F5F5 100%);
}

.ebook-wrapper {
    display: grid;
    grid-template-columns: 440px 440px;
    gap: var(--spacing-xl);
    align-items: flex-start;
    justify-content: center;
    padding: 20px 0PX;
}

.ebook-content {
	max-width: 440px;
	width: 440px;
}

.ebook-icon {
	margin-bottom: var(--spacing-sm);
}

.ebook-icon img {
	width: auto;
	height: auto;
	max-width: 60px;
	max-height: 11px;
	display: block;
}

.ebook-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 58px;
	color: #0B1638;
	margin-bottom: var(--spacing-md);
}

.ebook-text {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: #0B1638;
}

.ebook-form-card {
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	padding: 40px;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
	width: 440px;
	max-width: 440px;
}

.ebook-download-icon {
	margin-bottom: -20px;
}

.ebook-download-icon img {
	width: auto;
	height: auto;
	max-width: 60px;
	max-height: 60px;
	display: block;
}

.ebook-form-heading {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 32px;
	color: #0B1638;
	margin: 0;
}

.ebook-form {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
}

.ebook-form-field {
	width: 100%;
}

.ebook-form-field input[type="email"] {
    width: 100%;
    padding: 16px 20px;
    border: 0px solid #e0e0e0;
    border-radius: 8px;
    font-family: 'Onest', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #0B1638;
    background: #ffffff;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
    margin-top: -20px;
    margin-bottom: -20px;
    filter: drop-shadow(0px 0px 20px #00000025);
}

.ebook-form-field input[type="email"]:focus {
	outline: none;
	border-color: #00c3ff;
}

.ebook-form-field input[type="email"]::placeholder {
	color: #999999;
}

.ebook-button {
	width: 100%;
	padding: 18px 34px;
	background-color: #FD2171;
	color: #ffffff;
	border: none;
	border-radius: 40px;
	font-family: 'Onest', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
	cursor: pointer;
	transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
	text-align: center;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.ebook-button-text {
	display: inline-block;
}

.ebook-button-arrow {
	width: auto;
	height: auto;
	max-width: 20px;
	max-height: 20px;
	display: inline-block;
	vertical-align: middle;
	transition: transform 0.3s ease;
}

.ebook-button:hover {
	background-color: #e01a5f;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(253, 33, 113, 0.3);
}

.ebook-button:hover .ebook-button-arrow {
	transform: translateX(4px);
}

.ebook-terms {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 25px;
	color: #0B1638;
	padding-top: 30px;
	border-top: 2px solid #00C3FF;
}

.ebook-terms a {
	color: #00c3ff;
	text-decoration: none;
	transition: color 0.3s ease;
}

.ebook-terms a:hover {
	color: #00a8d9;
	text-decoration: none;
}

/* Trusted Companies Block */
.trusted-companies-block {
	padding: 100px 0;
	text-align: center;
	border-bottom: 1px solid #EAEAEA;
}

.trusted-companies-block > .container {
	max-width: 1400px;
	padding: 0 80px;
}

.trusted-companies-icon {
	margin-bottom: var(--spacing-sm);
	display: flex;
	justify-content: center;
}

.trusted-companies-icon img {
	width: auto;
	height: auto;
	max-width: 60px;
	max-height: 11px;
	display: block;
}

.trusted-companies-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 30px;
	color: #0B1638;
	margin: 0;
	padding-bottom: 30px;
}

.trusted-companies-carousel {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-lg);
	max-width: 1200px;
	margin: 0 auto;
}

.trusted-companies-slider {
	flex: 1;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.trusted-companies-slider-wrapper {
	display: flex;
	align-items: center;
	gap: var(--spacing-xl);
	width: 100%;
	flex-wrap: nowrap;
	justify-content: flex-start;
	will-change: transform;
	transform: translateX(0);
}

.trusted-company-slide {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(25% - var(--spacing-xl) * 0.75);
	min-width: 150px;
	max-width: 25%;
}

.trusted-company-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.trusted-company-logo img {
	max-width: 100%;
	max-height: 80px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.trusted-companies-nav {
	background: transparent;
	border: none;
	border-radius: 0;
	width: auto;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform 0.3s ease;
	flex-shrink: 0;
	padding: 0;
}


.trusted-companies-nav:focus {
	outline: none;
}

.trusted-companies-nav img {
	height: auto;
	max-width: 44px;
	max-height: 28px;
	display: block;
	object-fit: contain;
}

.accordion-read-more-link {
	font-family: 'Onest', sans-serif;
	font-weight: 600;
	font-size: 16px;
	color: #00c3ff;
	text-decoration: none;
	transition: color 0.3s ease, opacity 0.3s ease;
	display: inline-block;
}

.accordion-read-more-link:hover {
	color: #00a8d9;
	opacity: 0.9;
}

.accordion-read-more-link:focus {
	outline: 2px solid #00c3ff;
	outline-offset: 2px;
	border-radius: 2px;
}

@media (max-width: 1024px) {
	.reports-accordion-wrapper {
		grid-template-columns: 1fr !important;
		gap: var(--spacing-lg);
	}
	
	.reports-accordion-content {
		max-width: 100%;
	}
	
	.reports-accordion-block {
		background-attachment: scroll !important;
		padding: 120px 0;
	}
	
	.reports-accordion-title {
		font-size: 28px;
		line-height: 38px;
	}
}

@media (max-width: 768px) {
	.reports-accordion-wrapper {
		grid-template-columns: 1fr !important;
		gap: var(--spacing-md);
	}
	
	.reports-accordion-content {
		max-width: 100%;
	}
	
	.reports-accordion-block {
		padding: 60px 0;
		background-attachment: scroll !important;
	}
	
	.reports-accordion-title {
		font-size: 28px;
		line-height: 34px;
	}
	
	.accordion-header {
		height: auto;
		min-height: 60px;
		padding: var(--spacing-sm) var(--spacing-md);
	}
	
	.accordion-title {
		font-size: 17px;
		line-height: 24px;
	}
	
	.accordion-inner {
		font-size: 15px;
		line-height: 26px;
		padding: var(--spacing-sm) var(--spacing-md);
	}
}

/* Case Study Archive */
.page-header {
	padding: var(--spacing-xl) 0;
	text-align: center;
	background-color: var(--color-bg-dark);
}

.page-title {
	font-size: 34px;
	font-weight: 700;
	line-height: 45px;
}

.case-studies-archive {
	padding: var(--spacing-xl) 0;
}

.case-studies-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
	gap: var(--spacing-lg);
}

.case-study-card {
	background-color: var(--color-bg);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: var(--transition);
}

.case-study-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.case-study-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.case-study-card-image {
	width: 100%;
	height: 250px;
	overflow: hidden;
}

.case-study-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--transition);
}

.case-study-card:hover .case-study-card-image img {
	transform: scale(1.05);
}

.case-study-card-content {
	padding: var(--spacing-md);
}

.case-study-card-client {
	font-size: 14px;
	color: var(--color-text-light);
	margin-bottom: var(--spacing-xs);
	font-weight: 300;
}

.case-study-card-title {
	font-size: 24px;
	font-weight: 700;
	line-height: 32px;
	margin-bottom: var(--spacing-sm);
	color: var(--color-primary);
}

.case-study-card-excerpt {
	font-size: 16px;
	line-height: 28px;
	color: var(--color-text-light);
	margin-bottom: var(--spacing-sm);
}

.case-study-card-link-text {
	color: var(--color-secondary);
	font-weight: 600;
	font-size: 15px;
}

/* Single Case Study */
.case-study-hero {
	position: relative;
	min-height: 400px;
	margin-bottom: var(--spacing-xl);
}

.case-study-hero-image {
	width: 100%;
	height: 400px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.case-study-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.3);
}

.case-study-content {
	padding: var(--spacing-xl) 0;
}

.case-study-header {
	margin-bottom: var(--spacing-lg);
	text-align: center;
}

.case-study-client {
	font-size: 17px;
	color: var(--color-text-light);
	margin-bottom: var(--spacing-sm);
	font-weight: 300;
}

.case-study-title {
	font-size: 34px;
	font-weight: 700;
	line-height: 45px;
	margin-bottom: var(--spacing-sm);
}

.case-study-date {
	font-size: 15px;
	color: var(--color-text-light);
	font-weight: 300;
}

.case-study-description {
	font-size: 16px;
	line-height: 28px;
	color: var(--color-text);
	margin-bottom: var(--spacing-lg);
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.case-study-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--spacing-md);
	margin-bottom: var(--spacing-lg);
}

.case-study-gallery-item {
	width: 100%;
}

.case-study-gallery-item img {
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.case-study-cta {
	text-align: center;
	margin-top: var(--spacing-lg);
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer {
	background-color: #ffffff;
	color: #0B1638;
	padding: 0;
	margin-top: auto;
	overflow-anchor: none;
	border-top: 1px solid #EAEAEA;
}

.site-footer:has(.trusted-companies-block) {
	border-top: none;
}

.footer-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 100px;
}

.footer-columns {
	display: grid;
	grid-template-columns: auto 234px 234px 234px 1fr;
	gap: 40px;
}

@media (max-width: 1170px) {
	.footer-columns {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 30px;
	}

	.footer-column-logo {
		grid-column: 1 / -1;
	}

	.footer-column-who-we-help,
	.footer-column-social-legal {
		grid-column: auto;
		grid-row: auto;
		min-width: 0;
	}
}

.footer-column {
	display: flex;
	flex-direction: column;
}

.footer-logo {
	margin-bottom: 20px;
}

.footer-logo img {
	max-width: 54px;
	height: auto;
	display: block;
}

.footer-column-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 24px;
	color: #0B1638;
	margin: 0 0 20px 0;
}

.footer-column-title a {
	color: #0B1638;
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer-column-title a:hover {
	color: #00c3ff;
	text-decoration: none;
}

.footer-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-list li {
	font-family: 'Onest', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 24px;
	color: #0B1638;
	margin-bottom: 12px;
}

.footer-list li:last-child {
	margin-bottom: 0;
}

.footer-list li a {
	color: #0B1638;
	text-decoration: none;
	transition: color 0.3s ease;
}

.footer-list li a:hover {
	color: #00c3ff;
	text-decoration: none;
}

.footer-social-icons {
	display: flex;
	gap: 16px;
	margin-bottom: 24px;
}

.footer-social-icons a {
	display: inline-block;
	transition: opacity 0.3s ease;
}

.footer-social-icons a:hover {
	opacity: 0.7;
}

.footer-social-icons img {
	width: auto;
	height: 19px;
	display: block;
}

.footer-copyright {
	font-family: 'Onest', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 22px;
	color: #0B1638;
	margin: 0 0 10px 0;
}

.footer-legal {
	font-family: 'Onest', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 22px;
	color: #0B1638;
	margin: 0 0 20px 0;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex-direction: column;
}

.footer-links li {
	margin: 0;
}

.footer-links a {
    font-family: 'Onest', sans-serif;
    font-weight: 700;
    font-size: 12px;
    line-height: 22px;
    color: #00c3ff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-links a:hover {
	color: #00a8d9;
	text-decoration: none;
}

/* WordPress menu specific styling */
#footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

#footer-menu li {
	margin: 0;
}

#footer-menu a {
	font-family: 'Onest', sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 32px;
	color: #00c3ff;
	text-decoration: none;
	transition: color 0.3s ease;
	display: block;
}

#footer-menu a:hover {
	color: #00a8d9;
	text-decoration: none;
}

#footer-menu .current-menu-item > a,
#footer-menu .current_page_item > a,
#footer-menu .current-menu-ancestor > a,
#footer-menu .current-page-ancestor > a,
#footer-menu .current_page_ancestor > a,
.footer-links .current-menu-item > a,
.footer-links .current_page_item > a,
.footer-links .current-menu-ancestor > a,
.footer-links .current-page-ancestor > a,
.footer-links .current_page_ancestor > a,
.footer-menu .current-menu-item > a,
.footer-menu .current_page_item > a,
.footer-menu .current-menu-ancestor > a,
.footer-menu .current-page-ancestor > a,
.footer-menu .current_page_ancestor > a {
	color: #00c3ff;
}

.footer-bottom {
	padding: 20px 0;
	margin-top: 0;
	background-color: #F5F5F5;
	height: 200px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-bottom-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 1400px;
	margin: 0 auto;
	width: 100%;
	padding: 0 80px;
	box-sizing: border-box;
}

.footer-bottom-icon {
	width: auto;
	height: 50px;
	display: block;
	opacity: 30%;
}

.footer-bottom-text {
	font-family: 'Onest', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #0B1638;
	opacity: 0.5;
}

.footer-menu {
	display: flex;
	list-style: none;
	gap: var(--spacing-md);
	margin-bottom: var(--spacing-md);
	padding: 0;
}

.footer-menu a {
	color: #0B1638;
	text-decoration: none;
}

.footer-menu a:hover {
	text-decoration: none;
}

.site-info {
	text-align: center;
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.7);
}

/* ==========================================================================
   Utilities
   ========================================================================== */

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

/* Medium screens (tablets, small desktops) */
@media (max-width: 1400px) {
	.header-container {
		gap: var(--spacing-sm);
	}

	.site-branding .custom-logo-link img,
	.site-branding .site-logo img {
		content: url('/wp-content/themes/opus-nebula-2/assets/images/svg/opus-nebula-mobile-logo.svg');
		height: 32px;
		width: auto;
		max-height: 32px;
	}
}

/* Mega menu: hide case study / news preview; single column + full-width links (desktop only down to mobile breakpoint) */
@media (max-width: 1300px) {
	.mega-menu-case-study {
		display: none !important;
	}
}

@media (max-width: 1300px) and (min-width: 1181px) {
	.mega-menu-content {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.mega-menu-left {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.mega-menu-columns-wrapper {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.mega-menu-item {
		width: 100%;
		max-width: 100%;
	}
}

/* Responsive menu (mobile mega menu + hamburger) */
@media (max-width: 1180px) {
	.header-wrapper {
		padding: 0;
	}

	.trusted-companies-block > .container {
		padding: 0 40px;
	}

	.footer-container {
		padding: 60px 40px 0;
	}

	.footer-bottom-content {
		padding: 0 40px;
	}
	
	.header-container {
		justify-content: space-between;
		align-items: center;
		position: relative;
		width: calc(100% - 80px);
		padding: 1.25rem 1.5rem;
	}

	.site-branding {
		order: 1;
	}
	
	#site-navigation {
		order: 3;
		position: relative;
		transform: none;
		left: auto;
		width: auto;
		margin-left: 12px;
		flex: 0 0 auto;
	}
	
	.main-navigation {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		position: relative;
		width: 100%;
	}
	
	.menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		background: transparent;
		border: none;
		color: #ffffff;
		cursor: pointer;
		padding: var(--spacing-xs);
		z-index: 1002;
		position: relative;
		width: 40px;
		height: 40px;
		margin-left: 0;
	}

	.menu-toggle .hamburger-icon {
		transition: transform 0.2s ease;
	}

	.menu-toggle[aria-expanded='true'] .hamburger-icon {
		transform: rotate(90deg);
	}
	
	/* Hide desktop navigation menu on mobile - use mega menu instead */
	.nav-menu,
	#primary-menu {
		display: none !important;
	}
	
	/* Keep request demo button visible in header on mobile */
	.request-demo-button {
		order: 2;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		align-self: center;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		margin: 0;
		padding: 18px 24px;
		line-height: 32px;
		white-space: nowrap;
	}
	
	/* Mobile Mega Menu Styles - Based on Figma Design */
	.mega-menu-bridge {
		display: none !important;
	}
	
	.mega-menu-container {
		position: fixed !important;
		width: auto;
		transition: opacity 0.3s ease, visibility 0.3s ease, width 0.3s ease, top 0.3s ease, left 0.3s ease, transform 0.3s ease !important;
		z-index: 9999 !important;
		background: linear-gradient(180deg, #1C2B5C 0%, #1C75BC 100%) !important;
		border-radius: 30px !important;
		padding: 30px !important;
		box-shadow: 0px 26px 26px 0px rgba(3, 11, 34, 0.3) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		scrollbar-width: none;
		-ms-overflow-style: none;
		max-height: calc(100vh - 120px);
		box-sizing: border-box !important;
		height: auto !important;
		margin: 0px;
		transform: none !important;
		left: 0px !important;
	}

	.mega-menu-container::-webkit-scrollbar {
		display: none;
	}
	
	.mega-menu-container.active {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
	}
	
	.mega-menu-content {
		display: flex;
		flex-direction: column;
		gap: 30px;
		width: 100%;
		box-sizing: border-box;
	}
	
	.mega-menu-left {
		width: 100%;
		margin-bottom: 0;
	}
	
	.mega-menu-title {
		display: none;
	}
	
	.mega-menu-columns-wrapper {
		display: flex !important;
		flex-direction: column;
		gap: 0px;
		margin-top: 0;
		width: 100%;
	}
	
	.mega-menu-column {
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: 0px;
	}
	
	.mega-menu-item {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		border-bottom: 1px solid #3ABFEF66;
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	
	.mega-menu-item:last-child {
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	
	.mega-menu-item-row {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
	}

	.mega-menu-item-text {
		font-family: 'Onest', sans-serif;
		font-weight: 700;
		font-size: 15px;
		line-height: normal;
		color: #ffffff;
		text-decoration: none;
		flex: 1;
		min-width: 0;
		display: flex;
		align-items: center;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.mega-menu-item-text--active {
		color: #00C3FF;
	}

	.mega-menu-item-text:hover {
		text-decoration: none;
		opacity: 0.85;
	}

	.mega-menu-submenu-toggle {
		width: 12px;
		height: 10px;
		border: 0;
		padding: 0;
		background-color: transparent;
		background-image: url('../images/svg/mobile-menu-arrow.svg');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		flex-shrink: 0;
		cursor: pointer;
		transition: transform 0.2s ease;
	}

	.mega-menu-item.is-expanded .mega-menu-submenu-toggle {
		transform: rotate(90deg);
	}

	.mega-menu-submenu {
		display: none;
		width: 100%;
	}

	.mega-menu-item.is-expanded .mega-menu-submenu {
		display: block;
	}

	.mega-menu-submenu-item {
		display: block;
		padding: 8px 0 8px 24px;
		font-family: 'Onest', sans-serif;
		font-weight: 400;
		font-size: 14px;
		line-height: 1.4;
		color: #ffffff;
		text-decoration: none;
		opacity: 0.9;
		position: relative;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.mega-menu-submenu-item--active {
		color: #00C3FF;
	}

	.mega-menu-submenu-item::before {
		content: '';
		position: absolute;
		left: 12px;
		top: 8px;
		bottom: 8px;
		width: 1px;
		background-color: #00C3FF;
	}

	.mega-menu-submenu-item:hover {
		text-decoration: none;
		opacity: 0.85;
	}
	
	.mega-menu-item-icon {
		display: none;
	}
	
	.mega-menu-case-study {
		display: none;
	}
	
	/* Show mobile request demo button in mega menu */
	.request-demo-button-mobile {
		display: inline-flex !important;
		align-items: center;
		justify-content: flex-start;
		gap: 10px;
		padding: 18px 32px;
		background-color: #FD2171;
		color: #ffffff;
		text-decoration: none;
		border-radius: 40px;
		font-family: 'Onest', sans-serif;
		font-weight: 700;
		font-size: 15px;
		line-height: normal;
		width: fit-content;
		align-self: flex-start;
		transition: background-color 0.3s ease;
		margin: 0;
	}
	
	.request-demo-button-mobile:hover {
		background-color: #e01d63;
		color: #ffffff;
		text-decoration: none;
	}

	.mobile-mega-cta-row {
		display: inline-flex;
		align-self: flex-start;
	}

	.mobile-mega-social-links {
		display: inline-flex;
		margin-top: 0;
	}
	
	.mega-menu-arrow-up {
		display: none;
	}
	
}

@media (max-width: 1180px) {
	.header-wrapper {
		padding: 0;
	}

	.trusted-companies-block > .container {
		padding: 0 20px;
	}

	.footer-container {
		padding: 60px 20px 0;
	}

	.footer-bottom-content {
		padding: 0 20px;
	}
	
	.header-container {
		width: calc(100% - 40px);
		padding: 1.25rem 1.5rem;
	}
	
	.menu-toggle {
		display: flex !important;
	}
	
}

@media (max-width: 900px) {
	.header-wrapper {
		padding: 0;
	}
	
	.header-container {
		width: calc(100% - 40px);
		padding: 1rem 1.25rem;
		min-height: 60px;
	}
	
	.menu-toggle {
		display: flex !important;
	}
	
	.nav-menu,
	#primary-menu {
		top: 110px;
		left: 20px;
		right: 20px;
		width: calc(100% - 40px);
		max-width: calc(100% - 40px);
	}
	
	/* Hero Section */
	.hero-block {
		height: 100vh;
		min-height: 100vh;
		padding: 0;
		margin-top: 0;
	}
	
	.hero-wrapper {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
	}
	
	.hero-image {
		order: 2;
		text-align: center;
	}
	
	.hero-content {
		order: 1;
		max-width: 100%;
		padding: 0 calc(var(--spacing-md) * 2);
	}
	
	.hero-title {
		font-size: 38px;
		line-height: 42px;
	}
	
	.hero-subtitle {
		font-size: 18px;
		line-height: 28px;
	}

	.hero-cta-wrapper {
		flex-direction: column;
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 18px;
	}

	.hero-cta {
		white-space: nowrap;
	}
}
	
	/* Content Section - make responsive */
	.content-section-block {
		padding: 120px 0;
	}
	
	.content-section-wrapper {
		grid-template-columns: 1fr 1fr !important;
		gap: var(--spacing-md);
		max-width: 100%;
		width: 100%;
	}
	
	.content-section-wrapper.image-left,
	.content-section-wrapper.image-right {
		grid-template-columns: 1fr 1.4fr !important;
	}
	
	.content-section-text {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.content-section-image {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.content-section-image img {
		width: 80% !important;
		max-width: 80% !important;
		height: auto;
		object-fit: contain;
		aspect-ratio: auto;
	}

	.content-section-text .content-section-cta-text {
		display: flex;
		justify-content: center;
	}
	
	/* Testimonials - maintain right alignment */
	.testimonials-block {
		padding: 80px 0;
		background-attachment: scroll !important;
	}
	
	.testimonials-block .container {
		margin-left: 700px !important;
		margin-right: auto !important;
		max-width: 960px !important;
		padding: 0;
		width: auto;
		box-sizing: border-box;
	}
	
	.testimonials-layout {
		grid-template-columns: 30% 70% !important;
	}
	
	.testimonials-content-column {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* Case Studies */
	.case-studies-block {
		padding: 120px 0;
	}
	
	.case-studies-wrapper {
		grid-template-columns: 1fr 1.5fr;
		gap: 75px !important;
		max-width: 100%;
		width: 100%;
	}
	
	.case-studies-image {
		width: 100%;
		max-width: 100%;
	}
	
	.case-studies-image img {
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 460 / 307;
	}
	
	.case-studies-content {
		width: 100%;
		max-width: 100%;
	}
	
	/* Challenges */
	.challenges-block {
		padding: 0;
	}
	
	.challenges-header-section {
		padding: var(--spacing-xl) calc(var(--spacing-md) * 2);
	}
	
	.challenges-header-section + .container {
		margin-top: -90px;
		margin-left: auto;
		margin-right: auto;
		padding: 0 calc(var(--spacing-md) * 2);
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	
	.challenges-card {
		margin: 0 auto 120px;
		max-width: 1400px;
		width: 100%;
		padding: var(--spacing-lg);
		position: relative;
		z-index: 11 !important;
		box-sizing: border-box;
	}
	
	.challenges-grid {
		column-gap: var(--spacing-lg) !important;
		row-gap: var(--spacing-md) !important;
	}
	
	/* Reports Accordion */
	.reports-accordion-block {
		padding: 120px 0;
		background-attachment: scroll !important;
	}
	
	/* Benefits Grid */
	.benefits-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--spacing-md);
	}

@media (max-width: 1024px) {
	.container {
		padding: 0 calc(var(--spacing-md) * 2);
		max-width: 100%;
		width: 100%;
		box-sizing: border-box;
	}
	
	/* Content Section - reduce gap and make more flexible */
	.content-section-wrapper {
		gap: var(--spacing-md);
		grid-template-columns: 1fr 1fr !important;
	}
	
	.content-section-text {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.content-section-image {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.content-section-image img {
		width: 80% !important;
		max-width: 80% !important;
		height: auto;
		object-fit: contain;
		aspect-ratio: auto;
	}
	
	/* Testimonials - maintain right alignment */
	.testimonials-block .container {
		margin-left: 520px !important;
		margin-right: auto !important;
		max-width: 960px !important;
		padding: 0;
	}
	
	.testimonials-layout {
		grid-template-columns: 30% 70% !important;
	}
	
	.testimonials-content-column {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* Challenges - adjust grid and spacing */
	.challenges-header-section + .container {
		margin-left: auto;
		margin-right: auto;
		padding: 0 calc(var(--spacing-md) * 2);
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	
	.challenges-card {
		margin: 0 auto;
		max-width: 1400px;
		width: 100%;
		position: relative;
		z-index: 11 !important;
		box-sizing: border-box;
	}
	
	.challenges-grid {
		column-gap: var(--spacing-md) !important;
		row-gap: var(--spacing-md) !important;
	}
	
	/* Case Studies - adjust layout */
	.case-studies-wrapper {
		grid-template-columns: 1fr 1fr;
		gap: 75px !important;
	}
	
	/* Reports Accordion - keep 2 columns on larger screens, stack only on mobile */
	
	/* Benefits Grid - 2 columns */
	.benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	/* Testimonials Block Responsive */
	.testimonials-block {
		height: auto !important;
		min-height: 560px;
		padding: 60px 0 !important;
		background-attachment: scroll !important;
	}
	
	.testimonials-block .container {
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 0 calc(var(--spacing-md) * 2) !important;
		width: 100% !important;
		box-sizing: border-box;
	}
	
	.testimonials-layout {
		grid-template-columns: 1fr !important;
		gap: var(--spacing-md);
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden;
	}
	
	.testimonials-empty-column {
		display: none !important;
	}
	
	.testimonials-content-column {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.testimonials-title {
		font-size: 28px;
		line-height: 36px;
		margin-bottom: var(--spacing-md);
	}
	
	.testimonial-text {
		font-size: 18px;
		line-height: 28px;
		padding-left: 60px;
	}
	
	.testimonial-image {
		padding-left: 60px;
	}
	
	.testimonial-speech-marks img {
		max-width: 40px;
		max-height: 40px;
	}
	
	.testimonial-author {
		padding-left: 60px;
		margin-top: var(--spacing-md);
	}
	
	.testimonials-pagination {
		padding-left: 60px;
		margin-top: 25px;
	}
	
	/* Ebook Block Responsive */
	.ebook-block {
		padding: 60px 0;
	}
	
	.ebook-wrapper {
		grid-template-columns: 1fr !important;
		gap: var(--spacing-lg);
	}
	
	.ebook-content {
		max-width: 100%;
	}
	
	.ebook-title {
		font-size: 32px;
		line-height: 42px;
	}
	
	.ebook-form-card {
		padding: var(--spacing-lg);
	}
}

@media (max-width: 768px) {
	/* Testimonials Block Responsive */
	.testimonials-block {
		height: auto;
		min-height: 560px;
		padding: 60px 0;
		background-attachment: scroll !important;
	}
	
	.testimonials-block .container {
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding: 0 calc(var(--spacing-md) * 2);
		width: 100%;
		box-sizing: border-box;
	}
	
	.testimonials-layout {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}
	
	.testimonials-empty-column {
		display: none;
	}
	
	.testimonials-content-column {
		width: 100%;
	}
	
	.testimonials-title {
		font-size: 28px;
		line-height: 36px;
		margin-bottom: var(--spacing-md);
	}
	
	.testimonial-text {
		font-size: 18px;
		line-height: 28px;
		padding-left: 60px;
	}
	
	.testimonial-image {
		padding-left: 60px;
	}
	
	.testimonial-speech-marks img {
		max-width: 40px;
		max-height: 40px;
	}
	
	.testimonial-author {
		padding-left: 60px;
		margin-top: var(--spacing-md);
	}
	
	.testimonials-pagination {
		padding-left: 60px;
		margin-top: 25px;
	}
	
	:root {
		--spacing-md: 1.5rem;
		--spacing-lg: 2rem;
		--spacing-xl: 3rem;
	}

	.hero-wrapper {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
	}
	
	.hero-image {
		order: 2;
		text-align: center;
	}
	
	.hero-content {
		order: 1;
	}

	.hero-title {
		font-size: 38px;
		line-height: 42px;
	}

	.hero-subtitle {
		font-size: 17px;
		line-height: 26px;
	}

	.menu-toggle {
		display: block;
	}

	.nav-menu,
	#primary-menu {
		display: none !important;
		position: fixed !important;
		top: 100px !important;
		left: 0 !important;
		right: 0 !important;
		background-color: #000000 !important;
		flex-direction: column !important;
		padding: var(--spacing-md) !important;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
		z-index: 999 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.nav-menu.active,
	#primary-menu.active {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.nav-menu li {
		display: block;
		width: 100%;
	}

	.content-section-block {
		padding: 50px 0;
	}
	
	.content-section-wrapper {
		display: flex !important;
		flex-direction: column;
		gap: var(--spacing-md);
		width: 100%;
		max-width: 100%;
	}

	.content-section-wrapper.image-right .content-section-image,
	.content-section-wrapper.image-right .content-section-text,
	.content-section-wrapper.image-left .content-section-image,
	.content-section-wrapper.image-left .content-section-text {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* Override desktop order - text first, image below on mobile */
	.content-section-wrapper.image-right .content-section-image,
	.content-section-wrapper.image-left .content-section-image {
		order: 2 !important;
	}
	
	.content-section-wrapper.image-right .content-section-text,
	.content-section-wrapper.image-left .content-section-text {
		order: 1 !important;
	}
	
	.content-section-image {
		order: 2 !important;
		display: flex;
		flex-direction: column;
	}
	
	.content-section-image img {
		order: 1;
	}
	
	/* Hide button in image container on mobile */
	.content-section-image .content-section-cta-image {
		display: none;
	}
	
	.content-section-text {
		order: 1 !important;
		display: flex;
		flex-direction: column;
	}
	
	.content-section-text .content-section-icon,
	.content-section-text .content-section-title,
	.content-section-text .content-section-content {
		order: 1;
	}
	
	.content-section-text .content-section-cta-text {
		order: 2;
		margin-top: var(--spacing-md);
		display: flex;
		justify-content: center;
	}
	
	/* Show mobile button after text */
	.content-section-cta-mobile {
		order: 3;
		display: flex !important;
		justify-content: center;
		margin-top: 0;
	}
	
	.content-section-cta-mobile .content-section-button,
	.content-section-text .content-section-cta-text .content-section-button {
		background-color: #00C3FF !important;
	}
	
	.content-section-cta-mobile .content-section-button:hover,
	.content-section-text .content-section-cta-text .content-section-button:hover {
		background-color: #00a8d9 !important;
		color: #ffffff !important;
		text-decoration: none !important;
	}

	.content-section-text {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.content-section-image {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.content-section-image img {
		width: 80% !important;
		max-width: 80% !important;
		height: auto !important;
		object-fit: contain;
		aspect-ratio: auto;
	}

	.case-studies-wrapper {
		grid-template-columns: 1fr;
	}

	.case-studies-image {
		width: 100%;
		max-width: 460px;
		margin: 0 auto;
	}

	.case-studies-image img {
		width: 100%;
		height: auto;
		max-width: 460px;
		max-height: 307px;
	}

	.case-studies-content {
		width: 100%;
		max-width: 536px;
		margin: 0 auto;
	}

	.case-studies-actions {
		flex-direction: row;
		align-items: center;
		flex-wrap: nowrap;
		gap: var(--spacing-sm);
	}

	.benefits-grid {
		grid-template-columns: 1fr;
	}

	.testimonials-grid {
		grid-template-columns: 1fr;
	}

	h1 { font-size: 2rem; }
	h2 { font-size: 1.75rem; }
	h3 { font-size: 1.5rem; }

	.footer-columns {
		grid-template-columns: auto 234px 234px;
		gap: 30px;
	}
}

@media (max-width: 768px) {
	.footer-columns {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.footer-column-who-we-help,
	.footer-column-social-legal {
		grid-column: auto;
		grid-row: auto;
	}
	
	.footer-column-logo {
		grid-column: 1;
	}

	.footer-links {
		flex-direction: column;
		gap: 12px;
	}
}

/* ==========================================================================
   Blog Post Template
   ========================================================================== */

/* Blog Hero Section */
.blog-hero {
	position: relative;
	height: 270px;
	min-height: 270px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #000000;
	color: #ffffff;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.single-hero {
	position: relative;
	height: 140px;
	min-height: 140px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #000000;
	color: #ffffff;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.blog-hero-container {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.blog-hero-content {
	display: flex;
	flex-direction: column;
	gap: 0px;
	padding-left: 2rem;
}

.blog-hero-title {
	font-family: 'Onest', sans-serif;
	font-weight: 100;
	font-size: 66px;
	line-height: 66px;
	color: #ffffff;
	margin-top: 120px;
	text-align: left;
}

.blog-hero-title--child-match {
	font-size: 66px;
	line-height: 66px;
	font-weight: 100;
}

.blog-author-meta {
	display: flex;
	align-items: center;
	gap: 6px;
}

.blog-author-icon {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	display: block;
	opacity: 0.7 !important;
}

.blog-author-name {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 13px;
	line-height: 13px;
	color: #ffffff;
}

/* Author meta in archive cards and featured post - dark text */
.blog-archive-wrapper .blog-author-meta .blog-author-name,
.blog-featured-content .blog-author-meta .blog-author-name,
.blog-post-card-content .blog-author-meta .blog-author-name {
	color: #0B1638;
	opacity: 0.7;
}

/* Blog Content Wrapper */
.blog-content-wrapper {
    background: linear-gradient(0deg, #c4c4c433, #ffffff);
    padding: 60px 0;
    min-height: auto;
}

.blog-content-container {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	padding: 0 80px;
	box-sizing: border-box;
}

.blog-content-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	column-gap: 60px;
	row-gap: 40px;
	align-items: start;
	width: 100%;
}

@media (min-width: 901px) {
	.single-whitepaper .blog-content-layout {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
	}

	.blog-main-content {
		grid-column: 1;
		grid-row: 1;
	}

	.blog-sidebar-wrapper {
		grid-column: 2;
		grid-row: 1;
	}
}

/* Blog Main Content */
.blog-main-content {
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-width: 0;
}

.blog-post-header {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	margin-bottom: 40px;
}

.blog-post-page-title {
	font-family: 'Onest', sans-serif;
	font-weight: 100;
	font-size: 46px;
	line-height: 54px;
	margin: 0;
	color: #0a1638;
}

.blog-post-author-meta {
	display: flex;
	align-items: center;
	gap: 6px;
}

.blog-post-author-name {
	color: #233469;
	font-size: 13px;
}

.blog-featured-image {
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
}

.blog-featured-image img,
.blog-featured-image__img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	image-rendering: auto;
}

.blog-entry-content {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 28px;
	color: #0B1638;
}

.blog-entry-content p {
	margin-bottom: 0;
}

.blog-entry-content p + p {
	margin-top: 30px;
}

.blog-entry-content ul,
.blog-entry-content ol {
	margin: 30px 0;
	padding-left: 1.5rem;
	list-style-position: outside;
}

.blog-entry-content ul {
	list-style-type: disc;
}

.blog-entry-content ol {
	list-style-type: decimal;
	font-weight:800;
}

.blog-entry-content li {
	margin: 0 0 12px;
}

.blog-entry-content li:last-child {
	margin-bottom: 0;
}

.blog-entry-content li > ul,
.blog-entry-content li > ol {
	margin: 12px 0 0;
}

.blog-entry-content ul ul {
	list-style-type: circle;
}

.blog-entry-content ul ul ul {
	list-style-type: square;
}

.blog-entry-content strong,
.blog-entry-content b {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
}

.blog-entry-content a[href^="mailto:"],
.blog-entry-content a[href^="tel:"] {
	cursor: pointer;
}

/* Blog Sidebar */
.blog-sidebar {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width:330px;
	width: 100%;
}

.blog-sidebar-wrapper {
	width: 100%;
	min-width: 0;
}

.blog-sidebar-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: 45px;
	color: #0B1638;
	margin: 0 0 20px 0;
	position: relative;
	padding-top: 30px;
}

.blog-sidebar-title::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 64px;
	height: 12px;
	background-image: url('../images/svg/blue-4-dots.svg');
	background-size: contain;
	background-repeat: no-repeat;
}

.blog-sidebar-post {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding-bottom: 20px;
	border-bottom: 1px dotted #00c3ff;
}

.blog-sidebar-post:last-child {
	border-bottom: none;
}

.blog-sidebar-post-image {
	width: 100%;
	max-width: 100%;
	height: fit-content;
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 10px;
	line-height: 0;
}

.blog-sidebar-post-image > a {
	display: block;
	height: auto;
	line-height: 0;
}

.blog-sidebar-post-image img,
.blog-sidebar-post-image__img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
}

.blog-sidebar-post-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 19px;
	line-height: 26px;
	color: #0B1638;
	margin: 0;
}

.blog-sidebar-post-title a {
	color: #0B1638;
	text-decoration: none;
	transition: color 0.3s ease;
}

.blog-sidebar-post-title a:hover {
	color: #00C3FF;
}

.blog-read-more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: 'Onest', sans-serif;
	font-weight: 600;
	font-size: 17px;
	line-height: 17px;
	color: #00C3FF;
	text-decoration: none;
	transition: gap 0.3s ease;
}

.blog-read-more:hover {
	gap: 15px;
}

.blog-read-more-arrow {
	flex-shrink: 0;
	width: 18px;
	height: auto;
	display: block;
}

/* Responsive Blog Layout */
@media (max-width: 900px) {
	.blog-content-wrapper {
		background: #ffffff;
	}

	.blog-content-layout {
		grid-template-columns: 1fr;
		row-gap: 30px;
	}

	.blog-hero-title {
		font-size: 66px;
		line-height: 66px;
	}

	.blog-hero-title--child-match {
		font-size: 66px;
		line-height: 66px;
	}

	.blog-post-page-title {
		font-size: 40px;
		line-height: 48px;
	}
	
	.blog-sidebar {
		max-width: 100%;
	}

	.blog-sidebar-post-image {
		width: 100%;
		max-width: 780px;
		height: auto;
		box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
		margin: 0 auto 10px;
	}

	.blog-sidebar-wrapper {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 60px 40px;
		background: linear-gradient(90deg, #C4C4C433, #ffffff);
		box-sizing: border-box;
	}

	.blog-featured-image {
		margin: 0 auto;
	}
	
	.blog-hero-container,
	.blog-content-container {
		padding: 0 40px;
	}
	
}

@media (max-width: 768px) {
	/*.blog-hero {
		height: auto;
		min-height: 300px;
		padding: 100px 0 40px;
	}*/
	
	.blog-hero-title {
		font-size: 38px;
		line-height: 42px;
	}

	.blog-hero-title--child-match {
		font-size: 38px;
		line-height: 42px;
	}

	.blog-post-page-title {
		font-size: 38px;
		line-height: 42px;
	}
	
	.blog-content-wrapper {
		padding: 60px 0;
	}
	
	.blog-hero-container,
	.blog-content-container {
		padding: 0 20px;
	}
	
	.blog-featured-image {
		height: auto;
		margin: 0 auto;
	}
}

/* ==========================================================================
   Blog Archive Template
   ========================================================================== */

/* Blog Archive Wrapper */
.blog-archive-wrapper {
    padding: 100px 0px;
    background: linear-gradient(90deg, #C4C4C433, #ffffff);
}

.blog-archive-container {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

/* Latest Post Wrapper - Separate Container */
.blog-featured-wrapper {
	background: #ffffff;
	padding: 100px 0;
	width: 100%;
	box-sizing: border-box;
}

/* Featured Post */
.blog-featured-post {
	display: grid;
	grid-template-columns: 520px 1fr;
	gap: 40px;
	align-items: start;
	max-width: 1080px;
	margin: 0 auto;
}

/* Category Filters Wrapper - Separate Container */
.blog-category-wrapper {
	background: linear-gradient(to right, #C4C4C4, #ffffff);
	padding: 40px 0;
	width: 100%;
	box-sizing: border-box;
}

/* Category Container - New Container for Categories */
.blog-category-container {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	padding: 0 80px;
	box-sizing: border-box;
}

.blog-featured-image-wrapper {
	width: 520px;
	max-width: 100%;
	height: fit-content;
	align-self: start;
	flex-shrink: 0;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0px -5px 40px 0px rgba(0, 0, 0, 0.1);
	line-height: 0;
}

body.single-news .blog-featured-image,
body.single-news .blog-sidebar-post-image,
.blog-featured-news .blog-featured-image-wrapper,
.blog-archive-news .blog-featured-image-wrapper {
	border-radius: 0;
}

.blog-featured-image-wrapper > a {
	display: block;
	height: auto;
	line-height: 0;
}

.blog-featured-image-wrapper img,
.blog-featured-image-wrapper__img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	image-rendering: auto;
}

.blog-featured-content {
	display: flex;
	flex-direction: column;
	align-self: start;
	gap: 15px;
}

.blog-featured-media-centre .blog-featured-content {
	align-self: center;
}

.blog-category-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 18px;
	background-color: rgba(28, 117, 188, 0.1);
	border-radius: 20px;
	font-family: 'Onest', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #1c75bc;
	width: fit-content;
}

.blog-featured-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 30px;
	color: #0B1638;
	margin: 0;
}

.blog-featured-title a {
	color: #0B1638;
	text-decoration: none;
	transition: color 0.3s ease;
}

.blog-featured-title a:hover {
	color: #00C3FF;
}

.blog-featured-excerpt {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 28px;
	color: #0B1638;
}

.blog-featured-read-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 34px;
	background-color: #00C3FF;
	color: #ffffff;
	text-decoration: none;
	border-radius: 30px;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: normal;
	width: fit-content;
	transition: background-color 0.3s ease;
}

.blog-featured-read-more:hover {
	background-color: #00a8d9;
	color: #ffffff;
}

/* Category Filters */
.blog-category-filters {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.blog-category-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 18px;
	height: 30px;
	background-color: rgba(28, 117, 188, 0.1);
	border-radius: 20px;
	font-family: 'Onest', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #1c75bc;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.blog-category-filter:hover,
.blog-category-filter.active {
	background-color: #1c75bc;
	color: #ffffff;
}

/* Blog Posts Grid */
.blog-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	padding-top: 30px;
}

.blog-post-card {
	background-color: #ffffff;
	border-radius: 12px;
	box-shadow: 0px -5px 40px 0px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.blog-post-card-image {
	width: 100%;
	height: 230px;
	overflow: hidden;
}

.blog-archive-case-studies .blog-post-card-image,
.media-centre-section-case-studies .blog-post-card-image,
.media-centre-section-whitepapers .blog-post-card-image {
	width: 100%;
	height: 330px;
	overflow: hidden;
}

.blog-archive-whitepapers .blog-post-card-image {
	width: 100%;
	height: 320px;
	overflow: hidden;
}

.blog-post-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.blog-post-card-content {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.blog-post-card-title {
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 19px;
	line-height: 26px;
	color: #0B1638;
	margin: 0;
}

.blog-post-card-title a {
	color: #0B1638;
	text-decoration: none;
	transition: color 0.3s ease;
}

.blog-post-card-title a:hover {
	color: #00C3FF;
}

.blog-post-card-excerpt {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 28px;
	color: #0B1638;
	flex: 1;
}

.blog-pagination {
	display: flex;
	justify-content: center;
	margin-top: 40px;
	margin-bottom: 0;
}

.blog-load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 34px;
	background-color: #00C3FF;
	color: #ffffff;
	text-decoration: none;
	border: none;
	border-radius: 30px;
	font-family: 'Onest', sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: normal;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.blog-load-more:hover {
	background-color: #00a8d9;
}

.blog-no-posts {
	font-family: 'Onest', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 28px;
	color: #0B1638;
	text-align: center;
	padding: 60px 0;
}

.media-centre-section {
	padding: 100px 0;
}

.media-centre-section-news {
	background: #ffffff;
}

.media-centre-section-blogs {
	background: linear-gradient(90deg, #C4C4C433, #ffffff);
}

.media-centre-section-case-studies {
	background: #ffffff;
}

.media-centre-section-whitepapers {
	background: linear-gradient(90deg, #C4C4C433, #ffffff);
}

.media-centre-section-title {
	font-size: 40px;
	line-height: 1.2;
	margin: 0;
	color: #000000
}

/* Responsive Blog Archive */
@media (max-width: 1400px) {
	.blog-archive-container {
		padding: 0 40px;
	}
	
	.blog-featured-post {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.blog-featured-image-wrapper {
		width: 100%;
		max-width: 520px;
		margin: 0 auto;
	}
	
	.blog-posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 980px) {
	.blog-posts-grid {
		grid-template-columns: 1fr;
		margin: 0 auto;
	}

	.media-centre-section-title {
		font-size: 32px;
	}
}

@media (max-width: 768px) {
	.blog-sidebar-wrapper {
		padding: 60px 20px;
	}
	.blog-archive-wrapper {
		padding: 60px 0px;
	}	

	.blog-featured-wrapper {
		padding: 60px 0;
	}
	
	.blog-category-wrapper {
		padding: 30px 0;
	}
	
	.blog-category-container {
		padding: 0 20px;
	}
	
	.blog-archive-container {
		padding: 0 20px;
	}
	
	.blog-posts-grid {
		padding-top: 40px;
		gap: 30px;
	}

	.media-centre-section {
		padding: 60px 0;
	}
}

/* JHW Changes */

@media (max-width: 768px) {
    
	.challenge-icon img {
		max-height: 65px;
		}
		
	.challenge-title {
		font-size: 22px;
		line-height: 28px;
	
	}
	.challenge-description {
		font-size: 16px;
		line-height: 28px;
	}
	
	.challenges-card {
		margin: 0 auto 60px;
	}
	.case-studies-block {
		padding: 60px 0;
	}
	.reports-accordion-block {
		padding: 60px 0;
	}
		.trusted-companies-block {
		padding: 50px 0;
	}
		.footer-container {
		padding: 40px 20px;
	}

	.footer-bottom-content {
		padding: 0 20px;
	}

	.trusted-companies-block > .container {
		padding: 0 20px;
	}
		.challenges-header-section + .container {
		padding: 0 calc(var(--spacing-md) * 1);
	}
		.challenges-header-section {
		padding: var(--spacing-xl) calc(var(--spacing-md) * 1);
	}
		.challenges-header-section .container {
		padding: 0;
	}
	}

/* Gravity Forms — focus outline color (site-wide) */
.gform_wrapper,
.gform-theme,
.gform-theme--framework,
form[id^='gform_'] {
	--gf-local-outline-color: rgb(27 118 188);
}

/* Gravity Forms — no transition on submit; hover opacity 80% */
.gform_wrapper input[type='submit'],
.gform_wrapper button[type='submit'],
.gform_wrapper input[type='button'].gform_next_button,
.gform_wrapper .gform_footer input[type='submit'],
.gform_wrapper .gform_page_footer input[type='submit'],
.gform_wrapper .gform_footer button[type='submit'],
.gform_wrapper .gform_page_footer button[type='submit'] {
	transition: none !important;
	animation: none !important;
}

.gform_wrapper input[type='submit']:hover,
.gform_wrapper button[type='submit']:hover,
.gform_wrapper input[type='button'].gform_next_button:hover,
.gform_wrapper .gform_footer input[type='submit']:hover,
.gform_wrapper .gform_page_footer input[type='submit']:hover,
.gform_wrapper .gform_footer button[type='submit']:hover,
.gform_wrapper .gform_page_footer button[type='submit']:hover {
	opacity: 0.8 !important;
	transform: none !important;
	filter: none !important;
}

/* White paper form styling aligned with site Gravity Forms pattern */
.single-whitepaper .blog-sidebar {
	background: #fff;
	border-radius: 12px;
	padding: 28px;
	box-shadow: 0 -5px 40px rgb(0 0 0 / 10%);
}

@media (min-width: 901px) {
	.single-whitepaper .blog-sidebar {
		max-width: 420px;
	}
}

.single-whitepaper .gform_wrapper {
	margin: 0;
}

.single-whitepaper .gform_wrapper .gform_heading,
.single-whitepaper .gform_wrapper .gfield_description {
	display: none !important;
}

.single-whitepaper .gform_wrapper .gform_body {
	margin: 0;
}

.single-whitepaper .gform_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	row-gap: 0 !important;
}

.single-whitepaper .gform_wrapper .gfield {
	grid-column: 1 / -1 !important;
	margin: 0 0 15px 0 !important;
	padding: 0 !important;
}

.single-whitepaper .gform_wrapper .gfield.gfield--width-third,
.single-whitepaper .gform_wrapper .gfield.gfield--width-one-third {
	grid-column: span 4 !important;
}

.single-whitepaper .gform_wrapper .gfield.gfield--width-two-thirds {
	grid-column: span 8 !important;
}

.single-whitepaper .gform_wrapper .gfield.gfield--width-quarter {
	grid-column: span 3 !important;
}

.single-whitepaper .gform_wrapper .gfield.gfield--width-three-quarter {
	grid-column: span 9 !important;
}

.single-whitepaper .gform_wrapper .gfield.gfield--width-half {
	grid-column: span 6 !important;
}

.single-whitepaper .gform_wrapper .gfield.gf_left_half,
.single-whitepaper .gform_wrapper .gfield.gf_right_half {
	grid-column: span 6 !important;
}

.single-whitepaper .gform_wrapper .gfield.gf_left_third,
.single-whitepaper .gform_wrapper .gfield.gf_middle_third,
.single-whitepaper .gform_wrapper .gfield.gf_right_third {
	grid-column: span 4 !important;
}

.single-whitepaper .gform_wrapper .gfield.gf_first_quarter,
.single-whitepaper .gform_wrapper .gfield.gf_second_quarter,
.single-whitepaper .gform_wrapper .gfield.gf_third_quarter,
.single-whitepaper .gform_wrapper .gfield.gf_fourth_quarter {
	grid-column: span 3 !important;
}

.single-whitepaper .gform_wrapper .gfield:last-child {
	margin-bottom: 0 !important;
}

.single-whitepaper .gform_wrapper input[type='email'],
.single-whitepaper .gform_wrapper input[type='text'],
.single-whitepaper .gform_wrapper input[type='tel'],
.single-whitepaper .gform_wrapper input[type='number'],
.single-whitepaper .gform_wrapper input[type='url'],
.single-whitepaper .gform_wrapper select,
.single-whitepaper .gform_wrapper textarea {
	width: 100% !important;
	border: 0 !important;
	border-radius: 5px !important;
	padding: 0 18px !important;
	box-shadow: 0 -5px 40px rgb(0 0 0 / 10%) !important;
	font-size: 15px !important;
	line-height: 25px !important;
	font-family: 'Onest', sans-serif !important;
	color: #0b1638 !important;
	background-color: #fff !important;
	box-sizing: border-box !important;
}

.single-whitepaper .gform_wrapper input[type='email'],
.single-whitepaper .gform_wrapper input[type='text'],
.single-whitepaper .gform_wrapper input[type='tel'],
.single-whitepaper .gform_wrapper input[type='number'],
.single-whitepaper .gform_wrapper input[type='url'],
.single-whitepaper .gform_wrapper select {
	height: 60px !important;
}

.single-whitepaper .gform_wrapper select {
	cursor: pointer !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	padding: 0 40px 0 18px !important;
	line-height: 60px !important;
	height: 60px !important;
	vertical-align: middle !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%230B1638' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 12px 12px !important;
	background-clip: padding-box !important;
}

.single-whitepaper .gform_wrapper textarea {
	padding: 14px 18px !important;
	resize: vertical !important;
}

.single-whitepaper .gform_wrapper .gform_footer,
.single-whitepaper .gform_wrapper .gform_page_footer {
	margin: 16px 0 0 !important;
	padding: 0 !important;
}

.single-whitepaper .gform_wrapper input[type='submit'],
.single-whitepaper .gform_wrapper button[type='submit'] {
	border-radius: 40px !important;
	background-color: #FD2171 !important;
	background-image: url('../images/svg/white-arrow-forward.svg') !important;
	background-repeat: no-repeat !important;
	background-position: right 20px center !important;
	background-size: 14px auto !important;
	color: #fff !important;
	padding: 18px 48px 18px 34px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border: 0 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: none !important;
}

.single-whitepaper .gform_wrapper .gform_footer input[type='submit'],
.single-whitepaper .gform_wrapper .gform_button,
.single-whitepaper .gform_wrapper .gform_button.button {
	background-color: #FD2171 !important;
	background-image: url('../images/svg/white-arrow-forward.svg') !important;
	color: #fff !important;
	border: 0 !important;
}

.single-whitepaper .gform_wrapper .gform_footer input[type='submit']:disabled,
.single-whitepaper .gform_wrapper .gform_button:disabled,
.single-whitepaper .gform_wrapper .gform_button.button:disabled,
.single-whitepaper .gform_wrapper .gform_footer input[type='submit'][readonly],
.single-whitepaper .gform_wrapper .gform_button[readonly],
.single-whitepaper .gform_wrapper .gform_button.button[readonly] {
	background-color: #FD2171 !important;
	color: #fff !important;
	opacity: 0.55 !important;
}

.single-whitepaper .gform_wrapper input[type='submit']:hover,
.single-whitepaper .gform_wrapper button[type='submit']:hover {
	opacity: 0.8 !important;
}

.single-whitepaper .whitepaper-sidebar-form__form {
	margin: 0;
}

.single-whitepaper .whitepaper-sidebar-form__disclaimer {
	margin: 30px 0 0;
	padding-top: 30px;
	border-top: 2px dotted #03c3ff;
	font-size: 15px;
	line-height: 25px;
}

.single-whitepaper .whitepaper-sidebar-form__disclaimer p {
	margin: 0;
}

.single-whitepaper .whitepaper-sidebar-form__disclaimer a {
	color: #03c3ff;
	font-weight: 700;
}

.single-whitepaper .whitepaper-sidebar-form__disclaimer strong,
.single-whitepaper .whitepaper-sidebar-form__disclaimer b {
	color: #03c3ff;
	font-weight: 700;
}

.whitepaper-download-pdf {
	margin: 24px 0 32px;
}

.whitepaper-download-pdf__button {
	display: inline-block;
	border-radius: 40px;
	background-color: #FD2171;
	background-image: url('../images/svg/white-arrow-forward.svg');
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 14px auto;
	color: #fff;
	padding: 18px 48px 18px 34px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	border: 0;
	line-height: 1;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.whitepaper-download-pdf__button:hover {
	opacity: 0.8;
	color: #fff;
}

@media (max-width: 1024px) {
	.single-whitepaper .blog-content-layout {
		grid-template-columns: 1fr;
	}

	.single-whitepaper .blog-sidebar-wrapper {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding: 30px 0 0;
	}

	.single-whitepaper .blog-sidebar {
		max-width: 100%;
	}

	.single-whitepaper .gform_wrapper .gform_footer,
	.single-whitepaper .gform_wrapper .gform_page_footer {
		padding-bottom: 84px !important;
	}

	.single-whitepaper .gform_wrapper .gfield--type-captcha .ginput_container {
		overflow: visible;
	}

	.single-whitepaper .gform_wrapper .gfield--type-captcha .ginput_recaptcha {
		transform: scale(0.94);
		transform-origin: left top;
	}
}

@media (max-width: 900px) {
	.single-whitepaper .blog-sidebar-wrapper {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: 60px 40px;
		background: linear-gradient(90deg, #C4C4C433, #ffffff);
		box-sizing: border-box;
	}

	.single-whitepaper .blog-sidebar {
		background: transparent;
		border-radius: 0;
		padding: 0;
		box-shadow: none;
		max-width: 100%;
	}
}

/* Site-wide: primary / CTA-style controls use 80% opacity on hover */
button:not(:disabled):hover,
input[type='submit']:not(:disabled):hover,
input[type='button']:not(:disabled):hover,
input[type='reset']:not(:disabled):hover,
.request-demo-button:hover,
.request-demo-button-mobile:hover,
.mega-menu-button-primary:hover,
.mega-menu-button-secondary:hover,
.button:hover,
.hero-cta:hover,
a.hero-cta.button:hover,
.cta-button:hover,
.content-section-image .content-section-button:hover,
.content-section-text .content-section-button:hover,
.content-section-cta-mobile .content-section-button:hover,
.content-section-cta .content-section-button:hover,
.content-section-button:hover,
.case-studies-button:hover,
.case-studies-view-all:hover,
.case-study__button--primary:hover,
.case-study__button--link:hover,
.ebook-button:hover,
.trusted-companies-nav:hover,
.testimonial-nav:hover,
.blog-read-more:hover,
.blog-featured-read-more:hover,
.blog-load-more:hover,
.parent-hero__cta:hover,
.parent-intro__card-button:hover,
.parent-solutions__card-button:hover,
.parent-solutions__nav-button:hover,
.child-hero__button:hover,
.child-intro__button:hover,
.child-video__button:hover,
.onboarding-hero__button:hover,
.onboarding-steps__nav-button:hover,
.case-study--on-dark .case-study__button--primary:hover,
.case-study--on-dark .case-study__button--link:hover {
	opacity: 0.8 !important;
}

/* Cookie Policy Table */
.cookie-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cookie-policy-table {
  width: 100% !important;
  min-width: 650px;
  border-collapse: collapse;
}

.cookie-policy-table td {
  padding: 10px;
  vertical-align: top;
  height: auto !important;
  width: auto !important;
  word-break: normal;
}

/* ==========================================================================
   404
   ========================================================================== */

.error-404 {
	padding: 0;
	background: transparent;
}

.error-404-inner {
	max-width: 900px;
}

.error-404-header {
	margin-bottom: var(--spacing-md);
}

.error-404-title {
	font-size: clamp(2rem, 5vw, 3.25rem);
	line-height: 1.15;
	margin-bottom: 0;
}

.error-404-intro {
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #0B1638;
	max-width: 52rem;
	margin-bottom: var(--spacing-lg);
}

.error-404-block {
	margin-bottom: var(--spacing-xl);
}

.error-404-block:last-child {
	margin-bottom: 0;
}

.error-404-subheading {
	font-size: 1.5rem;
	line-height: 1.3;
	margin-bottom: var(--spacing-md);
	padding-bottom: var(--spacing-xs);
	border-bottom: 1px solid var(--color-border);
}

.error-404-menu,
.error-404-menu ul,
.error-404-sitemap ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.error-404-menu li,
.error-404-sitemap li {
	position: relative;
	margin-bottom: 0.35rem;
}

.error-404-sitemap li::marker {
	color: var(--color-secondary);
}

.error-404-menu > li > a,
.error-404-sitemap a {
	display: inline-block;
	padding: 0.35rem 0;
	color: var(--color-secondary);
	font-weight: 500;
}

.error-404-menu ul {
	margin-top: 0.35rem;
	margin-left: var(--spacing-md);
	padding-left: var(--spacing-sm);
	border-left: 1px solid var(--color-border);
}

.error-404-sitemap ul ul {
	margin-top: 0.35rem;
	margin-left: 1.5rem;
	padding-left: 1.25rem;
	list-style: disc;
	list-style-position: outside;
}

.error-404-sitemap li > ul.children {
	display: block;
	margin-left: 1.5rem;
	padding-left: 1.25rem;
}

.error-404-sitemap-list {
	list-style: disc;
	list-style-position: outside;
	padding-left: 1.25rem;
	margin: 0;
}

.error-404-sitemap > .error-404-sitemap-list {
	list-style: disc;
	list-style-position: outside;
}

.error-404-content .error-404-sitemap > .error-404-sitemap-list {
	list-style-position: inside;
	padding-left: 0;
}

.error-404-sitemap ul ul li {
	list-style: disc;
	list-style-position: outside;
}

@media (max-width: 767px) {
	.error-404 {
		padding-bottom: var(--spacing-lg);
	}
}

/* Cookie Banner */
.cky-btn-accept {
    background: #fe2271 !important;
    color: #ffffff !important;
    border: 2px solid #fe2271 !important;
    border-radius:50px
}

.cky-btn-preferences {
    color: #39c0ef !important;
    background: transparent;
    border: 0px solid #39c0ef !important;
}

.cky-btn-customize {
    color: #39c0ef !important;
    background: transparent;
    border: 2px solid transparent !important;
    padding: 8px 28px 8px 14px;
    position: relative;
    font-weight:
}

.cky-consent-bar .cky-btn-customize::after {
    position: absolute;
    content: "";
    display: inline-block;
    top: 18px;
    right: 12px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid;
    border-top-color: rgb(57 192 239);
}

.cky-category-direct-switch input[type="checkbox"]:checked {
    background: #fe2271 !important;
}
.cky-consent-container .cky-consent-bar {
    background: #182652 !important;
    border: 2px solid #182652 !important;
    padding: 16.5px 24px;
    box-shadow: 0 -1px 10px 0 #acabab4d;
}

.cky-notice .cky-title,
.cky-consent-bar .cky-notice-des ,
.cky-category-direct-item label{
    color:#ffffff !important;
}
