/* @import url("https://use.typekit.net/iak6pcq.css"); */
:root {
	--color-primary: #00453d;
	--color-primary-light: #98edb1;
	--color-secondary: #fc6e4e;
	--color-dark: #17171c;
	--color-black: #000000;
	--color-white: #ffffff;
	--color-cream: #fffbf5;
	--color-cream-light: #fff4eb;
	--color-cream-dark: #fff5f0;

	/* Accent Colors for Footer */
	--color-accent-green: #00d264;
	--color-accent-purple: #d937cc;
	--color-accent-yellow: #fecb19;
	--color-accent-orange: #fc6e4e;
	--color-primary-hover: #002e29;        
	--color-link-hover: #002e29;         
	--color-focus-ring: #005a4f;           

	/* Typography */
	--font-primary: ibm-plex-sans, sans-serif;
	--font-secondary: source-serif-4, serif;

	/* Font Weights */
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;

	/* Spacing - will scale with fluid typography */
	--spacing-xs: 0.5rem;   
	--spacing-sm: 1rem;     
	--spacing-md: 1.5rem;    
	--spacing-lg: 2rem;     
	--spacing-xl: 3rem;     
	--spacing-xxl: 5rem;     

	/* Border Radius */
	--radius-sm: 0.25rem;   
	--radius-md: 0.5rem;   
	--radius-lg: 2.5rem;    
	--radius-full: 3.5rem;  

	/* Transitions */
	--transition-fast: all 0.2s ease;
	--transition-base: all 0.3s ease;
	--transition-slow: all 0.4s ease;
	--transition-cubic: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

	/* Shadows */
	--shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	--shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
	--shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.15);
	--shadow-hover: 0 1rem 2rem rgba(0, 69, 61, 0.15);

	/* Focus styles for accessibility */
	--focus-outline: 0.1875rem solid var(--color-focus-ring);
	--focus-outline-offset: 0.125rem;
}

/* ============================================
BASE STYLES & FLUID TYPOGRAPHY
============================================ */

html, body {
	font-size: 18px;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .row {
	--bs-gutter-x: 16px;
}

@media (min-width: 768px) {
	:root {
		font-size: calc(1rem + ((1vw - .48rem) * 1.389));
	}

	html, body {
		font-size: 16px;
	}

	.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .row {
		--bs-gutter-x: 1.252819rem;
	}
}


body {
	font-family: var(--font-primary);
	font-weight: var(--font-weight-regular);
	color: var(--color-black);
	background-color: var(--color-cream);
	line-height: 1.6;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

.container {
	max-width: 52.618391rem;
	margin-inline: auto;
}

/* ============================================
ACCESSIBILITY - Focus Styles
============================================ */
*:focus {
	outline: var(--focus-outline);
	outline-offset: var(--focus-outline-offset);
}

*:focus:not(:focus-visible) {
	outline: none;
}

*:focus-visible {
	outline: var(--focus-outline);
	outline-offset: var(--focus-outline-offset);
}

/* ============================================
TYPOGRAPHY
============================================ */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-secondary);
	font-weight: var(--font-weight-semibold);
	line-height: 1.1;
	margin: 0;
}

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

a {
	color: inherit;
	text-decoration: none;
	transition: var(--transition-base);
}

/* ============================================
HEADER SECTION
============================================ */
.bd_site_header {
	background-color: var(--color-cream);
	padding-top: 1.291969rem;
	padding-bottom: 1.331120rem;
	padding-inline: 0.939614rem;
	position: relative;
	z-index: 100;
}

.bd_site_header .navbar {
	padding: 0;
	align-items: center;
}

.bd_site_header .navbar .navbar-brand {
	padding: 0;
	font-size: 0;
}

.bd_site_header .bd_logo {
	height: auto;
	width: 6.185793rem;
}


/* .bd_site_header .navbar {
padding: 0;
margin: 0 0.939614rem;
align-items: center;
}

.bd_site_header .bd_logo {
height: 1.566024rem;
width: auto;
align-items: center;
transition: var(--transition-base);
margin-bottom: 0.274054rem;
}

header.bd_site_header .navbar-brand {
padding-bottom: 0.156602rem;
}
*/


