/*
Theme Name: Lyonswood
Theme URI: https://www.investigators.net.au
Author: Lyonswood Investigations
Author URI: https://www.investigators.net.au
Description: Custom theme for Lyonswood Investigations and Forensics Group
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lyonswood
*/

/* Screen Reader Text - For SEO H1 tags that should be hidden visually but accessible to crawlers */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}

/* ============================================
   GLOBAL STYLES
   ============================================ */
:root {
	--container-padding: 40px;
}

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

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

body {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #212327;
	background: #ffffff;
	overflow-x: hidden;
	width: 100%;
	max-width: 100%;
	position: relative;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 1rem;
}

a {
	color: #ff6b35;
	text-decoration: none;
	transition: color 0.3s ease;
}

a:hover {
	color: #d45a2a;
}

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

.container {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

/* Prevent overflow on all sections */
section {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	position: relative;
}

/* ============================================
   GLOBAL UTILITY CLASSES
   ============================================ */

/* Dark Background Utility - Apply to any container with dark background */
.bg-dark {
	background: #212327;
}

.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark h5,
.bg-dark h6 {
	color: #ffffff;
}

.bg-dark p,
.bg-dark li,
.bg-dark span,
.bg-dark .text-light {
	color: rgba(255, 255, 255, 0.7);
}

.bg-dark a:not(.btn):not([class*="button"]) {
	color: #ff6b35;
}

.bg-dark a:not(.btn):not([class*="button"]):hover {
	color: #ffb199;
}

/* Global Button Styles */
.btn,
[class*="button"],
button:not([class*="nav"]):not([class*="carousel"]):not([class*="slider"]) {
	transition: all 0.3s ease;
}

/* Default button hover - darker primary */
.btn:hover,
[class*="cta-button"]:hover,
[class*="-button"]:hover:not([class*="nav"]):not([class*="carousel"]):not([class*="slider"]) {
	background: #b34a1f !important;
	color: #ffffff !important;
}

/* Button hover on dark backgrounds - white */
.bg-dark .btn:hover,
.bg-dark [class*="cta-button"]:hover,
.bg-dark [class*="-button"]:hover:not([class*="nav"]):not([class*="carousel"]):not([class*="slider"]) {
	background: #ffffff !important;
	color: #212327 !important;
}

/* ============================================
   NEW HEADER STYLES
   ============================================ */
#Header.new-header {
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	position: sticky;
	top: 0;
	z-index: 1000;
	box-shadow: none;
	transition: box-shadow 0.3s ease;
	overflow: visible; /* Allow dropdowns to overflow */
}

#Header.new-header.scrolled {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.new-header .header-container {
	width: 100%;
	overflow: visible; /* Allow dropdowns to overflow */
	position: relative;
}

.new-header .header-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 40px;
	max-width: 1400px;
	margin: 0 auto;
	overflow: visible; /* Allow dropdowns to overflow */
	position: relative;
}

.new-header .header-logo {
	flex-shrink: 0;
}

.new-header .logo-image {
	height: 50px;
	width: auto;
	/* Force header logo to appear solid white on dark background */
	filter: brightness(0) invert(1);
}

.new-header .header-nav {
	flex: 1;
	display: flex;
	justify-content: center;
	position: relative;
	overflow: visible; /* Allow dropdowns to overflow */
	z-index: 1001; /* Higher than header to ensure dropdowns appear above */
}

.new-header .header-menu {
	display: flex;
	list-style: none;
	gap: 30px;
	align-items: center;
	position: relative;
	overflow: visible; /* Allow dropdowns to overflow */
}

.new-header .header-menu a {
	color: #ffffff;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.5px;
	position: relative;
	padding: 5px 0;
}

.new-header .header-menu a:hover,
.new-header .header-menu .current-menu-item > a,
.new-header .header-menu .current_page_item > a,
.new-header .header-menu .current-menu-ancestor > a,
.new-header .header-menu .current-menu-parent > a,
.new-header .header-menu .current_page_parent > a,
.new-header .header-menu .current_page_ancestor > a {
	color: #ffffff;
}

/* Orange indicator for active top-level menu items */
.new-header .header-menu > li.current-menu-item > a::after,
.new-header .header-menu > li.current_page_item > a::after,
.new-header .header-menu > li.current-menu-ancestor > a::after,
.new-header .header-menu > li.current-menu-parent > a::after,
.new-header .header-menu > li.current_page_parent > a::after,
.new-header .header-menu > li.current_page_ancestor > a::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	right: 0;
	height: 3px;
	background: #ff6b35;
}

/* Orange indicator for active submenu items */
.new-header .header-menu .sub-menu .current-menu-item > a,
.new-header .header-menu .sub-menu .current_page_item > a {
	color: #ff6b35 !important;
	background: rgba(255, 107, 53, 0.1);
}

/* Dropdown arrow styling */
.new-header .header-menu .dropdown-arrow {
	font-size: 10px;
	margin-left: 5px;
	display: inline-block;
	transition: transform 0.3s ease;
	opacity: 0.8;
}

.new-header .header-menu .has-dropdown:hover .dropdown-arrow {
	transform: rotate(180deg);
}

.new-header .header-menu .has-dropdown > a::after {
	display: none;
}

.new-header .header-cta {
	flex-shrink: 0;
}

.new-header .header-cta-button,
.new-header .cta-button {
	background: #ff6b35;
	color: #ffffff;
	padding: 12px 24px;
	border-radius: 4px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.5px;
	transition: background 0.3s ease;
}

.new-header .header-cta-button:hover,
.new-header .cta-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

.mobile-menu-toggle {
	display: none;
	color: #ffffff;
	font-size: 24px;
}

/* Hide mobile menu overlay on desktop */
.mobile-menu-overlay {
	display: none;
}

/* ============================================
   DROPDOWN MENU STYLES
   ============================================ */
.new-header .header-nav {
	position: relative;
}

.new-header .header-menu {
	position: relative;
}

.new-header .header-menu > li {
	position: relative;
}

.new-header .header-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	min-width: 300px;
	width: auto;
	padding: 40px 40px 30px 40px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
	z-index: 1002; /* Higher z-index to appear above header and other elements */
	display: none;
	list-style: none;
	margin: 0;
	margin-top: 0;
	pointer-events: none;
	flex-direction: column;
	flex-wrap: nowrap;
	max-height: 600px;
	white-space: nowrap;
	overflow: visible; /* Ensure content isn't clipped */
}

/* Services dropdown - split layout with 2 columns (desktop only) */
.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu {
	display: none; /* JS controls visibility */
	flex-direction: row;
	flex-wrap: wrap;
	min-width: 750px;
	padding: 30px 40px 25px 40px;
	gap: 0 50px;
}

/* Services dropdown split layout - desktop */
@media (min-width: 1025px) {
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu {
		display: none; /* JS controls */
		flex-direction: row !important;
		flex-wrap: wrap !important;
		min-width: 750px !important;
		width: 750px !important;
		gap: 0 50px !important;
	}

	/* Each service item takes 50% width for 2 columns */
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu > li,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu > li {
		width: calc(50% - 25px) !important;
		min-width: auto !important;
		flex: 0 0 calc(50% - 25px) !important;
	}
}

/* Flatten nested sub-menus - show all items at same level */
.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .sub-menu {
	position: static !important;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	list-style: none !important;
	pointer-events: auto !important;
}

/* Remove all dropdown behavior from nested Services items */
.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .menu-item-has-children > .sub-menu,
.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .has-dropdown > .sub-menu {
	position: static !important;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
}

/* Remove hover effects from nested Services menu items */
.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .menu-item-has-children:hover > .sub-menu,
.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .has-dropdown:hover > .sub-menu {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

/* Make all service links appear as flat list items */
.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu > li > a,
.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .sub-menu > li > a {
	text-decoration: none !important;
	margin-bottom: 0 !important;
	padding-bottom: 8px !important;
	font-weight: 400 !important;
	font-size: 14px !important;
	background: transparent !important;
}

/* Reduce gap to prevent dead zone - add padding to menu item */
.new-header .header-menu > li {
	padding-bottom: 10px;
}

/* CSS fallback for hover (only if JavaScript is disabled or fails) */
/* Only apply if no inline style is set (JavaScript hasn't taken over) */
.new-header .header-menu > li:hover > .sub-menu:not([style]) {
	display: flex;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* Services dropdown - flatten nested sub-menus (desktop) */
@media (min-width: 1025px) {
	/* Flatten nested sub-menus */
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .sub-menu,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu .sub-menu {
		position: static !important;
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
		margin-left: 0 !important;
		list-style: none !important;
		border: none !important;
		pointer-events: auto !important;
	}

	/* Remove hover/dropdown behavior from nested items in Services */
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .menu-item-has-children,
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .has-dropdown,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu .menu-item-has-children,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu .has-dropdown {
		position: static !important;
	}

	/* Ensure nested menus stay visible on hover */
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .menu-item-has-children:hover > .sub-menu,
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .has-dropdown:hover > .sub-menu,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu .menu-item-has-children:hover > .sub-menu,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu .has-dropdown:hover > .sub-menu {
		position: static !important;
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		background: transparent !important;
	}

	/* Make all service links appear as flat list items */
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu > li > a,
	.new-header .header-menu > li:has(> a[href*="private-investigation-services"]) > .sub-menu .sub-menu > li > a,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu > li > a,
	.new-header .header-menu > li.menu-item-has-children:nth-child(2) > .sub-menu .sub-menu > li > a {
		text-decoration: none !important;
		margin-bottom: 0 !important;
		padding-bottom: 8px !important;
		font-weight: 400 !important;
		font-size: 14px !important;
		background: transparent !important;
	}
}

/* Ensure dropdown stays visible when hovering */
.new-header .header-menu > li.dropdown-hover > .sub-menu {
	display: flex !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
}

.new-header .header-menu .sub-menu li {
	min-width: auto;
	flex: 0 0 auto;
}

/* Default width for non-services dropdowns */
.new-header .header-menu > li:not(:has(> a[href*="private-investigation-services"])) > .sub-menu li {
	width: 100%;
}

/* Make LOCATION and ABOUT US dropdowns narrower - size to content */
.new-header .header-menu > li:has(> a[href*="locations"]) > .sub-menu,
.new-header .header-menu > li:has(> a[href*="about"]) > .sub-menu {
	min-width: auto !important;
	width: auto;
	padding: 40px 40px 30px 40px;
}

/* Fallback for browsers without :has() support - target LOCATION dropdown (usually 3rd or 4th item) */
.new-header .header-menu > li.menu-item-has-children:nth-child(3) > .sub-menu,
.new-header .header-menu > li.menu-item-has-children:nth-child(4) > .sub-menu {
	min-width: auto !important;
	width: auto;
	padding: 40px 40px 30px 40px;
}

/* Services dropdown - column items width already set in split layout rules above */


.new-header .header-menu .sub-menu a {
	color: #ffffff !important;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 0.5px;
	padding: 8px 0;
	display: block;
	white-space: nowrap;
	position: relative;
	line-height: 1.4;
	text-decoration: none;
}


.new-header .header-menu .sub-menu a:hover {
	color: #ff6b35;
}

.new-header .header-menu .sub-menu a::after {
	display: none;
}

.new-header .header-menu .sub-menu .sub-menu {
	position: static !important;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 10px 0 0 0 !important;
	min-width: auto !important;
	margin-top: 5px !important;
	margin-left: 0 !important;
	list-style: none !important;
}

.new-header .header-menu .sub-menu .sub-menu li {
	width: 100% !important;
	min-width: auto !important;
	display: block !important;
}

.new-header .header-menu .sub-menu .sub-menu a {
	font-size: 13px !important;
	padding: 5px 0 !important;
	opacity: 0.9 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	display: block !important;
}


/* Remove arrows from sub-menu items */
.new-header .header-menu .sub-menu .dropdown-arrow,
.new-header .header-menu .sub-menu .has-dropdown .dropdown-arrow,
.new-header .header-menu .sub-menu .menu-item-has-children .dropdown-arrow {
	display: none !important;
}

/* ============================================
   HERO SLIDER - NEW DESIGN
   ============================================ */
/* Hero Section - Split layout with Swiper for images */
.hero-section-new {
	display: flex;
	width: 100%;
	height: calc(100vh - 80px);
	min-height: 500px;
	max-height: 900px;
	position: relative;
	overflow: hidden;
}

/* Left side - Fixed text content */
.hero-section-new .hero-left {
	width: 50%;
	height: 100%;
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	display: flex;
	align-items: center;
	padding-left: calc((100vw - min(100%, 1400px)) / 2 + 40px);
	padding-right: 40px;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
}

/* Right side - Image Swiper */
.hero-section-new .hero-right {
	width: 50%;
	height: 100%;
	overflow: hidden;
	position: relative;
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	padding-top: 40px;
	box-sizing: border-box;
}

/* Image slider container */
.hero-image-slider {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

/* Image slides - stacked with slide transition */
.hero-image-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transform: translateX(100%);
	transition: transform 0.6s ease-in-out, opacity 0.6s ease-in-out;
	z-index: 1;
}

.hero-image-slide.active {
	opacity: 1;
	transform: translateX(0);
	z-index: 2;
}

/* Sliding left (swipe left) - current goes right, new comes from left */
.hero-image-slide.slide-out-left {
	opacity: 1;
	transform: translateX(100%) !important;
	z-index: 1 !important;
	transition: transform 0.6s ease-in-out !important;
}

.hero-image-slide.active.slide-in-left {
	z-index: 2 !important;
	transition: none !important;
	animation: slideInFromLeft 0.6s ease-in-out forwards;
}

/* Sliding right (swipe right) - current goes left, new comes from right */
.hero-image-slide.slide-out-right {
	opacity: 1;
	transform: translateX(-100%) !important;
	z-index: 1 !important;
	transition: transform 0.6s ease-in-out !important;
}

.hero-image-slide.active.slide-in-right {
	z-index: 2 !important;
	transition: none !important;
	animation: slideInFromRight 0.6s ease-in-out forwards;
}

@keyframes slideInFromLeft {
	0% {
		transform: translateX(-100%);
		opacity: 1;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slideInFromRight {
	0% {
		transform: translateX(100%);
		opacity: 1;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

/* Hero image sizing */
.hero-image-slider .hero-image,
.hero-section-new .hero-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Last hero slide grayscale */
.hero-image-slide:last-child .hero-image {
	filter: grayscale(100%);
}

/* Text slides - stacked with fade transition */
.hero-content-new {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
	height: 100%;
}

.hero-text-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: none;
}

.hero-text-slide.active {
	position: relative;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity 0.5s ease-out,
	            transform 0.5s ease-out;
}

/* Pagination dots */
/* Slider dots - positioned on left side on desktop */
.hero-section-new .slider-controls-new {
	position: absolute;
	bottom: 40px;
	left: 0;
	transform: none;
	display: flex;
	gap: 10px;
	z-index: 10;
}

/* Contact Form Overlay on Hero Image */
.hero-form-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: transparent;
	z-index: 2;
	visibility: visible !important;
	opacity: 1 !important;
}

.hero-form-container {
	background: rgba(255, 255, 255, 0.65);
	padding: 30px;
	border-radius: 8px;
	max-width: 450px;
	width: 90%;
	overflow: visible;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.3);
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.hero-form-container .wpcf7-form {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.hero-form-container .wpcf7-form p {
	margin-bottom: 15px;
}

/* Make message textarea full width */
.hero-form-container .wpcf7-form p:has(textarea),
.hero-form-container .wpcf7-form p:has(.wpcf7-textarea) {
	grid-column: 1 / -1;
}

.hero-form-container .wpcf7-form p:last-of-type {
	grid-column: 1 / -1;
}

.hero-form-container .wpcf7-form label {
	font-family: "Poppins", sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #212327 !important;
	display: block !important;
	margin-bottom: 6px !important;
}

.hero-form-container .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
}

.hero-form-container .wpcf7-form input[type="text"],
.hero-form-container .wpcf7-form input[type="email"],
.hero-form-container .wpcf7-form input[type="tel"],
.hero-form-container .wpcf7-form textarea {
	width: 100% !important;
	padding: 10px 12px !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 4px !important;
	font-family: "Poppins", sans-serif !important;
	font-size: 14px !important;
	color: #212327 !important;
	background: #ffffff !important;
	transition: border-color 0.3s ease !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	display: block !important;
}

.hero-form-container .wpcf7-form input[type="text"]:focus,
.hero-form-container .wpcf7-form input[type="email"]:focus,
.hero-form-container .wpcf7-form input[type="tel"]:focus,
.hero-form-container .wpcf7-form textarea:focus {
	outline: none !important;
	border-color: #ff6b35 !important;
	box-shadow: 0 0 0 1px #ff6b35 !important;
}

.hero-form-container .wpcf7-form textarea {
	min-height: 80px !important;
	max-height: 120px !important;
	resize: vertical !important;
}

.hero-form-container .wpcf7-form input[type="submit"],
.hero-form-container .wpcf7-submit {
	background: #ff6b35 !important;
	color: #ffffff !important;
	padding: 12px 30px !important;
	border: none !important;
	border-radius: 4px !important;
	font-family: "Poppins", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background 0.3s ease !important;
	width: auto !important;
	display: inline-block !important;
	grid-column: 1 / -1;
	justify-self: start;
}

.hero-form-container .wpcf7-form input[type="submit"]:hover,
.hero-form-container .wpcf7-submit:hover {
	background: #d45a2a !important;
	color: #ffffff !important;
}

/* Greyscale filter for hero images on location, about, and services pages (not homepage) */
.location-hero .hero-slide-new .hero-image {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
}

/* Overlay for hero images on location, about, and services pages (not homepage) */
.location-hero .hero-slide-new .hero-right::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(44, 44, 44, 0.75);
	z-index: 1;
	pointer-events: none;
}

/* ============================================
   SERVICE PAGE HERO - Homepage Style with Form
   Uses .hero-section-new base styling with form overlay
   ============================================ */

/* Section needs position relative for form overlay positioning */
.hero-section-new.service-page-hero {
	position: relative;
}

/* Grayscale filter for hero images on service pages */
.hero-section-new.service-page-hero .hero-right .hero-image {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
}

/* Form overlay positioning - absolute over hero-right on desktop */
.hero-section-new.service-page-hero .hero-form-overlay {
	position: absolute;
	top: 40px;
	right: 0;
	bottom: 0;
	left: 50%;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	z-index: 2;
}

/* Form container - dark background matching header */
.hero-section-new.service-page-hero .hero-form-container {
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

/* Form labels - white text on dark background */
.hero-section-new.service-page-hero .hero-form-container .wpcf7-form label {
	color: #ffffff !important;
}

/* Form inputs - keep white background for contrast */
.hero-section-new.service-page-hero .hero-form-container .wpcf7-form input[type="text"],
.hero-section-new.service-page-hero .hero-form-container .wpcf7-form input[type="email"],
.hero-section-new.service-page-hero .hero-form-container .wpcf7-form input[type="tel"],
.hero-section-new.service-page-hero .hero-form-container .wpcf7-form textarea {
	background: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Hide CF7 spinner by default, only show when submitting */
.hero-form-container .wpcf7-spinner {
	display: none !important;
}

.hero-form-container .wpcf7-form.submitting .wpcf7-spinner {
	display: inline-block !important;
}

.hero-content-new {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 20px;
}

.hero-content-new .hero-heading {
	font-size: 48px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 0;
}

.hero-content-new .hero-subtitle {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.75);
	font-weight: 400;
}

.hero-content-new .hero-bullet-list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px 0;
}

.hero-content-new .hero-bullet-list li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 12px;
	font-size: 16px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.5;
}

.hero-content-new .hero-bullet-list li:last-child {
	margin-bottom: 0;
}

.hero-content-new .hero-bullet-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 10px;
	height: 10px;
	background: #ff6b35;
	border-radius: 50%;
}

.hero-content-new .hero-article-title {
	font-size: 24px;
	color: #ffffff;
	font-weight: 600;
	line-height: 1.4;
	margin-top: 10px;
}

.hero-content-new .hero-excerpt-text {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 400;
	line-height: 1.6;
	margin-top: 15px;
	margin-bottom: 25px;
}

/* Blog Page Hero - No Form Overlay */
.blog-page-hero .hero-right {
	width: 55%;
}

.blog-page-hero .hero-left {
	width: 45%;
}

.hero-content-new .hero-subtitle .hero-services-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin-top: 20px;
}

.hero-content-new .hero-subtitle .hero-services-list .hero-service-item {
	position: relative;
	padding-left: 18px;
	font-size: 15px;
	font-weight: 500;
	color: #ffffff;
	text-decoration: none;
	transition: color 0.2s ease;
}

.hero-content-new .hero-subtitle .hero-services-list .hero-service-item:hover {
	color: #ff6b35;
}

.hero-content-new .hero-subtitle .hero-services-list .hero-service-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: #ff6b35;
	border-radius: 50%;
}

/* PDF Download Banner */
.pdf-download-banner {
	background: #ff6b35;
	padding: 20px 40px;
	text-align: center;
}

.pdf-download-banner .pdf-download-container {
	max-width: 1400px;
	margin: 0 auto;
}

.pdf-download-banner a {
	color: #ffffff;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: opacity 0.2s ease;
}

.pdf-download-banner a:hover {
	opacity: 0.85;
	text-decoration: underline;
}

.pdf-download-banner a i {
	font-size: 22px;
}

@media (max-width: 768px) {
	.pdf-download-banner {
		padding: 15px 20px;
	}

	.pdf-download-banner a {
		font-size: 15px;
	}

	.pdf-download-banner a i {
		font-size: 18px;
	}
}

.hero-content-new .hero-subtitle .hero-tagline {
	font-size: 15px;
	font-weight: 600;
	color: #ff6b35;
	letter-spacing: 3px;
	text-transform: uppercase;
	display: block;
	margin-bottom: 15px;
}

.hero-content-new .hero-subtitle .hero-trust-badges {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin-top: 30px;
}

.hero-content-new .hero-subtitle .trust-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 500;
	color: #ffffff;
	padding: 0 15px;
}

.hero-content-new .hero-subtitle .trust-badge:first-child {
	padding-left: 0;
}

.hero-content-new .hero-subtitle .trust-badge i {
	color: #ff6b35;
}

.hero-content-new .hero-subtitle .trust-divider {
	width: 1px;
	height: 18px;
	background: rgba(255, 255, 255, 0.35);
}

.hero-content-new .hero-subtitle .hero-contact-info {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 35px;
}

.hero-content-new .hero-subtitle .hero-contact-info a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
	text-decoration: none;
	padding: 10px 20px;
	border-radius: 4px;
	font-weight: 600;
	font-size: 14px;
	transition: all 0.3s ease;
	border: 1px solid rgba(255, 255, 255, 0.4);
	backdrop-filter: blur(5px);
}

.hero-content-new .hero-subtitle .hero-contact-info a:hover {
	background: rgba(255, 255, 255, 0.95);
	color: #212327;
	border-color: #ffffff;
	transform: translateY(-2px);
}

/* Contact Page Hero - Extended Content Styles */
.contact-page-hero .hero-label {
	display: inline-block;
	background: #ff6b35;
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	padding: 8px 16px;
	border-radius: 4px;
	margin-bottom: 16px;
	text-transform: uppercase;
}

.contact-page-hero .hero-subtitle-cta {
	margin-top: 8px;
	color: #ffffff;
}

.contact-page-hero .hero-benefits-list {
	list-style: none;
	margin: 20px 0;
	padding: 0;
}

.contact-page-hero .hero-benefits-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 10px;
	font-weight: 400;
}

.contact-page-hero .hero-benefits-list li i {
	color: #ff6b35;
	font-size: 16px;
}

.contact-page-hero .hero-contact-details {
	margin: 24px 0 16px;
}

.contact-page-hero .hero-contact-details p {
	margin: 0 0 10px;
}

.contact-page-hero .hero-contact-details a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 600;
	transition: color 0.3s ease;
}

.contact-page-hero .hero-contact-details a:hover {
	color: #ff6b35;
}

.contact-page-hero .hero-contact-details a i {
	color: #ff6b35;
	font-size: 16px;
}

.contact-page-hero .hero-legal-notice {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
	margin-top: 16px;
}

.contact-page-hero .hero-legal-notice a {
	color: #ff6b35;
	text-decoration: underline;
}

.contact-page-hero .hero-legal-notice a:hover {
	color: #ffffff;
}

.contact-page-hero .hero-subtitle .hero-contact-info {
	margin-top: 10px;
}

/* Contact Page Hero - Mobile Responsive */
@media (max-width: 992px) {
	.contact-page-hero .hero-label {
		font-size: 11px;
		padding: 6px 12px;
		margin-bottom: 12px;
	}

	.contact-page-hero .hero-benefits-list li {
		font-size: 14px;
	}

	.contact-page-hero .hero-contact-details a {
		font-size: 16px;
	}

	.contact-page-hero .hero-legal-notice {
		font-size: 12px;
	}
}

.hero-cta-button {
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 30px;
	border-radius: 4px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.5px;
	transition: background 0.3s ease;
	margin-top: 10px;
}

.hero-cta-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

.slider-controls-new {
	position: absolute;
	bottom: 40px;
	left: calc((100vw - min(100%, 1400px)) / 2 + 40px);
	transform: none;
	display: flex;
	gap: 10px;
	z-index: 10;
}

.slider-dot-new {
	width: 40px;
	height: 3px;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.3);
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition: background 0.3s ease;
}

.slider-dot-new.active {
	background: rgba(255, 255, 255, 0.3);
}

.slider-dot-new.active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #ff6b35;
	animation: heroSlideProgress 4s linear forwards;
}

@keyframes heroSlideProgress {
	from {
		width: 0%;
	}
	to {
		width: 100%;
	}
}

/* ============================================
   SERVICES CAROUSEL
   ============================================ */
.services-carousel-section {
	padding: 60px 0 !important;
	min-height: 300px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #ffffff;
	position: relative;
	overflow: hidden;
}

.services-carousel-wrapper {
	padding: 0 !important;
	position: relative;
}

.services-carousel-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	position: relative;
}

.services-carousel-track {
	display: flex;
	gap: 20px;
	overflow: hidden;
	width: 100%;
}

.services-carousel-inner {
	display: flex;
	gap: 20px;
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

/* Navigation Arrows */
.services-carousel-arrow {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #212327;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	transition: background 0.3s ease;
	flex-shrink: 0;
}

.services-carousel-arrow:hover {
	background: #ff6b35;
}

.services-carousel-arrow:active {
	opacity: 0.8;
}

.services-carousel-arrow svg {
	width: 18px;
	height: 18px;
}

.services-carousel-arrow:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.services-carousel-arrow:disabled:hover {
	background: #212327;
	transform: none;
}

.service-card-carousel {
	flex: 0 0 calc((100% - 60px) / 4); /* 4 cards with 3 gaps of 20px */
	background: transparent;
	border-radius: 0;
	padding: 15px !important;
	text-align: left;
	box-shadow: none;
	transition: background 0.3s ease, transform 0.3s ease, border 0.3s ease;
	position: relative;
	margin: 0 !important;
	border-bottom: 3px solid transparent;
}

.service-card-carousel:hover {
	background: #212327;
	transform: translateY(-5px);
	border-bottom: 3px solid #ff6b35;
}

.service-card-carousel:hover .service-icon-image {
	filter: brightness(0) invert(75%);
	transition: filter 0.3s ease;
	width: 60px !important;
	height: 60px !important;
	max-width: 60px !important;
	max-height: 60px !important;
}

/* Ensure icons are always 60x60 in service cards */
.service-card-carousel .service-icon,
.service-card-carousel .service-icon-image {
	width: 60px !important;
	height: 60px !important;
	max-width: 60px !important;
	max-height: 60px !important;
}

.service-card-carousel:hover .service-title,
.service-card-carousel:hover .service-card-title,
.service-card-carousel:hover .service-description,
.service-card-carousel:hover .service-card-description {
	color: #ffffff !important;
}

.service-card-carousel:hover .service-icon svg,
.service-card-carousel:hover .service-icon svg path {
	fill: #ffffff !important;
}

.service-icon {
	width: 60px !important;
	height: 60px !important;
	max-width: 60px !important;
	max-height: 60px !important;
	min-width: 60px !important;
	min-height: 60px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 20px 0 !important;
	box-sizing: border-box;
}

.service-icon-image {
	width: 60px !important;
	height: 60px !important;
	max-width: 60px !important;
	max-height: 60px !important;
	min-width: auto !important;
	min-height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	display: block !important;
	transition: filter 0.3s ease;
	filter: invert(40%);
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
}

.service-title,
.service-card-title {
	font-size: 16px;
	font-weight: 600;
	color: #000000 !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	text-transform: uppercase;
}

.service-description,
.service-card-description {
	font-size: 14px;
	color: #000000 !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.service-card-link {
	color: #000000;
	text-decoration: none;
}

.service-card-link:hover {
	color: #000000;
}

/* Carousel Controls Container */
.services-carousel-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 25px;
}

.services-carousel-pagination {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
}

.services-carousel-arrows {
	display: flex;
	align-items: center;
	gap: 10px;
}

.carousel-dot {
	width: 50px;
	height: 2px;
	background: #d0d0d0;
	border: none;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}

.carousel-dot.active {
	background: #d0d0d0;
}

.carousel-dot.active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #ff6b35;
	animation: dotProgress 4s linear forwards;
}

@keyframes dotProgress {
	from {
		width: 0%;
	}
	to {
		width: 100%;
	}
}

/* Services Carousel Responsive */
@media (max-width: 1024px) {
	.service-card-carousel {
		flex: 0 0 calc((100% - 20px) / 2); /* 2 cards with 1 gap */
	}
}