/* CTA Button - WCAG Compliant */
.bd_btn_cta {
	background-color: var(--color-primary);
	color: var(--color-white);
	font-family: var(--font-primary);
	font-weight: var(--font-weight-medium);
	font-size: 0.783012rem;
	letter-spacing: -0.015660rem;
	padding: 0 0.626409rem 0.097876rem;
	/*	padding: 0 0.626409rem;
	padding: 0.450232rem 0.626409rem; */
	border-radius: var(--radius-full);
	display: inline-flex;
	align-items: center;
	gap: 0.743861rem;
	border: none;
	height: 1.800927rem;
	line-height: 0;
	transition: var(--transition-cubic);
	position: relative;
	overflow: hidden;
	justify-content: space-between;
	/* 	margin-top: 0.195753rem; */
}

.bd_btn_cta::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
	transition: var(--transition-slow);
}

.bd_btn_cta:hover,
.bd_btn_cta:focus {
	background-color: var(--color-primary-hover);
	color: var(--color-white);
	transform: translateY(-0.1875rem);
	box-shadow: var(--shadow-hover);
}

.bd_btn_cta:hover::before,
.bd_btn_cta:focus::before {
	left: 100%;
}

.bd_btn_cta i {
	font-size: 0.704710598847406665rem;
	transition: var(--transition-base);
}

.bd_btn_cta:hover i,
.bd_btn_cta:focus i {
	transform: rotate(90deg);
}


/* ============================================
HERO SECTION
============================================ */
/* ============================================
HERO SECTION
============================================ */
.bd_hero_section {
	position: relative;
	overflow: hidden;
}


@media (min-width: 768px) { 
	.bd_hero_section {
		background-color: var(--color-cream-light);
		padding: 2.460853rem 0 2.544788rem;
	}

	.bd_hero_title {
		margin-bottom: 2.466487rem;
		margin-top: 2.114132rem;
	}

}
.bd_hero_title {
	font-family: var(--font-secondary);
	font-weight: 600;
	font-size: 2.936294rem;
	line-height: 110%;
	letter-spacing: 0.058726rem;
	color: #000;

}
@media (min-width: 992px) { 
	.bd_btn_cta {
		width: 100%;
		max-width: 7.438612rem;
	}

	.bd_hero_title { 
		max-width: 17.226259rem;
	}

	.bd_hero_section p { 
		max-width: 17.226259rem;
	}

}

.bd_hero_title em {
	font-style: italic;
	font-weight: 400;
}


.bd_hero_title .bd_underline {
	position: relative;
	display: inline-block;
	z-index: 1; /* text above */
}

.bd_hero_title .bd_underline::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0.195753rem;
	width: 100%;
	height: 0.156602rem;
	background-color: #D937CC;
	z-index: -1; /* line behind text */
}

.bd_hero_section p {
	font-family: var(--font-primary);
	font-size: 0.939614rem;
	line-height: 160%;
	letter-spacing: 0.018792rem;
	color: #000;
}

.bd_hero_section p strong {
	font-weight: 600;
}


.bd_hero_image_wrapper {
	position: relative;
	width: 25.761087rem;
	height: 21.846029rem;
	margin-left: auto;
	border-radius: 4px;
}
@media (min-width: 768px) { 


}
/* Offset border */
.bd_hero_image_wrapper::before {
	content: "";
	position: absolute;
	top: 0.626409rem;
	left: 0.626409rem;
	width: 100%;
	height: 100%;
	border: 2px solid #FC6E4E;
	border-radius: 4px;
	z-index: 2;
}

/* Image */
.bd_hero_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
	position: relative;
	z-index: 1;
	display: block;
}


/* ============================================
SERVICES SECTION
============================================ */
.bd_services_section {
	background-color: var(--color-cream);
	padding-top: 3.210348rem;
	padding-bottom: 2.975445rem;
}