@media (max-width: 768px) {
	.services-carousel-section {
		padding: 40px 0 !important;
		min-height: auto;
		overflow-x: hidden !important;
	}

	.services-carousel-wrapper {
		overflow: hidden;
		width: 100%;
	}

	.services-carousel-container {
		padding: 0 20px;
		max-width: 100%;
		box-sizing: border-box;
		overflow: hidden;
	}

	.services-carousel-track {
		overflow: hidden;
		width: 100%;
	}

	.service-card-carousel {
		flex: 0 0 100%; /* 1 card full width */
		padding: 12px !important;
		box-sizing: border-box;
	}

	.services-carousel-controls {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 15px;
		margin-top: 20px;
		width: 100%;
		box-sizing: border-box;
	}

	.services-carousel-pagination {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		max-width: calc(100% - 110px);
	}

	.carousel-dot {
		width: 28px;
		height: 3px;
		flex-shrink: 0;
	}

	.services-carousel-arrows {
		display: flex;
		gap: 8px;
		flex-shrink: 0;
	}

	.services-carousel-arrow {
		width: 44px;
		height: 44px;
		flex-shrink: 0;
	}

	.service-icon,
	.service-icon-image,
	.service-card-carousel .service-icon,
	.service-card-carousel .service-icon-image {
		width: 50px !important;
		height: 50px !important;
		max-width: 50px !important;
		max-height: 50px !important;
		min-width: 50px !important;
		min-height: 50px !important;
	}

	.service-icon {
		margin: 0 0 15px 0 !important;
	}

	.service-title,
	.service-card-title {
		font-size: 15px;
	}

	.service-description,
	.service-card-description {
		font-size: 13px;
		line-height: 1.5 !important;
	}
}

/* Extra small mobile devices */
@media (max-width: 480px) {
	.services-carousel-section {
		padding: 30px 0 !important;
	}

	.services-carousel-container {
		padding: 0 20px;
	}

	.service-card-carousel {
		padding: 10px !important;
	}

	.services-carousel-controls {
		gap: 10px;
		margin-top: 15px;
	}

	.services-carousel-pagination {
		gap: 4px;
		max-width: calc(100% - 100px);
	}

	.carousel-dot {
		width: 20px;
		height: 3px;
	}

	.services-carousel-arrows {
		gap: 6px;
	}

	.services-carousel-arrow {
		width: 40px;
		height: 40px;
	}

	.services-carousel-arrow svg {
		width: 16px;
		height: 16px;
	}

	.service-icon,
	.service-icon-image,
	.service-card-carousel .service-icon,
	.service-card-carousel .service-icon-image {
		width: 45px !important;
		height: 45px !important;
		max-width: 45px !important;
		max-height: 45px !important;
		min-width: 45px !important;
		min-height: 45px !important;
	}

	.service-icon {
		margin: 0 0 12px 0 !important;
	}

	.service-title,
	.service-card-title {
		font-size: 14px;
		margin: 0 0 4px 0 !important;
	}

	.service-description,
	.service-card-description {
		font-size: 12px;
		line-height: 1.4 !important;
	}
}

/* ============================================
   ABOUT SECTION
   ============================================ */

/* Combined Professional + CTA Section */
.about-combined-section {
	padding: 80px 0;
	background: #EBEBEB; /* Secondary background colour */
}

.about-combined-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

/* Top Row: Heading left, Text right */
.about-combined-top {
	display: flex;
	align-items: flex-start;
	gap: 60px;
	margin-bottom: 50px;
}

.about-combined-top-left {
	flex: 0 0 40%;
}

.about-combined-top-right {
	flex: 1;
}

.about-combined-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin: 0;
	line-height: 1.2;
}

.about-combined-text {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin: 0;
}

/* Bottom Row: CTA */
.about-combined-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 40px;
	border-top: 1px solid #e0e0e0;
}

.about-combined-cta-left {
	flex: 1;
}

.about-combined-cta-right {
	flex: 0 0 auto;
}

.about-combined-cta-question {
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #212327;
	margin: 0;
}

.about-combined-cta-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #ff6b35;
	color: #ffffff;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 16px 32px;
	border-radius: 4px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.about-combined-cta-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

.about-combined-cta-button i {
	font-size: 12px;
}

/* Content Blocks */
.about-combined-blocks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin-top: 50px;
}

.about-combined-block {
	padding: 40px;
	background: #212327;
}

.about-combined-block-highlight {
	background: #ff6b35;
	position: relative;
	background-size: cover;
	background-position: center;
}

.about-combined-block-highlight::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 107, 53, 0.85); /* Orange overlay */
	z-index: 1;
}

.about-combined-block-highlight .about-combined-block-title,
.about-combined-block-highlight .about-combined-block-text {
	position: relative;
	z-index: 2;
}

.about-combined-block-title {
	font-family: "Poppins", sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 20px 0;
	line-height: 1.3;
}

.about-combined-block-text {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.7;
	margin: 0 0 15px 0;
}

.about-combined-block-text:last-child {
	margin-bottom: 0;
}

.about-combined-block-link {
	color: #ff6b35;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.3s ease;
}

.about-combined-block-link:hover {
	color: #ffb199;
	text-decoration: underline;
}

/* Responsive for Combined Section */
@media (max-width: 992px) {
	.about-combined-container {
		padding: 0 20px;
	}

	.about-combined-top {
		flex-direction: column;
		gap: 30px;
	}

	.about-combined-top-left {
		flex: none;
		width: 100%;
	}

	.about-combined-heading {
		font-size: 32px;
	}

	.about-combined-cta {
		flex-direction: row;
		gap: 15px;
		text-align: left;
	}

	.about-combined-cta-question {
		font-size: 16px;
	}

	.about-combined-blocks {
		grid-template-columns: 1fr;
	}

	.about-combined-block {
		padding: 35px 30px;
	}
}

@media (max-width: 576px) {
	.about-combined-section {
		padding: 50px 0;
	}

	.about-combined-container {
		padding: 0 20px;
	}

	.about-combined-top {
		margin-bottom: 35px;
	}

	.about-combined-heading {
		font-size: 26px;
	}

	.about-combined-text {
		font-size: 15px;
	}

	.about-combined-cta {
		padding-top: 30px;
		gap: 10px;
	}

	.about-combined-cta-question {
		font-size: 14px;
	}

	.about-combined-cta-button {
		font-size: 12px;
		padding: 12px 16px;
	}

	.about-combined-blocks {
		margin-top: 40px;
	}

	.about-combined-block {
		padding: 30px 20px;
	}

	.about-combined-block-title {
		font-size: 20px;
	}

	.about-combined-block-text {
		font-size: 14px;
	}
}

.about-top-section {
	padding: 80px 0;
	background: #ffffff; /* White - alternating */
}

.about-top-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	display: flex;
	align-items: flex-start;
	gap: 60px;
}

.about-top-left {
	flex: 0 0 40%;
}

.about-top-right {
	flex: 1;
}

.about-content-wrapper {
	max-width: 900px;
	margin: 0 auto;
}

.about-main-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 0;
	line-height: 1.2;
}

.about-intro-text {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #666;
	line-height: 1.8;
	margin: 0;
}

.about-cta-section {
	padding: 40px 0;
	background: #f5f5f5; /* Slightly darker grey - alternating */
	border-top: none;
	border-bottom: none;
}

.about-cta-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.about-cta-left {
	flex: 1;
}

.about-cta-right {
	display: flex !important;
	justify-content: flex-end;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Desktop: Show image, hide form */
/* Form is now shown on both desktop and mobile for Legal & Business Investigations */

.about-cta-question {
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #212327;
	margin: 0;
}

.about-cta-right {
	flex-shrink: 0;
	width: 100%;
	max-width: 500px;
}

/* Contact Form 7 Styles for About CTA Section */
.about-cta-right .wpcf7,
.about-cta-right .wpcf7-form,
.about-cta-section .wpcf7,
.about-cta-section .wpcf7-form {
	font-family: "Poppins", sans-serif !important;
	width: 100% !important;
}

.about-cta-right .wpcf7-form p,
.about-cta-section .wpcf7-form p {
	margin-bottom: 15px !important;
}

.about-cta-right .wpcf7-form label,
.about-cta-section .wpcf7-form label {
	font-family: "Poppins", sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #212327 !important;
	display: block !important;
	margin-bottom: 6px !important;
}

/* 2-column grid layout for form fields */
.about-cta-right .wpcf7-form,
.about-cta-section .wpcf7-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

/* Make message textarea full width */
.about-cta-right .wpcf7-form p:has(textarea),
.about-cta-right .wpcf7-form p:has(.wpcf7-textarea),
.about-cta-section .wpcf7-form p:has(textarea),
.about-cta-section .wpcf7-form p:has(.wpcf7-textarea) {
	grid-column: 1 / -1;
}

/* Fallback for browsers without :has() - target textarea wrapper */
.about-cta-right .wpcf7-form p:last-of-type,
.about-cta-section .wpcf7-form p:last-of-type {
	grid-column: 1 / -1;
}

.about-cta-right .wpcf7-form-control-wrap,
.about-cta-section .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
}

.about-cta-right .wpcf7-form input[type="text"],
.about-cta-right .wpcf7-form input[type="email"],
.about-cta-right .wpcf7-form input[type="tel"],
.about-cta-right .wpcf7-form textarea,
.about-cta-right .wpcf7 input[type="text"],
.about-cta-right .wpcf7 input[type="email"],
.about-cta-right .wpcf7 input[type="tel"],
.about-cta-right .wpcf7 textarea,
.about-cta-section .wpcf7-form input[type="text"],
.about-cta-section .wpcf7-form input[type="email"],
.about-cta-section .wpcf7-form input[type="tel"],
.about-cta-section .wpcf7-form textarea,
.about-cta-section .wpcf7 input[type="text"],
.about-cta-section .wpcf7 input[type="email"],
.about-cta-section .wpcf7 input[type="tel"],
.about-cta-section .wpcf7 textarea {
	width: 100% !important;
	padding: 10px 12px !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 4px !important;
	font-family: "Poppins", sans-serif !important;
	font-size: 14px !important;
	color: #212327 !important;
	background: #ffffff !important;
	transition: border-color 0.3s ease !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	display: block !important;
}

.about-cta-right .wpcf7-form input[type="text"]:focus,
.about-cta-right .wpcf7-form input[type="email"]:focus,
.about-cta-right .wpcf7-form input[type="tel"]:focus,
.about-cta-right .wpcf7-form textarea:focus,
.about-cta-right .wpcf7 input[type="text"]:focus,
.about-cta-right .wpcf7 input[type="email"]:focus,
.about-cta-right .wpcf7 input[type="tel"]:focus,
.about-cta-right .wpcf7 textarea:focus,
.about-cta-section .wpcf7-form input[type="text"]:focus,
.about-cta-section .wpcf7-form input[type="email"]:focus,
.about-cta-section .wpcf7-form input[type="tel"]:focus,
.about-cta-section .wpcf7-form textarea:focus,
.about-cta-section .wpcf7 input[type="text"]:focus,
.about-cta-section .wpcf7 input[type="email"]:focus,
.about-cta-section .wpcf7 input[type="tel"]:focus,
.about-cta-section .wpcf7 textarea:focus {
	outline: none !important;
	border-color: #ff6b35 !important;
	box-shadow: 0 0 0 1px #ff6b35 !important;
}

.about-cta-right .wpcf7-form textarea,
.about-cta-section .wpcf7-form textarea {
	min-height: 80px !important;
	max-height: 120px !important;
	resize: vertical !important;
}

.about-cta-right .wpcf7-form input[type="submit"],
.about-cta-right .wpcf7-submit,
.about-cta-section .wpcf7-form input[type="submit"],
.about-cta-section .wpcf7-submit {
	background: #ff6b35 !important;
	color: #ffffff !important;
	padding: 12px 30px !important;
	border: none !important;
	border-radius: 4px !important;
	font-family: "Poppins", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	grid-column: 1 / -1;
	justify-self: start;
}
	cursor: pointer !important;
	transition: background 0.3s ease !important;
	width: 100% !important;
}

.about-cta-right .wpcf7-form input[type="submit"]:hover,
.about-cta-right .wpcf7-submit:hover,
.about-cta-section .wpcf7-form input[type="submit"]:hover,
.about-cta-section .wpcf7-submit:hover {
	background: #d45a2a !important;
}

.about-cta-right .wpcf7-response-output,
.about-cta-section .wpcf7-response-output {
	font-family: "Poppins", sans-serif !important;
	font-size: 14px !important;
	margin-top: 15px !important;
	padding: 10px !important;
	border-radius: 4px !important;
}

.about-cta-right .wpcf7-mail-sent-ok,
.about-cta-section .wpcf7-mail-sent-ok {
	background: #d4edda !important;
	color: #155724 !important;
	border: 1px solid #c3e6cb !important;
}

.about-cta-right .wpcf7-mail-sent-ng,
.about-cta-right .wpcf7-aborted,
.about-cta-section .wpcf7-mail-sent-ng,
.about-cta-section .wpcf7-aborted {
	background: #f8d7da !important;
	color: #721c24 !important;
	border: 1px solid #f5c6cb !important;
}

.about-cta-right .wpcf7-spam,
.about-cta-section .wpcf7-spam {
	background: #fff3cd !important;
	color: #856404 !important;
	border: 1px solid #ffeaa7 !important;
}

.about-cta-right .wpcf7-validation-errors,
.about-cta-right .wpcf7-not-valid-tip,
.about-cta-section .wpcf7-validation-errors,
.about-cta-section .wpcf7-not-valid-tip {
	color: #dc3545 !important;
	font-size: 14px !important;
	margin-top: 5px !important;
}

/* Override Contact Form 7 default styles more aggressively */
.about-cta-right .wpcf7 *,
.about-cta-section .wpcf7 * {
	box-sizing: border-box !important;
}

.about-cta-right .wpcf7-form input,
.about-cta-right .wpcf7-form textarea,
.about-cta-right .wpcf7-form select,
.about-cta-section .wpcf7-form input,
.about-cta-section .wpcf7-form textarea,
.about-cta-section .wpcf7-form select {
	font-family: "Poppins", sans-serif !important;
}

/* Ensure form elements are properly styled */
.about-cta-right form.wpcf7-form,
.about-cta-section form.wpcf7-form {
	width: 100% !important;
	max-width: 100% !important;
}

.about-cta-button {
	font-family: "Poppins", sans-serif;
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 40px;
	border-radius: 4px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 16px;
	display: inline-block;
	transition: background 0.3s ease;
	text-decoration: none;
}

.about-cta-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

.about-cta-button i {
	margin-left: 8px;
}

.about-blocks-section {
	padding: 80px 0;
	background: #ffffff; /* White - alternating */
}

.about-blocks-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}

/* Single block containers should be full width */
.about-blocks-container:has(> .about-block:only-child) {
	grid-template-columns: 1fr;
	max-width: 800px;
}

/* Fallback for browsers without :has() support */
.about-blocks-container.single-block {
	grid-template-columns: 1fr;
	max-width: 800px;
}

.about-block {
	padding: 50px 40px !important;
	border-radius: 0;
	box-sizing: border-box;
}

.about-block-1,
.about-block-3 {
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
}

.about-block-2 {
	background: #ff6b35;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.15) 1px, transparent 1px);
	background-size: 20px 20px;
}

.about-block-title {
	font-size: 24px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 20px;
	line-height: 1.3;
}

.about-block-text {
	font-size: 16px;
	color: #ffffff;
	line-height: 1.8;
	opacity: 0.95;
	margin-bottom: 15px;
}

.about-block-text:last-child {
	margin-bottom: 0;
}

.about-block-link {
	color: #ff6b35;
	text-decoration: underline;
	font-weight: 600;
}

/* Generic about-block with contact forms (testimonials, about pages, etc.) */
.about-block:has(.wpcf7),
.about-block:has(form.wpcf7-form) {
	background: #ffffff;
	background-image: none;
	border: 1px solid #e0e0e0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.about-block:has(.wpcf7) h2,
.about-block:has(.wpcf7) h3,
.about-block:has(.wpcf7) h4,
.about-block:has(.wpcf7) p {
	color: #212327;
}

.about-block:has(.wpcf7) h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 12px;
	margin-top: 0;
}

.about-block:has(.wpcf7) p {
	color: #444444;
	margin-bottom: 20px;
}

/* Fallback for browsers that don't support :has() */
.about-block-form-wrapper {
	background: #ffffff;
	background-image: none;
	border: 1px solid #e0e0e0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
	padding: 40px;
	border-radius: 8px;
}

.about-block-form-wrapper h2,
.about-block-form-wrapper h3,
.about-block-form-wrapper h4,
.about-block-form-wrapper p {
	color: #212327;
}

.about-block-form-wrapper h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 12px;
	margin-top: 0;
}

.about-block-form-wrapper p {
	color: #444444;
	margin-bottom: 20px;
}

/* Contact Form 7 styling in generic about-blocks */
.about-block .wpcf7-form,
.about-block-form-wrapper .wpcf7-form {
	font-family: "Poppins", sans-serif;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

/* Make message textarea full width */
.about-block .wpcf7-form p:has(textarea),
.about-block .wpcf7-form p:has(.wpcf7-textarea),
.about-block-form-wrapper .wpcf7-form p:has(textarea),
.about-block-form-wrapper .wpcf7-form p:has(.wpcf7-textarea) {
	grid-column: 1 / -1;
}

.about-block .wpcf7-form p:last-of-type,
.about-block-form-wrapper .wpcf7-form p:last-of-type {
	grid-column: 1 / -1;
}

.about-block .wpcf7-form p,
.about-block-form-wrapper .wpcf7-form p {
	margin-bottom: 15px;
}

.about-block .wpcf7-form label,
.about-block-form-wrapper .wpcf7-form label {
	font-family: "Poppins", sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #212327;
	display: block;
	margin-bottom: 6px;
}

.about-block .wpcf7-form input[type="text"],
.about-block .wpcf7-form input[type="email"],
.about-block .wpcf7-form input[type="tel"],
.about-block .wpcf7-form textarea,
.about-block-form-wrapper .wpcf7-form input[type="text"],
.about-block-form-wrapper .wpcf7-form input[type="email"],
.about-block-form-wrapper .wpcf7-form input[type="tel"],
.about-block-form-wrapper .wpcf7-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #212327;
	background: #ffffff;
	transition: border-color 0.3s ease;
	box-sizing: border-box;
}

.about-block .wpcf7-form input[type="text"]:focus,
.about-block .wpcf7-form input[type="email"]:focus,
.about-block .wpcf7-form input[type="tel"]:focus,
.about-block .wpcf7-form textarea:focus,
.about-block-form-wrapper .wpcf7-form input[type="text"]:focus,
.about-block-form-wrapper .wpcf7-form input[type="email"]:focus,
.about-block-form-wrapper .wpcf7-form input[type="tel"]:focus,
.about-block-form-wrapper .wpcf7-form textarea:focus {
	outline: none;
	border-color: #ff6b35;
}

.about-block .wpcf7-form textarea,
.about-block-form-wrapper .wpcf7-form textarea {
	min-height: 80px;
	max-height: 120px;
	resize: vertical;
}

.about-block .wpcf7-form input[type="submit"],
.about-block .wpcf7-submit,
.about-block-form-wrapper .wpcf7-form input[type="submit"],
.about-block-form-wrapper .wpcf7-submit {
	background: #ff6b35;
	color: #ffffff;
	padding: 12px 30px;
	border: none;
	border-radius: 4px;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s ease;
	width: auto;
	grid-column: 1 / -1;
	justify-self: start;
}

.about-block .wpcf7-form input[type="submit"]:hover,
.about-block .wpcf7-submit:hover,
.about-block-form-wrapper .wpcf7-form input[type="submit"]:hover,
.about-block-form-wrapper .wpcf7-submit:hover {
	background: #d45a2a;
}

/* Contact Us - locations block */
.page-template-page-contact-us .about-blocks-section.contact-locations-section {
	padding: 80px 0;
	background: #f5f5f5; /* Slightly darker grey background */
	width: 100%;
}

.page-template-page-contact-us .about-blocks-section.contact-locations-section .about-blocks-container {
	max-width: 1400px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 40px !important;
	display: block !important;
}

.page-template-page-contact-us .about-block-1 {
	background: #ffffff;
	background-image: none;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	padding: 40px 40px 40px;
	width: 100%;
	margin: 0;
}

.page-template-page-contact-us .about-block-1 .about-block-title {
	color: #212327;
	margin-bottom: 30px;
	margin-top: 0;
	font-size: 32px;
}

.page-template-page-contact-us .locations-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(280px, 1fr));
	gap: 30px 30px;
	margin-top: 0;
}

@media (min-width: 1024px) {
	.page-template-page-contact-us .locations-grid {
		grid-template-columns: repeat(3, minmax(280px, 1fr));
		gap: 30px 30px;
	}
}

@media (min-width: 1400px) {
	.page-template-page-contact-us .locations-grid {
		grid-template-columns: repeat(4, minmax(280px, 1fr));
		gap: 30px 30px;
	}
}

.page-template-page-contact-us .location-card {
	border-radius: 10px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e0e0e0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.page-template-page-contact-us .location-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.page-template-page-contact-us .location-card-image-wrapper {
	width: 100%;
	height: 200px;
	overflow: hidden;
	position: relative;
}

.page-template-page-contact-us .location-card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.page-template-page-contact-us .location-card:hover .location-card-image {
	transform: scale(1.05);
}

.page-template-page-contact-us .location-card-content {
	padding: 20px 22px 20px;
}

.page-template-page-contact-us .location-card h4 {
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 12px;
}

.page-template-page-contact-us .location-card h4 a {
	color: #212327;
	text-decoration: none;
	transition: color 0.3s ease;
}

.page-template-page-contact-us .location-card h4 a:hover {
	color: #ff6b35;
}

.page-template-page-contact-us .location-card .location-details {
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-template-page-contact-us .location-card .location-details li {
	font-size: 14px;
	line-height: 1.7;
	color: #444444;
	margin-bottom: 8px;
}

.page-template-page-contact-us .location-card .location-details li:last-child {
	margin-bottom: 0;
}

.page-template-page-contact-us .location-card .location-details a[href^="tel:"],
.page-template-page-contact-us .location-card .location-details a[href^="mailto:"] {
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.page-template-page-contact-us .location-card .location-details a[href^="tel:"]:hover,
.page-template-page-contact-us .location-card .location-details a[href^="mailto:"]:hover {
	color: #d45a2a;
}

/* Bottom text styling for contact-us page */
.page-template-page-contact-us .about-block-1 .about-block-text {
	color: #212327 !important;
	font-size: 16px;
	line-height: 1.8;
	margin-top: 40px;
	margin-bottom: 15px;
	padding-top: 0;
}

.page-template-page-contact-us .about-block-1 .about-block-text:first-of-type {
	margin-top: 40px;
}

.page-template-page-contact-us .about-block-1 .about-block-text:last-child {
	margin-bottom: 0;
}

.page-template-page-contact-us .about-block-1 .about-block-text a {
	color: #ff6b35;
	text-decoration: underline;
}

.page-template-page-contact-us .about-block-1 .about-block-text a:hover {
	color: #d45a2a;
}

/* Location About Section - No Background */
.location-about-section {
	background: transparent !important;
	padding: 0 !important;
}

.location-about-section .about-top-section {
	background: transparent !important;
	padding: 80px 0 !important;
}

.location-about-section .about-cta-section {
	background: transparent !important;
	border-top: 1px solid #e0e0e0 !important;
	border-bottom: 1px solid #e0e0e0 !important;
}

/* Call Us Now Section - Standalone */
.call-us-now-section {
	background: #ffffff;
	padding: 80px 0;
}

.call-us-now-wrapper {
	width: 100%;
	text-align: center;
}

.call-us-now-link {
	text-decoration: none;
	display: inline-block;
	transition: transform 0.3s ease, color 0.3s ease;
}

.call-us-now-text {
	font-size: 36px;
	font-weight: 700;
	color: #212327;
	margin: 0;
	cursor: pointer;
	transition: color 0.3s ease;
}

.call-us-now-link:hover .call-us-now-text {
	color: #ff6b35 !important;
}

.call-us-now-link:hover {
	transform: scale(1.05);
}

.location-about-section .about-blocks-section {
	background: transparent !important;
	padding: 80px 0 !important;
}

/* Location Blocks with Form - 2 columns */
.location-blocks-with-form {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 60px !important;
	align-items: flex-start !important;
}

.location-block-text {
	background: transparent !important;
	background-image: none !important;
	padding: 0 !important;
}

.location-block-text h2,
.location-block-text h3,
.location-block-text h4,
.location-block-text p {
	color: #212327 !important;
	font-family: "Poppins", sans-serif !important;
}

.location-block-text h2 {
	font-size: 32px !important;
	font-weight: 700 !important;
	margin-bottom: 30px !important;
	margin-top: 0 !important;
	color: #212327 !important;
}

.location-block-text h3 {
	font-size: 24px !important;
	font-weight: 600 !important;
	margin-bottom: 15px !important;
}

.location-block-text h4 {
	font-size: 18px !important;
	font-weight: 600 !important;
	margin-bottom: 20px !important;
	color: #212327 !important;
	line-height: 1.6 !important;
}

.location-block-text h4 a {
	color: #ff6b35 !important;
	text-decoration: none !important;
}

.location-block-text h4 a:hover {
	text-decoration: underline !important;
}

.location-block-text p {
	font-size: 16px !important;
	line-height: 1.8 !important;
	margin-bottom: 20px !important;
}

.location-block-form {
	background: transparent !important; /* Removed grey box background */
	background-image: none !important;
	padding: 40px !important;
	border-radius: 8px !important;
}

.location-block-form h2 {
	font-family: "Poppins", sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #212327;
	margin-top: 0;
	margin-bottom: 10px;
}

.location-block-form h4 {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 30px;
}

/* Contact Form 7 Styles for Location Page */
.location-block-form .wpcf7-form {
	font-family: "Poppins", sans-serif;
}

.location-block-form .wpcf7-form p {
	margin-bottom: 20px;
}

.location-block-form .wpcf7-form label {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #212327;
	display: block;
	margin-bottom: 8px;
}

.location-block-form .wpcf7-form input[type="text"],
.location-block-form .wpcf7-form input[type="email"],
.location-block-form .wpcf7-form input[type="tel"],
.location-block-form .wpcf7-form textarea {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	background: #ffffff;
	transition: border-color 0.3s ease;
}

.location-block-form .wpcf7-form input[type="text"]:focus,
.location-block-form .wpcf7-form input[type="email"]:focus,
.location-block-form .wpcf7-form input[type="tel"]:focus,
.location-block-form .wpcf7-form textarea:focus {
	outline: none;
	border-color: #ff6b35;
}

.location-block-form .wpcf7-form textarea {
	min-height: 120px;
	resize: vertical;
}

.location-block-form .wpcf7-form input[type="submit"],
.location-block-form .wpcf7-submit {
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 40px;
	border: none;
	border-radius: 4px;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s ease;
}

.location-block-form .wpcf7-form input[type="submit"]:hover,
.location-block-form .wpcf7-submit:hover {
	background: #d45a2a;
}

@media (max-width: 1024px) {
	.location-blocks-with-form {
		grid-template-columns: 1fr !important;
		gap: 40px !important;
	}
	
	.location-about-section .about-top-container {
		flex-direction: column !important;
		gap: 30px !important;
	}
	
	.location-about-section .about-cta-container {
		flex-direction: column !important;
		gap: 20px !important;
		text-align: center !important;
	}
}

/* ============================================
   FEATURES SECTION
   ============================================ */
.features-section-new {
	padding: 80px 0;
	background: #ffffff; /* White - alternating with grey */
}

.features-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

.features-grid-new {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
}

.feature-box-new {
	text-align: left;
	padding: 30px;
	transition: transform 0.3s ease;
}

.feature-box-new:hover {
	transform: translateY(-5px);
}

.feature-icon-new {
	width: 60px;
	height: 60px;
	margin: 0 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.feature-icon-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.feature-content-wrapper {
	flex: 1;
}

.feature-label {
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #ff6b35;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 8px;
}

.feature-title-new {
	font-size: 20px;
	font-weight: 600;
	color: #212327;
	margin-bottom: 15px;
}

.feature-text-new {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin: 0;
}

.feature-content-new {
	text-align: center;
}

.feature-content-new h3 {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #212327;
	margin-bottom: 10px;
}

.feature-content-new p {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin: 0;
}

/* Mobile: Reduce spacing between about-blocks-section and features-section-new */
@media (max-width: 768px) {
	.about-blocks-section {
		padding-bottom: 30px;
	}
	
	.features-section-new {
		padding-top: 30px;
	}
	
	/* Team section on tablet - text first, then image below */
	.team-section-mobile .help-section-split-container {
		flex-direction: column !important;
		gap: 20px !important;
		width: 100% !important;
	}
	
	.team-section-mobile .help-section-content-side {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		display: flex !important;
		align-items: flex-start !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.team-section-mobile .help-section-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
	
	.team-section-mobile .help-section-image-side {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		display: block !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.team-section-mobile .help-section-image {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		display: block !important;
		object-fit: cover !important;
		border-radius: 4px !important;
	}
}

.feature-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #ff6b35;
	color: #ffffff;
	font-family: "Poppins", sans-serif;
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 20px;
}

.features-heading-new {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 60px;
	text-align: center;
	line-height: 1.2;
}

/* ============================================
   TRUSTED SECTIONS
   ============================================ */
.trusted-section-new {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: none;
	background: #EBEBEB;
	overflow: hidden;
	position: relative;
}

.trusted-section-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

.trusted-split-container {
	display: flex;
	min-height: auto;
	margin: 0;
	max-width: none;
	width: 100%;
	align-items: stretch;
	padding: 0;
}

.trusted-image-side {
	width: 50%;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
	min-height: auto;
	height: 100%;
	align-self: stretch;
	display: flex;
	align-items: stretch;
	justify-content: stretch;
	padding: 0;
	margin: 0;
}

.trusted-section-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	margin: 0;
	padding: 0;
	filter: grayscale(100%);
}

/* Hero Image Wrapper - Vertical Centering */
.hero-image-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
}

.trusted-section-image-grayscale {
	filter: grayscale(100%);
}


.trusted-content-side {
	width: 50%;
	flex-shrink: 0;
	background: transparent;
	padding: 100px var(--container-padding) 60px 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: auto;
	position: relative;
}

.trusted-content-side::before {
	display: none; /* Removed vertical line separator */
}

.trusted-content-wrapper {
	width: 100%;
	max-width: 600px;
}

.trusted-heading {
	font-family: "Poppins", sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 20px;
	line-height: 1.2;
}

.trusted-text {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin-bottom: 30px;
}

.trusted-separator {
	width: 100%;
	height: 1px;
	background: #d0d0d0;
	margin: 30px 0;
}
}

.trusted-link {
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.trusted-cta-button {
	display: inline-block;
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 40px;
	border-radius: 4px;
	text-transform: none;
	font-weight: 600;
	font-size: 16px;
	font-family: "Poppins", sans-serif;
	text-decoration: none;
	transition: background 0.3s ease;
	margin-top: 20px;
}

.trusted-cta-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

.trusted-cta-button i {
	margin-left: 8px;
	font-size: 14px;
}

.trusted-link:hover {
	color: #d45a2a;
}

.trusted-list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px 0;
}

.trusted-list-item {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin-bottom: 15px;
	padding-left: 30px;
	position: relative;
}

.trusted-list-item::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #ff6b35;
	font-weight: 700;
	font-size: 18px;
}

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

.trusted-list-bullets {
	margin-bottom: 20px;
}

.trusted-list-bullets .trusted-list-item::before {
	content: '•';
	font-size: 20px;
}

.trusted-list li {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin-bottom: 12px;
	padding-left: 25px;
	position: relative;
}

.trusted-list li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #ff6b35;
	font-weight: 700;
	font-size: 18px;
}

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

.trusted-additional-section-new {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: none;
	background: #ffffff;
	overflow: hidden;
	position: relative;
}

.trusted-additional-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 60px;
	width: 100%;
	box-sizing: border-box;
}

.trusted-additional-split-container {
	display: flex;
	min-height: auto;
	margin: 0;
	max-width: none;
	width: 100%;
	align-items: stretch;
	padding: 0;
}

.trusted-additional-content-side {
	width: 50%;
	flex-shrink: 0;
	background: transparent;
	padding: 60px 60px 60px var(--container-padding);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.trusted-additional-content-side::after {
	display: none; /* Removed vertical line separator */
}

.trusted-additional-content-wrapper {
	width: 100%;
	max-width: 600px;
}

.trusted-additional-heading {
	font-family: "Poppins", sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 20px;
	line-height: 1.2;
}

.trusted-additional-text {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin-bottom: 30px;
}

.trusted-additional-link {
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.trusted-additional-link:hover {
	color: #d45a2a;
}

.trusted-additional-image-side {
	width: 50%;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
	min-height: 400px;
	align-self: stretch;
	display: block;
	padding: 0;
	margin: 0;
}

.trusted-additional-section-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	margin: 0;
	padding: 0;
}

/* ============================================
   STATS SECTION
   ============================================ */
.stats-section-new {
	width: 100%;
	padding: 80px 0;
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
}

.stats-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 var(--container-padding);
	width: 100%;
}

.stats-grid-new {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 30px;
	align-items: stretch;
	justify-content: center;
	width: 100%;
}

.stat-box-new {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 30%;
	box-sizing: border-box;
	min-height: 180px;
	gap: 15px;
	padding: 20px;
}

.stat-icon-wrapper {
	width: 60px;
	height: 60px;
	min-width: 60px;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
	padding: 0;
	flex-shrink: 0;
}

.stat-icon-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	filter: brightness(0) invert(75%);
}

.stat-text-new {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	text-align: center;
	margin: 0;
	font-weight: 600;
	color: #ffffff;
	line-height: 1.5;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	flex: 1;
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
}

.stat-text-new strong {
	font-weight: 700;
	color: #ff6b35;
}

/* ============================================
   CLIENTS SECTION
   ============================================ */
.clients-section-new {
	padding: 112px 0;
	background: #ffffff; /* White - alternating */
}

.clients-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.clients-content-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 80px;
}

.clients-content-left {
	flex: 0 0 50%;
}

.clients-heading {
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 30px;
	line-height: 1.2;
}

.clients-text {
	font-size: 16px;
	color: rgb(102, 102, 102);
	line-height: 1.8;
	margin-bottom: 30px;
}

.clients-cta-button {
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 30px;
	border-radius: 4px;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 16px;
	display: inline-block;
	transition: background 0.3s ease;
	text-decoration: none;
}

.clients-cta-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

.clients-cta-button i {
	margin-left: 8px;
}

.clients-logos-section {
	padding: 80px 0;
	background: #ffffff;
}

.clients-logos-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.clients-logos-header {
	text-align: center;
	margin-bottom: 50px;
}

.clients-logos-heading {
	font-size: 36px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 20px;
}

.clients-logos-intro {
	font-size: 18px;
	line-height: 1.7;
	color: #666;
	max-width: 800px;
	margin: 0 auto;
}

.clients-logos-right {
	flex: 1;
}

.clients-logos-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.client-logo-item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px;
	background: #f5f5f5;
	border-radius: 0;
	height: 80px;
	border: 1px solid #e0e0e0;
}

.client-logo-image {
	max-width: 80%;
	max-height: 80%;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.client-logo-item:hover .client-logo-image {
	opacity: 1;
}

/* ============================================
   COUNCIL NAMES GRID
   ============================================ */
.council-names-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 15px;
}

.council-name-item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 15px;
	background: #212327;
	border: 1px solid #212327;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	color: #ffffff;
	text-align: center;
	transition: all 0.3s ease;
}

.council-name-item:hover {
	background: #ff6b35;
	border-color: #ff6b35;
}

/* ============================================
   LAW FIRMS ACCORDION
   ============================================ */
.law-firms-accordion-section {
	padding: 80px 0;
	background: #ffffff;
}

.law-firms-accordion-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.law-firms-accordion-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 50px;
}