.bd_service_card {
	border-radius: var(--radius-md);
	transition: var(--transition-cubic);
	position: relative;
}



.bd_service_icon {
	width: 2.662240rem;
	height: 2.662240rem;
	margin-bottom: 1.840078rem;
	transition: var(--transition-base);
}



.bd_service_icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: var(--transition-base);
}

.bd_service_title {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 0.939614rem;
	line-height: 140%;
	letter-spacing: 0.018792rem;
	color: var(--color-black);
	margin-bottom: 0.743861rem;
	transition: var(--transition-base);
	max-width: 7.399461rem;
}


.bd_service_card p {
	color: #000;
	font-family: var(--font-primary);
	font-size: 0.704710598847406665rem;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
	letter-spacing: 0.014094rem;
	max-width: 9.435292rem;
}


/* ============================================
CONTACT SECTION
============================================ */
.bd_contact_section {
	background-color: var(--color-primary-light);
	padding: 3.132047rem 0;
}

.bd_contact_info {
	padding-right: 0px;
}

.bd_contact_title {
	font-family: var(--font-secondary);
	font-weight: 400;
	font-size: 1.761776rem;
	line-height: 1.1;
	color: var(--color-black);
	margin-bottom: 2.505638rem;
}

.bd_contact_email_wrapper {
	border-top: 1px solid #000310;
	border-bottom: 1px solid #000310;
	padding-top: 1.195753rem;
	padding-bottom: 1.274054rem;
	transition: var(--transition-base);
}

.bd_contact_email_wrapper:hover,
.bd_contact_email_wrapper:focus-within {
	border-color: var(--color-primary);
}

.bd_email_link {
	display: flex;
	align-items: center;
	gap: 0.548108rem;
	cursor: pointer;
}

.bd_email_icon i {
	width: 0.861313rem;
	height: 0.783012rem;
	color: var(--color-black);
	transition: var(--transition-base);
	transform: rotate(-38deg);
	font-size: 0.861313rem;
	margin-left: 0.117452rem;
}

/* WCAG: Using primary color which has 8.5:1 contrast on green background */
.bd_email_link:hover .bd_email_icon,
.bd_email_link:focus-within .bd_email_icon {
	color: var(--color-primary);

}

.bd_email_link a {
	font-family: var(--font-primary);
	font-weight: var(--font-weight-bold);
	font-size: 0.704710598847406665rem;
	color: #000517;
	flex-grow: 1;
	transition: var(--transition-base);
}



.bd_email_arrow {
	width: 1.252819rem;
	height: 1.252819rem;
	border: 1px solid var(--color-black);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.548108rem;
	transition: var(--transition-cubic);
	margin-right: 0.861313rem;
}

/* WCAG: White on primary = 7.5:1 contrast ratio */
.bd_email_link:hover .bd_email_arrow,
.bd_email_link:focus-within .bd_email_arrow {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
	transform: translateX(0px);
}



/* ===== FORM CARD ===== */
.bd_contact_form_wrapper {
	background: #fff !important;
	border-radius: 4px !important;
	padding: 1.213668rem 2.192433rem 2.192433rem !important;
	position: relative;
	width: 25.761087rem;
	height: 100%;
	margin-left: auto;
}

/* ===== GRAVITY FORM RESET ===== */
.gform_wrapper {
	margin: 0 !important;
}

.gform_title {
	display: none !important;
}

/* ===== LABELS ===== */
.gform_wrapper label {
	font-size: 0.587259rem !important;
	font-weight: 500 !important;
	margin-bottom: 0.587259rem !important;
}

.gform_wrapper .gfield_required_text {
	display: none;
}
.gform_wrapper .gfield_required::after {
	content: "*";
	color: #d63a1a;
	font-size: 0.587259rem;
	margin-left: 0px;

}

/* ===== INPUTS ===== */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper textarea {
	border: none !important;
	border-bottom: 1px solid #D0D0D0 !important;
	border-radius: 0 !important;
	padding: 0.234903532949135555rem 0 !important;
	font-size: 0.587259rem !important;
	background: transparent !important;
	box-shadow: none !important;
	line-height: 1.487722rem !important;
}

.gform_wrapper textarea {
	resize: none !important;
	min-height: 1.096216rem !important;
}

/* PLACEHOLDER */
.gform_wrapper ::placeholder {
	color: rgba(0, 0, 0, 0.45) !important;
}

/* FOCUS */
.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
	outline: none !important;
	border-bottom-color: #B5B5B5 !important;
}

/* ===== FORM GRID ===== */
.gform_fields {
	row-gap: 1.605174rem !important;
}

.gfield--width-half {
	padding-right: 0.783012rem !important;
}

/* ===== SUBMIT BUTTON ===== */
.gform_wrapper .gform_footer {
	margin-top: 1.174518rem !important;
}

.gform_wrapper .gform_button {
	width: 100% !important;
	height: 2.192433rem !important;
	border-radius: 100vw !important;
	background: #00453D !important;
	border: none !important;
	color: #FFF;
	text-align: left !important;
	leading-trim: both;
	text-edge: cap !important;
	font-family: "IBM Plex Sans" !important;
	font-size: 0.783012rem !important;
	font-style: normal;
	padding: 0 1.252819rem !important;
	font-weight: 500;
	line-height: 115% !important;
	letter-spacing: 0.015660rem !important;
	background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.9158 0.0621529C16.6399 -0.14554 17.2821 0.195197 17.6199 0.670551C17.9531 1.13972 18.0527 1.80606 17.7439 2.40981L10.2156 17.1276C9.88271 17.7789 9.21037 18.0851 8.56518 17.9801C7.92759 17.8762 7.39638 17.3864 7.25757 16.6911V16.6901L5.96362 10.1832L0.826902 7.29067C0.178016 6.92533 -0.0488035 6.24139 0.00854291 5.67836C0.0659207 5.11517 0.430791 4.47862 1.16382 4.26918V4.26821L15.9158 0.0621529ZM2.53393 5.95668L7.09643 8.52602H7.09741C7.5302 8.76752 7.80543 9.18823 7.89429 9.63735L8.98706 15.1344L15.5857 2.235L2.53393 5.95668Z' fill='white'/%3E%3Cpath d='M17.0464 2.18342L7.20794 10.5706L6.03477 8.96626L15.8719 0.578796L17.0464 2.18342Z' fill='white'/%3E%3C/svg%3E%0A") !important;
	background-repeat: no-repeat !important;
	background-size: 0.783012rem !important;
	background-position: right 1.213668rem center !important;
}


/* Gravity Forms Confirmation Message */
.bd_contact_form_wrapper 
.gform_confirmation_message {
	padding: 1.25rem 0px;
	border-radius: 8px;
	text-align: center;
	color: #000;
	font-family: var(--font-primary);
	font-size: 0.704710598847406665rem;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
	letter-spacing: 0.014094rem;
}

@media (min-width: 992px) { 
	.bd_contact_form_wrapper 
	.gform_confirmation_message {
		max-width: 21.924330rem; 
	}

	.bd_contact_form_wrapper {
		padding: 1.096216rem 1.252819rem 1.566024rem !important;
	}

	.bd_contact_image_wrapper {
		min-height: 16.443247rem;
	}
}


.bd_hero_section.bd_single_hero_section .bd_hero_title {
	max-width: 100%;
}

@media (min-width: 768px) { 
	.bd_single_hero_section .bd_hero_title {
		margin-bottom: 1.409421rem;
		margin-top: 1.114132rem;
	}

}

.bd_section_free_content p {
	color: #000;
	font-family: var(--font-primary);
	font-size: 0.704710598847406665rem;
	font-weight: 400;
	line-height: 160%;
	letter-spacing: 0.014094rem;
	margin-bottom: 0.783012rem;
}