.law-firms-accordion-column {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.accordion-item {
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
}

.accordion-header {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 20px;
	background: #f5f5f5;
	border: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.accordion-header:hover {
	background: #ebebeb;
}

.accordion-header[aria-expanded="true"] {
	background: #212327;
}

.accordion-header[aria-expanded="true"] .accordion-letter {
	color: #ffffff;
}

.accordion-header[aria-expanded="true"] .accordion-icon {
	background: #ff6b35;
}

.accordion-header[aria-expanded="true"] .accordion-icon::before,
.accordion-header[aria-expanded="true"] .accordion-icon::after {
	background: #ffffff;
}

.accordion-letter {
	font-size: 18px;
	font-weight: 700;
	color: #212327;
	transition: color 0.3s ease;
}

.accordion-icon {
	width: 20px;
	height: 20px;
	position: relative;
	background: #212327;
	border-radius: 50%;
	transition: background-color 0.3s ease;
}

.accordion-icon::before,
.accordion-icon::after {
	content: '';
	position: absolute;
	background: #ffffff;
	transition: transform 0.3s ease, background-color 0.3s ease;
}

.accordion-icon::before {
	width: 10px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.accordion-icon::after {
	width: 2px;
	height: 10px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.accordion-header[aria-expanded="true"] .accordion-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	opacity: 0;
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
	padding: 0 20px;
}

.accordion-content.active {
	max-height: 1000px;
	padding: 20px;
}

.accordion-content p {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: #666;
}

/* ============================================
   RESPONSIVE STYLES
   ============================================ */
@media (max-width: 1400px) {
	.stats-grid-new {
		gap: 30px;
	}
	
	.about-blocks-container {
		grid-template-columns: 1fr;
	}
	
	.about-top-container {
		flex-direction: column;
		gap: 30px;
	}
	
	.about-cta-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	
	/* Contact form - stack to single column on tablet/mobile */
	.about-cta-right .wpcf7-form,
	.about-cta-section .wpcf7-form,
	.about-block .wpcf7-form,
	.about-block-form-wrapper .wpcf7-form {
		grid-template-columns: 1fr !important;
	}
	
	/* Hero form overlay - adjust for tablet */
	.hero-form-overlay {
		align-items: flex-start;
		padding: 20px;
	}
	
	.hero-form-container {
		max-width: 100%;
		width: 100%;
		padding: 25px;
	}
	
	/* 2-column layout sections - stack on tablet */
	.about-cta-section .about-cta-container[style*="grid-template-columns"] {
		grid-template-columns: 1fr !important;
		gap: 30px !important;
	}
	
	.features-grid-new {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.features-container-new {
		padding: 0 20px;
	}

	.feature-box-new {
		display: flex;
		align-items: flex-start;
		gap: 20px;
		padding: 20px;
	}

	.feature-icon-new {
		flex-shrink: 0;
		width: 50px;
		height: 50px;
		margin: 0;
	}

	.feature-box-new .feature-title-new {
		font-size: 18px;
		margin-bottom: 10px;
	}

	.feature-box-new .feature-text-new {
		font-size: 14px;
		line-height: 1.6;
	}
}

@media (max-width: 576px) {
	.features-section-new {
		padding: 50px 0;
	}

	.features-grid-new {
		gap: 20px;
	}

	.feature-box-new {
		gap: 15px;
		padding: 15px;
	}

	.feature-icon-new {
		width: 40px;
		height: 40px;
	}

	.feature-box-new .feature-title-new {
		font-size: 16px;
	}

	.feature-box-new .feature-text-new {
		font-size: 13px;
	}
}

@media (min-width: 1025px) {
	/* Data Breach Investigation page - hide Contact Us column on desktop */
	.page-template-page-data-breach-investigation .data-breach-contact-column {
		display: none !important;
	}
	
	/* Data Breach Investigation page - add spacing after answers and before questions */
	.page-template-page-data-breach-investigation .location-content-wrapper h2:not(:first-child) {
		margin-top: 50px !important;
	}
	
	.stats-grid-new {
		gap: 60px !important;
	}
}

@media (max-width: 1024px) {
	:root {
		--container-padding: 20px;
	}

	/* Mobile: Show form, hide image */
	/* Form is now shown on both desktop and mobile */

	.new-header .header-content {
		padding: 15px 30px;
	}

	/* Container padding for tablet */
	.container,
	.container-full-width {
		padding: 0 30px;
	}

	.hero-slide-new .hero-left {
		padding-left: 30px;
		padding-right: 30px;
	}

	.stats-grid-new {
		gap: 30px;
	}

	.stat-box-new {
		flex-direction: row;
		align-items: flex-start;
		width: 100%;
		min-height: auto;
		gap: 20px;
		padding: 20px;
		text-align: left;
	}

	.stat-icon-wrapper {
		flex-shrink: 0;
		width: 50px;
		height: 50px;
		min-width: 50px;
	}

	.stat-text-new {
		font-size: 15px;
		line-height: 1.5;
		text-align: left;
	}

	.trusted-split-container {
		flex-direction: column;
		min-height: auto;
		width: 100%;
	}

	.trusted-image-side {
		width: 100%;
		min-height: auto;
		height: auto;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
		padding: 0;
		margin: 0;
	}

	.trusted-content-side {
		width: 100%;
		padding: 60px var(--container-padding);
	}

	.trusted-content-side {
		width: 100%;
		padding: 50px 40px;
	}
	
	.trusted-additional-container {
		padding: 0 20px !important;
		max-width: 100% !important;
	}
	
	.trusted-additional-split-container {
		flex-direction: column;
		min-height: auto;
		width: 100%;
	}

	.trusted-additional-content-side {
		width: 100%;
		padding: 60px var(--container-padding);
		order: 2;
	}

	.trusted-additional-image-side {
		width: 100%;
		min-height: auto;
		height: auto;
		order: 1;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
		padding: 0;
		margin: 0;
	}

	.clients-container-new {
		padding: 0 20px;
	}

	.clients-logos-container {
		padding: 0 20px;
	}

	.clients-logos-heading {
		font-size: 28px;
	}

	.clients-logos-intro {
		font-size: 16px;
	}

	.law-firms-accordion-container {
		padding: 0 20px;
	}

	.law-firms-accordion-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.law-firms-accordion-section {
		padding: 60px 0;
	}

	.council-names-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 12px;
	}

	.council-name-item {
		padding: 15px 10px;
		font-size: 13px;
	}

	.clients-content-wrapper {
		flex-direction: column;
		gap: 40px;
	}

	.clients-content-left {
		flex: 1;
	}

	.clients-logos-right {
		width: 100%;
	}

	.clients-logos-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	
	.about-blocks-container {
		grid-template-columns: 1fr;
		padding: 0 30px;
	}
	
	.about-block {
		padding: 40px 30px !important;
	}
}

/* ============================================
   TESTIMONIALS SECTION (NEW)
   ============================================ */
.testimonials-section-new {
	padding: 112px 0;
	background: #EBEBEB;
}

.testimonials-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.testimonials-heading {
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 60px;
	line-height: 1.2;
	text-align: left;
}

.entry-content .testimonials-heading {
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 60px;
	margin-top: 60px;
	line-height: 1.2;
	text-align: left;
}

/* Testimonials Static Grid - No Slider */
.testimonials-grid-static {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.testimonials-grid-static .testimonial-card-new {
	background: #212327;
	border-radius: 0;
	padding: 40px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 15px;
}

.testimonials-grid-static .testimonial-avatar {
	flex-shrink: 0;
}

.testimonials-grid-static .testimonial-avatar-image {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
}

.testimonials-grid-static .testimonial-content {
	flex: 1;
}

.testimonials-grid-static .testimonial-text {
	font-size: 15px;
	line-height: 1.7;
	color: #ffffff;
	margin: 0 0 20px 0;
	font-style: normal;
}

.testimonials-grid-static .testimonial-author {
	font-size: 14px;
	font-weight: 600;
	color: #ffffff;
	margin: 0;
}

@media (max-width: 992px) {
	.testimonials-grid-static {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

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

	.testimonials-grid-static .testimonial-card-new {
		padding: 25px 20px;
	}
}

/* Testimonials Controls Wrapper - Left Side */
.testimonials-controls-wrapper {
	margin-top: 40px;
	margin-bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.testimonials-nav-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

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

.testimonials-track {
	display: flex;
	gap: 30px;
	overflow-x: hidden;
	scroll-behavior: smooth;
	width: 100%;
}

.testimonial-card-new {
	flex: 0 0 calc(33.333% - 20px);
	min-width: 0;
	background: #212327;
	padding: 40px;
	border-radius: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: relative;
}

.testimonial-avatar {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
}

.testimonial-avatar-image {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 50%;
	background: #ff6b35;
}

.testimonial-author-name {
	margin: 0 0 15px 0;
	font-size: 14px;
	font-weight: 600;
	color: #ffffff;
	text-align: left;
	line-height: 1.3;
}

.testimonial-content {
	flex: 1;
}

.testimonial-text {
	margin: 0;
	padding: 0;
	border: none;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.8;
	font-style: normal;
	font-family: "Poppins", sans-serif;
}

.testimonial-text p {
	margin: 0;
	color: #ffffff;
}

.testimonials-nav-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #212327;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	transition: background 0.3s ease;
	flex-shrink: 0;
}

.testimonials-nav-btn:hover {
	background: #ff6b35;
}

.testimonials-nav-btn:active {
	opacity: 0.8;
}

.testimonials-nav-btn svg {
	width: 18px;
	height: 18px;
}

.testimonials-arrows-container {
	display: flex;
	align-items: center;
	gap: 10px;
}

.testimonials-pagination {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
}

.testimonial-dot {
	width: 50px;
	height: 2px;
	background: #d0d0d0;
	border: none;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}

.testimonial-dot.active {
	background: #d0d0d0;
}

.testimonial-dot.active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #ff6b35;
	animation: testimonialDotProgress 4s linear forwards;
}

@keyframes testimonialDotProgress {
	from {
		width: 0%;
	}
	to {
		width: 100%;
	}
}

/* ============================================
   TESTIMONIALS MARQUEE SLIDER
   ============================================ */
.testimonials-marquee-wrapper {
	width: 100%;
	overflow: hidden;
	position: relative;
	mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
}

.testimonials-marquee-track {
	display: flex;
	gap: 30px;
	width: fit-content;
	animation: testimonials-marquee 60s linear infinite;
	will-change: transform;
}

.testimonials-marquee-wrapper:hover .testimonials-marquee-track {
	animation-play-state: paused;
}

.testimonial-marquee-item {
	flex: 0 0 auto;
	width: 400px;
	background: #ffffff;
	padding: 40px;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.testimonial-marquee-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.testimonial-marquee-quote {
	color: #212327;
	font-size: 16px;
	line-height: 1.8;
	font-style: italic;
}

.testimonial-marquee-quote p {
	margin: 0;
	color: #212327;
	font-style: italic;
}

.testimonial-marquee-author {
	color: #ff6b35;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.testimonial-marquee-author strong {
	color: #ff6b35;
	font-weight: 600;
}

@keyframes testimonials-marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 1024px) {
	.testimonial-marquee-item {
		width: 350px;
		padding: 30px;
	}
	
	.testimonials-marquee-track {
		gap: 20px;
		animation-duration: 50s;
	}
}

@media (max-width: 768px) {
	.testimonial-marquee-item {
		width: 300px;
		padding: 25px;
	}
	
	.testimonials-marquee-track {
		gap: 15px;
		animation-duration: 40s;
	}
	
	/* Help section padded - stack on mobile only */
	.help-section-split-container {
		display: flex !important;
		flex-direction: column !important;
		gap: 30px !important;
	}

	/* "How We Can Help You" section - image on top, text below on mobile */
	.help-section-padded:first-of-type .help-section-image-side {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-shrink: 0 !important;
	}
	
	.help-section-padded:first-of-type .help-section-content-side {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-shrink: 0 !important;
	}
	
	/* "Ready to Uncover the Truth" section - text on top, image below on mobile */
	.ready-uncover-section .help-section-split-container {
		display: flex !important;
		flex-direction: column !important;
	}

	.ready-uncover-section .help-section-content-side {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-shrink: 0 !important;
	}

	.ready-uncover-section .help-section-image-side {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-shrink: 0 !important;
		margin-top: 40px !important;
	}

	.help-section-content-side {
		width: 100%;
	}

	.help-section-image-side {
		width: 100% !important;
		overflow: visible !important;
		margin-top: 30px !important;
	}
	
	.help-section-image-side .help-section-image {
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		object-fit: cover !important;
		object-position: center !important;
		display: block !important;
		overflow: visible !important;
		position: relative !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	/* Team locations - single column on mobile */
	.team-locations-ul-new {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		display: grid !important;
	}
	
	.team-location-item-new {
		width: 100% !important;
	}
	
	.team-location-item-new a {
		width: 100%;
		display: flex;
		align-items: center;
	}
	
	.help-section-image-side {
		width: 100% !important;
		max-width: 100% !important;
		max-height: none !important;
		padding: 0 !important;
		margin: 0 !important;
		display: block;
		min-height: 300px;
	}
	
	.help-section-image {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		min-height: 300px;
		object-fit: cover;
		object-position: center;
		display: block;
	}
	
	.testimonial-marquee-quote {
		font-size: 14px;
	}
}

@media (max-width: 1024px) {
	.testimonials-container-new {
		padding: 0 20px;
	}
	
	.testimonial-card-new {
		flex: 0 0 calc(50% - 15px);
	}
	
	/* Sydney Pedigree section - reverse order on tablet/mobile: content first, image last */
	.sydney-pedigree-section-mobile .help-section-split-container {
		flex-direction: column !important;
		display: flex !important;
		gap: 20px !important;
		width: 100% !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-content-side {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		display: flex !important;
		align-items: flex-start !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-image-side {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		display: block !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
		margin-top: 20px !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-image-side .help-section-image {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		min-height: 300px;
		object-fit: cover;
		display: block !important;
	}

	/* How We Can Help section - add margin-top on mobile for gap between content and image */
	.how-we-can-help-section-mobile .help-section-image-side {
		margin-top: 40px !important;
	}

	/* Sydney Top Investigators section - add margin-top on mobile for gap between content and image */
	.sydney-top-investigators-section-mobile .help-section-image-side {
		margin-top: 40px !important;
	}
}

@media (max-width: 768px) {
	/* Remove whitespace below hero slider on mobile */
	.hero-slider-new {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	/* Mobile hero - stacked layout with overlap */
	.hero-section-new {
		flex-direction: column !important;
		height: auto !important;
		min-height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		position: relative !important;
		padding-bottom: 0 !important;
	}

	/* Image takes most of the hero area */
	.hero-section-new .hero-right {
		order: 1 !important;
		width: 100% !important;
		height: 350px !important;
		min-height: 350px !important;
		padding: 0 !important;
		position: relative !important;
		z-index: 1 !important;
	}

	/* Text content area - dark background below image */
	.hero-section-new .hero-left {
		order: 2 !important;
		width: 100% !important;
		height: auto !important;
		padding: 0 20px 0 20px !important;
		display: block !important;
		position: relative !important;
		z-index: 100 !important;
		margin-top: 0 !important;
		background: #212327 !important;
		background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px) !important;
		background-size: 20px 20px !important;
	}

	/* Content box - overlaps onto the image above */
	.hero-section-new .hero-content-new {
		position: relative !important;
		text-align: left !important;
		background: #212327 !important;
		background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px) !important;
		background-size: 20px 20px !important;
		padding: 25px 20px !important;
		width: 100% !important;
		box-shadow: none !important;
		margin-top: -80px !important;
		margin-bottom: 0 !important;
		z-index: 101 !important;
		display: flex !important;
		flex-direction: column !important;
	}

	/* Container for text slides - use grid to stack slides and match tallest height */
	.hero-section-new .hero-content-new {
		position: relative !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	/* Stack all text slides in same grid cell so container matches tallest */
	.hero-section-new .hero-text-slide {
		grid-row: 1 !important;
		grid-column: 1 !important;
		position: relative !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}

	.hero-section-new .hero-text-slide.active {
		visibility: visible !important;
		opacity: 1 !important;
		transform: translateY(0) !important;
	}

	.hero-section-new .hero-heading {
		font-size: 24px !important;
		line-height: 1.3 !important;
		margin: 0 0 6px 0 !important;
		text-align: left !important;
	}

	.hero-section-new .hero-subtitle {
		font-size: 14px !important;
		line-height: 1.5 !important;
		margin: 0 0 16px 0 !important;
		text-align: left !important;
		color: rgba(255, 255, 255, 0.75) !important;
	}

	.hero-section-new .hero-article-title {
		font-size: 18px !important;
		line-height: 1.4 !important;
		margin-top: 8px !important;
	}

	.hero-section-new .hero-excerpt-text {
		font-size: 13px !important;
		line-height: 1.5 !important;
		margin-top: 10px !important;
		margin-bottom: 20px !important;
	}

	/* Blog Page Hero Mobile - Full width since no form */
	.blog-page-hero .hero-left,
	.blog-page-hero .hero-right {
		width: 100% !important;
	}

	.hero-section-new .hero-subtitle .hero-tagline {
		font-size: 12px !important;
		letter-spacing: 2px !important;
		margin-bottom: 10px !important;
	}

	.hero-section-new .hero-subtitle .hero-trust-badges {
		gap: 0 !important;
	}

	.hero-section-new .hero-subtitle .trust-badge {
		font-size: 11px !important;
		padding: 0 10px !important;
	}

	.hero-section-new .hero-subtitle .trust-divider {
		height: 14px !important;
	}

	.hero-section-new .hero-subtitle .hero-services-list {
		flex-direction: column !important;
		gap: 6px !important;
		margin-top: 15px !important;
	}

	.hero-section-new .hero-subtitle .hero-services-list .hero-service-item {
		font-size: 13px !important;
		padding-left: 16px !important;
	}

	.hero-section-new .hero-subtitle .hero-services-list .hero-service-item::before {
		width: 6px !important;
		height: 6px !important;
	}

	.hero-section-new .hero-subtitle .hero-contact-info {
		flex-direction: column !important;
		gap: 8px !important;
	}

	.hero-section-new .hero-subtitle .hero-contact-info a {
		font-size: 13px !important;
		padding: 10px 16px !important;
		justify-content: center !important;
		width: 100% !important;
	}

	.hero-section-new .hero-cta-button {
		display: inline-block !important;
		padding: 12px 28px !important;
		font-size: 13px !important;
		position: relative !important;
		z-index: 10 !important;
		margin-top: 15px !important;
	}

	/* Ensure button stays outside text slides - row 2 */
	.hero-section-new .hero-content-new > .hero-cta-button {
		grid-row: 2 !important;
		position: relative !important;
		display: block !important;
		width: fit-content !important;
		margin-top: 15px !important;
	}

	/* Dots below content on mobile - row 3 */
	.hero-section-new .slider-controls-new {
		grid-row: 3 !important;
		position: relative !important;
		bottom: auto !important;
		left: auto !important;
		transform: none !important;
		display: flex !important;
		justify-content: stretch !important;
		gap: 8px !important;
		margin-top: 20px !important;
		padding: 0 !important;
		width: 100% !important;
	}

	.slider-dot-new {
		display: inline-block !important;
		flex: 1 !important;
		width: auto !important;
		height: 3px !important;
		margin: 0 !important;
		background: rgba(255, 255, 255, 0.3) !important;
		border-radius: 0 !important;
		cursor: pointer !important;
	}

	/* Service page hero with form - mobile adjustments */
	.hero-section-new.service-page-hero {
		display: flex !important;
		flex-direction: column !important;
	}

	.hero-section-new.service-page-hero .hero-right {
		order: 1 !important;
	}

	.hero-section-new.service-page-hero .hero-left {
		order: 2 !important;
	}

	.hero-section-new.service-page-hero .hero-form-overlay {
		position: relative !important;
		top: auto !important;
		width: 100% !important;
		order: 3 !important;
		padding: 0 20px 30px 20px !important;
		background: #212327 !important;
		background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px) !important;
		background-size: 20px 20px !important;
	}

	.hero-section-new.service-page-hero .hero-form-container {
		width: 100% !important;
		max-width: 100% !important;
		background: rgba(255, 255, 255, 0.05) !important;
		border: 1px solid rgba(255, 255, 255, 0.1) !important;
		border-radius: 8px !important;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
		padding: 25px !important;
	}

	/* Services carousel section mobile padding */
	.services-carousel-section {
		padding-top: 40px !important;
		margin-top: 0 !important;
	}
	
	/* Container padding adjustments */
	.container,
	.container-full-width {
		padding: 0 20px;
	}
	
	/* Override container padding inside locations-intro-section */
	/* Digital Forensics Services Grid - Plain Text Style - 4 columns on desktop */
.digital-forensics-services-grid-plain {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 30px !important;
	margin: 40px 0 !important;
	width: 100% !important;
	grid-auto-flow: row !important;
	grid-auto-rows: 1fr !important;
}

@media (min-width: 1025px) {
	.digital-forensics-services-grid-plain {
		grid-template-columns: repeat(4, 1fr) !important;
		display: grid !important;
		grid-auto-flow: row !important;
		grid-template-rows: 1fr !important;
		grid-auto-rows: 1fr !important;
	}
	
	.digital-forensics-service-block {
		grid-column: span 1 !important;
		grid-row: 1 !important;
		display: flex !important;
		flex-direction: column !important;
	}
}

.digital-forensics-service-block {
	display: flex !important;
	flex-direction: column;
	padding: 0;
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.service-block-title {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #212327;
	margin: 0 0 12px 0;
	line-height: 1.3;
}

.service-block-description {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	color: #666;
	line-height: 1.7;
	margin: 0;
}

@media (max-width: 1024px) {
	.digital-forensics-services-grid-plain {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
}

@media (max-width: 768px) {
	.digital-forensics-services-grid-plain {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	
	.service-block-title {
		font-size: 17px;
		margin-bottom: 10px;
	}
	
	.service-block-description {
		font-size: 14px;
	}
}

.locations-intro-section .container {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Reduce white space in about sections on mobile */
	.about-section-new,
	.location-about-section {
		padding: 0 0 20px 0 !important;
		margin: 0 !important;
	}
	
	.location-about-section .about-top-section {
		padding: 40px 0 20px 0 !important;
		margin: 0 !important;
	}

	.about-top-section {
		padding: 40px 0 20px 0 !important;
		margin: 0 !important;
	}

	.about-top-container {
		gap: 15px !important;
		margin: 0 !important;
	}
	
	/* Contact Us page - consistent margins on mobile (like clients section) */
	body.page-template-page-contact-us {
		overflow-x: hidden !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.page-template-page-contact-us .about-section-new {
		overflow-x: hidden !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.page-template-page-contact-us .about-top-container,
	.page-template-page-contact-us .about-cta-container,
	.page-template-page-contact-us .about-blocks-container {
		max-width: 1400px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		width: 100% !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}
	
	.page-template-page-contact-us .hero-slide-new .hero-left {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	
	.page-template-page-contact-us .hero-form-container {
		margin-left: 20px !important;
		margin-right: 20px !important;
	}
	
	.page-template-page-contact-us .about-cta-left,
	.page-template-page-contact-us .about-cta-right,
	.page-template-page-contact-us .about-top-left,
	.page-template-page-contact-us .about-top-right {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	
	/* Ensure form and content stay within containers */
	.page-template-page-contact-us .about-cta-section {
		overflow-x: hidden !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.page-template-page-contact-us .about-cta-contact-box {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}
	
	.page-template-page-contact-us .about-cta-form,
	.page-template-page-contact-us .about-cta-right .wpcf7,
	.page-template-page-contact-us .about-cta-right .wpcf7-form {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}
	
	.page-template-page-contact-us .about-cta-right .wpcf7-form input,
	.page-template-page-contact-us .about-cta-right .wpcf7-form textarea,
	.page-template-page-contact-us .about-cta-right .wpcf7-form select {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	
	.page-template-page-contact-us .locations-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	.page-template-page-contact-us .location-card {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.about-main-heading {
		margin-top: 0 !important;
		margin-bottom: 15px !important;
	}
	
	/* Prevent content from being covered by browser bars */
	body {
		padding-bottom: 80px;
	}
	
	main#main {
		padding-bottom: 60px;
	}
	
	/* Hero form overlay - mobile adjustments */
	.hero-form-overlay {
		position: static !important;
		background: transparent !important;
		padding: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 10 !important;
		width: 100% !important;
		height: auto !important;
		min-height: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}
	
	.hero-form-container {
		position: static !important;
		max-width: 100% !important;
		width: 100% !important;
		min-width: 100% !important;
		padding: 20px !important;
		margin: 0 !important;
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
		background: #ffffff !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		min-height: 200px !important;
		box-sizing: border-box !important;
	}
	
	.hero-form-container .wpcf7-form {
		grid-template-columns: 1fr !important;
		display: grid !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	.hero-form-container .wpcf7-form * {
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	/* Hide the dark overlay on mobile so form is visible */
	.location-hero .hero-slide-new .hero-right::before {
		display: none !important;
	}
	
	.hero-slide-new .hero-right .hero-form-overlay {
		order: 2 !important;
		position: relative !important;
		width: 100% !important;
		height: auto !important;
		min-height: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding: 20px !important;
		box-sizing: border-box !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 10 !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		background: transparent !important;
	}
	
	.hero-slide-new .hero-right .hero-form-overlay .hero-form-container {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 11 !important;
	}
	
	.testimonials-section-new {
		padding: 80px 0;
	}
	
	.testimonials-container-new {
		padding: 0 20px !important;
		width: 100%;
		max-width: 100%;
	}
	
	.testimonials-heading {
		font-size: 32px;
		margin-bottom: 40px;
	}
	
	.testimonial-card-new {
		flex: 0 0 100% !important;
		width: 100% !important;
		min-width: 100% !important;
		padding: 30px 20px;
		margin: 0;
	}
	
	.testimonials-controls-wrapper {
		margin-bottom: 25px;
		padding: 0 20px;
		justify-content: flex-start;
	}
	
	.testimonials-nav-controls {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 15px;
		width: 100%;
		box-sizing: border-box;
	}
	
	.testimonials-carousel-wrapper {
		gap: 10px;
		padding: 0;
		margin: 0;
		width: 100%;
	}
	
	.testimonials-track {
		width: 100% !important;
		padding: 0;
		margin: 0;
	}
	
	.testimonials-pagination {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		max-width: calc(100% - 110px);
	}

	.testimonials-nav-btn {
		width: 44px;
		height: 44px;
		flex-shrink: 0;
	}

	.testimonials-arrows-container {
		display: flex;
		gap: 8px;
		flex-shrink: 0;
	}

	.testimonial-dot {
		width: 28px;
		height: 3px;
		flex-shrink: 0;
	}
	
	/* Marquee testimonials - full width on mobile */
	.testimonials-marquee-wrapper {
		width: 100%;
		padding: 0 20px;
	}
	
	.testimonial-marquee-item {
		width: calc(100vw - 40px) !important;
		max-width: 100%;
	}
	
	/* Client logos - vertical grid on mobile, no horizontal scroll */
	.clients-logos-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
		width: 100% !important;
		display: grid !important;
	}
	
	.clients-logos-right {
		width: 100% !important;
		overflow: visible !important;
	}
	
	.client-logo-item {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Law firms accordion - single column on mobile */
	.law-firms-accordion-grid {
		grid-template-columns: 1fr !important;
		gap: 15px;
	}

	.accordion-header {
		padding: 12px 15px;
	}

	.accordion-letter {
		font-size: 16px;
	}

	/* Council names grid - 2 columns on mobile */
	.council-names-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px;
	}

	.council-name-item {
		padding: 12px 8px;
		font-size: 12px;
	}

	/* Services carousel - full width */
	.services-carousel-wrapper {
		width: 100% !important;
		padding: 0 20px;
	}
	
	.service-card {
		width: 100% !important;
		min-width: 100% !important;
	}
	
	.new-header .header-content {
		padding: 15px 20px;
	}
	
	/* Fix hamburger menu alignment on mobile */
	.new-header .header-nav {
		flex: 0;
		justify-content: flex-end;
		margin-left: auto;
	}
	
	.mobile-menu-toggle {
		display: block !important;
		cursor: pointer;
		z-index: 1001;
		align-self: center;
		padding: 5px;
		line-height: 1;
	}
	
	/* Hide desktop menu on mobile */
	.new-header .header-menu {
		display: none !important;
	}
	
	/* Full-Screen Mobile Menu Overlay - Show on mobile */
	.mobile-menu-overlay {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0, 0, 0, 0.95);
		z-index: 9998;
		opacity: 0;
		visibility: hidden;
		transform: translateX(100%);
		transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	.mobile-menu-overlay.active {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}
	
	.mobile-menu-content {
		position: relative;
		width: 100%;
		min-height: 100vh;
		background: #1a1a1a;
		padding: 80px 20px 40px;
		box-sizing: border-box;
	}
	
	.mobile-menu-close {
		position: absolute;
		top: 20px;
		right: 20px;
		background: transparent;
		border: none;
		color: #ffffff;
		font-size: 28px;
		cursor: pointer;
		padding: 10px;
		z-index: 10000;
		transition: color 0.3s ease;
		line-height: 1;
	}
	
	.mobile-menu-close:hover,
	.mobile-menu-close:focus {
		color: #ff6b35;
		outline: none;
	}
	
	.mobile-menu-nav {
		width: 100%;
	}
	
	.mobile-header-menu {
		list-style: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}
	
	.mobile-menu-item {
		width: 100%;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	
	.mobile-menu-item:last-child {
		border-bottom: none;
	}
	
	.mobile-menu-item > a,
	.mobile-menu-link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 18px 0;
		color: #ffffff;
		text-decoration: none;
		text-transform: uppercase;
		font-weight: 400;
		font-size: 16px;
		letter-spacing: 0.5px;
		width: 100%;
		transition: color 0.3s ease;
	}
	
	.mobile-menu-item > a:hover,
	.mobile-menu-link:hover {
		color: #ff6b35;
	}
	
	.mobile-menu-arrow {
		font-size: 14px;
		transition: transform 0.3s ease;
		margin-left: 10px;
	}
	
	.mobile-menu-item-has-children.expanded > .mobile-menu-link > .mobile-menu-arrow {
		transform: rotate(90deg);
	}
	
	.mobile-sub-menu {
		list-style: none;
		margin: 0;
		padding: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s ease, padding 0.4s ease;
		background: rgba(0, 0, 0, 0.3);
	}
	
	.mobile-menu-item-has-children.expanded > .mobile-sub-menu {
		max-height: 2000px;
		padding: 10px 0;
	}
	
	.mobile-sub-menu .mobile-menu-item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.05);
		padding-left: 20px;
	}
	
	.mobile-sub-menu .mobile-menu-item > a {
		font-size: 14px;
		padding: 14px 0;
	}
	
	.mobile-sub-menu .mobile-sub-menu {
		padding-left: 20px;
		background: rgba(0, 0, 0, 0.2);
	}
	
	.mobile-sub-menu .mobile-sub-menu .mobile-menu-item > a {
		font-size: 13px;
		padding: 12px 0;
	}
	
	/* Support for WordPress menu classes in mobile overlay */
	.mobile-menu-overlay .menu-item,
	.mobile-menu-overlay .mobile-menu-item {
		width: 100%;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	
	.mobile-menu-overlay .menu-item:last-child,
	.mobile-menu-overlay .mobile-menu-item:last-child {
		border-bottom: none;
	}
	
	.mobile-menu-overlay .menu-item > a,
	.mobile-menu-overlay .mobile-menu-item > a,
	.mobile-menu-overlay .mobile-menu-link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 18px 0;
		color: #ffffff;
		text-decoration: none;
		text-transform: uppercase;
		font-weight: 400;
		font-size: 16px;
		letter-spacing: 0.5px;
		width: 100%;
		transition: color 0.3s ease;
	}
	
	.mobile-menu-overlay .menu-item > a:hover,
	.mobile-menu-overlay .mobile-menu-item > a:hover,
	.mobile-menu-overlay .mobile-menu-link:hover {
		color: #ff6b35;
	}
	
	.mobile-menu-overlay .menu-item-has-children > a .dropdown-arrow,
	.mobile-menu-overlay .has-dropdown > a .dropdown-arrow {
		transform: rotate(-90deg);
		transition: transform 0.3s ease;
		margin-left: 10px;
		font-size: 14px;
	}
	
	.mobile-menu-overlay .menu-item-has-children.expanded > a .dropdown-arrow,
	.mobile-menu-overlay .has-dropdown.expanded > a .dropdown-arrow,
	.mobile-menu-overlay .mobile-menu-item-has-children.expanded > .mobile-menu-link > .mobile-menu-arrow {
		transform: rotate(90deg);
	}
	
	.mobile-menu-overlay .sub-menu {
		list-style: none;
		margin: 0;
		padding: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s ease, padding 0.4s ease;
		background: rgba(0, 0, 0, 0.3);
	}
	
	.mobile-menu-overlay .menu-item-has-children.expanded > .sub-menu,
	.mobile-menu-overlay .has-dropdown.expanded > .sub-menu,
	.mobile-menu-overlay .mobile-menu-item-has-children.expanded > .mobile-sub-menu {
		max-height: 2000px;
		padding: 10px 0;
	}
	
	.mobile-menu-overlay .sub-menu .menu-item,
	.mobile-menu-overlay .sub-menu .mobile-menu-item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.05);
		padding-left: 20px;
	}
	
	.mobile-menu-overlay .sub-menu .menu-item > a,
	.mobile-menu-overlay .sub-menu .mobile-menu-item > a {
		font-size: 14px;
		padding: 14px 0;
	}
	
	.mobile-menu-overlay .sub-menu .sub-menu {
		padding-left: 20px;
		background: rgba(0, 0, 0, 0.2);
	}
	
	.mobile-menu-overlay .sub-menu .sub-menu .menu-item > a,
	.mobile-menu-overlay .sub-menu .sub-menu .mobile-menu-item > a {
		font-size: 13px;
		padding: 12px 0;
	}
	
	/* Prevent body scroll when menu is open */
	body.mobile-menu-open {
		overflow: hidden;
		position: fixed;
		width: 100%;
	}
	
	/* Hide desktop CTA button on mobile */
	.new-header .header-cta {
		display: none !important;
	}
	
}

.trusted-content-side {
		padding: 60px var(--container-padding) 40px 40px;
	}

	.trusted-image-side {
		min-height: auto;
		height: auto;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
		padding: 0;
	}
	
	/* Help section padded - responsive (keep 2 columns on tablets) */
	.help-section-padded {
		padding: 40px 0;
	}
	
	.help-section-padded-container {
		padding: 0 20px !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.help-section-content-side {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.help-section-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box;
	}
	
	.help-section-split-container {
		width: 100%;
	}
	
	.help-section-heading-new {
		font-size: 32px;
		width: 100%;
	}
	
	.help-section-text-new {
		width: 100%;
		box-sizing: border-box;
	}

	.help-section-text-new {
		font-size: 16px;
	}
	
	.team-locations-ul-new {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	
	/* Leadership section responsive - ensure full width on tablet/mobile */
	.leadership-section .help-section-padded-container {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 30px !important;
		box-sizing: border-box;
		margin: 0 !important;
	}
	
	.leadership-section .help-section-split-container {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box;
		flex-direction: column !important;
	}
	
	.leadership-section .leadership-left-side {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
	}
	
	.leadership-heading {
		font-size: 24px;
	}
	
	.leadership-section .leadership-content-side {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		padding: 0;
	}
	
	.leadership-text {
		font-size: 13px;
	}
	
	.trusted-heading {
		font-size: 22px;
	}
	
	.trusted-text {
		font-size: 16px;
	}

	.trusted-additional-content-side {
		padding: 40px 40px 40px var(--container-padding);
	}
	
	.trusted-additional-image-side {
		min-height: auto;
		height: auto;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
		padding: 0;
	}
	
	.trusted-additional-heading {
		font-size: 22px;
	}
	
	.trusted-additional-text {
		font-size: 16px;
	}
	
	/* Container padding for mobile */
	.container,
	.container-full-width {
		padding: 0 20px;
	}
	
	/* Online Harassment page - ensure both sections have same margins on mobile */
	.page-template-page-online-harassment .online-harassment-container {
		max-width: 1400px;
		margin: 0 auto;
		padding: 0 40px;
		width: 100%;
	}
	
	.page-template-page-online-harassment .about-section-new .container,
	.page-template-page-online-harassment .location-content-section .container {
		padding-left: 20px !important;
		padding-right: 20px !important;
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	
	.page-template-page-online-harassment .location-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.page-template-page-online-harassment .location-content-section {
		overflow-x: hidden !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* About CTA section mobile */
	.about-cta-container {
		padding: 0 20px !important;
	}
	
	.about-cta-left,
	.about-cta-right {
		width: 100% !important;
	}
	
	/* Help section mobile */
	.help-section-container {
		padding: 0 20px;
	}
	
	.help-section-heading {
		font-size: 32px;
	}
	
	.help-section-text {
		font-size: 16px;
	}
	
	.help-section-content {
		padding: 60px 0;
	}
	
	/* Trusted sections mobile padding */
	.trusted-additional-container {
		padding: 0 30px !important;
		max-width: 100% !important;
	}
	
	.trusted-split-container,
	.trusted-additional-split-container {
		padding: 0;
	}
	
	.trusted-image-side {
		padding: 0 !important;
	}
	
	.trusted-content-side,
	.trusted-additional-content-side {
		padding: 60px var(--container-padding);
	}
	
	/* Services carousel mobile */
	.services-carousel-wrapper {
		padding: 0 20px;
	}
	
	/* Contact form mobile */
	.wpcf7-form,
	.contact-form-wrapper {
		padding: 0;
	}
	
	.wpcf7-form input[type="text"],
	.wpcf7-form input[type="email"],
	.wpcf7-form input[type="tel"],
	.wpcf7-form textarea,
	.wpcf7-form select {
		width: 100%;
		font-size: 16px; /* Prevents zoom on iOS */
	}
}

@media (max-width: 480px) {
	/* Extra small mobile devices */
	.container,
	.container-full-width {
		padding: 0 20px !important;
	}
	
	/* Online Harassment page - ensure both sections have same margins on extra small devices */
	.page-template-page-online-harassment .about-section-new .container,
	.page-template-page-online-harassment .location-content-section .container {
		padding-left: 15px !important;
		padding-right: 15px !important;
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	
	.page-template-page-online-harassment .location-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.page-template-page-online-harassment .location-content-section {
		overflow-x: hidden !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* Contact Us page - consistent margins on extra small devices (like clients section) */
	body.page-template-page-contact-us {
		overflow-x: hidden !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.page-template-page-contact-us .about-section-new {
		overflow-x: hidden !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.page-template-page-contact-us .about-top-container,
	.page-template-page-contact-us .about-cta-container,
	.page-template-page-contact-us .about-blocks-container {
		max-width: 1400px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
		width: 100% !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}
	
	.page-template-page-contact-us .hero-slide-new .hero-left {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	
	.page-template-page-contact-us .hero-form-container {
		margin-left: 15px !important;
		margin-right: 15px !important;
	}
	
	.page-template-page-contact-us .about-cta-left,
	.page-template-page-contact-us .about-cta-right,
	.page-template-page-contact-us .about-top-left,
	.page-template-page-contact-us .about-top-right {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	
	/* Ensure form and content stay within containers on extra small devices */
	.page-template-page-contact-us .about-cta-section {
		overflow-x: hidden !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.page-template-page-contact-us .about-cta-contact-box {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}
	
	.page-template-page-contact-us .about-cta-form,
	.page-template-page-contact-us .about-cta-right .wpcf7,
	.page-template-page-contact-us .about-cta-right .wpcf7-form {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}
	
	.page-template-page-contact-us .about-cta-right .wpcf7-form input,
	.page-template-page-contact-us .about-cta-right .wpcf7-form textarea,
	.page-template-page-contact-us .about-cta-right .wpcf7-form select {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	
	.page-template-page-contact-us .locations-grid {
		grid-template-columns: 1fr !important;
		gap: 15px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	.page-template-page-contact-us .location-card {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	body {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	.stats-grid-new {
		gap: 20px;
	}

	.stat-box-new {
		flex-direction: row;
		align-items: flex-start;
		width: 100%;
		min-height: auto;
		gap: 15px;
		padding: 15px;
		text-align: left;
	}

	.stat-icon-wrapper {
		width: 40px;
		height: 40px;
		min-width: 40px;
		padding: 0;
		flex-shrink: 0;
	}

	.stat-icon-image {
		width: 100%;
		height: 100%;
	}

	.stat-text-new {
		font-size: 13px;
		line-height: 1.5;
		letter-spacing: 0.2px;
		text-align: left;
	}

	.stats-container-new {
		padding: 0 20px;
	}

	.hero-content-new .hero-heading {
		font-size: 24px;
	}
	
	.hero-content-new .hero-subtitle {
		font-size: 14px;
	}
	
	/* Testimonials - full width */
	.testimonials-container-new {
		padding: 0 20px !important;
	}

	.testimonial-card-new {
		padding: 25px 15px !important;
	}

	.testimonials-nav-controls {
		gap: 10px;
	}

	.testimonials-pagination {
		gap: 4px;
		max-width: calc(100% - 100px);
	}

	.testimonial-dot {
		width: 20px;
		height: 3px;
	}

	.testimonials-arrows-container {
		gap: 6px;
	}

	.testimonials-nav-btn {
		width: 40px;
		height: 40px;
	}

	.testimonials-nav-btn svg {
		width: 16px;
		height: 16px;
	}

	/* Client logos - 2 columns on very small screens */
	.clients-logos-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 15px !important;
	}
	
	.client-logo-item {
		height: 100px;
		padding: 15px;
	}
	
	/* Services carousel - full width */
	.services-carousel-wrapper {
		padding: 0 20px !important;
	}
	
	.service-card-carousel {
		width: 100% !important;
		min-width: 100% !important;
	}
	
	/* Grid sections - ensure full width */
	.surveillance-grid-container {
		padding: 0 20px !important;
	}
	
	.additional-services-grid {
		padding: 0 20px !important;
	}
	
	/* About sections */
	.about-cta-container {
		padding: 0 20px !important;
	}
	
	.help-section-container {
		padding: 0 20px !important;
	}
	
	.trusted-additional-container {
		padding: 0 20px !important;
		max-width: 100% !important;
	}
	
	.trusted-split-container,
	.trusted-additional-split-container {
		padding: 0 !important;
	}
	
	.trusted-content-side,
	.trusted-additional-content-side {
		padding: 60px var(--container-padding) !important;
	}
	
	/* Help section padded - mobile - reduce spacing between sections */
	.help-section-padded {
		padding: 30px 0;
	}
	
	/* Remove bottom padding from last section before footer on mobile - use all possible selectors */
	main > section.help-section-padded:last-child,
	main section.help-section-padded:last-of-type,
	.help-section-padded:last-of-type,
	main > section:last-of-type.help-section-padded,
	section.help-section-padded:last-child,
	section:last-of-type.help-section-padded {
		padding-top: 30px !important;
		padding-bottom: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 0 !important;
	}
	
	.help-section-padded-container {
		padding: 0 20px !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.help-section-content-side {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.help-section-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box;
	}
	
	.help-section-split-container {
		gap: 30px;
		width: 100%;
	}

	.help-section-image-side {
		width: 100% !important;
		max-width: 100% !important;
		max-height: none !important;
		padding: 0 !important;
		margin: 0 !important;
		display: block;
		min-height: 300px;
	}
	
	.help-section-image {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		min-height: 300px;
		object-fit: cover;
		object-position: center;
		display: block;
	}
	
	.help-section-heading-new {
		font-size: 24px;
		margin-bottom: 15px;
		width: 100%;
	}
	
	.help-section-text-new {
		font-size: 16px;
		margin-bottom: 20px;
		width: 100%;
		box-sizing: border-box;
	}
	
	.help-section-cta-button-new {
		width: auto;
		display: inline-block;
	}
	
	.help-section-cta-button-new {
		padding: 12px 30px;
		font-size: 14px;
	}
	
	.team-locations-ul-new {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		display: grid !important;
	}
	
	.team-location-item-new {
		width: 100% !important;
	}
	
	.team-location-item-new a {
		font-size: 14px;
		width: 100%;
		display: flex;
		align-items: center;
	}
	
	/* Team section on mobile - text first, then image below */
	.team-section-mobile .help-section-split-container {
		flex-direction: column !important;
		gap: 20px !important;
		width: 100% !important;
	}
	
	.team-section-mobile .help-section-content-side {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		display: flex !important;
		align-items: flex-start !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.team-section-mobile .help-section-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
	
	.team-section-mobile .help-section-image-side {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		display: block !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.team-section-mobile .help-section-image {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		display: block !important;
		object-fit: cover !important;
		border-radius: 4px !important;
	}
	
	/* Sydney Pedigree section - reverse order on mobile: content first, image last */
	.sydney-pedigree-section-mobile .help-section-split-container {
		flex-direction: column !important;
		display: flex !important;
		gap: 20px !important;
		width: 100% !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-content-side {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		display: flex !important;
		align-items: flex-start !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-image-side {
		order: 2 !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		display: block !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
		margin-top: 20px !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-image-side .help-section-image {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		min-height: 300px;
		object-fit: cover;
		display: block !important;
	}

	/* How We Can Help section - add margin-top on mobile for gap between content and image */
	.how-we-can-help-section-mobile .help-section-image-side {
		margin-top: 40px !important;
	}

	/* Sydney Top Investigators section - add margin-top on mobile for gap between content and image */
	.sydney-top-investigators-section-mobile .help-section-image-side {
		margin-top: 40px !important;
	}

	/* Ready to Uncover the Truth section - text on top, image below on mobile */
	.ready-uncover-section .help-section-content-side {
		order: 1 !important;
	}

	.ready-uncover-section .help-section-image-side {
		order: 2 !important;
		margin-top: 40px !important;
	}

	/* Hide team image from Leadership section on mobile (it's shown in Team section now) */
	.leadership-mobile-image {
		display: none !important;
	}
	
	/* Leadership section mobile */
	.leadership-split {
		flex-direction: column;
		gap: 20px;
		width: 100%;
	}
	
	.leadership-section .leadership-left-side {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
		position: relative !important;
	}
	
	.leadership-title-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
		position: relative !important;
	}
	
	.leadership-heading {
		font-size: 22px;
		margin-bottom: 15px;
		width: 100%;
		line-height: 1.3 !important;
		white-space: normal !important;
		overflow: visible !important;
		word-wrap: break-word !important;
		word-break: break-word !important;
		display: block !important;
		position: relative !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
		text-overflow: clip !important;
	}
	
	.leadership-section .leadership-content-side {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		flex-shrink: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		display: block !important;
	}
	
	.leadership-content-side .help-section-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
		display: block !important;
	}
	
	.leadership-text {
		font-size: 13px;
		margin-bottom: 15px;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		padding: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		display: block;
	}
	
	/* Ensure leadership section container takes full width with no padding */
	.leadership-section {
		width: 100% !important;
		padding: 40px 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
	
	.leadership-section .help-section-padded-container {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 20px !important;
		box-sizing: border-box !important;
		margin: 0 auto !important;
	}
	
	.leadership-section .help-section-split-container {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		gap: 20px !important;
	}
	
	/* Ensure all content elements take full width */
	.leadership-section .leadership-left-side,
	.leadership-section .leadership-content-side,
	.leadership-section .leadership-title-wrapper,
	.leadership-section .help-section-content-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		display: block !important;
	}
	
	/* Ensure text content takes full width and displays properly */
	.leadership-section .leadership-text {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
	}
	
	/* Marquee testimonials */
	.testimonials-marquee-wrapper {
		padding: 0 20px !important;
	}
	
	.testimonial-marquee-item {
		width: calc(100vw - 30px) !important;
		padding: 25px 15px !important;
	}
	
	/* Remove white space above footer on mobile - use explicit padding properties */
	main > section.help-section-padded:last-child,
	main section.help-section-padded:last-of-type,
	.help-section-padded:last-of-type,
	main > section:last-of-type.help-section-padded,
	section.help-section-padded:last-child,
	section:last-of-type.help-section-padded {
		padding-top: 30px !important;
		padding-bottom: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove padding from main before footer */
	main#main {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Also remove any spacing from the last section's container */
	.help-section-padded:last-of-type .help-section-padded-container,
	main > section:last-of-type.help-section-padded .help-section-padded-container,
	main section.help-section-padded:last-child .help-section-padded-container {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove space above footer on homepage mobile */
	body.home .footer-new {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	/* Footer spacing on mobile for other pages */
	body:not(.home) .footer-new {
		margin-top: 0 !important;
		padding-top: 40px !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	
	/* Remove all bottom spacing from footer elements */
	.footer-bottom-new {
		padding: 25px 0 0 0 !important;
		margin-bottom: 0 !important;
	}
	
	.footer-bottom-container {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove spacing from html and body */
	html, body {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove spacing from page wrapper */
	#page {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
}

/* ============================================
   HELP SECTION (NEW)
   ============================================ */
.help-section-new {
	position: relative;
	width: 100%;
	min-height: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.help-section-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.help-section-bg-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
}

.help-section-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(33, 35, 39, 0.85);
	z-index: 1;
}

.help-section-new {
	background: #212327;
	position: relative;
}

.help-section-content {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 100px 0;
}

.help-section-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	text-align: center;
}

.help-section-heading {
	font-family: "Poppins", sans-serif;
	font-size: 48px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 30px;
	line-height: 1.2;
}

.help-section-text {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.8;
	margin: 0 auto 40px;
	max-width: 900px;
}

/* List styling inside CTA banner */
.help-section-content .help-section-list {
	color: #ffffff;
	text-align: left;
	max-width: 900px;
	margin: 0 auto 40px;
	padding-left: 25px;
}

.help-section-content .help-section-list li {
	margin-bottom: 12px;
}

.help-section-link {
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.help-section-link:hover {
	color: #ffffff;
}

.help-section-cta-button {
	display: inline-block;
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 40px;
	border-radius: 4px;
	text-transform: none;
	font-weight: 600;
	font-size: 16px;
	font-family: "Poppins", sans-serif;
	text-decoration: none;
	transition: background 0.3s ease;
}

.help-section-cta-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

.help-section-cta-button i {
	margin-left: 8px;
	font-size: 14px;
}

/* ============================================
   HELP SECTION - PADDED LAYOUT
   ============================================ */
.help-section-padded {
	width: 100%;
	padding: 80px 0;
	background: #ffffff;
}

.help-section-padded.team-section-mobile {
	background: #EBEBEB;
}

.help-section-padded-container {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 0 40px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	position: relative !important;
}

@media (max-width: 1024px) {
	.help-section-padded-container {
		padding: 0 20px !important;
	}
}

@media (max-width: 480px) {
	.help-section-padded-container {
		padding: 0 20px !important;
	}
}

.help-section-split-container {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 60px;
	width: 100%;
}

.help-section-content-side {
	flex: 1 1 0;
	width: calc(50% - 30px);
	max-width: calc(50% - 30px);
	display: flex;
	align-items: center;
}

.help-section-content-wrapper {
	width: 100%;
}

.help-section-heading-new {
	font-family: "Poppins", sans-serif;
	font-size: 36px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 20px;
	line-height: 1.2;
}

.help-section-text-new {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: rgb(102, 102, 102);
	line-height: 1.8;
	margin-bottom: 30px;
}

.help-section-list {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: rgb(102, 102, 102);
	line-height: 1.8;
	margin: 0 0 30px 0;
	padding-left: 20px;
	list-style-type: disc;
}

.help-section-list li {
	margin-bottom: 10px;
}

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

.help-section-list a {
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.help-section-list a:hover {
	color: #d45a2a;
}

.help-section-link-new {
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.help-section-link-new:hover {
	color: #d45a2a;
}

.help-section-subheading {
	font-family: "Poppins", sans-serif;
	font-size: 22px;
	font-weight: 600;
	color: #212327;
	margin: 0 0 20px 0;
}

/* Digital Forensics Guarantees */
.digital-forensics-guarantees {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 30px;
}

.digital-forensics-guarantees .guarantee-item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.digital-forensics-guarantees .guarantee-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	min-width: 50px;
	background: #ff6b35;
	border-radius: 50%;
	color: #ffffff;
	font-size: 20px;
}

.digital-forensics-guarantees .guarantee-content {
	flex: 1;
}

.digital-forensics-guarantees .guarantee-content strong {
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #212327;
	margin-bottom: 5px;
}

.digital-forensics-guarantees .guarantee-content p {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	color: rgb(102, 102, 102);
	line-height: 1.6;
	margin: 0;
}

@media (max-width: 768px) {
	.digital-forensics-guarantees .guarantee-icon {
		width: 40px;
		height: 40px;
		min-width: 40px;
		font-size: 16px;
	}

	.digital-forensics-guarantees .guarantee-content strong {
		font-size: 16px;
	}

	.digital-forensics-guarantees .guarantee-content p {
		font-size: 14px;
	}
}

/* Services Overlay Card - Image with text overlay */
.services-overlay-card {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	min-height: 400px;
	display: flex;
	align-items: flex-end;
}

.services-overlay-card .services-overlay-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
	filter: grayscale(100%);
}

.services-overlay-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.3) 100%);
	z-index: 2;
}

.services-overlay-content {
	position: relative;
	z-index: 3;
	padding: 30px;
	width: 100%;
	box-sizing: border-box;
}

.services-overlay-heading {
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #ffffff;
	margin: 0 0 20px 0;
}

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

.services-overlay-list li {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.9);
	padding: 8px 0;
	padding-left: 20px;
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.services-overlay-list li:last-child {
	border-bottom: none;
}

.services-overlay-list li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #ff6b35;
	font-weight: bold;
}

.services-overlay-list a {
	color: #ff6b35;
	text-decoration: none;
	transition: color 0.3s ease;
}

.services-overlay-list a:hover {
	color: #ffffff;
	text-decoration: underline;
}

@media (max-width: 992px) {
	.services-overlay-card {
		min-height: 350px;
	}
}

@media (max-width: 768px) {
	.services-overlay-card {
		min-height: auto;
	}

	.services-overlay-content {
		padding: 25px 20px;
	}

	.services-overlay-heading {
		font-size: 20px;
	}

	.services-overlay-list li {
		font-size: 14px;
		padding: 6px 0 6px 18px;
	}
}

.help-section-cta-button-new {
	display: inline-block;
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 40px;
	border-radius: 4px;
	text-transform: none;
	font-weight: 600;
	font-size: 16px;
	font-family: "Poppins", sans-serif;
	text-decoration: none;
	transition: background 0.3s ease;
	margin-top: 20px;
}

.help-section-cta-button-new:hover {
	background: #d45a2a;
	color: #ffffff;
}

.help-section-cta-button-new i {
	margin-left: 8px;
	font-size: 14px;
}

.help-section-image-side {
	flex: 1 1 0;
	width: calc(50% - 30px);
	max-width: calc(50% - 30px);
	overflow: hidden;
	border-radius: 4px;
	max-height: 500px;
	display: flex;
	align-items: center;
}

.help-section-image {
	width: 100%;
	height: auto;
	max-height: 500px;
	object-fit: cover;
	object-position: center;
	display: block;
	filter: grayscale(100%);
}

/* Desktop: Ensure 50-50 split for help sections */
@media (min-width: 1025px) {
	/* Container spacing on desktop - ensure it's constrained */
	.help-section-padded-container {
		max-width: 1400px !important;
		margin: 0 auto !important;
		padding: 0 40px !important;
		width: 100% !important;
		box-sizing: border-box !important;
		position: relative !important;
		display: block !important;
	}
	
	/* Ensure the section itself doesn't override container */
	.help-section-padded {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* Force 2-column layout for all help sections on desktop */
	.help-section-padded .help-section-split-container {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
		gap: 60px !important;
		width: 100% !important;
	}
	
	/* Ensure all help section content and image sides are 50% on desktop - use more specific selectors */
	.help-section-padded .help-section-split-container .help-section-content-side {
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
		display: flex !important;
		align-items: center !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.help-section-padded .help-section-split-container .help-section-image-side {
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
		display: flex !important;
		align-items: center !important;
		overflow: hidden !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	/* Team section - desktop: image on left, content on right */
	.team-section-mobile .help-section-split-container {
		flex-direction: row !important;
		display: flex !important;
	}
	
	.team-section-mobile .help-section-split-container .help-section-image-side {
		order: 0 !important;
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
	}

	.team-section-mobile .help-section-split-container .help-section-content-side {
		order: 0 !important;
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
	}
	
	/* Sydney Pedigree section - desktop: image on left, content on right */
	.sydney-pedigree-section-mobile .help-section-split-container {
		flex-direction: row !important;
		display: flex !important;
	}
	
	.sydney-pedigree-section-mobile .help-section-split-container .help-section-image-side {
		order: 0 !important;
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
	}

	.sydney-pedigree-section-mobile .help-section-split-container .help-section-content-side {
		order: 0 !important;
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
	}
	
	/* General help section content and image sides - most specific to override mobile styles */
	/* Override ALL mobile width: 100% rules for desktop */
	section.help-section-padded .help-section-padded-container .help-section-split-container .help-section-content-side,
	.help-section-padded .help-section-padded-container .help-section-split-container .help-section-content-side,
	.help-section-padded .help-section-split-container .help-section-content-side,
	.help-section-padded .help-section-content-side,
	section.help-section-padded .help-section-content-side {
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
		display: flex !important;
		align-items: center !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	section.help-section-padded .help-section-padded-container .help-section-split-container .help-section-image-side,
	.help-section-padded .help-section-padded-container .help-section-split-container .help-section-image-side,
	.help-section-padded .help-section-split-container .help-section-image-side,
	.help-section-padded .help-section-image-side,
	section.help-section-padded .help-section-image-side {
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
		display: flex !important;
		align-items: center !important;
		overflow: hidden !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	/* Ensure split container is row on desktop */
	section.help-section-padded .help-section-padded-container .help-section-split-container,
	.help-section-padded .help-section-padded-container .help-section-split-container,
	.help-section-padded .help-section-split-container {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
		gap: 60px !important;
		width: 100% !important;
	}
	
	/* Specific override for "How We Can Help You" section - ensure 2 columns */
	section.help-section-padded:first-of-type .help-section-padded-container .help-section-split-container .help-section-content-side,
	section.help-section-padded:first-of-type .help-section-padded-container .help-section-split-container .help-section-image-side {
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
	}

	/* Specific override for "Team" section - ensure 2 columns */
	.team-section-mobile .help-section-padded-container .help-section-split-container .help-section-content-side,
	.team-section-mobile .help-section-padded-container .help-section-split-container .help-section-image-side {
		flex: 1 1 0 !important;
		width: calc(50% - 30px) !important;
		max-width: calc(50% - 30px) !important;
	}
}

/* Hide mobile images on desktop */
.leadership-mobile-image {
	display: none;
}

/* Sydney Pedigree image mobile - removed, using flexbox order instead */

/* Team locations list styling */
.team-locations-list-new {
	margin-top: 30px;
	margin-bottom: 0;
}

.team-locations-ul-new {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px 20px;
}

.team-location-item-new {
	margin: 0;
	padding: 0;
}

.team-location-item-new a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.team-location-item-new a:hover {
	color: #d45a2a;
}

.team-location-item-new a i {
	font-size: 14px;
	color: #212327;
}

/* ============================================
   LEADERSHIP SECTION
   ============================================ */
.leadership-section {
	background: #ffffff;
}

.sydney-section,
.ready-uncover-section {
	background: #EBEBEB;
}

.leadership-split {
	gap: 40px;
}

/* Desktop: 30/70 split layout with max-width 1400px - must override mobile !important */
@media (min-width: 1025px) {
	.leadership-section .help-section-padded-container {
		max-width: 1400px !important;
		margin: 0 auto !important;
		padding: 0 40px !important;
		width: 100% !important;
	}
	
	.leadership-section .help-section-split-container {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch;
		gap: 40px;
	}
	
	.leadership-section .leadership-left-side {
		width: 30% !important;
		max-width: 30% !important;
		flex: 0 0 30% !important;
	background: transparent;
	display: flex;
	align-items: flex-start;
	padding-top: 0;
	}
	
	.leadership-section .leadership-content-side {
		width: 70% !important;
		max-width: 70% !important;
		flex: 0 0 70% !important;
		background: transparent;
		padding: 0;
		display: flex;
		align-items: flex-start;
	}
}

.leadership-title-wrapper {
	width: 100%;
}

.leadership-content-side {
	background: transparent;
	padding: 0;
	display: flex;
	align-items: flex-start;
}

.leadership-heading {
	font-family: "Poppins", sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: #212327;
	line-height: 1.2;
	margin: 0;
}

.leadership-content-side .help-section-content-wrapper {
	max-width: 100%;
}

.leadership-text {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #666;
	line-height: 1.8;
	margin-bottom: 20px;
}

.leadership-text:last-child {
	margin-bottom: 0;
}

/* ============================================
   READY TO UNCOVER SECTION
   ============================================ */
.ready-uncover-section-new {
	position: relative;
	width: 100%;
	min-height: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #ffffff; /* White - alternating */
}

.ready-uncover-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.ready-uncover-bg-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
}

.ready-uncover-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(44, 44, 44, 0.75);
	z-index: 1;
}

.ready-uncover-content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 100px 0;
}

.ready-uncover-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	text-align: center;
}

.ready-uncover-heading {
	font-family: "Poppins", sans-serif;
	font-size: 48px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 30px;
	line-height: 1.2;
}

.ready-uncover-text {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #ffffff;
	line-height: 1.8;
	margin: 0 auto 40px;
	max-width: 900px;
}

.ready-uncover-cta-button {
	display: inline-block;
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 40px;
	border-radius: 4px;
	text-transform: none;
	font-weight: 600;
	font-size: 16px;
	font-family: "Poppins", sans-serif;
	text-decoration: none;
	transition: background 0.3s ease;
}

.ready-uncover-cta-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

.ready-uncover-cta-button i {
	margin-left: 8px;
	font-size: 14px;
}

@media (max-width: 1024px) {
	.ready-uncover-heading {
		font-size: 36px;
	}
	
	.ready-uncover-text {
		font-size: 16px;
	}
}

@media (max-width: 768px) {
	.ready-uncover-content {
		padding: 60px 0;
	}
	
	.ready-uncover-container {
		padding: 0 20px;
	}
	
	.ready-uncover-heading {
		font-size: 28px;
	}
}
	.help-section-heading {
		font-size: 36px;
	}
	
	.help-section-text {
		font-size: 16px;
	}
	
	.help-section-content {
		padding: 80px 0;
	}
}

@media (max-width: 768px) {
	.help-section-new {
		min-height: 250px !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.help-section-content {
		padding: 30px 0 !important;
		margin: 0 !important;
	}
	
	.help-section-container {
		padding: 0 20px !important;
		margin: 0 !important;
	}
	
	.help-section-heading {
		margin-top: 0 !important;
		margin-bottom: 15px !important;
		padding: 0 !important;
		font-size: 28px !important;
	}
	
	.help-section-text {
		margin-top: 0 !important;
		margin-bottom: 15px !important;
		padding: 0 !important;
	}
	
	/* Reduce white space in locations-intro-section - very specific rules */
	section.locations-intro-section,
	section.locations-intro-section[style],
	.locations-intro-section {
		padding-top: 5px !important; /* Further reduced from 10px */
		padding-bottom: 20px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	/* Reduce space between trusted-additional-section and locations-intro-section */
	.trusted-additional-section-new {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	.trusted-additional-section-new .trusted-additional-split-container {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	.trusted-additional-section-new .trusted-additional-content-side {
		padding-bottom: 10px !important; /* Significantly reduced from 30px */
		margin-bottom: 0 !important;
	}
	
	.trusted-additional-section-new .trusted-additional-content-wrapper {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	.trusted-additional-section-new .trusted-additional-text {
		margin-bottom: 15px !important; /* Reduced from 30px */
		padding-bottom: 0 !important;
	}
	
	.trusted-additional-section-new .trusted-additional-text:last-of-type {
		margin-bottom: 5px !important; /* Minimal margin for last paragraph */
		padding-bottom: 0 !important;
	}
	
	.locations-intro-section .container,
	section.locations-intro-section .container {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		margin: 0 !important;
	}
	
	.locations-intro-content,
	.locations-intro-section .locations-intro-content {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	.locations-intro-content h2,
	.locations-intro-section .locations-intro-content h2 {
		margin-top: 0 !important;
		margin-bottom: 12px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		font-size: 28px !important;
		line-height: 1.2 !important;
	}
	
	.locations-intro-content p,
	.locations-intro-section .locations-intro-content p {
		margin-top: 0 !important;
		margin-bottom: 12px !important;
		padding: 0 !important;
		line-height: 1.6 !important;
	}
	
	.locations-intro-content ul,
	.locations-intro-content ul[style],
	.locations-intro-section .locations-intro-content ul,
	.locations-intro-section .locations-intro-content ul[style] {
		margin-top: 8px !important;
		margin-bottom: 8px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.locations-intro-content ul li,
	.locations-intro-content ul li[style],
	.locations-intro-section .locations-intro-content ul li,
	.locations-intro-section .locations-intro-content ul li[style] {
		margin-top: 6px !important;
		margin-bottom: 6px !important;
		padding: 0 !important;
	}
	
	.help-section-cta-button {
		padding: 12px 30px;
		font-size: 14px;
	}
}

/* ============================================
   LOCATIONS GRID SECTION (NEW)
   ============================================ */
.locations-preview-new {
	padding: 80px 0;
	background: #f5f5f5; /* Slightly darker grey - alternating */
}

.locations-preview-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.locations-preview-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 50px;
	line-height: 1.2;
	text-align: center;
}

/* Locations Marquee Wrapper */
.locations-marquee-wrapper {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	position: relative;
}

.locations-marquee-track {
	display: flex;
	gap: 20px;
	width: fit-content;
	overflow-x: hidden;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.locations-marquee-track.locations-carousel-track {
	display: flex !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-behavior: smooth !important;
	-webkit-overflow-scrolling: touch !important;
	scrollbar-width: none !important; /* Firefox */
	-ms-overflow-style: none !important; /* IE and Edge */
	width: 100% !important;
	max-width: 100% !important;
	touch-action: pan-x !important;
	cursor: grab;
}

.locations-marquee-track.locations-carousel-track:active {
	cursor: grabbing;
}

.locations-marquee-track.locations-carousel-track::-webkit-scrollbar {
	display: none; /* Chrome, Safari, Opera */
}

.locations-marquee-track .location-card-new {
	flex-shrink: 0;
}

/* Navigation Buttons */
.locations-nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ffffff !important;
	border: 1px solid #e0e0e0 !important;
	cursor: pointer;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	padding: 0;
	margin: 0;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	z-index: 10 !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.locations-nav-btn:hover {
	background: #f5f5f5 !important;
	border-color: #d0d0d0 !important;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
	}

.locations-nav-btn:active {
	transform: translateY(-50%) scale(0.95);
	}

.locations-nav-btn i {
	color: #000000;
	font-size: 14px;
	line-height: 1;
}

.locations-prev {
	left: 10px !important;
	z-index: 100 !important;
}

.locations-next {
	right: 10px !important;
	z-index: 100 !important;
}

/* Legacy support for old class name */
.locations-grid-new {
	display: flex;
	gap: 20px;
	width: 100%;
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
}

.locations-grid-new::-webkit-scrollbar {
	height: 8px;
}

.locations-grid-new::-webkit-scrollbar-track {
	background: #f0f0f0;
}

.locations-grid-new::-webkit-scrollbar-thumb {
	background: #ff6b35;
	border-radius: 4px;
}

.location-card-new {
	position: relative;
	flex: 0 0 350px;
	scroll-snap-align: start;
	min-width: 350px;
}

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

.location-image-wrapper-new {
	position: relative;
	width: 100%;
	height: 350px;
	overflow: hidden;
	border-radius: 4px;
}

.location-image-new {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.location-overlay-new {
	display: none;
}

.location-card-new:hover .location-image-new {
	transform: scale(1.05);
}

.location-card-new:hover .location-overlay-new {
	opacity: 0.9;
}

.location-name-new {
	position: absolute;
	bottom: 50%;
	left: 0;
	right: 0;
	transform: translateY(50%);
	padding: 20px;
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #ffffff;
	text-align: center;
	margin: 0;
	z-index: 2;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.location-card-details {
	padding: 20px;
	background: #ffffff;
	border-radius: 0 0 4px 4px;
}

.location-card-details p {
	margin: 10px 0;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #666;
	display: flex;
	align-items: center;
	gap: 10px;
}

.location-card-details p:first-child {
	margin-top: 0;
}

.location-card-details p:last-child {
	margin-bottom: 0;
}

.location-card-details i {
	color: #ff6b35;
	font-size: 16px;
	width: 20px;
	text-align: center;
}

.location-address {
	font-weight: 500;
	color: #212327 !important;
}

.location-phone a {
	color: #ff6b35;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.3s ease;
}

.location-phone a:hover {
	color: #d45a2a;
}

.location-card-new:hover .location-card-details {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: box-shadow 0.3s ease;
}

/* Locations Intro Section */
.locations-intro-section {
	padding: 80px 0;
	background: #ffffff; /* White - alternating */
}

.locations-intro-content {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}

.locations-intro-content h2 {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 20px;
}

.locations-intro-content p {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	line-height: 1.8;
	color: #666;
	margin-bottom: 20px;
}

.locations-intro-content p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.locations-intro-section {
		padding: 60px 20px;
	}
	
	.locations-intro-content h2 {
		font-size: 32px;
	}
	
	.locations-intro-content p {
		font-size: 16px;
	}
	
	.location-card-details {
		padding: 15px;
	}
	
	.location-card-details p {
		font-size: 13px;
	}
}

@media (max-width: 1024px) {
	.locations-preview-container-new {
		padding: 0 40px;
	}
	
	
	.locations-marquee-track {
		gap: 15px;
	}
	
	.location-image-wrapper-new {
		height: 300px;
	}
	
	/* Legacy support */
	.locations-grid-new {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 768px) {
	.locations-preview-new {
		padding: 60px 0;
	}
	
	.locations-preview-container-new {
		padding: 0 20px;
	}
	
	.locations-preview-heading {
		font-size: 32px;
		margin-bottom: 40px;
	}
	
	
	.locations-marquee-track {
		gap: 15px;
	}

	.locations-marquee-track.locations-carousel-track {
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.location-card-new {
		flex: 0 0 220px;
		min-width: 220px;
		scroll-snap-align: start;
	}
	
	.location-image-wrapper-new {
		height: 250px;
	}
	
	.location-name-new {
		font-size: 20px;
		padding: 15px;
	}
	
	.locations-nav-btn {
		width: 35px !important;
		height: 35px !important;
	}
	
	.locations-prev {
		left: 5px !important;
	}
	
	.locations-next {
		right: 5px !important;
	}
	
	.locations-nav-btn i {
		font-size: 12px;
	}

	/* Make locations section flush against footer on mobile */
	.locations-preview-new:last-of-type,
	main > .locations-preview-new:last-child,
	section.locations-preview-new + footer,
	.locations-preview-new {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
}

/* ============================================
   FULL-WIDTH LOCATIONS MARQUEE
   ============================================ */
.locations-marquee-fullwidth {
	width: 100%;
	overflow: hidden;
	background: #f5f5f5;
	/* No padding - full edge-to-edge */
}

.locations-marquee-fullwidth-track {
	display: flex;
	gap: 0;
	width: max-content;
	animation: marquee-scroll 40s linear infinite;
}

.locations-marquee-fullwidth-track:hover {
	animation-play-state: paused;
}

.locations-marquee-fullwidth .location-card-new {
	flex: 0 0 auto;
	width: 280px;
	margin: 0;
}

.locations-marquee-fullwidth .location-image-wrapper-new {
	height: 200px;
	border-radius: 0;
}

.locations-marquee-fullwidth .location-name-new {
	font-size: 18px;
	padding: 15px;
}

.locations-marquee-fullwidth .location-card-link {
	display: block;
}

@keyframes marquee-scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 768px) {
	.locations-marquee-fullwidth .location-card-new {
		width: 220px;
	}

	.locations-marquee-fullwidth .location-image-wrapper-new {
		height: 160px;
	}

	.locations-marquee-fullwidth .location-name-new {
		font-size: 16px;
		padding: 12px;
	}
}

/* ============================================
   LOCATIONS SWIPER CAROUSEL
   ============================================ */
.locations-swiper-section {
	width: 100%;
	background: #f5f5f5;
	padding: 0;
	margin: 0;
}

.locations-swiper {
	width: 100%;
	padding: 0;
}

.locations-swiper .swiper-slide {
	width: 280px;
	height: auto;
}

.locations-swiper .location-card-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.locations-swiper .location-image-wrapper-new {
	position: relative;
	width: 100%;
	height: 200px;
	overflow: hidden;
	border-radius: 0;
}

.locations-swiper .location-image-wrapper-new::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(33, 35, 39, 0.5);
	z-index: 1;
	pointer-events: none;
}

.locations-swiper .location-image-new {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.locations-swiper .swiper-slide:hover .location-image-new {
	transform: scale(1.05);
}

.locations-swiper .location-name-new {
	position: absolute;
	bottom: 50%;
	left: 0;
	right: 0;
	transform: translateY(50%);
	padding: 15px;
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
	text-align: center;
	margin: 0;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
	.locations-swiper .swiper-slide {
		width: 200px;
	}

	.locations-swiper .location-image-wrapper-new {
		height: 160px;
	}

	.locations-swiper .location-name-new {
		font-size: 16px;
		padding: 12px;
	}

	.locations-swiper-section {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
}

/* ============================================
   SYDNEY CONTENT SECTION (NEW)
   ============================================ */
.sydney-content-section-new {
	padding: 80px 0;
	background: #f5f5f5; /* Slightly darker grey - alternating */
}

.sydney-content-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	display: flex;
	gap: 60px;
	align-items: flex-start;
}

.sydney-image-side {
	flex: 0 0 50%;
}

.sydney-image-new {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
	object-fit: cover;
}

.sydney-text-side {
	flex: 0 0 50%;
}

.sydney-text-wrapper {
	width: 100%;
}

.sydney-heading {
	font-family: "Poppins", sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 25px;
	line-height: 1.2;
}

.sydney-text {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	line-height: 1.8;
	margin-bottom: 20px;
}

.sydney-link {
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.sydney-link:hover {
	color: #d45a2a;
}

.sydney-pedigree-section-new {
	padding: 60px 0;
	background: #ffffff; /* White - alternating */
}

.sydney-pedigree-container-new {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 40px;
}

.sydney-pedigree-heading {
	font-family: "Poppins", sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 25px;
	margin-top: 40px;
	line-height: 1.2;
}

.sydney-pedigree-heading:first-child {
	margin-top: 0;
}

.sydney-pedigree-text {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	line-height: 1.8;
	margin-bottom: 20px;
}

.sydney-pedigree-text:last-child {
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.sydney-content-container-new {
		flex-direction: column;
		gap: 40px;
	}
	
	.sydney-image-side {
		flex: 1;
	}
	
	.sydney-text-side {
		flex: 1;
	}
	
	.sydney-pedigree-container-new {
		padding: 0 40px;
	}
}

@media (max-width: 768px) {
	.sydney-content-section-new {
		padding: 60px 0;
	}
	
	.sydney-content-container-new {
		padding: 0 30px;
	}
	
	.sydney-heading {
		font-size: 28px;
		margin-bottom: 20px;
	}
	
	.sydney-text {
		font-size: 15px;
		margin-bottom: 18px;
	}
	
	.sydney-pedigree-section-new {
		padding: 50px 0;
	}
	
	.sydney-pedigree-container-new {
		padding: 0 30px;
	}
	
	.sydney-pedigree-heading {
		font-size: 28px;
		margin-bottom: 20px;
		margin-top: 30px;
	}
	
	.sydney-pedigree-text {
		font-size: 15px;
		margin-bottom: 18px;
	}
}

/* ============================================
   FOOTER (NEW)
   ============================================ */
.footer-new {
	position: relative;
	width: 100%;
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	color: #d0d0d0;
	overflow: hidden;
}

.footer-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0.4;
	overflow: hidden;
}

.footer-bg-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
}

.footer-content-new {
	position: relative;
	z-index: 2;
	width: 100%;
}

.footer-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 60px 40px 40px;
	display: flex;
	gap: 80px;
	align-items: flex-start;
}

/* Left Section */
.footer-left-section {
	flex: 0 0 50%;
}

.footer-logo-section {
	margin-bottom: 40px;
}

.footer-logo-image {
	height: 60px;
	width: auto;
	filter: brightness(0) invert(1);
}

.footer-info-block {
	margin-bottom: 30px;
}

.footer-info-heading {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #ffffff;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	position: relative;
	display: inline-block;
}

.footer-info-heading::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 3px;
	background: #ff6b35;
}

.footer-info-text {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #d0d0d0;
	line-height: 1.6;
	margin-bottom: 8px;
}

.footer-link {
	color: #d0d0d0;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.footer-link:hover {
	color: #ff6b35;
}

.footer-social-icons {
	display: flex;
	gap: 15px;
	margin-top: 30px;
}

.footer-social-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #d0d0d0;
	text-decoration: none;
	transition: all 0.3s ease;
}

.footer-social-icon:hover {
	background: #ff6b35;
	border-color: #ff6b35;
	color: #ffffff;
}

.footer-social-icon i {
	font-size: 18px;
}

/* Right Section */
.footer-right-section {
	flex: 0 0 50%;
}

.footer-nav-columns {
	display: flex;
	gap: 60px;
}

.footer-nav-column {
	flex: 1;
}

.footer-nav-heading {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #ffffff;
	margin-bottom: 24px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	position: relative;
	display: inline-block;
}

.footer-nav-heading::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 3px;
	background: #ff6b35;
}

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

.footer-nav-menu li {
	margin-bottom: 12px;
	list-style: none;
}

.footer-nav-menu li a,
.footer-nav-link {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #d0d0d0;
	text-decoration: none;
	transition: color 0.3s ease;
	display: inline-block;
}

.footer-nav-menu li a:hover,
.footer-nav-link:hover {
	color: #ff6b35;
}

/* Bottom Section */
.footer-bottom-new {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: 25px 0;
	background: rgba(0, 0, 0, 0.2);
}

.footer-bottom-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer-copyright {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #d0d0d0;
}

.footer-policies {
	display: flex;
	gap: 20px;
}

.footer-policy-link {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #d0d0d0;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.footer-policy-link:hover {
	color: #ff6b35;
}

@media (max-width: 1024px) {
	.footer-container-new {
		flex-direction: column;
		gap: 50px;
		padding: 50px 40px 30px;
	}
	
	.footer-left-section {
		flex: 1;
	}
	
	.footer-right-section {
		flex: 1;
	}
	
	.footer-nav-columns {
		gap: 40px;
	}
}

@media (max-width: 768px) {
	.footer-container-new {
		padding: 40px 30px 30px;
	}
	
	.footer-nav-columns {
		flex-direction: column;
		gap: 30px;
	}
	
	.footer-bottom-container {
		flex-direction: column;
		gap: 15px;
		text-align: center;
		padding: 0 30px;
	}
	
	.footer-policies {
		flex-direction: column;
		gap: 10px;
	}
	
	.footer-social-icons {
		flex-wrap: wrap;
	}
	
	/* Remove space above footer on homepage mobile */
	body.home .footer-new {
		margin-top: 0 !important;
		padding-top: 0 !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	/* Footer spacing on mobile for other pages */
	body:not(.home) .footer-new {
		margin-top: 0 !important;
		padding-top: 40px !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	
	/* Remove bottom padding from footer bottom section - use padding shorthand to override */
	.footer-bottom-new {
		padding: 25px 0 0 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove any spacing from footer container */
	.footer-container-new {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove spacing from footer bottom container */
	.footer-bottom-container {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove bottom padding from last section before footer */
	.help-section-padded:last-of-type,
	main > section:last-of-type.help-section-padded,
	section.help-section-padded:last-child {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove padding from main element */
	main#main {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove spacing from page wrapper and body */
	#page {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	/* Remove all spacing from html and body */
	html {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	body {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
}

/* ============================================
   BREADCRUMBS STYLES
   ============================================ */
#Subheader {
	background: #2a2d32;
	padding: 15px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#Subheader .container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 64px;
}

.breadcrumbs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.breadcrumbs li {
	display: flex;
	align-items: center;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.7);
}

.breadcrumbs li:not(:last-child)::after {
	content: '/';
	margin: 0 8px;
	color: rgba(255, 255, 255, 0.4);
	font-weight: 400;
}

.breadcrumbs li a {
	color: #ff6b35;
	text-decoration: none;
	transition: color 0.3s ease;
}

.breadcrumbs li a:hover {
	color: #ff8c5a;
	text-decoration: underline;
}

.breadcrumbs li:last-child {
	color: #ffffff;
	font-weight: 500;
}

@media (max-width: 768px) {
	#Subheader .container {
		padding: 0 20px;
	}

	.breadcrumbs li {
		font-size: 13px;
	}

	.breadcrumbs li:not(:last-child)::after {
		margin: 0 5px;
	}
}

/* ============================================
   LOCATION PAGE STYLES
   ============================================ */
.site-main {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

main#main {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

.entry-featured-image {
	width: 100%;
	margin-bottom: 0;
	overflow: hidden;
}

.entry-featured-image .container {
	padding: 0;
	max-width: 100%;
}

.entry-featured-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.entry-header {
	background: #ffffff;
	padding: 60px 0 40px;
	border-bottom: 1px solid #e0e0e0;
}

.entry-header .container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 64px;
}

.entry-title {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin: 0;
	line-height: 1.2;
}

.entry-content {
	background: #ffffff;
	padding: 60px 0 100px;
	width: 100%;
	display: block;
	overflow: visible;
}

.entry-content .container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 64px;
	width: 100%;
	display: block;
}

/* Contact Us page - align with homepage styling */
.page-template-page-contact-us .entry-header {
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	color: #ffffff;
	padding: 80px 0 60px;
}

.page-template-page-contact-us .entry-header .entry-title,
.page-template-page-contact-us .entry-header h4 {
	color: #ffffff;
}

.page-template-page-contact-us .entry-header .entry-title {
	font-size: 48px;
	font-weight: 700;
}

.page-template-page-contact-us .entry-content {
	background: #f8f8f8;
	padding: 80px 0 100px;
}

.page-template-page-contact-us .entry-content .container {
	max-width: 1000px;
	padding: 0 40px;
}

.page-template-page-contact-us .entry-content h2,
.page-template-page-contact-us .entry-content h3,
.page-template-page-contact-us .entry-content h4 {
	font-family: "Poppins", sans-serif;
	color: #212327;
}

.page-template-page-contact-us .entry-content h2 {
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 20px;
}

.page-template-page-contact-us .entry-content h3 {
	font-size: 24px;
	margin-top: 20px;
}

.page-template-page-contact-us .entry-content h4 {
	font-size: 18px;
	font-weight: 500;
	margin-top: 10px;
}

.page-template-page-contact-us .entry-content ul {
	list-style: none;
	padding: 0;
	margin: 20px 0 30px;
}

.page-template-page-contact-us .entry-content ul li {
	margin-bottom: 10px;
}

.page-template-page-contact-us .entry-content .contact-form-section {
	margin-top: 40px;
}

.page-template-page-contact-us .locations-section {
	margin-top: 60px;
}

.page-template-page-contact-us .locations-section h2 {
	margin-top: 40px;
	margin-bottom: 10px;
}

.page-template-page-contact-us .locations-section ul {
	margin-bottom: 20px;
}

@media (max-width: 1024px) {
	.entry-content .container {
		padding: 0 40px;
	}
}

@media (max-width: 768px) {
	.entry-content .container {
		padding: 0 20px;
	}
}

/* Fix Wrapper div if it exists */
#Wrapper {
	width: 100%;
	display: block;
}

.entry-content[itemprop="mainContentOfPage"] {
	width: 100%;
	display: block;
}

.entry-content p {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	line-height: 1.8;
	margin-bottom: 20px;
}

.entry-content h2 {
	font-family: "Poppins", sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #212327;
	margin-top: 40px;
	margin-bottom: 20px;
	line-height: 1.2;
}

.entry-content h3 {
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #212327;
	margin-top: 30px;
	margin-bottom: 15px;
	line-height: 1.2;
}

.entry-content h4 {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #212327;
	margin-top: 25px;
	margin-bottom: 12px;
	line-height: 1.2;
}

.entry-content ul,
.entry-content ol {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	line-height: 1.8;
	margin-bottom: 20px;
	padding-left: 30px;
}

.entry-content ul li,
.entry-content ol li {
	margin-bottom: 10px;
}

.entry-content a {
	color: #ff6b35;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.entry-content a:hover {
	color: #d45a2a;
}

.entry-content img {
	max-width: 100%;
	height: auto;
	margin: 30px 0;
	border-radius: 4px;
}

.entry-content blockquote {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #666;
	line-height: 1.8;
	margin: 30px 0;
	padding-left: 30px;
	border-left: 4px solid #ff6b35;
	font-style: italic;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 30px 0;
}

.entry-content table th,
.entry-content table td {
	padding: 12px;
	border: 1px solid #e0e0e0;
	text-align: left;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
}

.entry-content table th {
	background: #f5f5f5;
	font-weight: 600;
	color: #212327;
}

.entry-content table td {
	color: #212327;
}

.entry-content figure {
	margin: 30px 0;
	text-align: center;
}

.entry-content figure img {
	margin: 0 auto;
}

.entry-content figure figcaption {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: #666;
	margin-top: 10px;
	font-style: italic;
}

/* Contact Form Section */
.entry-content .contact-form-section,
.entry-content .wpcf7 {
	margin: 40px 0;
	padding: 40px;
	background: transparent; /* Removed grey box background */
	border-radius: 8px;
}

.entry-content .contact-form-section h2,
.entry-content .contact-form-section h4 {
	margin-top: 0;
}

.entry-content .wpcf7-form {
	font-family: "Poppins", sans-serif;
}

.entry-content .wpcf7-form p {
	margin-bottom: 20px;
}

.entry-content .wpcf7-form label {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #212327;
	display: block;
	margin-bottom: 8px;
}

.entry-content .wpcf7-form input[type="text"],
.entry-content .wpcf7-form input[type="email"],
.entry-content .wpcf7-form input[type="tel"],
.entry-content .wpcf7-form textarea {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	background: #ffffff;
	transition: border-color 0.3s ease;
}

.entry-content .wpcf7-form input[type="text"]:focus,
.entry-content .wpcf7-form input[type="email"]:focus,
.entry-content .wpcf7-form input[type="tel"]:focus,
.entry-content .wpcf7-form textarea:focus {
	outline: none;
	border-color: #ff6b35;
}

.entry-content .wpcf7-form textarea {
	min-height: 120px;
	resize: vertical;
}

.entry-content .wpcf7-form input[type="submit"],
.entry-content .wpcf7-submit {
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 40px;
	border: none;
	border-radius: 4px;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s ease;
}

.entry-content .wpcf7-form input[type="submit"]:hover,
.entry-content .wpcf7-submit:hover {
	background: #d45a2a;
}

/* Service Sections */
.entry-content > div > div {
	margin-bottom: 40px;
}

.entry-content strong {
	font-weight: 700;
	color: #212327;
}

.entry-content em {
	font-style: italic;
}

/* Lists styling */
.entry-content ul li::marker,
.entry-content ol li::marker {
	color: #ff6b35;
}

/* Links in headings */
.entry-content h2 a,
.entry-content h3 a,
.entry-content h4 a {
	color: #212327;
	text-decoration: none;
}

.entry-content h2 a:hover,
.entry-content h3 a:hover,
.entry-content h4 a:hover {
	color: #ff6b35;
}

/* Call to action sections */
.entry-content a[href^="tel:"] {
	color: #ff6b35;
	font-weight: 600;
	text-decoration: none;
	font-size: 18px;
}

.entry-content a[href^="tel:"]:hover {
	color: #d45a2a;
	text-decoration: underline;
}

.entry-content a[href^="mailto:"] {
	color: #ff6b35;
	text-decoration: underline;
}

/* Testimonial sections */
.entry-content .testimonials,
.entry-content .testimonial {
	margin: 40px 0;
	padding: 30px;
	background: transparent; /* Removed grey box background */
	border-radius: 8px;
	border-left: 4px solid #ff6b35;
}

.entry-content .testimonial blockquote {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
}

.entry-content .testimonial blockquote p {
	margin-bottom: 15px;
}

/* FAQ sections */
.entry-content .faq-item {
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e0e0e0;
}

.entry-content .faq-item:last-child {
	border-bottom: none;
}

/* Address sections */
.entry-content address {
	font-style: normal;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	line-height: 1.8;
	margin: 20px 0;
}

/* Div wrappers and sections - Fix nested divs */
.entry-content > div {
	margin-bottom: 30px;
}

.entry-content > div > div {
	margin-bottom: 20px;
}

.entry-content > div > div > div {
	margin-bottom: 15px;
}

/* Remove excessive nested div spacing */
.entry-content div > div > div > div > div > div {
	margin-bottom: 0;
}

/* Style all headings properly */
.entry-content h2 {
	clear: both;
	margin-top: 50px !important;
	margin-bottom: 20px !important;
}

.entry-content h2:first-of-type {
	margin-top: 0 !important;
}

/* Style lists properly */
.entry-content ul {
	list-style: none;
	padding-left: 0;
}

.entry-content ul li {
	position: relative;
	padding-left: 25px;
	margin-bottom: 15px;
}

.entry-content ul li::before {
	content: "•";
	color: #ff6b35;
	font-weight: bold;
	position: absolute;
	left: 0;
}

/* Ensure proper spacing for nested content */
.entry-content div + div {
	margin-top: 20px;
}

.entry-content p + p {
	margin-top: 0;
}

.entry-content h2 + p,
.entry-content h3 + p,
.entry-content h4 + p {
	margin-top: 10px;
}

/* Generic content sections */
.entry-content section {
	margin: 40px 0;
}

.entry-content .section {
	margin: 40px 0;
	padding: 30px 0;
}

/* Image containers */
.entry-content .image-container,
.entry-content .img-container {
	margin: 30px 0;
	text-align: center;
}

.entry-content .image-container img,
.entry-content .img-container img {
	margin: 0 auto;
}

/* Button styles */
.entry-content .button,
.entry-content .btn,
.entry-content a.button {
	display: inline-block;
	background: #ff6b35;
	color: #ffffff;
	padding: 15px 40px;
	border-radius: 4px;
	text-decoration: none;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	transition: background 0.3s ease;
	margin: 20px 0;
}

.entry-content .button:hover,
.entry-content .btn:hover,
.entry-content a.button:hover {
	background: #d45a2a;
	color: #ffffff;
	text-decoration: none;
}

/* Remove any inline style overrides */
.entry-content * {
	box-sizing: border-box;
}

/* Ensure text colors are correct - override inline styles */
.entry-content p,
.entry-content div:not(.wpcf7):not(.contact-form-section):not(.location-testimonials-slider):not(.location-testimonials-track):not(.location-services-grid):not(.location-faq-grid):not(.location-why-choose-grid):not(.location-process-grid):not(.location-process-container),
.entry-content span:not(.wpcf7-not-valid-tip) {
	color: #212327;
}

/* ============================================
   LOCATION MAP SECTION
   ============================================ */
.location-map-section {
	width: 100%;
	background: #ffffff;
	padding: 0;
}

.location-map-container {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.location-map-header {
	background: #1a1a1a;
	padding: 40px 64px;
	text-align: center;
}

.location-map-header-content {
	max-width: 1400px;
	margin: 0 auto;
}

.location-map-title {
	font-family: "Poppins", sans-serif;
	font-size: 36px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 20px;
	line-height: 1.2;
}

.location-map-address {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #ffffff;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.location-map-address i {
	font-size: 20px;
	color: #ffffff;
}

.location-map-phone {
	margin-top: 10px;
}

.location-map-phone-link {
	font-family: "Poppins", sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #ff6b35;
	text-decoration: none;
	transition: color 0.3s ease;
}

.location-map-phone-link:hover {
	color: #ffffff;
}

.location-map-wrapper {
	width: 100%;
	height: 500px;
	position: relative;
	overflow: hidden;
}

.location-map-iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

@media (max-width: 768px) {
	.location-map-header {
		padding: 30px 20px;
	}
	
	.location-map-title {
		font-size: 28px;
	}
	
	.location-map-address {
		font-size: 16px;
		flex-direction: column;
		gap: 5px;
	}
	
	.location-map-phone-link {
		font-size: 20px;
	}
	
	.location-map-wrapper {
		height: 400px;
	}
}

/* Location Hero Contact Info Section */
.location-hero-contact {
	background: #f8f8f8;
	padding: 30px 0;
	border-bottom: 1px solid #e0e0e0;
}

.location-hero-contact-info {
	display: flex;
	flex-direction: column;
	gap: 15px;
	align-items: center;
	text-align: center;
}

.location-hero-contact-info h3 {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #212327;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: center;
}

.location-hero-contact-info h3 i {
	color: #ff6b35;
	font-size: 20px;
}

.location-hero-contact-info h3 a {
	color: #ff6b35;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.3s ease;
}

.location-hero-contact-info h3 a:hover {
	color: #d45a2a;
}

@media (max-width: 768px) {
	.location-hero-contact {
		padding: 20px 15px;
	}
	
	.location-hero-contact-info h3 {
		font-size: 16px;
		flex-direction: column;
		gap: 5px;
	}
}

/* Location Services Intro Section */
.location-services-intro-section {
	padding: 60px 0;
	background: #ffffff;
}

.location-services-intro-section .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: center;
}

.location-services-intro-section .location-services-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 20px;
}

.location-services-intro-section .location-services-intro {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #666;
	line-height: 1.8;
	max-width: 900px;
	margin: 0 auto;
}

@media (max-width: 768px) {
	.location-services-intro-section {
		padding: 40px 0;
	}
	
	.location-services-intro-section .location-services-heading {
		font-size: 32px;
	}
	
	.location-services-intro-section .location-services-intro {
		font-size: 16px;
	}
}

/* ============================================
   LOCATION CONTENT SECTION (MODERN LAYOUT)
   ============================================ */
.location-content-section-new {
	padding: 100px 0;
	background: #ffffff;
}

.location-content-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 64px;
}

/* Clean typography for location content - no old classes */
.location-content-section-new h2,
.location-content-section-new h3,
.location-content-section-new h4,
.location-content-section-new h5,
.location-content-section-new h6 {
	font-family: "Poppins", sans-serif;
	color: #212327;
	line-height: 1.2;
	margin-bottom: 20px;
	margin-top: 40px;
	font-weight: 700;
}

.location-content-section-new h2 {
	font-size: 36px;
	margin-top: 60px;
}

.location-content-section-new h2:first-child {
	margin-top: 0;
}

.location-content-section-new h3 {
	font-size: 28px;
	margin-top: 40px;
}

.location-content-section-new h4 {
	font-size: 20px;
	margin-top: 30px;
}

.location-content-section-new h5 {
	font-size: 18px;
	margin-top: 25px;
}

.location-content-section-new h6 {
	font-size: 16px;
	margin-top: 20px;
}

.location-content-section-new p {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	line-height: 1.8;
	margin-bottom: 20px;
}

.location-content-section-new p:last-child {
	margin-bottom: 0;
}

.location-content-section-new ul,
.location-content-section-new ol {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	line-height: 1.8;
	margin-bottom: 20px;
	margin-left: 30px;
	padding-left: 0;
}

.location-content-section-new li {
	margin-bottom: 10px;
}

.location-content-section-new a {
	color: #ff6b35;
	text-decoration: none;
	transition: color 0.3s ease;
	font-weight: 500;
}

.location-content-section-new a:hover {
	color: #d45a2a;
	text-decoration: underline;
}

.location-content-section-new img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 30px 0;
	display: block;
}

.location-content-section-new blockquote {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #666;
	font-style: italic;
	border-left: 4px solid #ff6b35;
	padding-left: 30px;
	margin: 30px 0;
	line-height: 1.8;
}

.location-content-section-new table {
	width: 100%;
	border-collapse: collapse;
	margin: 30px 0;
	font-family: "Poppins", sans-serif;
}

.location-content-section-new table th,
.location-content-section-new table td {
	padding: 12px;
	border: 1px solid #e0e0e0;
	text-align: left;
}

.location-content-section-new table th {
	background: #f5f5f5;
	font-weight: 600;
	color: #212327;
}

/* Remove any remaining old classes that might slip through */
.location-content-section-new [class*="vc_"],
.location-content-section-new [class*="wpb_"],
.location-content-section-new [class*="mfn-"] {
	/* Force remove these classes via CSS */
	all: unset;
	display: block;
	font-family: "Poppins", sans-serif;
}

/* Fix empty paragraphs and divs */
.entry-content p:empty,
.entry-content div:empty {
	display: none;
}

.entry-content p:has(br:only-child) {
	display: none;
}

/* Fix nested div structure - make them transparent containers */
.entry-content > div > div > div > div > div > div {
	display: contents;
}

.entry-content > div > div > div > div > div {
	display: contents;
}

.entry-content > div > div > div > div {
	display: block;
}

/* Ensure proper display for content */
.entry-content > div {
	display: block;
	width: 100%;
}

.entry-content > div > div {
	display: block;
	width: 100%;
}

.entry-content > div > div > div {
	display: block;
	width: 100%;
}

/* Make sure all text elements are visible */
.entry-content p,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content ul,
.entry-content ol,
.entry-content li,
.entry-content a,
.entry-content span {
	display: block;
	visibility: visible;
	opacity: 1;
}

.entry-content span {
	display: inline;
}

.entry-content a {
	display: inline;
}

.entry-content li {
	display: list-item;
}

/* Fix any white text on white background issues */
.entry-content [style*="color: white"],
.entry-content [style*="color:#fff"],
.entry-content [style*="color:#ffffff"],
.entry-content [style*="color: white;"],
.entry-content [style*="color:#fff;"],
.entry-content [style*="color:#ffffff;"] {
	color: #212327 !important;
}

.entry-content [style*="background: white"],
.entry-content [style*="background:#fff"],
.entry-content [style*="background:#ffffff"],
.entry-content [style*="background: white;"],
.entry-content [style*="background:#fff;"],
.entry-content [style*="background:#ffffff;"] {
	background: transparent !important;
}

/* Ensure proper line heights */
.entry-content p,
.entry-content div,
.entry-content li {
	line-height: 1.8;
}

/* Fix spacing for nested content blocks */
.entry-content > * {
	margin-bottom: 20px;
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

/* Style for generic wrapper divs */
.entry-content > div > * {
	margin-bottom: 15px;
}

.entry-content > div > *:last-child {
	margin-bottom: 0;
}

/* ============================================
   LOCATION PAGE - COLUMN LAYOUTS & SLIDERS
   ============================================ */

/* Services Grid - 3-4 columns */
/* ============================================
   LOCATION SERVICES SECTION (MODERN LAYOUT)
   ============================================ */
.location-services-section-new {
	padding: 100px 0;
	background: #ffffff;
}

.location-services-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 64px;
}

.location-services-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 20px;
	text-align: center;
	line-height: 1.2;
}

.location-services-intro {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: #212327;
	margin-bottom: 60px;
	text-align: center;
	line-height: 1.6;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.location-services-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	margin: 0;
}

/* Flipable Service Cards */
.location-service-flip-card {
	background-color: transparent;
	width: 100%;
	height: 400px;
	perspective: 1000px;
	cursor: pointer;
}

.location-service-flip-card a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.location-service-flip-inner {
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform 0.6s;
	transform-style: preserve-3d;
}

.location-service-flip-card:hover .location-service-flip-inner {
	transform: rotateY(180deg);
}

.location-service-flip-front,
.location-service-flip-back {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	border-radius: 8px;
	overflow: hidden;
}

.location-service-flip-front {
	background-color: #f5f5f5;
	color: #212327;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: relative;
}

.location-service-flip-back {
	background-color: #212327;
	color: #ffffff;
	transform: rotateY(180deg);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px;
}

.location-service-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	filter: grayscale(100%);
	opacity: 0.8;
	transition: all 0.3s ease;
}

.location-service-flip-card:hover .location-service-image {
	background-size: 100% 100%;
	filter: grayscale(0%);
	opacity: 1;
}

.location-service-flip-front .location-service-title {
	position: relative;
	z-index: 2;
	background: rgba(245, 245, 245, 0.95);
	padding: 20px;
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	color: #212327;
	text-align: left;
}

.location-service-flip-back .location-service-title {
	margin: 0 0 20px 0;
	font-size: 24px;
	font-weight: 700;
	color: #ffffff;
	text-align: left;
}

.location-service-description {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
	color: #ffffff;
	text-align: left;
}

/* Testimonials Slider */
.location-testimonials-slider {
	margin: 40px 0;
	position: relative;
}

.location-testimonials-track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	gap: 30px;
	padding: 20px 0;
	scrollbar-width: thin;
	list-style: none;
	padding-left: 0;
}

.location-testimonials-track li {
	list-style: none;
}

.location-testimonials-track::-webkit-scrollbar {
	height: 6px;
}

.location-testimonials-track::-webkit-scrollbar-track {
	background: #f5f5f5;
	border-radius: 3px;
}

.location-testimonials-track::-webkit-scrollbar-thumb {
	background: #ff6b35;
	border-radius: 3px;
}

.location-testimonials-track li,
.location-testimonial-card {
	flex: 0 0 calc(33.333% - 20px);
	background: #212327;
	padding: 30px;
	border-radius: 8px;
	scroll-snap-align: start;
	min-width: 300px;
	list-style: none;
	display: flex;
	flex-direction: column;
}

.location-testimonial-card .testimonial-avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	margin-bottom: 20px;
	flex-shrink: 0;
}

.location-testimonial-card .testimonial-avatar-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.location-testimonial-card blockquote,
.location-testimonial-card .testimonial-text {
	margin: 0 0 20px 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #ffffff;
	line-height: 1.8;
	flex: 1;
}

.location-testimonial-card .testimonial-author {
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	color: #ffffff;
	margin-top: auto;
	font-size: 14px;
}

/* FAQ Grid - 2 columns */
/* ============================================
   FAQ SECTION - ACCORDION STYLE
   ============================================ */
.location-faq-section {
	padding: 100px 0;
	background: #ffffff;
}

.location-faq-container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 64px;
}

.location-faq-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 60px;
	text-align: center;
	line-height: 1.2;
}

.location-faq-grid {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
}

.location-faq-item {
	background: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	overflow: hidden;
	transition: all 0.3s ease;
}

.location-faq-item.active {
	border-color: #ff6b35;
	box-shadow: 0 4px 12px rgba(255, 107, 53, 0.1);
}

.location-faq-question {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #212327;
	padding: 25px 30px;
	margin: 0;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background 0.3s ease;
	user-select: none;
}

.location-faq-question:hover {
	background: #f9f9f9;
}

.location-faq-item.active .location-faq-question {
	background: #fff5f2;
	color: #ff6b35;
}

.location-faq-question::after {
	content: '+';
	font-size: 28px;
	font-weight: 300;
	color: #ff6b35;
	transition: transform 0.3s ease;
	flex-shrink: 0;
	margin-left: 20px;
}

.location-faq-item.active .location-faq-question::after {
	content: '−';
	transform: rotate(0deg);
}

.location-faq-answer {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	line-height: 1.8;
	color: #666;
	padding: 0 30px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease, padding 0.4s ease;
}

.location-faq-item.active .location-faq-answer {
	padding: 0 30px 25px 30px;
	max-height: 1000px;
}

.location-faq-answer p {
	margin-bottom: 15px;
}

.location-faq-answer p:last-child {
	margin-bottom: 0;
}

.location-faq-answer ul,
.location-faq-answer ol {
	margin: 15px 0;
	padding-left: 30px;
}

.location-faq-answer li {
	margin-bottom: 10px;
}

@media (max-width: 768px) {
	.location-faq-container {
		padding: 0 20px;
	}
	
	.location-faq-heading {
		font-size: 32px;
		margin-bottom: 40px;
	}
	
	.location-faq-question {
		font-size: 18px;
		padding: 20px;
	}
	
	.location-faq-answer {
		padding: 0 20px;
	}
	
	.location-faq-item.active .location-faq-answer {
		padding: 0 20px 20px 20px;
	}
}

/* Sydney Contact Section - 2 columns */
.location-sydney-contact-section {
	padding: 60px 0;
	background: #ffffff;
}

.location-sydney-contact-wrapper {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 64px;
	display: flex;
	gap: 60px;
	align-items: flex-start;
}

.location-sydney-text-column {
	flex: 0 0 50%;
}

.location-sydney-form-column {
	flex: 0 0 50%;
}

.location-sydney-form-column h2 {
	font-family: "Poppins", sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 10px;
}

.location-sydney-form-column h4 {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 30px;
}

@media (max-width: 1024px) {
	.location-sydney-contact-wrapper {
		flex-direction: column;
		gap: 40px;
	}
	
	.location-sydney-text-column,
	.location-sydney-form-column {
		flex: 0 0 100%;
	}
}

/* Contact Info Grid - 2 columns */
.location-contact-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin: 40px 0;
}

.location-contact-card {
	padding: 30px;
	background: transparent; /* Removed grey box background */
	border-radius: 8px;
	text-align: center;
}

.location-contact-card h3 {
	margin-top: 0;
	color: #212327;
}

.location-contact-card a {
	font-size: 20px;
	font-weight: 600;
}

/* Why Choose Section - 4 columns */
.location-why-choose-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 40px 0;
	list-style: none;
	padding: 0;
}

.location-why-choose-grid li,
.location-why-item {
	text-align: center;
	padding: 20px;
	background: transparent; /* Removed grey box background */
	border-radius: 8px;
	list-style: none;
}

.location-why-item h4,
.location-why-choose-grid li h4 {
	margin: 15px 0 10px;
	color: #212327;
	font-size: 16px;
}

/* Process Steps - 3 columns */
.location-process-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin: 40px 0;
	list-style: none;
	padding: 0;
}

.location-process-grid li,
.location-process-item {
	padding: 30px;
	background: transparent; /* Removed grey box background */
	border-radius: 8px;
	text-align: center;
	position: relative;
	list-style: none;
}

.location-process-item::before {
	content: counter(process-counter);
	counter-increment: process-counter;
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 40px;
	background: #ff6b35;
	color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 18px;
}

.location-process-container {
	counter-reset: process-counter;
}

.location-process-item h3 {
	margin-top: 30px;
	color: #212327;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
	.location-services-section-new {
		padding: 80px 0;
	}
	
	.location-services-container-new {
		padding: 0 40px;
	}
	
	.location-services-heading {
		font-size: 36px;
		margin-bottom: 40px;
	}
	
	.location-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.location-service-flip-card {
		height: 350px;
	}
	
	.location-content-section-new {
		padding: 80px 0;
	}
	
	.location-content-container-new {
		padding: 0 40px;
	}
	
	.location-why-choose-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.location-testimonial-card {
		flex: 0 0 calc(50% - 15px);
	}
	
	.location-faq-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.location-services-section-new {
		padding: 60px 0;
	}
	
	.location-services-container-new {
		padding: 0 20px;
	}
	
	.location-services-heading {
		font-size: 32px;
		margin-bottom: 30px;
	}
	
	.location-services-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	
	.location-service-flip-card {
		height: 300px;
	}
	
	.location-content-section-new {
		padding: 60px 0;
	}
	
	.location-content-container-new {
		padding: 0 20px;
	}
	
	.location-process-grid,
	.location-contact-grid {
		grid-template-columns: 1fr;
	}
	
	.location-why-choose-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
	
	.location-testimonial-card {
		flex: 0 0 100%;
		min-width: 100%;
	}
}

.page-links {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid #e0e0e0;
}

.page-links a {
	color: #ff6b35;
	text-decoration: underline;
}

@media (max-width: 1024px) {
	.entry-header .container,
	.entry-content .container {
		padding: 0 40px;
	}
	
	.entry-title {
		font-size: 36px;
	}
	
	.entry-content h2 {
		font-size: 28px;
	}
	
	.entry-content h3 {
		font-size: 22px;
	}
}

@media (max-width: 768px) {
	.entry-header {
		padding: 40px 0 30px;
	}
	
	.entry-content {
		padding: 40px 0 60px;
	}
	
	.entry-header .container,
	.entry-content .container {
		padding: 0 30px;
	}
	
	.entry-title {
		font-size: 32px;
	}
	
	.entry-content h2 {
		font-size: 24px;
	}
	
	.entry-content h3 {
		font-size: 20px;
	}
	
	.entry-content p,
	.entry-content ul,
	.entry-content ol {
		font-size: 15px;
	}
}

/* ============================================
   TEAM SECTION (NEW)
   ============================================ */
.team-section-new {
	padding: 80px 0;
	background: #ffffff;
}

.team-section-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.team-section-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 30px;
	line-height: 1.2;
}

.team-section-intro {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #212327;
	line-height: 1.8;
	margin-bottom: 40px;
}

.team-locations-list {
	margin-bottom: 40px;
}

.team-locations-ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 15px 30px;
}

.team-location-item {
	margin: 0;
}

.team-location-link {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #ff6b35;
	text-decoration: none;
	transition: color 0.3s ease;
	position: relative;
	padding-left: 20px;
}

.team-location-link::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #212327;
	font-size: 20px;
	line-height: 1;
}

.team-location-link:hover {
	color: #d45a2a;
	text-decoration: underline;
}

.team-content-split {
	display: flex;
	gap: 60px;
	align-items: flex-start;
}

.team-logo-column {
	flex: 0 0 50%;
}

.team-logo-wrapper {
	position: sticky;
	top: 100px;
}

.team-logo-image {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}

.team-text-column {
	flex: 0 0 50%;
}

.team-content-wrapper {
	width: 100%;
}

.team-text {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #212327;
	line-height: 1.8;
	margin-bottom: 25px;
}

.team-text:last-child {
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.team-section-container-new {
		padding: 0 40px;
	}
	
	.team-section-heading {
		font-size: 36px;
	}
	
	.team-content-split {
		gap: 40px;
	}
}

@media (max-width: 768px) {
	.team-section-new {
		padding: 60px 0;
	}
	
	.team-section-container-new {
		padding: 0 30px;
	}
	
	.team-section-heading {
		font-size: 32px;
		margin-bottom: 20px;
	}
	
	.team-section-intro {
		font-size: 16px;
		margin-bottom: 30px;
	}
	
	.team-locations-ul {
		flex-direction: column;
		gap: 12px;
	}
	
	.team-content-split {
		flex-direction: column;
		gap: 30px;
	}
	
	.team-logo-column {
		flex: 1;
	}
	
	.team-logo-wrapper {
		position: static;
	}
	
	.team-text-column {
		flex: 1;
	}
	
	.team-text {
		font-size: 15px;
		margin-bottom: 20px;
	}
}

/* ============================================
   CLIENTS LIST STYLES
   ============================================ */
.clients-list-wrapper,
.councils-list-wrapper {
	margin-top: 20px;
}

.clients-list,
.councils-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.clients-list li,
.councils-list li {
	padding: 8px 0;
	border-bottom: 1px solid #e0e0e0;
}

.clients-list li:last-child,
.councils-list li:last-child {
	border-bottom: none;
}

.law-firms-alphabetical {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 20px;
}

.law-firms-column h4 {
	color: #ff6b35;
	font-size: 24px;
	margin-bottom: 15px;
	margin-top: 0;
}

.law-firms-column p {
	margin-bottom: 20px;
	line-height: 1.8;
}

.media-list-wrapper {
	margin-top: 20px;
}

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

.media-list li {
	padding: 12px 0;
	border-bottom: 1px solid #e0e0e0;
	line-height: 1.6;
}

.media-list li:last-child {
	border-bottom: none;
}

.media-list a {
	color: #ff6b35;
	text-decoration: none;
}

.media-list a:hover {
	text-decoration: underline;
}

@media (max-width: 1024px) {
	.law-firms-alphabetical {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.law-firms-alphabetical {
		grid-template-columns: 1fr;
	}
	
	.councils-list-wrapper {
		display: grid;
		grid-template-columns: 1fr;
	}
}

/* ============================================
   POST TEMPLATE STYLES
   Modern blog post design with shared components
   ============================================ */

/* Post Hero Section */
.post-hero-section {
	width: 100%;
	margin-bottom: 0;
}

.post-hero-image-wrapper {
	width: 100%;
	height: 500px;
	overflow: hidden;
	position: relative;
}

.post-hero-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Post Header Section */
.post-header-section {
	background: #ffffff;
	padding: 60px 0 40px;
	border-bottom: 1px solid #e0e0e0;
}

.post-header-content {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}

.post-categories {
	margin-bottom: 15px;
}

.post-category-tag {
	display: inline-block;
	padding: 6px 16px;
	background: #ff6b35;
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px;
	margin-right: 8px;
	margin-bottom: 8px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.post-category-tag:hover {
	background: #d45a2a;
	color: #ffffff;
}

.post-title {
	font-family: "Poppins", sans-serif;
	font-size: 48px;
	font-weight: 700;
	color: #212327;
	margin: 0 0 30px 0;
	line-height: 1.2;
}

.post-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	padding-top: 20px;
	border-top: 1px solid #e0e0e0;
}

.post-meta-left {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.post-author,
.post-date {
	font-size: 14px;
	color: #666;
}

.post-author .author-label {
	color: #999;
	margin-right: 5px;
}

.post-author .author-name {
	color: #ff6b35;
	text-decoration: none;
	font-weight: 600;
}

.post-author .author-name:hover {
	color: #d45a2a;
	text-decoration: underline;
}

.post-date time {
	color: #666;
}

.post-meta-right {
	display: flex;
	align-items: center;
}

.post-share-buttons {
	display: flex;
	gap: 10px;
}

.share-button {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: #f5f5f5;
	border-radius: 4px;
	text-decoration: none;
	color: #212327;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s ease;
}

.share-button:hover {
	background: #e0e0e0;
	color: #212327;
}

.share-button .share-icon {
	font-size: 16px;
}

.share-facebook:hover {
	background: #1877f2;
	color: #ffffff;
}

.share-twitter:hover {
	background: #1da1f2;
	color: #ffffff;
}

.share-linkedin:hover {
	background: #0077b5;
	color: #ffffff;
}

/* Post Content Section */
.post-content-section {
	background: #ffffff;
	padding: 60px 0;
}

.post-content-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1fr 350px;
	gap: 60px;
}

.post-content-main {
	width: 100%;
}

.post-content-main .entry-content {
	padding: 0;
	background: transparent;
}

.post-content-main .entry-content p {
	font-size: 18px;
	line-height: 1.8;
	margin-bottom: 24px;
	color: #212327;
}

.post-content-main .entry-content h2 {
	font-size: 36px;
	margin-top: 50px;
	margin-bottom: 20px;
	color: #212327;
}

.post-content-main .entry-content h3 {
	font-size: 28px;
	margin-top: 40px;
	margin-bottom: 15px;
	color: #212327;
}

.post-content-main .entry-content ul,
.post-content-main .entry-content ol {
	margin: 24px 0;
	padding-left: 30px;
}

.post-content-main .entry-content ul li,
.post-content-main .entry-content ol li {
	margin-bottom: 12px;
	line-height: 1.8;
}

.post-content-main .entry-content img {
	border-radius: 8px;
	margin: 40px 0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Post Tags Section */
.post-tags-section {
	margin-top: 50px;
	padding-top: 30px;
	border-top: 1px solid #e0e0e0;
}

.post-tags-wrapper {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.tags-label {
	font-weight: 600;
	color: #212327;
	font-size: 14px;
}

.post-tags-list {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.post-tag {
	padding: 6px 14px;
	background: #f5f5f5;
	color: #212327;
	font-size: 13px;
	border-radius: 4px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.post-tag:hover {
	background: #ff6b35;
	color: #ffffff;
}

/* Author Bio Section */
.post-author-bio-section {
	margin-top: 50px;
	padding: 40px;
	background: #f9f9f9;
	border-radius: 8px;
}

.author-bio-wrapper {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.author-avatar {
	flex-shrink: 0;
}

.author-avatar img {
	border-radius: 50%;
	width: 80px;
	height: 80px;
	object-fit: cover;
}

.author-info {
	flex: 1;
}

.author-info .author-name {
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 10px 0;
}

.author-info .author-name a {
	color: #212327;
	text-decoration: none;
}

.author-info .author-name a:hover {
	color: #ff6b35;
}

.author-bio {
	font-size: 15px;
	line-height: 1.7;
	color: #666;
	margin: 0 0 15px 0;
}

.author-link {
	font-size: 14px;
	color: #ff6b35;
	text-decoration: none;
	font-weight: 500;
}

.author-link:hover {
	text-decoration: underline;
}

/* Post Navigation */
.post-navigation-section {
	margin-top: 50px;
	padding-top: 30px;
	border-top: 1px solid #e0e0e0;
}

.post-navigation-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.post-nav-item {
	padding: 20px;
	background: #f9f9f9;
	border-radius: 8px;
	transition: all 0.3s ease;
}

.post-nav-item:hover {
	background: #f0f0f0;
	transform: translateY(-2px);
}

.post-nav-prev {
	text-align: left;
}

.post-nav-next {
	text-align: right;
}

.nav-label {
	display: block;
	font-size: 12px;
	color: #999;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 8px;
}

.nav-title {
	font-size: 16px;
	font-weight: 600;
	color: #212327;
	text-decoration: none;
	line-height: 1.4;
}

.nav-title:hover {
	color: #ff6b35;
}

/* Post Sidebar */
.post-sidebar {
	width: 100%;
}

.post-sidebar-cta {
	padding: 30px;
	background: linear-gradient(135deg, #ff6b35 0%, #d45a2a 100%);
	border-radius: 8px;
	color: #ffffff;
	margin-bottom: 40px;
}

.sidebar-cta-title {
	font-size: 22px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 15px 0;
}

.sidebar-cta-text {
	font-size: 15px;
	line-height: 1.7;
	color: #ffffff;
	margin: 0 0 20px 0;
	opacity: 0.95;
}

.sidebar-cta-button {
	display: inline-block;
	padding: 12px 24px;
	background: #ffffff;
	color: #ff6b35;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	margin-bottom: 15px;
	transition: all 0.3s ease;
}

.sidebar-cta-button:hover {
	background: #f0f0f0;
	color: #d45a2a;
	transform: translateY(-2px);
}

.sidebar-cta-phone {
	display: block;
	font-size: 18px;
	font-weight: 600;
	color: #ffffff;
	text-decoration: none;
	margin-top: 10px;
}

.sidebar-cta-phone:hover {
	opacity: 0.9;
}

/* Related Posts */
.post-related-section {
	margin-top: 40px;
}

.related-posts-title {
	font-size: 24px;
	font-weight: 700;
	color: #212327;
	margin: 0 0 25px 0;
}

.related-posts-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.related-post-item {
	display: flex;
	gap: 15px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e0e0e0;
}

.related-post-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.related-post-image {
	flex-shrink: 0;
	width: 120px;
	height: 80px;
	overflow: hidden;
	border-radius: 4px;
}

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

.related-post-image:hover img {
	transform: scale(1.05);
}

.related-post-content {
	flex: 1;
}

.related-post-date {
	display: block;
	font-size: 12px;
	color: #999;
	margin-bottom: 8px;
}

.related-post-title {
	font-size: 16px;
	font-weight: 600;
	margin: 0;
	line-height: 1.4;
}

.related-post-title a {
	color: #212327;
	text-decoration: none;
}

.related-post-title a:hover {
	color: #ff6b35;
}

/* Post Comments Section */
.post-comments-section {
	background: #f9f9f9;
	padding: 60px 0;
	margin-top: 60px;
}

.post-comments-section .container {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Responsive Styles */
@media (max-width: 1024px) {
	.post-content-wrapper {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.post-sidebar {
		order: -1;
	}
	
	.post-navigation-wrapper {
		grid-template-columns: 1fr;
	}
	
	.post-nav-next {
		text-align: left;
	}
}

@media (max-width: 768px) {
	.post-hero-image-wrapper {
		height: 300px;
	}
	
	.post-title {
		font-size: 32px;
	}
	
	.post-meta {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.post-share-buttons {
		width: 100%;
		justify-content: flex-start;
	}
	
	.author-bio-wrapper {
		flex-direction: column;
		text-align: center;
	}
	
	.related-post-item {
		flex-direction: column;
	}
	
	.related-post-image {
		width: 100%;
		height: 200px;
	}
}

/* ============================================
   BLOG POST TEMPLATE - HOMEPAGE STYLE
   ============================================ */

/* Post Hero - Split Screen (Like Homepage) */
.post-hero-section.hero-slider-new {
	margin-bottom: 0;
}

.post-categories-hero {
	margin-bottom: 15px;
}

.post-category-tag-hero {
	display: inline-block;
	padding: 6px 16px;
	background: #ff6b35;
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px;
	margin-right: 8px;
	margin-bottom: 8px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.post-category-tag-hero:hover {
	background: #d45a2a;
	color: #ffffff;
}

.post-meta-hero {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.9);
}

.post-author-hero,
.post-date-hero {
	display: flex;
	align-items: center;
	gap: 5px;
}

.post-author-hero .author-label {
	opacity: 0.8;
}

.post-author-hero .author-name {
	color: #ffffff;
	text-decoration: none;
	font-weight: 500;
}

.post-author-hero .author-name:hover {
	color: #ff6b35;
}

.meta-separator {
	opacity: 0.6;
}

.post-date-hero time {
	color: rgba(255, 255, 255, 0.9);
}

/* Post Content Section - Using Homepage About Section Styles */
.post-content-section-new {
	background: #ffffff;
	padding: 80px 0;
}

.post-content-block .entry-content {
	color: #212327;
	line-height: 1.8;
	font-size: 16px;
}

.post-content-block .entry-content h2,
.post-content-block .entry-content h3,
.post-content-block .entry-content h4 {
	color: #212327;
	margin-top: 30px;
	margin-bottom: 15px;
}

.post-content-block .entry-content p {
	margin-bottom: 20px;
}

.post-content-block .entry-content a {
	color: #ff6b35;
	text-decoration: none;
}

.post-content-block .entry-content a:hover {
	text-decoration: underline;
}

.post-meta-content {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.post-author-info,
.post-date-info {
	font-size: 14px;
	color: #666;
}

.post-author-info .author-name-link {
	color: #ff6b35;
	text-decoration: none;
	font-weight: 500;
}

.post-author-info .author-name-link:hover {
	text-decoration: underline;
}

/* Post CTA Block */
.post-cta-block {
	text-align: center;
}

.post-cta-phone {
	margin-top: 20px;
}

.post-cta-phone .phone-link {
	color: #ffffff;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
	display: inline-block;
}

.post-cta-phone .phone-link:hover {
	opacity: 0.9;
}

/* Post Author Section - Using Features Style */
.post-author-section {
	background: #f8f9fa;
	padding: 80px 0;
}

.author-bio-box {
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
}

.author-avatar-large {
	margin: 0 auto 20px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
}

.author-avatar-large img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.author-link-button {
	display: inline-block;
	margin-top: 15px;
	padding: 10px 20px;
	background: #ff6b35;
	color: #ffffff;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
	transition: background 0.3s ease;
}

.author-link-button:hover {
	background: #d45a2a;
	color: #ffffff;
}

/* Related Posts Section - Using Services Carousel Style */
.related-posts-section {
	background: #ffffff;
	padding: 80px 0;
}

.related-posts-section .section-heading {
	text-align: center;
	font-size: 36px;
	margin-bottom: 50px;
	color: #212327;
}

.related-posts-section .service-card-carousel {
	height: auto;
	min-height: 300px;
}

.related-posts-section .read-more-link {
	display: inline-block;
	margin-top: 15px;
	color: #ff6b35;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}

.related-posts-section .read-more-link:hover {
	text-decoration: underline;
}

/* Post Navigation - Using About Blocks Style */
.post-navigation-section {
	background: #ffffff;
	padding: 60px 0;
}

.post-nav-prev-block,
.post-nav-next-block {
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.post-nav-prev-block:hover,
.post-nav-next-block:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.post-nav-prev-block .nav-label,
.post-nav-next-block .nav-label {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #666;
	margin-bottom: 10px;
}

.post-nav-prev-block .about-block-title a,
.post-nav-next-block .about-block-title a {
	color: #212327;
	text-decoration: none;
	transition: color 0.3s ease;
}

.post-nav-prev-block:hover .about-block-title a,
.post-nav-next-block:hover .about-block-title a {
	color: #ff6b35;
}

/* Post Comments Section */
.post-comments-section {
	background: #f8f9fa;
	padding: 60px 0;
}

@media (max-width: 768px) {
	.post-meta-hero {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	
	.post-content-section-new {
		padding: 60px 0;
	}
	
	.post-author-section {
		padding: 60px 0;
	}
	
	.related-posts-section {
		padding: 60px 0;
	}
}

/* ============================================
   BLOG POST TEMPLATE - TWO COLUMN LAYOUT
   ============================================ */

/* Blog Container - Two Column Layout */
.blog-main {
	padding: 40px 0;
	background: #ffffff;
}

.blog-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.blog-content-wrapper {
	display: grid;
	grid-template-columns: 1fr 350px;
	gap: 60px;
	align-items: start;
}

.blog-main-content {
	min-width: 0; /* Prevents overflow */
}

/* Blog Post Header */
.blog-post-header {
	margin-bottom: 30px;
}

.blog-post-categories {
	margin-bottom: 15px;
}

.blog-category-tag {
	display: inline-block;
	padding: 6px 16px;
	background: #ff6b35;
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px;
	margin-right: 8px;
	margin-bottom: 8px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.blog-category-tag:hover {
	background: #d45a2a;
	color: #ffffff;
}

.blog-post-title {
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	line-height: 1.2;
	margin: 0 0 15px 0;
	text-transform: uppercase;
	letter-spacing: -0.5px;
}

.blog-post-meta {
	font-size: 14px;
	color: #666;
	margin-top: 20px;
}

.blog-post-date,
.blog-post-author {
	color: #666;
}

.blog-post-separator {
	margin: 0 8px;
	color: #999;
}

/* Featured Image */
.blog-post-featured-image {
	margin: 30px 0;
	width: 100%;
	overflow: hidden;
}

.blog-post-featured-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Post Content */
.blog-post-content {
	color: #212327;
	line-height: 1.8;
	font-size: 16px;
	margin-bottom: 40px;
}

.blog-post-content h2,
.blog-post-content h3,
.blog-post-content h4 {
	color: #212327;
	margin-top: 30px;
	margin-bottom: 15px;
	font-weight: 600;
}

.blog-post-content p {
	margin-bottom: 20px;
}

.blog-post-content a {
	color: #ff6b35;
	text-decoration: none;
}

.blog-post-content a:hover {
	text-decoration: underline;
}

/* Post Footer */
.blog-post-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
	margin: 40px 0;
}

.blog-comments-count {
	font-size: 14px;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.blog-social-share {
	display: flex;
	gap: 10px;
}

.social-share-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid #e0e0e0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #666;
	text-decoration: none;
	transition: all 0.3s ease;
}

.social-share-icon:hover {
	background: #ff6b35;
	border-color: #ff6b35;
	color: #ffffff;
}

/* Post Tags */
.blog-post-tags {
	margin: 30px 0;
	padding: 20px 0;
	border-top: 1px solid #e0e0e0;
}

.tags-label {
	font-size: 14px;
	color: #666;
	margin-right: 10px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.tags-list {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.blog-tag {
	padding: 4px 12px;
	background: #f5f5f5;
	color: #666;
	font-size: 13px;
	text-decoration: none;
	border-radius: 3px;
	transition: all 0.3s ease;
}

.blog-tag:hover {
	background: #ff6b35;
	color: #ffffff;
}

/* Author Bio */
.blog-author-section {
	margin: 50px 0;
	padding: 30px 0;
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
}

.about-the-author-section {
	margin-top: 60px;
}

.about-the-author-title {
	font-size: 24px;
	font-weight: 700;
	color: #212327;
	margin: 0 0 25px 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.author-bio-wrapper {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.author-avatar {
	flex-shrink: 0;
}

.author-avatar img,
.author-avatar .lyonswood-logo-image {
	border-radius: 0;
	width: 150px;
	height: auto;
	max-height: 150px;
	object-fit: contain;
}

.author-info {
	flex: 1;
}

.author-name {
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 10px 0;
}

.author-name a {
	color: #212327;
	text-decoration: none;
}

.author-name a:hover {
	color: #ff6b35;
}

.author-bio {
	color: #666;
	line-height: 1.6;
	margin: 0;
	font-size: 14px;
}

/* Related Posts */
.blog-related-posts {
	margin: 60px 0;
}

.related-posts-heading {
	font-size: 28px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 40px;
	text-transform: uppercase;
	letter-spacing: -0.5px;
}

.related-posts-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}

.related-post-card {
	background: #ffffff;
	transition: transform 0.3s ease;
}

.related-post-card:hover {
	transform: translateY(-5px);
}

.related-post-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.related-post-image {
	width: 100%;
	height: 200px;
	overflow: hidden;
	margin-bottom: 15px;
}

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

.related-post-card:hover .related-post-image img {
	transform: scale(1.05);
}

.related-post-title {
	font-size: 18px;
	font-weight: 600;
	color: #212327;
	margin: 0 0 10px 0;
	line-height: 1.4;
}

.related-post-excerpt {
	color: #666;
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 10px 0;
}

.related-post-read-more {
	color: #ff6b35;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Post Navigation */
.blog-post-navigation {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin: 50px 0;
	padding: 30px 0;
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
}

.nav-previous,
.nav-next {
	flex: 1;
}

.nav-label {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #666;
	margin-bottom: 10px;
}

.nav-previous a,
.nav-next a {
	color: #212327;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	transition: color 0.3s ease;
}

.nav-previous a:hover,
.nav-next a:hover {
	color: #ff6b35;
}

.nav-next {
	text-align: right;
}

/* Comments Section */
.blog-comments-section {
	margin: 50px 0;
}

/* ============================================
   SIDEBAR STYLES
   ============================================ */

.blog-sidebar {
	position: sticky;
	top: 20px;
}

.sidebar-widget {
	background: #ffffff;
	margin-bottom: 40px;
	padding: 0;
}

.widget-title {
	font-size: 14px;
	font-weight: 700;
	color: #212327;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 20px 0;
	text-align: center;
	padding-bottom: 15px;
	border-bottom: 2px solid #e0e0e0;
}

.widget-content {
	padding: 0;
}

/* About Me Widget */
.about-me-avatar {
	text-align: center;
	margin-bottom: 20px;
}

.about-me-avatar img {
	border-radius: 50%;
	width: 150px;
	height: 150px;
	object-fit: cover;
}

.about-me-text {
	color: #666;
	line-height: 1.6;
	font-size: 14px;
	text-align: center;
	margin: 0;
}

/* Follow Us Widget */
.social-icons-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}

.social-icon-item {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	transition: transform 0.3s ease;
}

.social-icon-item:hover {
	transform: translateY(-3px);
}

.social-icon-box {
	width: 60px;
	height: 60px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.social-icon-box i {
	font-size: 20px;
	color: #666;
}

.social-icon-item:hover .social-icon-box {
	background: #ff6b35;
	border-color: #ff6b35;
}

.social-icon-item:hover .social-icon-box i {
	color: #ffffff;
}

.social-icon-label {
	font-size: 12px;
	color: #666;
	text-align: center;
}

/* Social Share Grid (for blog posts) */
.social-share-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}

.social-share-item {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	transition: transform 0.3s ease;
}

.social-share-item:hover {
	transform: translateY(-3px);
}

.social-share-box {
	width: 60px;
	height: 60px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.social-share-box i {
	font-size: 20px;
	color: #666;
	transition: color 0.3s ease;
}

.social-share-item:hover .social-share-box {
	background: #ff6b35;
	border-color: #ff6b35;
}

.social-share-item:hover .social-share-box i {
	color: #ffffff;
}

.social-share-label {
	font-size: 12px;
	color: #666;
	text-align: center;
}

/* Contact Form Widget in Sidebar */
.widget-contact-form .widget-content {
	padding: 0;
}

.widget-contact-form .contact-form-fallback-wrapper {
	padding: 0;
}

.widget-contact-form .contact-form-fallback-wrapper p {
	margin-bottom: 15px;
	color: #666;
	font-size: 14px;
	line-height: 1.6;
	font-family: "Poppins", sans-serif;
}

.widget-contact-form .about-cta-button {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}

/* Contact Form 7 Styles for Sidebar Widget */
.widget-contact-form .wpcf7,
.widget-contact-form .wpcf7-form {
	font-family: "Poppins", sans-serif !important;
	width: 100% !important;
}

.widget-contact-form .wpcf7-form p {
	margin-bottom: 15px !important;
}

.widget-contact-form .wpcf7-form label {
	font-family: "Poppins", sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #212327 !important;
	display: block !important;
	margin-bottom: 6px !important;
}

.widget-contact-form .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
}

.widget-contact-form .wpcf7-form input[type="text"],
.widget-contact-form .wpcf7-form input[type="email"],
.widget-contact-form .wpcf7-form input[type="tel"],
.widget-contact-form .wpcf7-form textarea,
.widget-contact-form .wpcf7 input[type="text"],
.widget-contact-form .wpcf7 input[type="email"],
.widget-contact-form .wpcf7 input[type="tel"],
.widget-contact-form .wpcf7 textarea {
	width: 100% !important;
	padding: 10px 12px !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 4px !important;
	font-family: "Poppins", sans-serif !important;
	font-size: 14px !important;
	color: #212327 !important;
	background: #ffffff !important;
	transition: border-color 0.3s ease !important;
	box-sizing: border-box !important;
}

.widget-contact-form .wpcf7-form input[type="text"]:focus,
.widget-contact-form .wpcf7-form input[type="email"]:focus,
.widget-contact-form .wpcf7-form input[type="tel"]:focus,
.widget-contact-form .wpcf7-form textarea:focus,
.widget-contact-form .wpcf7 input[type="text"]:focus,
.widget-contact-form .wpcf7 input[type="email"]:focus,
.widget-contact-form .wpcf7 input[type="tel"]:focus,
.widget-contact-form .wpcf7 textarea:focus {
	outline: none !important;
	border-color: #ff6b35 !important;
	box-shadow: 0 0 0 1px #ff6b35 !important;
}

.widget-contact-form .wpcf7-form textarea,
.widget-contact-form .wpcf7 textarea {
	min-height: 100px !important;
	resize: vertical !important;
}

.widget-contact-form .wpcf7-form input[type="submit"],
.widget-contact-form .wpcf7-submit {
	background: #ff6b35 !important;
	color: #ffffff !important;
	padding: 12px 30px !important;
	border: none !important;
	border-radius: 4px !important;
	font-family: "Poppins", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	width: 100% !important;
	transition: background 0.3s ease !important;
	box-sizing: border-box !important;
}

.widget-contact-form .wpcf7-form input[type="submit"]:hover,
.widget-contact-form .wpcf7-submit:hover {
	background: #d45a2a !important;
}

.widget-contact-form .wpcf7-response-output {
	font-family: "Poppins", sans-serif !important;
	font-size: 13px !important;
	margin-top: 15px !important;
	padding: 10px !important;
	border-radius: 4px !important;
}

.widget-contact-form .wpcf7-mail-sent-ok {
	background: #d4edda !important;
	color: #155724 !important;
	border: 1px solid #c3e6cb !important;
}

.widget-contact-form .wpcf7-mail-sent-ng,
.widget-contact-form .wpcf7-aborted {
	background: #f8d7da !important;
	color: #721c24 !important;
	border: 1px solid #f5c6cb !important;
}

.widget-contact-form .wpcf7-spam {
	background: #fff3cd !important;
	color: #856404 !important;
	border: 1px solid #ffeaa7 !important;
}

.widget-contact-form .wpcf7-validation-errors,
.widget-contact-form .wpcf7-not-valid-tip {
	color: #dc3545 !important;
	font-size: 13px !important;
	margin-top: 5px !important;
}

/* Hide Contact Form 7 error messages completely */
.widget-contact-form .wpcf7-contact-form-not-found,
.widget-contact-form h2:contains("Contact Us Now!"),
.widget-contact-form p.wpcf7-contact-form-not-found {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Newsletter Widget */
.newsletter-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.newsletter-input {
	padding: 12px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	font-size: 14px;
	color: #212327;
}

.newsletter-input:focus {
	outline: none;
	border-color: #ff6b35;
}

.newsletter-submit {
	padding: 12px;
	background: #ff6b35;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background 0.3s ease;
}

.newsletter-submit:hover {
	background: #d45a2a;
}

/* Categories Widget */
.categories-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.categories-list li {
	margin-bottom: 10px;
}

.categories-list a {
	color: #666;
	text-decoration: none;
	font-size: 14px;
	transition: color 0.3s ease;
	display: block;
	padding: 5px 0;
}

.categories-list a:hover {
	color: #ff6b35;
}

/* Recent Posts Widget */
.recent-posts-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.recent-post-item {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e0e0e0;
}

.recent-post-item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.recent-post-link {
	display: flex;
	gap: 15px;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease;
}

.recent-post-link:hover {
	transform: translateX(5px);
}

.recent-post-thumbnail {
	width: 80px;
	height: 80px;
	object-fit: cover;
	flex-shrink: 0;
	border-radius: 4px;
}

.recent-post-info {
	flex: 1;
	min-width: 0;
}

.recent-post-title {
	font-size: 14px;
	font-weight: 600;
	color: #212327;
	margin: 0 0 5px 0;
	line-height: 1.4;
}

.recent-post-date {
	font-size: 12px;
	color: #999;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Responsive Design */
@media (max-width: 1024px) {
	.blog-content-wrapper {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.blog-sidebar {
		position: static;
	}
	
	.related-posts-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.blog-post-title {
		font-size: 32px;
	}
	
	.blog-post-footer {
		flex-direction: column;
		gap: 15px;
		align-items: flex-start;
	}
	
	.author-bio-wrapper {
		flex-direction: column;
		text-align: center;
	}
	
	.blog-post-navigation {
		flex-direction: column;
	}
	
	.nav-next {
		text-align: left;
	}
	
	.social-icons-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.social-share-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Hide Comments Section from Blog Posts */
.blog-post-article .blog-comments-section,
.blog-post-article #respond,
.blog-post-article .comment-respond,
.blog-post-article .comments-area,
.blog-post-article #comments,
.blog-post-article .comment-form,
.blog-post-article .comment-list {
	display: none !important;
}

/* Hide Contact Form CTA sections from blog post content */
.blog-post-content .about-cta-section,
.blog-post-content .contact-form-section,
.blog-main-content .about-cta-section,
.blog-main-content .contact-form-section,
.blog-post-content section[class*="cta"],
.blog-post-content section[class*="contact"] {
	display: none !important;
}

/* Hide Contact Form 7 error messages everywhere */
.wpcf7-contact-form-not-found,
p.wpcf7-contact-form-not-found,
.wpcf7-contact-form-not-found * {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
}

/* Hide h2 with "Contact Us Now!" text */
.wpcf7 h2,
.widget-contact-form h2 {
	display: none !important;
}

/* Show h2 only if it doesn't contain error text (using a workaround) */
.wpcf7 h2:not(:empty) {
	display: block;
}

/* Hide paragraphs with error messages */
.wpcf7 p strong,
.widget-contact-form p strong {
	display: inline;
}

.wpcf7 p:has(strong:contains("Error:")),
.widget-contact-form p:has(strong:contains("Error:")) {
	display: none !important;
}

/* ============================================
   BLOG ARCHIVE PAGE STYLES - MAGAZINE LAYOUT
   ============================================ */

.blog-archive-main {
	padding: 0;
	background: #ffffff;
}

/* Featured Hero Section */
.blog-featured-hero {
	position: relative;
	width: 100%;
	height: 420px;
	margin-bottom: 60px;
	overflow: hidden;
}

.blog-featured-hero-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.blog-featured-hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.4) 100%);
}

.blog-featured-hero-content {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	z-index: 2;
	padding: 0 40px;
}

.blog-featured-hero-box {
	max-width: 520px;
	background: rgba(44, 44, 44, 0.93);
	padding: 28px 32px;
	border-radius: 6px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(2px);
}

.blog-featured-hero-meta {
	font-size: 10px;
	color: rgba(255, 255, 255, 0.9);
	text-transform: uppercase;
	letter-spacing: 1.2px;
	margin-bottom: 12px;
	font-weight: 500;
	line-height: 1.6;
}

.blog-featured-date,
.blog-featured-category,
.blog-featured-comments {
	color: rgba(255, 255, 255, 0.85);
}

.blog-featured-separator {
	margin: 0 10px;
	opacity: 0.5;
}

.blog-featured-hero-title {
	font-size: 20px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 14px 0;
	line-height: 1.3;
	letter-spacing: -0.1px;
}

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

.blog-featured-hero-title a:hover {
	color: #ff6b35;
}

.blog-featured-hero-excerpt {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.6;
	margin: 0;
}

/* Latest Stories Section */
.blog-latest-stories {
	padding: 80px 0;
	background: #ffffff;
}

.blog-section-header {
	text-align: center;
	margin-bottom: 60px;
}

.blog-section-label {
	display: block;
	font-size: 12px;
	color: #999;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 10px;
}

.blog-section-title {
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: -1px;
}

/* Blog Posts Grid - 3 Columns */
.blog-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin-bottom: 60px;
}

/* Blog Post Card - Magazine Style */
.blog-post-card {
	background: #ffffff;
	transition: transform 0.3s ease;
	display: flex;
	flex-direction: column;
}

.blog-post-card:hover {
	transform: translateY(-5px);
}

.blog-post-card-image {
	width: 100%;
	height: 250px;
	overflow: hidden;
	background: #f0f0f0;
	margin-bottom: 20px;
}

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

.blog-post-card:hover .blog-post-card-image img {
	transform: scale(1.05);
}

.blog-post-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.blog-post-card-header {
	margin-bottom: 15px;
}

.blog-post-card-title {
	font-size: 22px;
	font-weight: 700;
	color: #212327;
	margin: 0 0 12px 0;
	line-height: 1.3;
}

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

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

.blog-post-card-meta {
	font-size: 12px;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.blog-post-card-date,
.blog-post-card-category {
	color: #666;
}

.blog-post-card-separator {
	margin: 0 8px;
	color: #999;
}

.blog-post-card-excerpt {
	color: #666;
	line-height: 1.7;
	font-size: 14px;
	margin-bottom: 20px;
	flex: 1;
}

.blog-post-card-excerpt p {
	margin: 0;
}

.blog-post-card-footer {
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid #e0e0e0;
}

.blog-post-card-read-more {
	color: #ff6b35;
	text-decoration: none;
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: color 0.3s ease;
}

.blog-post-card-read-more:hover {
	color: #d45a2a;
}

/* Pagination */
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 60px 0;
	padding: 30px 0;
}

.pagination .page-numbers {
	padding: 10px 15px;
	background: #ffffff;
	border: 1px solid #e0e0e0;
	color: #666;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.pagination .page-numbers:hover,
.pagination .page-numbers.current {
	background: #ff6b35;
	border-color: #ff6b35;
	color: #ffffff;
}

/* Responsive */
@media (max-width: 1024px) {
	.blog-posts-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
	
	.blog-featured-hero {
		height: 380px;
	}
	
	.blog-featured-hero-box {
		max-width: 500px;
		padding: 30px;
	}
	
	.blog-featured-hero-title {
		font-size: 18px;
	}
}

@media (max-width: 768px) {
	.blog-posts-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.blog-featured-hero {
		height: 350px;
		margin-bottom: 50px;
	}
	
	.blog-featured-hero-content {
		padding: 0 15px;
	}
	
	.blog-featured-hero-box {
		max-width: 100%;
		padding: 25px;
	}
	
	.blog-featured-hero-title {
		font-size: 16px;
		line-height: 1.3;
	}
	
	.blog-featured-hero-excerpt {
		font-size: 14px;
	}
	
	.blog-section-title {
		font-size: 32px;
	}
	
	.blog-post-card-title {
		font-size: 20px;
	}
	
	.blog-post-card-image {
		height: 200px;
	}
	
	.blog-latest-stories {
		padding: 50px 0;
	}
}

/* ============================================
   LOCATION SERVICES SECTION - IMAGE ALIGNMENT
   ============================================ */

.location-services-section-new {
	padding: 80px 0;
	background: #ffffff;
}

.location-services-container-new {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.location-services-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	text-align: center;
	margin-bottom: 20px;
	line-height: 1.2;
}

.location-services-intro {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #666;
	text-align: center;
	margin-bottom: 50px;
	line-height: 1.7;
}

.location-services-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

.location-service-flip-card {
	perspective: 1000px;
	height: 300px;
}

.location-service-flip-card a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.location-service-flip-card a:hover {
	text-decoration: none;
}

.location-service-flip-inner {
	position: relative;
	width: 100%;
	height: 100%;
	transition: transform 0.6s;
	transform-style: preserve-3d;
}

.location-service-flip-card:hover .location-service-flip-inner {
	transform: rotateY(180deg);
}

.location-service-flip-front,
.location-service-flip-back {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	background: #ffffff;
}

.location-service-flip-back {
	transform: rotateY(180deg);
	background: #212327;
	padding: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

/* Location Service Image - PROPERLY CENTERED */
.location-service-image {
	width: 100%;
	height: 100%;
	background-position: center center !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.3s ease;
}

.location-service-flip-card:hover .location-service-image {
	background-size: 100% 100% !important;
	filter: grayscale(0%);
	opacity: 1;
}

/* Make entire flip card clickable */
.location-service-flip-card a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.location-service-flip-card a:hover {
	text-decoration: none;
}

.location-service-title {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #212327;
	margin: 20px 0 0 0;
	text-align: center;
	padding: 0 15px;
}

.location-service-flip-back .location-service-title {
	color: #ffffff;
	margin: 0 0 15px 0;
}

.location-service-description {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.6;
	margin: 0;
}

@media (max-width: 1024px) {
	.location-services-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 25px;
	}
}

@media (max-width: 768px) {
	.location-services-section-new {
		padding: 60px 0;
	}
	
	.location-services-container-new {
		padding: 0 30px;
	}
	
	.location-services-heading {
		font-size: 32px;
	}
	
	.location-services-intro {
		font-size: 16px;
		margin-bottom: 40px;
	}
	
	.location-services-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	
	.location-service-flip-card {
		height: 280px;
	}
	
	.location-service-image {
		height: 100%;
	}
}

@media (max-width: 480px) {
	.location-services-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* ============================================
   SURVEILLANCE GRID LAYOUT - Full Width
   ============================================ */
.surveillance-grid-section {
	width: 100%;
	padding: 80px 0;
	background: #ffffff;
}

.surveillance-grid-section--alt {
	background: #EBEBEB;
}

.container-full-width {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

/* ============================================
   UNIVERSAL SECTION HEADER - Reusable Component
   Use for consistent header layouts across pages
   ============================================ */

.section-header {
	margin: 0 0 60px;
	text-align: left;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.section-header--top-aligned {
	align-items: start;
}

.section-header--single-column {
	grid-template-columns: 1fr;
	text-align: center;
}

.section-header .header-group {
	display: flex;
	flex-direction: column;
}

.section-main-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 0;
	line-height: 1.2;
}

.section-subheading {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 500;
	color: #212327;
	margin: 10px 0 0;
	line-height: 1.4;
}

.section-intro {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin: 0;
}

.section-list {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin: 0;
	padding-left: 20px;
	list-style-type: disc;
}

.section-list li {
	margin-bottom: 12px;
}

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

@media (max-width: 992px) {
	.section-header {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.section-main-heading {
		font-size: 32px;
	}
}

@media (max-width: 768px) {
	.section-header {
		margin-bottom: 40px;
	}

	.section-main-heading {
		font-size: 28px;
	}

	.section-subheading {
		font-size: 18px;
	}
}

/* ============================================
   END UNIVERSAL SECTION HEADER
   ============================================ */

.surveillance-grid-header {
	margin: 0 0 60px;
	text-align: left;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
}

.surveillance-grid-main-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 0;
	line-height: 1.2;
}

.surveillance-grid-intro {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	margin: 0;
}

/* Accent content block with orange background */
.surveillance-grid-content--accent {
	background: #ff6b35;
}

.surveillance-grid-content--accent .surveillance-grid-subheading {
	color: #ffffff;
}

.surveillance-grid-content--accent .surveillance-grid-text {
	color: rgba(255, 255, 255, 0.9);
}

.surveillance-grid-content--accent .service-link-inline {
	color: #ffffff;
	text-decoration: underline;
}

.surveillance-grid-content--accent .service-link-inline:hover {
	color: #212327;
}

/* White content block variation for contrast */
.surveillance-grid-content--light {
	background: #ffffff;
	border: 1px solid #e5e5e5;
}

.surveillance-grid-content--light .surveillance-grid-subheading {
	color: #212327;
}

.surveillance-grid-content--light .surveillance-grid-text {
	color: #666;
}

.surveillance-grid-content--light .surveillance-grid-text strong {
	color: #212327;
}

.surveillance-grid-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto auto;
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

/* 3 Column Grid Layout with Square Images */
.surveillance-grid-container-3col {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}

.surveillance-grid-item-square {
	padding: 0;
	display: flex;
	flex-direction: column;
}

.surveillance-grid-image-square {
	padding: 0;
	background: #212327;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.surveillance-grid-img-square {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: grayscale(100%);
	transition: transform 0.5s ease, filter 0.5s ease;
}

.surveillance-grid-image-square:hover .surveillance-grid-img-square {
	transform: scale(1.05);
}

.surveillance-grid-item {
	padding: 0;
	display: flex;
	flex-direction: column;
}

.surveillance-grid-image-large {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
	padding: 0;
	background: #212327;
	overflow: hidden;
}

.surveillance-grid-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.surveillance-grid-image-large:hover .surveillance-grid-img {
	transform: scale(1.05);
}

/* Dark background content blocks - matching homepage pattern */
.surveillance-grid-content {
	background: #212327;
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	padding: 40px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

/* Dividers between adjacent content cards (not images) */
.surveillance-grid-content + .surveillance-grid-content {
	border-left: 1px solid rgba(255, 255, 255, 0.15);
}

/* Horizontal divider between rows - content cards in row 2 */
.surveillance-grid-container-3col > :nth-child(n+4).surveillance-grid-content {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.surveillance-grid-subheading {
	font-family: "Poppins", sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 20px;
	padding-bottom: 15px;
	line-height: 1.3;
	position: relative;
}

.surveillance-grid-subheading::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 3px;
	background: #ff6b35;
	transition: width 0.3s ease;
}

/* Extend orange bar on hover */
.surveillance-grid-content:hover .surveillance-grid-subheading::after {
	width: 80px;
}

.surveillance-grid-text {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.7;
	margin-bottom: 15px;
}

.surveillance-grid-text:last-child {
	margin-bottom: 0;
}

.surveillance-grid-text strong {
	color: #ffffff;
	font-weight: 600;
}

/* Links inside dark blocks */
.surveillance-grid-content .service-link-inline {
	color: #ff6b35;
}

.surveillance-grid-content .service-link-inline:hover {
	color: #ffb199;
}

/* Responsive Grid Layout */
@media (max-width: 1200px) {
	.surveillance-grid-container {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto auto auto;
	}
	
	.surveillance-grid-image-large {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
		min-height: 400px;
	}
	
	.surveillance-grid-container-3col {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 992px) {
	.surveillance-grid-header {
		grid-template-columns: 1fr;
		gap: 20px;
		text-align: left;
	}
}

@media (max-width: 768px) {
	.surveillance-grid-section {
		padding: 60px 0;
	}

	.container-full-width {
		padding: 0 20px;
	}

	.surveillance-grid-header {
		margin-bottom: 40px;
		grid-template-columns: 1fr;
		gap: 20px;
		text-align: left;
	}

	.surveillance-grid-main-heading {
		font-size: 28px;
	}

	.surveillance-grid-intro {
		font-size: 15px;
	}

	.surveillance-grid-container {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 0;
		padding: 0 20px;
	}

	.surveillance-grid-image-large {
		grid-column: 1;
		grid-row: 1;
		min-height: 300px;
	}

	.surveillance-grid-container-3col {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.surveillance-grid-content {
		padding: 30px 25px;
	}

	.surveillance-grid-content + .surveillance-grid-content {
		border-left: none;
	}

	.surveillance-grid-item {
		padding: 0;
	}

	.surveillance-grid-item-square {
		padding: 30px;
	}
	
	.surveillance-grid-image-square {
		min-height: 300px;
		padding: 0;
	}

	/* Dividers between content cards on mobile - matching desktop style */
	.surveillance-grid-content + .surveillance-grid-content {
		border-top: 1px solid rgba(255, 255, 255, 0.15);
	}

	.surveillance-grid-subheading {
		font-size: 20px;
	}
}

/* ============================================
   ADDITIONAL SERVICES GRID LAYOUT
   ============================================ */
.additional-services-grid-section {
	width: 100%;
	padding: 80px 0;
	background: #EBEBEB;
	position: relative;
	z-index: 1;
}

.additional-services-grid-section * {
	position: relative;
}

.additional-services-header {
	max-width: 1400px;
	margin: 0 auto 50px;
	text-align: center;
	padding: 0 40px;
}

.additional-services-main-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 30px;
	line-height: 1.2;
}

.additional-services-intro {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	color: #666;
	line-height: 1.8;
	max-width: 800px;
	margin: 0 auto;
}

.additional-services-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 1;
}

.additional-services-grid > * {
	position: relative;
	z-index: 1;
}

.additional-service-card {
	background: #212327;
	padding: 50px 30px;
	border-radius: 0;
	transition: all 0.3s ease;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	display: block;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	position: relative;
	text-align: center;
}

/* Remove right border from last card in each row (4-column grid) */
.additional-service-card:nth-child(4n) {
	border-right: none;
}

/* Remove bottom border from last row cards */
.additional-services-grid .additional-service-card:nth-last-child(-n+4) {
	border-bottom: none;
}

/* Number indicator for cards - using span element */
.additional-service-number {
	font-family: "Poppins", sans-serif;
	font-size: 48px;
	font-weight: 700;
	color: rgba(255, 107, 53, 0.7);
	display: block;
	margin-bottom: 20px;
	line-height: 1;
	transition: color 0.3s ease;
	pointer-events: none !important;
}

.additional-service-card:hover .additional-service-number {
	color: #ffffff;
}

/* Make anchor tags fully clickable - HIGHEST SPECIFICITY AND PRIORITY */
.additional-services-grid a.additional-service-card,
.additional-services-grid > a.additional-service-card,
a.additional-service-card {
	pointer-events: auto !important;
	z-index: 1000 !important;
	position: relative !important;
	display: block !important;
	text-decoration: none !important;
	color: inherit !important;
	width: 100% !important;
	height: 100% !important;
	cursor: pointer !important;
	-webkit-tap-highlight-color: transparent;
	overflow: visible !important;
}

/* Force clickability - override any other rules with maximum specificity */
.additional-services-grid-section .additional-services-grid a.additional-service-card,
.additional-services-grid-section a.additional-service-card {
	pointer-events: auto !important;
	z-index: 1000 !important;
	cursor: pointer !important;
	position: relative !important;
	display: block !important;
}

/* Ensure grid container doesn't block clicks */
.additional-services-grid-section,
.additional-services-grid-section .container-full-width,
.additional-services-grid-section .additional-services-grid {
	pointer-events: auto !important;
}

/* Ensure all child elements of anchor tags don't block clicks - HIGHEST SPECIFICITY */
.additional-services-grid a.additional-service-card *,
.additional-services-grid a.additional-service-card h3,
.additional-services-grid a.additional-service-card p,
.additional-services-grid a.additional-service-card .additional-service-title,
.additional-services-grid a.additional-service-card .additional-service-description,
a.additional-service-card *,
a.additional-service-card h3,
a.additional-service-card p,
a.additional-service-card .additional-service-title,
a.additional-service-card .additional-service-description {
	pointer-events: none !important;
	user-select: none !important;
	cursor: inherit !important;
}

.additional-service-card:hover {
	background: #ff6b35;
	transform: translateY(-5px);
	text-decoration: none;
	color: inherit;
}

.additional-service-title {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 15px;
	line-height: 1.3;
	pointer-events: none !important;
	user-select: none;
}

.additional-service-card:hover .additional-service-title {
	color: #ffffff;
}

.additional-service-card:hover .additional-service-description {
	color: rgba(255, 255, 255, 0.9);
}

.additional-service-description {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.8;
	margin: 0;
	pointer-events: none !important;
	user-select: none;
}

@media (max-width: 1200px) {
	.additional-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Reset 4-column border rules */
	.additional-service-card:nth-child(4n) {
		border-right: 1px solid rgba(255, 255, 255, 0.1);
	}

	/* Remove right border from last card in each row (2-column grid) */
	.additional-services-grid .additional-service-card:nth-child(2n) {
		border-right: none;
	}

	/* Remove bottom border from last row (last 2 cards in 2-column grid) */
	.additional-services-grid .additional-service-card:nth-last-child(-n+2) {
		border-bottom: none;
	}
}

@media (max-width: 768px) {
	.additional-services-grid-section {
		padding: 60px 0;
	}

	.additional-services-header {
		padding: 0 20px;
		margin-bottom: 40px;
	}

	.additional-services-main-heading {
		font-size: 28px;
	}

	.additional-services-intro {
		font-size: 15px;
	}

	.additional-services-grid {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 0 20px;
	}

	.additional-service-card {
		padding: 40px 30px;
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.additional-service-card:last-child {
		border-bottom: none;
	}

	.additional-service-number {
		font-size: 36px;
	}

	.additional-service-title {
		font-size: 18px;
	}
}

/* Contact Page - Location Office Cards */
.contact-locations-grid {
	background: #EBEBEB;
}

.contact-locations-grid .additional-services-header .additional-services-main-heading {
	color: #212327;
}

.contact-locations-grid .additional-services-header .additional-services-intro {
	color: #666666;
}

@media (max-width: 1200px) {
	.contact-locations-grid .additional-services-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 992px) {
	.contact-locations-grid .additional-services-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 576px) {
	.contact-locations-grid .additional-services-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ============================================
   RELATED SERVICES GRID LAYOUT
   ============================================ */
.related-services-section {
	width: 100%;
	padding: 80px 0;
	background: #f8f8f8;
}

.related-services-header {
	max-width: 1600px;
	margin: 0 auto 60px;
	text-align: center;
	padding: 0 40px;
}

.related-services-main-heading {
	font-family: "Poppins", sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	margin-bottom: 20px;
	line-height: 1.2;
}

.related-services-intro {
	font-family: "Poppins", sans-serif;
	font-size: 18px;
	color: #666;
	line-height: 1.8;
	max-width: 800px;
	margin: 0 auto;
}

.related-services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 25px;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 40px;
	position: relative;
	z-index: 1;
}

.related-services-grid > * {
	position: relative;
	z-index: 2;
}

/* Related Services 3-Column Grid */
.related-services-grid-3col {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.related-services-grid-3col .related-service-card {
	display: block;
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	aspect-ratio: 4/3;
	text-decoration: none;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border: none;
	padding: 0;
	background: transparent;
}

.related-services-grid-3col .related-service-card img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease, filter 0.3s ease;
	filter: grayscale(100%);
}

.related-services-grid-3col .related-service-card .overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
	z-index: 1;
}

.related-services-grid-3col .related-service-card .content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 25px;
	z-index: 2;
	color: #ffffff;
}

.related-services-grid-3col .related-service-card .content h3 {
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 8px 0;
	color: #ffffff;
}

.related-services-grid-3col .related-service-card .content span {
	font-size: 14px;
	color: #ff6b35;
	font-weight: 500;
}

.related-services-grid-3col .related-service-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

.related-services-grid-3col .related-service-card:hover img {
	transform: scale(1.05);
}

@media (max-width: 992px) {
	.related-services-grid-3col {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 576px) {
	.related-services-grid-3col {
		grid-template-columns: 1fr;
	}
}

.related-service-card {
	background: #ffffff;
	padding: 30px;
	border-radius: 8px;
	border: 2px solid #e0e0e0;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	position: relative;
	z-index: 10;
	width: 100%;
	box-sizing: border-box;
}

a.related-service-card {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	position: relative;
	z-index: 10;
	pointer-events: auto !important;
}

a.related-service-card,
a.related-service-card * {
	cursor: pointer !important;
}

div.related-service-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.related-service-card:hover {
	border-color: #ff6b35;
	box-shadow: 0 8px 20px rgba(255, 107, 53, 0.15);
	transform: translateY(-3px);
	text-decoration: none;
	color: inherit;
}

.related-service-card h3,
.related-service-card span {
	pointer-events: none !important;
	user-select: none;
	margin: 0;
}

a.related-service-card:focus {
	outline: 2px solid #ff6b35;
	outline-offset: 2px;
}

a.related-service-card:active {
	transform: translateY(-1px);
}


.related-service-title {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: #212327;
	margin: 0;
	line-height: 1.3;
	transition: color 0.3s ease;
	flex: 1;
}

.related-service-card:hover .related-service-title {
	color: #ff6b35;
}

.related-service-arrow {
	font-size: 24px;
	color: #ff6b35;
	font-weight: 300;
	transition: transform 0.3s ease;
	margin-left: 15px;
	flex-shrink: 0;
}

.related-service-card:hover .related-service-arrow {
	transform: translateX(5px);
}

@media (max-width: 1200px) {
	.related-services-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.related-services-section {
		padding: 60px 0;
	}
	
	.related-services-header {
		padding: 0 20px;
		margin-bottom: 40px;
	}
	
	.related-services-main-heading {
		font-size: 32px;
	}
	
	.related-services-intro {
		font-size: 16px;
	}
	
	.related-services-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
		padding: 0 20px;
	}
	
	.related-service-card {
		padding: 25px;
	}
	
	.related-service-title {
		font-size: 18px;
	}
}

@media (max-width: 480px) {
	.related-services-grid {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   COMPREHENSIVE MOBILE FIXES
   ============================================ */
@media (max-width: 768px) {
	/* Prevent horizontal scrolling */
	html, body {
		overflow-x: hidden;
		width: 100%;
		max-width: 100%;
	}
	
	/* Ensure all containers use full width */
	* {
		max-width: 100%;
	}
	
	/* Fix client logos - no horizontal scroll, use grid */
	.clients-logos-right {
		overflow: visible !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
		width: 100% !important;
	}
	
	.clients-logos-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		overflow: visible !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
		width: 100% !important;
		gap: 20px !important;
	}
	
	/* Services carousel - full width cards */
	.services-carousel-track {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	
	.service-card-carousel {
		flex: 0 0 100% !important;
		width: 100% !important;
		min-width: 100% !important;
		scroll-snap-align: start;
	}
	
	/* Testimonials - proper padding, not full width */
	.testimonials-container-new {
		padding: 0 20px !important;
	}
	
	.testimonials-carousel-wrapper {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.testimonials-track {
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.testimonial-card-new {
		width: 100% !important;
		flex: 0 0 100% !important;
		min-width: 100% !important;
		margin: 0 !important;
	}
	
	/* Testimonial text truncation on mobile only */
	.testimonial-text {
		position: relative;
	}
	
	.testimonial-text.truncated {
		overflow: hidden;
		max-height: 120px;
	}
	
	.testimonial-text.expanded {
		max-height: none;
		overflow: visible;
	}
	
	.testimonial-text.truncated::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 40px;
		background: linear-gradient(to bottom, transparent, #212327);
		pointer-events: none;
	}
	
	.testimonial-text.expanded::after {
		display: none;
	}
	
	.testimonial-read-more {
		display: inline-block;
		margin-top: 15px;
		color: #ff6b35;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		text-decoration: underline;
		transition: color 0.3s ease;
		background: none;
		border: none;
		padding: 0;
		font-family: inherit;
	}
	
	.testimonial-read-more:hover {
		color: #ffffff;
	}
	
	.testimonial-read-more.hidden {
		display: none;
	}
	
	/* Marquee testimonials - truncation on mobile */
	.testimonial-marquee-quote {
		position: relative;
	}
	
	.testimonial-marquee-quote.truncated {
		overflow: hidden;
		max-height: 100px;
	}
	
	.testimonial-marquee-quote.expanded {
		max-height: none;
		overflow: visible;
	}
	
	.testimonial-marquee-quote.truncated::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 30px;
		background: linear-gradient(to bottom, transparent, #ffffff);
		pointer-events: none;
	}
	
	.testimonial-marquee-quote.expanded::after {
		display: none;
	}
	
	.testimonial-marquee-read-more {
		display: inline-block;
		margin-top: 10px;
		color: #ff6b35;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		text-decoration: underline;
		transition: color 0.3s ease;
		background: none;
		border: none;
		padding: 0;
		font-family: inherit;
	}
	
	.testimonial-marquee-read-more:hover {
		color: #d45a2a;
	}
	
	.testimonial-marquee-read-more.hidden {
		display: none;
	}
	
	/* Marquee testimonials - proper padding */
	.testimonials-marquee-wrapper {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 20px !important;
	}
	
	.testimonial-marquee-item {
		width: calc(100vw - 40px) !important;
		max-width: calc(100% - 40px) !important;
		min-width: calc(100vw - 40px) !important;
	}
	
	/* Grid sections - full width */
	.surveillance-grid-container {
		width: 100% !important;
		padding: 0 20px !important;
		margin: 0 !important;
	}

	.surveillance-grid-container-3col {
		width: 100% !important;
		margin: 0 !important;
	}
	
	.surveillance-grid-item-square {
		width: 100% !important;
	}
	
	/* Additional services - full width */
	.additional-services-grid {
		width: 100% !important;
		padding: 0 20px !important;
		grid-template-columns: 1fr !important;
	}
	
	.additional-service-card {
		width: 100% !important;
	}
	
	/* About sections - full width - reduce white space */
	.about-section-new,
	.location-about-section {
		padding: 0 0 20px 0 !important;
		margin: 0 !important;
	}
	
	/* Override the !important rule from line 1593 */
	.location-about-section .about-top-section {
		padding: 40px 0 20px 0 !important;
		margin: 0 !important;
	}

	.about-top-section {
		padding: 40px 0 20px 0 !important;
		margin: 0 !important;
	}
	
	.about-top-container {
		padding: 0 20px !important;
		flex-direction: column;
		gap: 15px !important;
		margin: 0 !important;
	}
	
	.about-top-left {
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.about-main-heading {
		margin-top: 0 !important;
		margin-bottom: 15px !important;
		padding: 0 !important;
	}
	
	.about-cta-container {
		padding: 0 20px !important;
		flex-direction: column;
	}
	
	/* Prevent content clipping from browser bars */
	main#main {
		padding-bottom: 100px;
		min-height: calc(100vh - 200px);
	}
	
	section {
		padding-bottom: 40px;
	}

	/* Remove bottom padding from last section before footer */
	section:last-of-type,
	main > section:last-child,
	.locations-preview-new {
		padding-bottom: 0 !important;
	}

	/* Service preview cards - full width */
	.services-preview-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
	
	.service-preview-card {
		width: 100% !important;
	}
	
	/* Stats section - single column on mobile */
	.stats-grid-new {
		gap: 30px !important;
	}

	.stat-box-new {
		flex-direction: row !important;
		width: 100% !important;
		min-height: auto !important;
		text-align: left !important;
	}
}

@media (max-width: 480px) {
	/* Extra small devices - even tighter spacing */
	.clients-logos-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 15px !important;
	}
	
	.testimonials-container-new {
		padding: 0 20px !important;
	}
	
	.testimonial-card-new {
		padding: 25px 15px !important;
	}
	
	.testimonial-marquee-item {
		width: calc(100vw - 30px) !important;
		padding: 25px 15px !important;
	}
	
	.surveillance-grid-container {
		padding: 0 20px !important;
	}

	.additional-services-grid {
		padding: 0 20px !important;
	}
	
	.about-top-container,
	.about-cta-container {
		padding: 0 20px !important;
	}
	
	.about-blocks-container {
		padding: 0 20px !important;
	}
	
	.about-block {
		padding: 35px 20px !important;
	}
	
	main#main {
		padding-bottom: 120px;
	}
}

/* ============================================
   SERVICE PAGE UTILITY CLASSES
   ============================================ */

/* Inline link styling for service pages */
.service-link-inline {
	color: #ff6b35;
	text-decoration: underline;
	font-weight: 600;
	transition: color 0.3s ease;
}

.service-link-inline:hover {
	color: #d45a2a;
}

/* Service list styling */
.service-list-heading {
	margin: 0 0 25px 0;
	font-size: 20px;
	color: #212327;
	font-weight: 600;
}

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

.service-list-item {
	margin: 15px 0;
	padding-left: 25px;
	position: relative;
}

.service-list-bullet {
	position: absolute;
	left: 0;
	color: #ff6b35;
	font-weight: bold;
	font-size: 18px;
}

.service-list-text {
	font-size: 16px;
	font-weight: 600;
	color: #212327;
	line-height: 1.6;
	display: block;
}

/* Location links list */
.location-links-list {
	list-style: none;
	padding: 0;
	margin: 20px 0;
}

.location-links-item {
	margin: 10px 0;
}

.location-links-item a {
	color: #ff6b35;
	text-decoration: none;
	transition: color 0.3s ease;
}

.location-links-item a:hover {
	color: #d45a2a;
	text-decoration: underline;
}

/* ========================================
   Choose PI Slider Section
   ======================================== */
.choose-pi-slider-section {
	background: #ffffff;
	padding: 80px 0;
}

.choose-pi-slider-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

.choose-pi-slider-heading {
	font-size: 42px;
	font-weight: 700;
	color: #212327;
	text-align: center;
	margin-bottom: 60px;
}

.choose-pi-carousel-wrapper {
	overflow: hidden;
	position: relative;
}

.choose-pi-track {
	display: flex;
	gap: 0;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.choose-pi-track::-webkit-scrollbar {
	display: none;
}

.choose-pi-card {
	flex: 0 0 calc(33.333%);
	min-width: calc(33.333%);
	background: #212327;
	padding: 50px 30px;
	text-align: center;
	transition: all 0.3s ease;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.choose-pi-card:last-child {
	border-right: none;
}

.choose-pi-card:hover {
	background: #ff6b35;
	transform: translateY(-5px);
}

.choose-pi-card-number {
	display: block;
	font-family: "Poppins", sans-serif;
	font-size: 48px;
	font-weight: 700;
	color: rgba(255, 107, 53, 0.7);
	line-height: 1;
	margin-bottom: 20px;
	transition: color 0.3s ease;
}

.choose-pi-card:hover .choose-pi-card-number {
	color: #ffffff;
}

.choose-pi-card-title {
	font-family: "Poppins", sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 15px;
	line-height: 1.3;
}

.choose-pi-card-text {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

.choose-pi-card:hover .choose-pi-card-text {
	color: rgba(255, 255, 255, 0.9);
}

/* Controls */
.choose-pi-controls-wrapper {
	margin-top: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.choose-pi-nav-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.choose-pi-pagination {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.choose-pi-dot {
	width: 50px;
	height: 2px;
	background: #d0d0d0;
	border: none;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}

.choose-pi-dot.active {
	background: #d0d0d0;
}

.choose-pi-dot.active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #ff6b35;
	animation: choosePiDotProgress 4s linear forwards;
}

@keyframes choosePiDotProgress {
	from {
		width: 0%;
	}
	to {
		width: 100%;
	}
}

.choose-pi-arrows-container {
	display: flex;
	align-items: center;
	gap: 10px;
}

.choose-pi-nav-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #212327;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	transition: background 0.3s ease;
	flex-shrink: 0;
}

.choose-pi-nav-btn:hover {
	background: #ff6b35;
}

.choose-pi-nav-btn:active {
	opacity: 0.8;
}

.choose-pi-nav-btn svg {
	width: 18px;
	height: 18px;
}

/* Tablet */
@media (max-width: 1024px) {
	.choose-pi-slider-container {
		padding: 0 20px;
	}

	.choose-pi-slider-heading {
		font-size: 36px;
	}

	.choose-pi-card {
		flex: 0 0 50%;
		min-width: 50%;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.choose-pi-slider-section {
		padding: 60px 0;
	}

	.choose-pi-slider-heading {
		font-size: 28px;
		margin-bottom: 40px;
	}

	.choose-pi-card {
		flex: 0 0 100%;
		min-width: 100%;
		padding: 40px 30px;
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}

	.choose-pi-card:last-child {
		border-bottom: none;
	}

	.choose-pi-card-number {
		font-size: 36px;
	}

	.choose-pi-card-title {
		font-size: 18px;
	}

	.choose-pi-controls-wrapper {
		margin-top: 30px;
	}

	.choose-pi-nav-controls {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 15px;
	}

	.choose-pi-pagination {
		flex: 1;
		flex-wrap: wrap;
		gap: 6px;
		max-width: calc(100% - 110px);
	}

	.choose-pi-dot {
		width: 28px;
		height: 3px;
	}

	.choose-pi-nav-btn {
		width: 44px;
		height: 44px;
	}
}

@media (max-width: 480px) {
	.choose-pi-pagination {
		gap: 4px;
		max-width: calc(100% - 100px);
	}

	.choose-pi-dot {
		width: 20px;
		height: 3px;
	}

	.choose-pi-arrows-container {
		gap: 6px;
	}

	.choose-pi-nav-btn {
		width: 40px;
		height: 40px;
	}

	.choose-pi-nav-btn svg {
		width: 16px;
		height: 16px;
	}
}