.bd_section_free_content h1,
.bd_section_free_content h2,
.bd_section_free_content h3,
.bd_section_free_content h4,
.bd_section_free_content h5,
.bd_section_free_content h6 {
	font-family: var(--font-secondary);
	font-weight: 400;
	line-height: 140%;
	color: var(--color-black);
	margin-bottom: 0.505638rem;
}

.bd_section_free_content h2,
.bd_section_free_content h1 {
	font-size: 1.761776rem;
}

.bd_section_free_content {
	padding: 3.132047rem 0;
}

.bd_section_free_content h3 {
	font-size: 1.605174rem;
}

.bd_section_free_content h4 {
	font-size: 1.448572rem;
}

.bd_section_free_content h5 {
	font-size: 1.331120rem;
}

.bd_section_free_content h6 {
	font-size: 1.174518rem;
}

.bd_section_free_content ul {
	margin-bottom: 1rem;
	padding-left: 1.252819rem;
}

.bd_section_free_content ul li {
	color: #000;
	font-family: var(--font-primary);
	font-size: 0.704710598847406665rem;
	font-weight: 400;
	line-height: 160%;
	letter-spacing: 0.014094rem;
}

.bd_section_free_content ul li:not(:last-child) {
	margin-bottom: 0.313205rem;
}

.bd_section_free_content p strong,
.bd_section_free_content ul li strong {
	font-weight: 600;
}

.bd_section_free_content p a,
.bd_section_free_content ul li a {
	color: #000;
	font-weight: 500;
	text-decoration: underline;
}
.bd_section_free_content p a:hover,
.bd_section_free_content ul li a:hover {
	opacity: 0.7;
	text-decoration: none;
}

/* ============================================
FOOTER SECTION
============================================ */
.bd_site_footer {
	background-color: var(--color-dark);
	padding-top: 8.143322rem;
	padding-bottom: 4.384866rem;
}

.bd_footer_content {
	position: relative;
	margin: 0 0.626409rem;
}

.bd_copyright {
	color: #FFF;
	font-family: var(--font-primary);
	font-size: 0.46980706589827111rem;
	font-style: normal;
	font-weight: 400;
	margin: 0;
	transition: var(--transition-base);
	margin-top: 0.234903532949135555rem !important;
}

.bd_copyright a {
    text-decoration: underline;
}

.bd_footer_logo_wrapper {
	text-align: right;
}

.bd_footer_logo {
	height: 2.505638rem;
	width: auto;
	opacity: 0.75;
	transition: var(--transition-base);
}

.bd_footer_divider {
	display: flex;
	align-items: center;
	margin-top: 64px;
	gap: 0.375rem;
}

.bd_divider_line {
	flex-grow: 1;
	height: 0.078301rem;
	background-color: rgba(255, 255, 255, 0.3);
	transition: var(--transition-base);
}

.bd_divider_colors {
	display: flex;
	gap: 0.313205rem;
}

.bd_color_bar {
	width: 3.484402rem;
	height: 0.078301rem;
	border-radius: 10px;
	transition: var(--transition-base);
}

.bd_color_bar.color-green {
	background-color: var(--color-accent-green);
}

.bd_color_bar.color-purple {
	background-color: var(--color-accent-purple);
}

.bd_color_bar.color-yellow {
	background-color: var(--color-accent-yellow);
}

.bd_color_bar.color-orange {
	background-color: var(--color-accent-orange);
}

.bd_color_bar.color-cream {
	background-color: var(--color-cream-dark);
}
.bd_color_bar.color-grey {
	background-color: var(--color-cream-dark);
}


@media (hover:hover) {  
	.bd_service_card:hover {
		transform: translateY(-0.375rem);
	}

	.bd_service_card:hover::before {
		opacity: 1;
	}

	.bd_service_card:hover .bd_service_icon {
		color: var(--color-primary);
	}


	/* WCAG: Hover color maintains 4.5:1 contrast on cream background */
	.bd_service_card:hover .bd_service_title {
		color: var(--color-primary);
	}

	/* WCAG: Primary color on light green = 8.5:1 contrast ratio */
	.bd_email_link a:hover,
	.bd_email_link a:focus {
		color: var(--color-primary);
	}


	.gform_wrapper .gform_button:hover {
		background-color: #FC6E4E !important;
		opacity: 1;
	}

	/* WCAG: Full opacity white on dark = 12.6:1 contrast */
	.bd_copyright:hover {
		opacity: 1;
	}

	.bd_footer_logo:hover {
		opacity: 1;
	}

	.bd_footer_divider:hover .bd_divider_line {
		background-color: rgba(255, 255, 255, 0.5);
	}

	.bd_copyright a:hover {
		opacity: 0.7;
		text-decoration: none;
	}

}


/* ============================================
RESPONSIVE STYLES - TABLET
============================================ */


@media (max-width: 992px) {
	.bd_hero_title {
		font-size: 1.879228rem;
	}

	.bd_hero_section .container,
	.bd_section_free_content .container {
		max-width: calc(100% - 2.5rem);
		margin-inline: auto;
	}

	.bd_hero_title br {
		display: none;
	}

	.bd_hero_section p {
		font-size: 0.704710598847406665rem;
	}

	.bd_hero_image {
		height: auto;
	}
}

/* Medium screens (992px to 1199px) */
@media (max-width: 74.9375rem) {
	.bd_hero_title {
		font-size: 2.8rem;
	}

	.bd_hero_section p,
	.bd_section_free_content p,
	.bd_section_free_content ul li {
		font-size: 1rem;
	}

	.bd-contact-form-wrapper {
		padding: 1.75rem;
	}
}

/* Tablets (768px to 991px) */
@media (max-width: 61.9375rem) {
	.bd_hero_section {
		padding: 2rem 0 2.5rem;
	}

	.bd_hero_title {
		font-size: 2.5rem;
	}

	.bd_service_card {
		margin-bottom: 2rem;
		text-align: center;
	}

	.bd_service_icon {
		margin-left: auto;
		margin-right: auto;
	}

	.bd_service_card p {
		max-width: none;
	}

	.bd_contact_section .container {
		max-width: calc(100% - 2.5rem);
		margin-inline: auto;
	}

	.bd_site_footer .container {
		max-width: calc(100% - 2.5rem);
		margin-inline: auto;
	}

	.bd_contact_info {
		padding-right: 0;
		margin-bottom: 2rem;
	}

	.bd_service_title {
		max-width: 100%;
	}

	.bd_hero_image_wrapper {
		margin-left: 0;
		margin-inline: auto;
		margin-top: 0.783012rem;
	}

	.bd_hero_content {
		margin-bottom: 2rem;		       
		margin-inline: auto;		        
		text-align: center;
	}

	.bd_contact_form_wrapper {
		margin-left: 0;
		margin-inline: auto;
	}

	.bd_footer_logo_wrapper {
		text-align: right;
	}

	.bd_contact_email_wrapper:hover,
	.bd_contact_email_wrapper:focus-within {
		opacity: 0.5;
	}

	.bd_copyright {
		font-size: 0.626409rem;
	}

	.bd_email_link a {
		font-size: 0.783012rem;
	}

	.gform_wrapper label {
		font-size: 0.783012rem !important;
	}

	.gform_wrapper input[type="text"],
	.gform_wrapper input[type="email"],
	.gform_wrapper textarea {
		font-size: 0.783012rem !important;
	}

	.bd_contact_form_wrapper .gform_confirmation_message {
		font-size: 0.939614rem !important;
	}
}



/* ============================================
MOBILE-ONLY FIXES - Below 768px
============================================ */
@media (max-width: 767px) {
	/* Reset fluid typography for mobile */
	/* 	html {
	font-size: 16px !important;
} */

	/* Hero Section Mobile Fixes */
	.bd_hero_section {
		background-color: var(--color-cream-light);
		padding: 2.5rem 0 2.5rem;
	}

	.bd_hero_section .container,
	.bd_section_free_content .container {
		max-width: calc(100% - 0.888889rem);
		margin-inline: auto;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.bd_hero_content {
		text-align: left;
		margin-bottom: 1.5rem;
	}

	.bd_hero_title {
		font-size: 2rem;
		line-height: 1.15;
		letter-spacing: 0.02rem;
		margin-bottom: 1.4rem;
		margin-top: 0;
	}

	.bd_hero_title br {
		display: none;
	}

	.bd_hero_section p,,
	.bd_section_free_content p,
	.bd_section_free_content ul li {
		font-size: 0.9375rem;
		line-height: 1.5;
		margin-bottom: 0;
	}

	.bd_section_free_content p {
		margin-bottom: 0.833333rem;
	}

	/* Hero Image Mobile Fixes */
	.bd_hero_image_wrapper {
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 16 / 13;
		margin: 1rem 0 0;
	}

	.bd_hero_image_wrapper::before {
		display: none;
	}

	.bd_hero_image {
		height: 100%;
		width: 100%;
	}

	/* Services Section Mobile */
	.bd_services_section {
		padding: 2.5rem 0 1rem;
	}

	.bd_services_section .container {
		max-width: calc(100% - 0.888889rem);
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.bd_service_card {
		text-align: left;
		margin-bottom: 2.5rem;
	}

	.bd_service_icon {
		margin-left: 0;
		margin-right: auto;
		width: 2.5rem;
		height: 2.5rem;
		margin-bottom: 1rem;
	}

	.bd_service_title {
		font-size: 1rem;
		max-width: 100%;
		margin-bottom: 0.9375rem;
	}

	.bd_service_card p {
		font-size: 0.875rem;
		max-width: 100%;
		line-height: 1.5;
	}

	/* Contact Section Mobile */
	.bd_contact_section {
		padding: 2.5rem 0;
	}

	.bd_contact_section .container {
		max-width: calc(100% - 0.888889rem);
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.bd_contact_title {
		font-size: 1.75rem;
		margin-bottom: 1.5rem;
		line-height: 1.2;
	}

	.bd_contact_info {
		margin-bottom: 2rem;
	}

	.bd_contact_email_wrapper {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}

	.bd_email_link a {
		font-size: 0.9375rem;
	}

	.bd_email_arrow {
		width: 2rem;
		height: 2rem;
		margin-right: 0.5rem;
		font-size: 0.8rem;
	}

	.bd_email_icon i {
		font-size: 1rem;
	}

	/* Contact Form Mobile */
	.bd_contact_form_wrapper {
		width: 100%;
		max-width: 100%;
		padding: 1.25rem 1rem 1.5rem !important;
		margin: 0;
	}

	.gform_wrapper label {
		font-size: 0.875rem !important;
		margin-bottom: 0.5rem !important;
	}

	.gform_wrapper input[type="text"],
	.gform_wrapper input[type="email"],
	.gform_wrapper textarea {
		font-size: 0.9375rem !important;
		padding: 0.5rem 0 !important;
	}

	.gfield--width-half {
		padding-right: 0 !important;
	}

	.gform_wrapper .gform_button {
		font-size: 0.9375rem !important;
		height: 3rem !important;
		padding: 0 1.25rem !important;
	}

	.bd_contact_form_wrapper .gform_confirmation_message {
		font-size: 0.9375rem !important;
		padding: 1rem 0;
	}

	.bd_contact_image_wrapper {
		min-height: auto;
		height: 200px;
	}

	/* Footer Mobile */
	.bd_site_footer {
		padding: 3rem 0 2rem;
	}

	.bd_site_footer .container {
		max-width: calc(100% - 0.888889rem);
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.bd_footer_content {
		margin: 0;
	}

	.bd_footer_logo {
		height: 2rem;
	}

	.bd_footer_logo_wrapper {
		text-align: center;
		margin-bottom: 1.5rem;
		margin-top: 0;
	}

	.bd_copyright {
		font-size: 0.75rem;
		text-align: center;
		margin-top: 0.5rem !important;
	}

	.bd_footer_divider {
		width: 100%;
		gap: 0.333333rem;
		margin-top: 2rem;
	}

	.bd_footer_divider > * {
		flex: 0 0 auto;
		max-width: 100%;
	}

	.bd_divider_colors {
		max-width: 100%;
		width: 40%;
		gap: 0.222222rem;
		justify-content: end;
	}

	.bd_divider_line {
		width: calc(60% - 0.333333rem);
		height: 2px;
	}

	.bd_divider_colors > * {
		flex: 1 1 auto;
		max-width: 100%;
		width: auto;
		height: 2px;
	}
}


/* ============================================
SMALL MOBILE - Below 576px
============================================ */
@media (max-width: 575px) {
	/* Header adjustments */
	.bd_site_header {
		padding: 0.9375rem 1rem;
	}

	.bd_site_header .bd_logo {
		/* 		height: 1.5rem; */
		width: 6.875rem;
		margin-bottom: 0;
	}

	.bd_btn_cta {
		font-size: 0.875rem;
		height: 2.222222rem;
		padding: 0 0.875rem 0.125rem;
		gap: 0.5rem;
		margin-top: 0;
	}

	.bd_btn_cta i {
		font-size: 0.75rem;
	}

	/* Hero adjustments */
	.bd_hero_title {
		font-size: 3rem;
	}

	.bd_hero_title .bd_underline::before {
		bottom: 0.313205rem;
		height: 0.234903532949135555rem;
	}

	.bd_hero_section p {
		font-size: 1rem;
	}

	.bd_hero_image_wrapper {
		margin-top: 1rem;
		aspect-ratio: 4 / 3;
	}

	/* Services adjustments */
	.bd_service_icon {
		width: 2.25rem;
		height: 2.25rem;
	}

	.bd_service_title {
		font-size: 1rem;
		font-weight: 500;
	}

	.bd_service_card p {
		font-size: 0.875rem;
	}

	/* Contact adjustments */
	.bd_contact_title {
		font-size: 1.5rem;
	}

	.bd_contact_form_wrapper {
		padding: 2rem 0.875rem 1.8rem !important;
	}

	/* Footer adjustments */
	.bd_footer_logo {
		height: 1.75rem;
	}

	.bd_copyright {
		font-size: 0.6875rem;
	}

	/* 	.bd_color_bar {
	width: 2.5rem;
} */
}


/* ============================================
UTILITY CLASSES
============================================ */
.fade-in {
	opacity: 0;
	transform: translateY(1.25rem);
	transition: var(--transition-slow);
}

.fade-in.visible {
	opacity: 1;
	transform: translateY(0);
}

/* Visually hidden - for screen readers only */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.visually-hidden:focus,
.visually-hidden:active {
	position: static;
	width: auto;
	height: auto;
	padding: inherit;
	margin: inherit;
	overflow: visible;
	clip: auto;
	white-space: inherit;
}

/* Skip link for accessibility - WCAG 2.4.1 */
.skip-link {
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-primary);
	color: var(--color-white);
	padding: 0.75rem 1.5rem;
	border-radius: var(--radius-sm);
	z-index: 10000;
	font-family: var(--font-primary);
	font-weight: var(--font-weight-medium);
	font-size: 1rem;
	text-decoration: none;
	transform: translateY(-100%);
	transition: transform 0.2s ease;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
}

.skip-link:focus {
	transform: translateY(0);
	clip: auto;
	overflow: visible;
	top: 1rem;
	left: 1rem;
	outline: var(--focus-outline);
	outline-offset: var(--focus-outline-offset);
}

/* ============================================
REDUCED MOTION - Accessibility
============================================ */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	html {
		scroll-behavior: auto;
	}

	[data-aos] {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ============================================
NAVBAR & MISC FIXES
============================================ */
.navbar-toggler,
.navbar-toggle,
.menu-toggle {
	display: none !important;
}

.navbar-collapse {
	display: flex !important;
	flex-basis: auto;
}

.gform_wrapper .gform_heading, 
.gform_wrapper .gform_validation_errors {
	display: none !important;
}