/* ==========================================================================
   Black Mango - Home Page Styles & Header
   ========================================================================== */

:root {
	--bm-primary-dark: #164223;
	--bm-primary-medium: #1f5730;
	--bm-primary-light: #2b7a37;
	--bm-accent-green: #3ea03c;
	--bm-accent-yellow: #f5c332;
	--bm-accent-yellow-hover: #e0b024;
	--bm-bg-light: #f7f9f6;
	--bm-bg-cream: #faf9f5;
	--bm-card-bg: #f5f4ef;
	--bm-text-dark: #1a221b;
	--bm-text-muted: #5e6d62;
	--bm-text-light: #8a968d;
	--bm-white: #ffffff;
	--bm-border: #e6eae5;
	--bm-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Global Reset for Black Mango elements */
*, *::before, *::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	font-family: var(--bm-font-sans) !important;
	color: var(--bm-text-dark);
	background-color: var(--bm-white);
	-webkit-font-smoothing: antialiased;
}

.blackmango-home {
	width: 100%;
	overflow-x: hidden;
	font-family: var(--bm-font-sans) !important;
}

.bm-container {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(20px, 3vw, 48px) !important;
	padding-right: clamp(20px, 3vw, 48px) !important;
}

/* WordPress Admin Bar offset */
.admin-bar #bm-site-header,
.admin-bar .bm-header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	.admin-bar #bm-site-header,
	.admin-bar .bm-header {
		top: 0 !important;
		margin-top: 0 !important;
	}
}

/* Common Section Badge */
.bm-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--bm-accent-green);
	text-transform: capitalize;
	margin-bottom: 12px;
	white-space: nowrap;
}

/* Common Buttons */
.bm-btn-yellow {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	background-color: var(--bm-accent-yellow) !important;
	color: #111812 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	padding: 11px 22px !important;
	border-radius: 9999px !important;
	text-decoration: none !important;
	transition: all 0.25s ease !important;
	border: none !important;
	cursor: pointer !important;
	box-shadow: 0 2px 6px rgba(245, 195, 50, 0.25) !important;
	white-space: nowrap !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	line-height: 1 !important;
}

.bm-btn-yellow:hover,
.bm-btn-yellow:focus {
	background-color: var(--bm-accent-yellow-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(245, 195, 50, 0.35) !important;
	color: #111812 !important;
	text-decoration: none !important;
}

.bm-btn-yellow .bm-arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 22px !important;
	background-color: #111812 !important;
	color: var(--bm-accent-yellow) !important;
	border-radius: 50% !important;
	font-size: 11px !important;
	flex-shrink: 0 !important;
	transition: transform 0.25s ease !important;
}

.bm-btn-yellow:hover .bm-arrow {
	transform: rotate(45deg);
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */
#bm-site-header,
.bm-header {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #ffffff !important;
	z-index: 1000;
	border-bottom: 1px solid var(--bm-border);
	transition: all 0.3s ease;
}

/* Total reset for parent Twenty Twenty links inside header */
#bm-site-header a,
#bm-site-header a:link,
#bm-site-header a:visited,
#bm-site-header a:hover,
#bm-site-header a:active,
#bm-site-header a:focus {
	text-decoration: none !important;
	box-shadow: none !important;
	outline: none;
}

.bm-header-container {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	flex-wrap: nowrap !important;
	padding-top: 14px;
	padding-bottom: 14px;
}

/* Logo */
.bm-logo-wrapper {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.bm-logo {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	text-decoration: none !important;
	color: inherit !important;
	white-space: nowrap !important;
}

.bm-logo-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.bm-logo-img {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	box-shadow: 0 2px 8px rgba(36, 90, 52, 0.15);
	border: 1.5px solid rgba(36, 90, 52, 0.25);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bm-logo:hover .bm-logo-img {
	transform: scale(1.06);
	box-shadow: 0 4px 14px rgba(36, 90, 52, 0.25);
}

.bm-logo-text {
	display: flex;
	flex-direction: column;
	white-space: nowrap !important;
}

.bm-brand-title {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	letter-spacing: -0.3px;
	line-height: 1.1 !important;
	white-space: nowrap !important;
	word-break: normal !important;
}

.bm-brand-subtitle {
	font-size: 10px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.2px !important;
	color: var(--bm-accent-green) !important;
	margin-top: 2px;
	white-space: nowrap !important;
	word-break: normal !important;
}

/* Desktop Navigation */
.bm-nav-desktop {
	display: block;
	flex-shrink: 0;
}

.bm-nav-list {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: clamp(14px, 2.2vw, 36px) !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bm-nav-item,
.bm-nav-list li {
	position: relative !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
	word-break: normal !important;
}

.bm-nav-link,
.bm-nav-list li a {
	font-size: 18px !important;
	font-weight: 500 !important;
	color: #38423a !important;
	text-decoration: none !important;
	padding: 6px 0 !important;
	transition: color 0.2s ease !important;
	display: inline-block !important;
	white-space: nowrap !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	line-height: 1.4 !important;
	border-bottom: 2px solid transparent !important;
	box-shadow: none !important;
}

.bm-nav-link:hover,
.bm-nav-list li a:hover {
	color: var(--bm-primary-medium) !important;
	text-decoration: none !important;
}

.bm-nav-item.active .bm-nav-link,
.bm-nav-item.current-menu-item .bm-nav-link,
.bm-nav-list li.current-menu-item > a,
.bm-nav-list li.current_page_item > a,
.bm-nav-list li.active > a {
	color: var(--bm-primary-medium) !important;
	font-weight: 700 !important;
	border-bottom: 2px solid var(--bm-accent-green) !important;
}

/* Sub-menus / Dropdowns */
.bm-nav-list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	background-color: #ffffff;
	min-width: 200px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	border: 1px solid var(--bm-border);
	border-radius: 8px;
	padding: 10px 0;
	margin: 0;
	list-style: none !important;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.25s ease;
	z-index: 999;
}

.bm-nav-list li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.bm-nav-list .sub-menu li {
	display: block !important;
	width: 100% !important;
}

.bm-nav-list .sub-menu li a {
	display: block !important;
	padding: 8px 18px !important;
	font-size: 14px !important;
	color: #38423a !important;
	border-bottom: none !important;
}

.bm-nav-list .sub-menu li a:hover {
	background-color: var(--bm-bg-light);
	color: var(--bm-accent-green) !important;
}

/* Mobile Sub-menu */
.bm-mobile-nav-list .sub-menu {
	list-style: none !important;
	padding-left: 16px !important;
	margin: 0 !important;
	background-color: #fafbf9;
}

.bm-mobile-nav-list .sub-menu li a {
	font-size: 14px !important;
	padding: 8px 0 !important;
}

/* CTA Wrapper */
.bm-header-cta-wrapper {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

/* Mobile Toggle Hamburger */
.bm-mobile-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 42px;
	height: 42px;
	background: transparent;
	border: 1px solid var(--bm-border);
	border-radius: 8px;
	cursor: pointer;
	padding: 0;
	gap: 5px;
	transition: background-color 0.2s ease;
	flex-shrink: 0;
}

.bm-mobile-toggle:hover {
	background-color: var(--bm-bg-light);
}

.bm-hamburger-bar {
	display: block;
	width: 22px;
	height: 2px;
	background-color: var(--bm-primary-dark);
	border-radius: 2px;
	transition: all 0.3s ease;
}

/* Hamburger active animation */
.bm-mobile-toggle.is-active .bm-hamburger-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.bm-mobile-toggle.is-active .bm-hamburger-bar:nth-child(2) {
	opacity: 0;
	transform: scale(0.2);
}

.bm-mobile-toggle.is-active .bm-hamburger-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* Mobile Dropdown Menu */
.bm-mobile-menu {
	display: none;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	background-color: #ffffff;
	border-bottom: 1px solid var(--bm-border);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
	transition: max-height 0.35s ease, opacity 0.3s ease, visibility 0.3s ease, padding 0.3s ease;
}

.bm-mobile-menu.is-active {
	max-height: 500px;
	opacity: 1;
	visibility: visible;
	padding-top: 16px;
	padding-bottom: 24px;
}

.bm-mobile-nav-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bm-mobile-nav-item,
.bm-mobile-nav-list li {
	border-bottom: 1px solid #f1f4f0 !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bm-mobile-nav-item:last-child,
.bm-mobile-nav-list li:last-child {
	border-bottom: none !important;
}

.bm-mobile-nav-link,
.bm-mobile-nav-list li a {
	display: block !important;
	padding: 12px 0 !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: var(--bm-text-dark) !important;
	text-decoration: none !important;
	transition: color 0.2s ease, padding-left 0.2s ease !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

.bm-mobile-nav-link:hover,
.bm-mobile-nav-item.active .bm-mobile-nav-link,
.bm-mobile-nav-list li.current-menu-item > a,
.bm-mobile-nav-list li.current_page_item > a,
.bm-mobile-nav-list li.active > a {
	color: var(--bm-accent-green) !important;
	padding-left: 6px !important;
	font-weight: 700 !important;
}

.bm-mobile-cta {
	margin-top: 20px;
}

/* ==========================================================================
   Responsive Breakpoints & Zoom Handling
   ========================================================================== */

/* Compact Desktop / 125%-150% Zoom on Laptops (1081px - 1240px) */
@media (max-width: 1240px) and (min-width: 1081px) {
	.bm-container {
		padding-left: 18px;
		padding-right: 18px;
	}
	.bm-brand-title {
		font-size: 20px !important;
	}
	.bm-nav-list {
		gap: 16px !important;
	}
	.bm-nav-link,
	.bm-nav-list li a {
		font-size: 17px !important;
	}
	.bm-btn-yellow {
		padding: 9px 18px !important;
		font-size: 14px !important;
		gap: 8px !important;
	}
}

/* Switch to clean Mobile Toggle on 1080px and below (including 150% zoom on 1366px-1536px displays) */
@media (max-width: 1080px) {
	.bm-nav-desktop {
		display: none !important;
	}

	.bm-header-cta-wrapper {
		display: none !important;
	}

	.bm-mobile-toggle {
		display: flex !important;
	}

	.bm-mobile-menu {
		display: block;
	}
}

@media (max-width: 576px) {
	.bm-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.bm-brand-title {
		font-size: 18px !important;
	}

	.bm-brand-subtitle {
		font-size: 9px !important;
	}
}


/* ==========================================================================
   Hero Section
   ========================================================================== */

.bm-hero-section {
	position: relative;
	padding-top: clamp(45px, 7vw, 105px);
	padding-bottom: 0 !important;
	background-color: #ffffff;
	overflow: hidden;
	perspective: 1200px;
}

.bm-hero-content-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0;
	margin-bottom: clamp(24px, 3vw, 40px);
	position: relative;
	min-height: 360px;
	transform-style: preserve-3d;
}

.bm-hero-text-col {
	flex: 0 0 63%;
	width: 63%;
	max-width: none;
	position: relative;
	z-index: 2;
	padding: 0 0 12px;
	transform-style: preserve-3d;
}

.bm-hero-tagline {
	font-size: clamp(15px, 1.3vw, 21px) !important;
	font-weight: 500 !important;
	color: #4b584e !important;
	margin: 0 0 18px 0 !important;
	line-height: 1.5 !important;
	max-width: 100%;
	white-space: normal;
	animation: bmHeroTextIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.bm-hero-headline {
	font-size: clamp(42px, 4.5vw, 76px) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -1.5px !important;
	color: var(--bm-primary-dark) !important;
	margin: 0 0 36px 0 !important;
	max-width: 100%;
	animation: bmHeroTextIn 0.9s 0.1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes bmHeroTextIn {
	0% {
		opacity: 0;
		transform: perspective(800px) rotateX(8deg) translateY(20px);
	}
	100% {
		opacity: 1;
		transform: perspective(800px) rotateX(0deg) translateY(0);
	}
}

.bm-hero-action {
	display: flex;
	align-items: center;
	animation: bmHeroTextIn 1s 0.2s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.bm-hero-btn {
	font-size: 20px !important;
	padding: 16px 30px !important;
	position: relative;
	overflow: hidden;
	transform-style: preserve-3d;
	transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.28s ease, background-color 0.25s ease !important;
	box-shadow: 0 8px 22px rgba(245, 195, 50, 0.35) !important;
}

.bm-hero-btn:hover {
	transform: translateY(-4px) scale(1.02);
	box-shadow: 0 14px 30px rgba(245, 195, 50, 0.48), 0 4px 10px rgba(0, 0, 0, 0.06) !important;
}

.bm-hero-btn:active {
	transform: translateY(-1px) scale(0.99);
	box-shadow: 0 4px 12px rgba(245, 195, 50, 0.3) !important;
}

/* Shimmer light across button on hover */
.bm-hero-btn::after {
	content: '';
	position: absolute;
	top: -50%;
	left: -70%;
	width: 50%;
	height: 200%;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.45) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	transform: rotate(25deg);
	transition: left 0.75s ease;
	pointer-events: none;
}

.bm-hero-btn:hover::after {
	left: 130%;
}

.bm-hero-graphic-col {
	flex: 0 0 37%;
	width: 37%;
	max-width: 630px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	align-self: stretch;
	position: relative;
	z-index: 1;
	pointer-events: auto !important;
	cursor: pointer;
	margin: 0;
	padding: 0;
	overflow: visible;
	perspective: 1000px;
	transform-style: preserve-3d;
}

/* Warm pastoral ambient sunbeam glow behind the cow */
.bm-hero-graphic-col::before {
	content: '';
	position: absolute;
	top: 45%;
	right: 12%;
	transform: translate(0, -50%);
	width: clamp(280px, 30vw, 440px);
	height: clamp(280px, 30vw, 440px);
	background: radial-gradient(circle, rgba(245, 195, 50, 0.22) 0%, rgba(62, 160, 60, 0.14) 42%, rgba(255, 255, 255, 0) 70%);
	border-radius: 50%;
	filter: blur(45px);
	z-index: 0;
	pointer-events: none;
	animation: bmHeroGlowPulse 6s ease-in-out infinite alternate;
}

@keyframes bmHeroGlowPulse {
	0% {
		transform: translate(0, -50%) scale(0.88);
		opacity: 0.55;
	}
	100% {
		transform: translate(0, -50%) scale(1.15);
		opacity: 0.95;
	}
}

.bm-hero-sketch {
	width: 100%;
	max-width: 600px;
	height: auto;
	display: block;
	object-fit: contain;
	position: relative;
	z-index: 1;
	transform-origin: bottom center;
	transform-style: preserve-3d;
	will-change: transform, filter;
	filter: drop-shadow(0 16px 36px rgba(22, 66, 35, 0.1));
	animation: bmHeroCowEntrance 1.1s cubic-bezier(0.16, 1, 0.3, 1) both, bmHeroCowBreath 5.5s 1.2s ease-in-out infinite alternate;
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.3s ease;
}

/* Entrance from 3D space */
@keyframes bmHeroCowEntrance {
	0% {
		opacity: 0;
		transform: perspective(1000px) translate3d(35px, 25px, -50px) rotateY(-6deg) scale(0.96);
	}
	100% {
		opacity: 1;
		transform: perspective(1000px) translate3d(0, 0, 0) rotateY(0deg) scale(1);
	}
}

/* Organic breathing & grazing micro-movement */
@keyframes bmHeroCowBreath {
	0% {
		transform: perspective(1000px) translateY(0px) rotate(0deg) scale(1);
	}
	30% {
		transform: perspective(1000px) translateY(-8px) rotate(0.8deg) scale(1.012) translateZ(8px);
	}
	70% {
		transform: perspective(1000px) translateY(-3px) rotate(-0.5deg) scale(1.006) translateZ(4px);
	}
	100% {
		transform: perspective(1000px) translateY(-11px) rotate(0.4deg) scale(1.018) translateZ(12px);
	}
}

/* Interactive Hover Lift */
.bm-hero-graphic-col:hover .bm-hero-sketch {
	transform: perspective(1000px) translateY(-14px) rotate(1.5deg) scale(1.035) translateZ(26px) !important;
	filter: drop-shadow(0 26px 48px rgba(22, 66, 35, 0.18)) !important;
}

.bm-hero-banner-wrapper {
	width: 100%;
}

.bm-hero-banner-inner {
	position: relative;
	width: 100%;
	border-radius: 24px 24px 0 0;
	overflow: hidden;
	line-height: 0;
	background-color: transparent;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.bm-hero-banner-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

/* Large Screens */

@media (min-width: 1400px) {
	.bm-hero-content-row {
		min-height: 380px;
	}

	.bm-hero-text-col {
		flex-basis: 64%;
		width: 64%;
	}

	.bm-hero-graphic-col {
		flex-basis: 36%;
		width: 36%;
	}

	.bm-hero-headline {
		font-size: 76px !important;
	}

	.bm-hero-sketch {
		max-width: 620px;
	}
}

/* Tablet */

@media (max-width: 991px) {
	.bm-hero-section {
		padding-top: 45px;
	}

	.bm-hero-content-row {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 20px;
		min-height: 350px;
		margin-bottom: 25px;
	}

	.bm-hero-text-col {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
		padding-bottom: 10px;
	}

	.bm-hero-tagline {
		max-width: 85%;
		font-size: 16px !important;
	}

	.bm-hero-headline {
		font-size: clamp(40px, 6vw, 58px) !important;
		letter-spacing: -1px !important;
		margin-bottom: 28px !important;
	}

	.bm-hero-graphic-col {
		position: absolute;
		right: -5px;
		bottom: 0;
		width: 340px;
		max-width: 48%;
		height: auto;
		opacity: 0.25;
		align-self: auto;
		z-index: 1;
	}

	.bm-hero-sketch {
		width: 100%;
		max-width: 100%;
	}

	.bm-hero-banner-inner {
		border-radius: 18px;
	}
}

/* Mobile */

@media (max-width: 576px) {
	.bm-hero-section {
		padding-top: 30px;
		padding-bottom: 24px;
	}

	.bm-hero-content-row {
		min-height: auto;
		gap: 0;
		margin-bottom: 28px;
	}

	.bm-hero-text-col {
		padding-bottom: 0;
	}

	.bm-hero-tagline {
		max-width: 100%;
		font-size: 14px !important;
		line-height: 1.6 !important;
		margin-bottom: 14px !important;
	}

	.bm-hero-headline {
		font-size: clamp(32px, 8vw, 42px) !important;
		line-height: 1.16 !important;
		letter-spacing: -0.7px !important;
		margin-bottom: 24px !important;
	}

	.bm-hero-graphic-col {
		display: none;
	}

	.bm-hero-btn {
		width: auto;
		max-width: 100%;
		justify-content: center;
		padding: 13px 22px !important;
		font-size: 16px !important;
	}

	.bm-hero-banner-inner {
		border-radius: 14px 14px 0 0;
	}

	.bm-hero-banner-img {
		height: auto;
	}
}

/* ==========================================================================
   About Us Section
   ========================================================================== */
.bm-about-section {
	position: relative;
	padding-top: clamp(10px, 2.5vw, 34px);
	padding-bottom: clamp(16px, 2.5vw, 32px);
	background-color: #ffffff;
	perspective: 1200px;
}

.bm-about-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: clamp(30px, 4.5vw, 64px);
	align-items: start;
	transform-style: preserve-3d;
}

.bm-about-media-col {
	position: relative;
	display: flex;
	perspective: 1000px;
	transform-style: preserve-3d;
}

.bm-about-collage-wrap {
	width: 100%;
	position: relative;
	display: flex;
	transform-style: preserve-3d;
	will-change: transform;
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bm-about-collage-img {
	width: 100%;
	height: auto;
	max-height: 480px;
	display: block;
	object-fit: cover;
	border-radius: var(--bm-radius-xl);
	box-shadow: 0 16px 40px rgba(22, 66, 35, 0.08);
	transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.bm-about-collage-wrap:hover .bm-about-collage-img {
	box-shadow: 0 24px 50px rgba(22, 66, 35, 0.16);
}

.bm-about-content-col {
	display: flex;
	flex-direction: column;
}

.bm-about-title {
	font-size: clamp(28px, 3.2vw, 42px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.4px !important;
	color: var(--bm-primary-dark) !important;
	margin: 0 0 16px 0 !important;
}

.bm-about-desc {
	font-size: clamp(14px, 1.2vw, 16px) !important;
	color: #526055 !important;
	line-height: 1.6 !important;
	margin: 0 0 28px 0 !important;
}

.bm-about-middle-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 24px;
	align-items: center;
	margin-bottom: 32px;
}

.bm-about-feature-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bm-about-feature-item {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: #28362b !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: transform 0.22s ease, color 0.22s ease;
	cursor: default;
}

.bm-about-feature-item:hover {
	transform: translateX(8px) translateZ(10px);
	color: #164223 !important;
}

.bm-check-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	background-color: #eaf6e8;
	border-radius: 50%;
	flex-shrink: 0;
	transition: transform 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease;
}

.bm-about-feature-item:hover .bm-check-icon {
	background-color: #3ea03c;
	transform: scale(1.15) rotate(6deg);
	box-shadow: 0 4px 12px rgba(62, 160, 60, 0.35);
}

.bm-about-feature-item:hover .bm-check-icon svg path {
	stroke: #ffffff;
}

.bm-about-lab-card {
	width: 200px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(20, 53, 32, 0.1);
	line-height: 0;
	background-color: #f0f4ee;
	transform-style: preserve-3d;
	will-change: transform;
	animation: bmLabCardAmbientFloat 5.5s ease-in-out infinite alternate;
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease;
}

@keyframes bmLabCardAmbientFloat {
	0% {
		transform: perspective(1000px) translateY(0px) rotate(0deg);
	}
	50% {
		transform: perspective(1000px) translateY(-8px) rotate(1.2deg) translateZ(10px);
	}
	100% {
		transform: perspective(1000px) translateY(2px) rotate(-0.8deg) translateZ(2px);
	}
}

.bm-about-lab-card:hover {
	box-shadow: 0 18px 40px rgba(20, 53, 32, 0.18);
}

.bm-about-lab-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Callout Card 3D Depth */
.bm-about-callout-card {
	background-color: #faf9f4;
	border-radius: 18px;
	padding: 16px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border: 1px solid #f0ede4;
	transform-style: preserve-3d;
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}

.bm-about-callout-card:hover {
	transform: translateY(-4px) translateZ(12px);
	box-shadow: 0 14px 35px rgba(22, 66, 35, 0.08);
}

.bm-about-callout-phone {
	display: flex;
	align-items: center;
	gap: 14px;
}

.bm-callout-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background-color: var(--bm-primary-dark);
	border-radius: 50%;
	color: #ffffff;
	flex-shrink: 0;
	transition: transform 0.3s ease, background-color 0.3s ease;
}

.bm-about-callout-card:hover .bm-callout-icon {
	transform: rotate(12deg) scale(1.08);
	background-color: #1c522b;
}

.bm-callout-info {
	display: flex;
	flex-direction: column;
}

.bm-callout-label {
	font-size: 12px;
	color: #727f75;
	font-weight: 500;
}

.bm-callout-number {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	text-decoration: none !important;
}

.bm-about-callout-btn {
	padding: 11px 22px !important;
	font-size: 15px !important;
}

/* Responsive Media Queries for About Section */
@media (max-width: 991px) {
	.bm-about-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.bm-about-collage-wrap {
		max-width: 520px;
		margin: 0 auto;
	}

	.bm-about-collage-img {
		height: auto;
		max-height: 380px;
	}

	.bm-about-middle-row {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.bm-about-lab-card {
		width: 100%;
		max-width: 260px;
	}
}

@media (max-width: 576px) {
	.bm-about-section {
		padding-top: 30px;
		padding-bottom: 40px;
	}

	.bm-about-title {
		font-size: 26px !important;
	}

	.bm-about-callout-card {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		padding: 16px;
	}

	.bm-about-callout-btn-wrap {
		width: 100%;
	}

	.bm-about-callout-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================================
   Our Products Categories Section
   ========================================================================== */
.bm-categories-section {
	position: relative;
	padding-top: clamp(28px, 3.5vw, 44px);
	padding-bottom: clamp(48px, 6vw, 80px);
	background-color: #faf9f5;
	overflow: hidden;
}

/* Background emblem watermark with slow organic 3D ambient rotation */
.bm-categories-section::before {
	content: '';
	position: absolute;
	top: -40px;
	right: -40px;
	width: 280px;
	height: 280px;
	background-image: url("data:image/svg+xml,%3Csvg width='240' height='240' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='24' cy='24' r='23' stroke='%23245A34' stroke-width='1.5' stroke-opacity='0.12' fill='none'/%3E%3Cpath d='M12 28C11 20 17 14 24 14C24 18 20 25 12 28Z' fill='%233E8E41' fill-opacity='0.12'/%3E%3Cpath d='M36 28C37 20 31 14 24 14C24 18 28 25 36 28Z' fill='%23245A34' fill-opacity='0.12'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	opacity: 0.8;
	animation: bmEmblemSpinSlow 60s linear infinite;
	transform-origin: center center;
}

@keyframes bmEmblemSpinSlow {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.bm-wave-divider {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	line-height: 0;
	pointer-events: none;
	z-index: 3;
}

.bm-wave-divider svg {
	width: 100%;
	height: 38px;
	display: block;
}

.bm-categories-header-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: clamp(32px, 4.5vw, 48px);
	position: relative;
	z-index: 2;
}

.bm-categories-header {
	text-align: left;
	max-width: 680px;
}

.bm-categories-header .bm-badge {
	margin-left: 0;
	margin-right: auto;
	margin-bottom: 12px;
}

.bm-categories-title {
	font-size: clamp(26px, 3.2vw, 38px) !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	letter-spacing: -0.4px !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.2 !important;
}

.bm-categories-subtitle {
	font-size: clamp(14px, 1.2vw, 16px) !important;
	color: #556b5a !important;
	line-height: 1.55 !important;
	margin: 0 !important;
}

/* Prev / Next Slider Navigation Buttons */
.bm-cat-nav-controls {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	padding-bottom: 6px;
}

.bm-cat-nav-btn {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: #ffffff;
	border: 1.5px solid rgba(22, 66, 35, 0.15);
	color: var(--bm-primary-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(22, 66, 35, 0.08);
	transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
	padding: 0;
}

.bm-cat-nav-btn:hover {
	background-color: var(--bm-accent-green);
	border-color: var(--bm-accent-green);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(62, 160, 60, 0.35);
}

.bm-cat-nav-btn:active {
	transform: scale(0.95);
}

/* Slider Viewport & Track */
.bm-cat-slider-viewport {
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 2;
	padding: 10px 2px 20px;
}

.bm-cat-slider-track {
	display: flex;
	transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
	will-change: transform;
}

.bm-cat-slide {
	flex: 0 0 33.333333%;
	box-sizing: border-box;
	padding: 0 14px;
	display: flex;
}

/* Category Card */
.bm-cat-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background-color: #ffffff;
	border-radius: 20px;
	overflow: hidden;
	text-decoration: none !important;
	border: 1px solid rgba(22, 66, 35, 0.09);
	box-shadow: 0 6px 20px rgba(22, 66, 35, 0.06);
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease, border-color 0.3s ease;
}

.bm-cat-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 42px rgba(20, 53, 32, 0.14);
	border-color: rgba(62, 160, 60, 0.35);
}

/* Thumbnail Visual Area */
.bm-cat-thumb {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 12;
	background: linear-gradient(135deg, #fbfaf6 0%, #ebe7dc 100%);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
}

.bm-cat-img {
	max-width: 86%;
	max-height: 86%;
	object-fit: contain;
	display: block;
	transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bm-cat-card:hover .bm-cat-img {
	transform: scale(1.08) translateY(-3px);
}

.bm-cat-count-badge {
	position: absolute;
	bottom: 14px;
	left: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(8px);
	padding: 5px 12px;
	border-radius: 20px;
	font-size: 11.5px;
	font-weight: 700;
	color: #164223;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	border: 1px solid rgba(22, 66, 35, 0.06);
}

.bm-cat-count-dot {
	width: 7px;
	height: 7px;
	background-color: var(--bm-accent-green);
	border-radius: 50%;
	display: inline-block;
	animation: bmCatDotPulse 2.2s ease-in-out infinite;
}

.bm-cat-spec-badge {
	position: absolute;
	top: 14px;
	right: 14px;
	background: rgba(22, 66, 35, 0.9);
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Card Body Content */
.bm-cat-body {
	padding: 22px 24px 24px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: space-between;
}

.bm-cat-card-title {
	font-size: 18.5px !important;
	font-weight: 800 !important;
	color: #164223 !important;
	line-height: 1.3 !important;
	margin: 0 0 10px 0 !important;
	transition: color 0.25s ease;
}

.bm-cat-card:hover .bm-cat-card-title {
	color: var(--bm-accent-green) !important;
}

.bm-cat-card-desc {
	font-size: 13.5px !important;
	color: #55685a !important;
	line-height: 1.55 !important;
	margin: 0 0 18px 0 !important;
	flex-grow: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.bm-cat-card-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--bm-primary-dark);
	text-transform: uppercase;
	letter-spacing: 0.6px;
	transition: all 0.25s ease;
}

.bm-cat-cta-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: rgba(62, 160, 60, 0.12);
	color: var(--bm-accent-green);
	transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

.bm-cat-card:hover .bm-cat-card-cta {
	color: var(--bm-accent-green);
}

.bm-cat-card:hover .bm-cat-cta-arrow {
	background-color: var(--bm-accent-green);
	color: #ffffff;
	transform: translateX(4px);
}

/* Dots Indicator Pagination */
.bm-cat-dots-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 9px;
	margin-top: 18px;
	position: relative;
	z-index: 2;
}

.bm-cat-dot-btn {
	width: 10px;
	height: 10px;
	border-radius: 10px;
	background-color: rgba(22, 66, 35, 0.2);
	border: none;
	cursor: pointer;
	padding: 0;
	transition: all 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

.bm-cat-dot-btn:hover {
	background-color: rgba(22, 66, 35, 0.45);
}

.bm-cat-dot-btn.active {
	width: 32px;
	background-color: var(--bm-accent-green);
}

/* Responsive Media Queries */
@media (max-width: 1023px) {
	.bm-cat-slide {
		flex: 0 0 50%;
		padding: 0 10px;
	}
}

@media (max-width: 767px) {
	.bm-categories-header-wrap {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}

	.bm-cat-nav-controls {
		align-self: flex-end;
		margin-top: -10px;
	}

	.bm-cat-slide {
		flex: 0 0 100%;
		padding: 0 4px;
	}

	.bm-cat-card {
		max-width: 420px;
		margin: 0 auto;
	}
}

/* ==========================================================================
   Services Section
   ========================================================================== */
.bm-services-section {
	position: relative;
	padding-top: clamp(48px, 6vw, 84px);
	padding-bottom: clamp(48px, 6vw, 84px);
	background-color: #ffffff;
	overflow: hidden;
}

.bm-services-top-row {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: clamp(32px, 5vw, 68px);
	align-items: center;
	margin-bottom: clamp(36px, 5vw, 60px);
	position: relative;
}

.bm-services-info-col {
	position: relative;
}

.bm-services-title {
	font-size: clamp(28px, 3.2vw, 42px) !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	letter-spacing: -0.4px !important;
	line-height: 1.2 !important;
	margin: 0 0 28px 0 !important;
}

.bm-services-action {
	display: flex;
	align-items: center;
}

.bm-services-btn {
	padding: 12px 26px !important;
	font-size: 15px !important;
}

.bm-services-cards-col {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.bm-service-card {
	background-color: #f7f6f0;
	border-radius: 20px;
	padding: clamp(22px, 3vw, 30px);
	transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
	border: 1px solid #eeebe2;
}

.bm-service-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 14px 32px rgba(20, 53, 32, 0.08);
	background-color: #ffffff;
}

.bm-service-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.bm-service-icon-yellow {
	width: 56px;
	height: 56px;
	background-color: var(--bm-accent-yellow);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #111812;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(245, 195, 50, 0.28);
}

.bm-service-arrow-btn {
	width: 42px;
	height: 42px;
	background-color: var(--bm-primary-dark);
	color: #ffffff !important;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	transition: all 0.25s ease;
	flex-shrink: 0;
	box-shadow: 0 3px 10px rgba(20, 53, 32, 0.15);
}

.bm-service-card:hover .bm-service-arrow-btn {
	background-color: var(--bm-accent-green);
	transform: rotate(45deg);
}

.bm-service-card-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.25 !important;
}

.bm-service-card-desc {
	font-size: 14.5px !important;
	color: #556257 !important;
	line-height: 1.6 !important;
	margin: 0 !important;
}

/* Pasture Landscape Banner */
.bm-services-banner-wrapper {
	width: 100%;
}

.bm-services-banner-inner {
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(20, 53, 32, 0.08);
	line-height: 0;
	background-color: #e5ece2;
}

.bm-services-banner-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	aspect-ratio: 16 / 5.2;
	min-height: 170px;
}

/* Responsive Media Queries for Services */
@media (max-width: 991px) {
	.bm-services-top-row {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.bm-services-cards-col {
		width: 100%;
	}
}

@media (max-width: 576px) {
	.bm-services-section {
		padding-top: 36px;
		padding-bottom: 40px;
	}

	.bm-services-title {
		font-size: 26px !important;
		margin-bottom: 20px !important;
	}

	.bm-services-btn {
		width: 100%;
		justify-content: center;
	}

	.bm-service-card {
		padding: 20px;
	}

	.bm-service-icon-yellow {
		width: 48px;
		height: 48px;
	}

	.bm-service-arrow-btn {
		width: 38px;
		height: 38px;
	}

	.bm-service-card-title {
		font-size: 18px !important;
	}

	.bm-services-banner-inner {
		border-radius: 14px;
	}

	.bm-services-banner-img {
		aspect-ratio: 16 / 7.5;
		min-height: 140px;
	}
}

/* ==========================================================================
   Products Section
   ========================================================================== */
.bm-products-section {
	position: relative;
	padding-top: clamp(48px, 6vw, 84px);
	padding-bottom: clamp(54px, 7vw, 96px);
	background-color: #ffffff;
	overflow: hidden;
}

.bm-products-layout {
	display: grid;
	grid-template-columns: 1fr 1.65fr;
	gap: clamp(32px, 5vw, 68px);
	align-items: flex-start;
	position: relative;
}

.bm-products-intro-col {
	position: relative;
	display: flex;
	flex-direction: column;
}

.bm-products-title {
	font-size: clamp(28px, 3.2vw, 42px) !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	letter-spacing: -0.4px !important;
	line-height: 1.2 !important;
	margin: 0 0 14px 0 !important;
}

.bm-products-intro-text {
	font-size: 14.5px !important;
	color: #55685a !important;
	line-height: 1.6 !important;
	margin: 0 0 24px 0 !important;
}

.bm-products-action {
	margin-bottom: 24px;
}

.bm-products-btn {
	padding: 12px 26px !important;
	font-size: 15px !important;
}

.bm-products-sketch-wrap {
	width: 100%;
	max-width: 400px;
	margin-top: 10px;
	pointer-events: none;
	opacity: 0.9;
}

.bm-products-sketch {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.bm-products-grid-col {
	position: relative;
}

.bm-products-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px 18px;
}

.bm-product-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background-color: #faf9f5;
	border: 1px solid rgba(22, 66, 35, 0.08);
	border-radius: 16px;
	padding: 18px 14px 16px;
	text-decoration: none !important;
	transition: all 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
	cursor: pointer;
}

.bm-product-card:hover {
	transform: translateY(-6px);
	background-color: #ffffff;
	border-color: rgba(62, 160, 60, 0.3);
	box-shadow: 0 16px 36px rgba(22, 66, 35, 0.1);
}

.bm-product-thumb {
	width: 100%;
	height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
	position: relative;
}

.bm-product-img {
	max-height: 100%;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.3s ease;
	filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.06));
}

.bm-product-card:hover .bm-product-img {
	transform: scale(1.08) translateY(-2px);
	filter: drop-shadow(0 12px 24px rgba(20, 53, 32, 0.15));
}

.bm-product-form-pill {
	position: absolute;
	top: -4px;
	right: -2px;
	background-color: rgba(22, 66, 35, 0.08);
	color: #164223;
	font-size: 10.5px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 6px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.bm-product-card:hover .bm-product-form-pill {
	background-color: var(--bm-accent-green);
	color: #ffffff;
}

.bm-product-name {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #164223 !important;
	margin: 0 0 3px 0 !important;
	line-height: 1.3 !important;
	transition: color 0.2s ease;
}

.bm-product-card:hover .bm-product-name {
	color: var(--bm-accent-green) !important;
}

.bm-product-cat {
	font-size: 12.5px !important;
	color: #647568 !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.bm-product-pack {
	font-size: 11.5px;
	color: #8c9b90;
	margin-top: 3px;
	display: block;
	font-weight: 600;
}

.bm-product-view-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11.5px;
	font-weight: 700;
	color: var(--bm-primary-dark);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-top: 10px;
	transition: all 0.25s ease;
}

.bm-product-card:hover .bm-product-view-link {
	color: var(--bm-accent-green);
	gap: 7px;
}

/* Responsive Media Queries for Products */
@media (max-width: 991px) {
	.bm-products-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.bm-products-sketch-wrap {
		display: none;
	}

	.bm-products-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 28px 18px;
	}
}

@media (max-width: 650px) {
	.bm-products-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px 16px;
	}

	.bm-product-thumb {
		height: 145px;
	}
}

@media (max-width: 480px) {
	.bm-products-section {
		padding-top: 36px;
		padding-bottom: 44px;
	}

	.bm-products-title {
		font-size: 26px !important;
		margin-bottom: 20px !important;
	}

	.bm-products-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================================
   Benefits Section (Dark Green)
   ========================================================================== */
.bm-benefits-section {
	position: relative;
	background-color: var(--bm-primary-dark);
	padding-top: clamp(54px, 7vw, 96px);
	padding-bottom: clamp(54px, 7vw, 96px);
	overflow: hidden;
	color: #ffffff;
}

/* Background atmospheric depth glow */
.bm-benefits-section::after {
	content: '';
	position: absolute;
	top: 15%;
	right: -5%;
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, rgba(121, 203, 108, 0.08) 0%, rgba(20, 53, 32, 0) 70%);
	pointer-events: none;
	z-index: 1;
}

.bm-benefits-grid {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: clamp(32px, 5vw, 68px);
	align-items: center;
	position: relative;
	z-index: 2;
}

.bm-benefits-content-col {
	display: flex;
	flex-direction: column;
}

.bm-badge-light {
	color: #79cb6c !important;
}

.bm-benefits-title {
	font-size: clamp(28px, 3.2vw, 42px) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	letter-spacing: -0.4px !important;
	line-height: 1.2 !important;
	margin: 0 0 16px 0 !important;
}

.bm-benefits-desc {
	font-size: clamp(14px, 1.2vw, 16px) !important;
	color: #c4d4c8 !important;
	line-height: 1.6 !important;
	margin: 0 0 28px 0 !important;
	max-width: 520px;
}

.bm-benefit-card {
	background-color: #1e452c;
	border-radius: 18px;
	padding: 20px 24px;
	display: flex;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 16px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.35s ease;
	transform-style: preserve-3d;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.bm-benefit-card:hover {
	transform: translateX(8px) translateY(-3px) translateZ(15px);
	background-color: #245235;
	border-color: rgba(121, 203, 108, 0.35);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 0 20px rgba(121, 203, 108, 0.12);
}

.bm-benefit-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-top: 2px;
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.35s ease;
	transform-style: preserve-3d;
}

.bm-benefit-card:hover .bm-benefit-icon {
	transform: scale(1.12) rotate(4deg) translateZ(12px);
	filter: drop-shadow(0 6px 14px rgba(245, 195, 50, 0.45));
}

.bm-benefit-info {
	display: flex;
	flex-direction: column;
}

.bm-benefit-card-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 6px 0 !important;
	line-height: 1.25 !important;
}

.bm-benefit-card-text {
	font-size: 14px !important;
	color: #b7c7bb !important;
	line-height: 1.55 !important;
	margin: 0 !important;
}

.bm-benefits-action {
	margin-top: 24px;
}

.bm-benefits-btn {
	padding: 13px 28px !important;
	font-size: 15px !important;
}

.bm-benefits-media-col {
	position: relative;
	perspective: 1100px;
}

.bm-benefits-img-wrap {
	width: 100%;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
	line-height: 0;
	background-color: #102919;
	transform-style: preserve-3d;
	transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.45s ease;
	will-change: transform;
}

.bm-benefits-media-col:hover .bm-benefits-img-wrap {
	box-shadow: 0 30px 65px rgba(0, 0, 0, 0.45), 0 0 30px rgba(121, 203, 108, 0.15);
}

.bm-benefits-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bm-benefits-media-col:hover .bm-benefits-img {
	transform: scale(1.03);
}

/* Responsive Media Queries for Benefits */
@media (max-width: 991px) {
	.bm-benefits-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.bm-benefits-img-wrap {
		max-width: 520px;
		margin: 0 auto;
	}
}

@media (max-width: 576px) {
	.bm-benefits-section {
		padding-top: 40px;
		padding-bottom: 44px;
	}

	.bm-benefits-title {
		font-size: 26px !important;
	}

	.bm-benefit-card {
		padding: 16px;
		gap: 14px;
	}

	.bm-benefit-card-title {
		font-size: 16.5px !important;
	}

	.bm-benefits-btn {
		width: 100%;
		justify-content: center;
	}

	.bm-benefits-img-wrap {
		border-radius: 18px;
	}
}

/* ==========================================================================
   Inquiry Form Section
   ========================================================================== */
.bm-inquiry-section {
	position: relative;
	background-color: var(--bm-primary-dark);
	padding-top: 0;
	padding-bottom: clamp(60px, 8vw, 100px);
}

.bm-inquiry-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	background-color: #ffffff;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
	transform-style: preserve-3d;
	perspective: 1200px;
}

.bm-inquiry-photo-col {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 440px;
	line-height: 0;
	background-color: #dce5da;
	overflow: hidden;
	transform-style: preserve-3d;
}

/* Cinematic Sunlight Shimmer Sweep across veterinarian photo */
.bm-inquiry-photo-col::after {
	content: '';
	position: absolute;
	top: -50%;
	left: -100%;
	width: 200%;
	height: 200%;
	background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 255, 255, 0) 60%);
	pointer-events: none;
	animation: bmInquiryLightSweep 7s ease-in-out infinite;
	z-index: 2;
}

@keyframes bmInquiryLightSweep {
	0% {
		transform: translateX(-80%) rotate(15deg);
		opacity: 0;
	}
	15% {
		opacity: 1;
	}
	40%, 100% {
		transform: translateX(110%) rotate(15deg);
		opacity: 0;
	}
}

.bm-inquiry-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Floating 3D Veterinary Trust Badge */
.bm-inquiry-floating-badge {
	position: absolute;
	bottom: 24px;
	left: 24px;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 16px;
	padding: 11px 18px;
	display: flex;
	align-items: center;
	gap: 12px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.08);
	z-index: 4;
	animation: bmInquiryBadgeFloat 4.8s ease-in-out infinite;
	transform-style: preserve-3d;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
	line-height: normal;
}

@keyframes bmInquiryBadgeFloat {
	0%, 100% {
		transform: translateY(0px) rotate(0deg);
	}
	50% {
		transform: translateY(-7px) rotate(0.4deg);
	}
}

.bm-inquiry-badge-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background-color: #ebfaea;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bm-inquiry-badge-content {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.bm-inquiry-badge-title {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #164223 !important;
	line-height: 1.2 !important;
}

.bm-inquiry-badge-sub {
	font-size: 12px !important;
	color: #556b5a !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	line-height: 1 !important;
}

.bm-live-indicator {
	width: 7px;
	height: 7px;
	background-color: #3ea03c;
	border-radius: 50%;
	display: inline-block;
	animation: bmLivePulse 1.8s infinite;
}

@keyframes bmLivePulse {
	0%, 100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(62, 160, 60, 0.65);
	}
	50% {
		transform: scale(1.25);
		box-shadow: 0 0 0 5px rgba(62, 160, 60, 0);
	}
}

.bm-inquiry-form-card {
	background-color: #ffffff;
	padding: clamp(28px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.bm-inquiry-title {
	font-size: clamp(24px, 2.6vw, 32px) !important;
	font-weight: 800 !important;
	color: #164223 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.4px !important;
	margin: 0 0 28px 0 !important;
}

/* Contact Form 7 integration in Home Inquiry Section */
.bm-inquiry-form-card .bm-contact-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}

.bm-inquiry-form-card .bm-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 0;
}

.bm-inquiry-form-card .bm-form-group {
	display: flex;
	flex-direction: column;
}

.bm-inquiry-form-card .bm-form-label {
	font-size: 13px;
	font-weight: 700;
	color: #164223;
	margin-bottom: 6px;
	display: block;
}

.bm-inquiry-form-card .bm-req {
	color: #e53e3e;
	font-weight: 700;
}

.bm-inquiry-form-card .bm-form-control {
	width: 100% !important;
	background-color: #fafbf9 !important;
	border: 1px solid #dde3de !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-size: 14px !important;
	font-family: inherit !important;
	color: #1a221b !important;
	box-shadow: none !important;
	transition: all 0.25s ease !important;
	box-sizing: border-box !important;
	line-height: normal !important;
}

.bm-inquiry-form-card .bm-form-control:focus {
	background-color: #ffffff !important;
	border-color: #3ea03c !important;
	outline: none !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(36, 90, 52, 0.1), 0 0 0 3px rgba(62, 160, 60, 0.18) !important;
}

.bm-inquiry-form-card .bm-form-control::placeholder {
	color: #9cb1a1 !important;
	opacity: 1 !important;
}

.bm-inquiry-form-card .bm-select-wrapper {
	position: relative;
	width: 100%;
}

.bm-inquiry-form-card .bm-form-select {
	appearance: none !important;
	-webkit-appearance: none !important;
	padding-right: 36px !important;
	cursor: pointer;
}

.bm-inquiry-form-card .bm-select-wrapper::after {
	content: '';
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
	height: 6px;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%235E6D62' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

.bm-inquiry-form-card .bm-form-textarea {
	resize: vertical;
	min-height: 90px;
}

.bm-inquiry-form-card .bm-form-submit-wrap {
	margin-top: 4px;
}

.bm-inquiry-form-card .bm-btn-submit {
	position: relative !important;
	overflow: hidden !important;
	width: 100% !important;
	justify-content: center !important;
	background-color: #f5c332 !important;
	color: #111812 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	padding: 14px 24px !important;
	border-radius: 12px !important;
	cursor: pointer !important;
	box-shadow: 0 6px 18px rgba(245, 195, 50, 0.35) !important;
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease, background-color 0.25s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	border: none !important;
	text-align: center !important;
}

.bm-inquiry-form-card .bm-btn-submit::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -70%;
	width: 45%;
	height: 200%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
	transform: skewX(-20deg);
	animation: bmBtnGleamLoop 4.5s infinite ease-in-out;
	pointer-events: none;
}

@keyframes bmBtnGleamLoop {
	0%, 70% {
		left: -70%;
	}
	100% {
		left: 150%;
	}
}

.bm-inquiry-form-card .bm-btn-submit:hover {
	background-color: #e5b422 !important;
	transform: translateY(-3px) scale(1.008) !important;
	box-shadow: 0 12px 28px rgba(245, 195, 50, 0.48) !important;
}

.bm-inquiry-form-card .bm-form-privacy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 12px;
	color: #6e7c72;
	margin-top: 4px;
	text-align: center;
}

.bm-inquiry-form-card .wpcf7-not-valid-tip {
	color: #d93838;
	font-size: 12px;
	margin-top: 4px;
	font-weight: 500;
	display: block;
}

.bm-inquiry-form-card .wpcf7-response-output {
	border-radius: 8px !important;
	padding: 10px 16px !important;
	margin: 12px 0 0 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-align: center !important;
}

.bm-inquiry-form-card .wpcf7 form.sent .wpcf7-response-output {
	background-color: #eaf6ec !important;
	border: 1px solid #3ea03c !important;
	color: #164223 !important;
}

.bm-inquiry-form-card .wpcf7 form.failed .wpcf7-response-output,
.bm-inquiry-form-card .wpcf7 form.aborted .wpcf7-response-output,
.bm-inquiry-form-card .wpcf7 form.invalid .wpcf7-response-output,
.bm-inquiry-form-card .wpcf7 form.unaccepted .wpcf7-response-output {
	background-color: #fde8e8 !important;
	border: 1px solid #e53e3e !important;
	color: #9b1c1c !important;
}

.bm-inquiry-form-card .wpcf7-spinner {
	margin: 8px auto 0 !important;
	display: block !important;
}


/* Responsive Media Queries for Inquiry Form */
@media (max-width: 991px) {
	.bm-inquiry-wrapper {
		grid-template-columns: 1fr;
	}

	.bm-inquiry-photo-col {
		height: 300px;
		min-height: 260px;
	}
}

@media (max-width: 576px) {
	.bm-inquiry-section {
		padding-bottom: 40px;
	}

	.bm-inquiry-form-card {
		padding: 24px 20px;
	}

	.bm-form-row {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-bottom: 18px;
	}

	.bm-inquiry-title {
		font-size: 22px !important;
		margin-bottom: 20px !important;
	}

	.bm-form-control {
		font-size: 16px !important; /* Prevents iOS Safari zoom-on-focus */
	}

	.bm-btn-green-submit {
		width: 100%;
	}
}

/* ==========================================================================
   Testimonials Section
   ========================================================================== */
.bm-testimonials-section {
	position: relative;
	padding-top: clamp(60px, 7vw, 100px);
	padding-bottom: clamp(90px, 9vw, 130px);
	background-color: #faf9f5;
	overflow: hidden;
}

/* Background watermark emblem from mockup */
.bm-testimonials-section::before {
	content: '';
	position: absolute;
	top: -15px;
	right: 0;
	width: clamp(170px, 18vw, 240px);
	height: clamp(190px, 20vw, 270px);
	background-image: var(--bm-emblem-url, url('../images/testimonials-emblem.png'));
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top right;
	pointer-events: none;
	opacity: 0.9;
	z-index: 1;
}

.bm-testimonials-header {
	text-align: center;
	margin-bottom: clamp(38px, 4.5vw, 56px);
	position: relative;
	z-index: 2;
}

.bm-testimonials-header .bm-badge {
	margin-left: auto;
	margin-right: auto;
}

.bm-testimonials-title {
	font-size: clamp(28px, 3.2vw, 42px) !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	letter-spacing: -0.4px !important;
	line-height: 1.25 !important;
	margin: 0 !important;
}

/* Centered grid container with optimal card width */
.bm-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 2.4vw, 32px);
	max-width: 1320px;
	margin: 0 auto;
	align-items: stretch;
	position: relative;
	z-index: 2;
}

.bm-testimonial-card {
	border-radius: 20px;
	overflow: hidden;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
	position: relative;
}

.bm-testimonial-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 18px 40px rgba(20, 53, 32, 0.1);
}

.bm-testimonial-photo-card {
	background-color: #e5ece2;
	line-height: 0;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	aspect-ratio: 422 / 590;
	display: flex;
}

.bm-testimonial-photo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.bm-testimonial-text-card {
	background-color: #ffffff;
	padding: clamp(32px, 3.5vw, 44px) clamp(26px, 2.8vw, 36px);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(22, 66, 35, 0.04);
	border: 1px solid #edebe4;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.bm-testimonial-card-inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.bm-testimonial-stars {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 18px;
}

.bm-testimonial-stars svg {
	width: 18px;
	height: 18px;
	fill: #f5c332;
}

.bm-testimonial-quote-title {
	font-size: clamp(20px, 1.7vw, 24px) !important;
	font-weight: 800 !important;
	color: #164223 !important;
	line-height: 1.35 !important;
	letter-spacing: -0.2px !important;
	margin: 0 0 16px 0 !important;
}

.bm-testimonial-quote-text {
	font-size: clamp(14.5px, 1.05vw, 15.5px) !important;
	color: #526055 !important;
	line-height: 2.8 !important;
	margin: 0 0 24px 0 !important;
}

.bm-testimonial-author {
	margin-top: auto;
	padding-top: 20px !important;
	border-top: 1px solid #f0f4ef !important;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
}

.bm-author-name {
	font-size: clamp(16px, 1.1vw, 17px) !important;
	font-weight: 800 !important;
	color: #164223 !important;
	letter-spacing: -0.1px;
}

.bm-author-role {
	font-size: clamp(14px, 1vw, 15px) !important;
	color: #768379 !important;
	font-weight: 500 !important;
}

.bm-testimonials-wave svg {
	height: clamp(45px, 5vw, 65px);
}

/* Responsive Media Queries for Testimonials */
@media (max-width: 991px) {
	.bm-testimonials-grid {
		grid-template-columns: 1fr;
		max-width: 500px;
		margin: 0 auto;
		gap: 24px;
	}

	.bm-testimonial-photo-card {
		aspect-ratio: auto;
		max-height: 540px;
	}

	.bm-testimonial-text-card {
		min-height: auto;
	}
}

@media (max-width: 576px) {
	.bm-testimonials-section {
		padding-top: 48px;
		padding-bottom: 70px;
	}

	.bm-testimonials-title {
		font-size: 26px !important;
	}

	.bm-testimonial-text-card {
		padding: 32px 24px;
	}

	.bm-testimonial-quote-title {
		font-size: 19px !important;
		margin-bottom: 16px !important;
	}

	.bm-testimonial-quote-text {
		font-size: 15px !important;
	}
}

/* ==========================================================================
   Features Bar Section (Value Props)
   ========================================================================== */
.bm-features-bar-section {
	position: relative;
	background-color: #133921;
	padding-top: clamp(80px, 8.5vw, 115px);
	padding-bottom: clamp(80px, 8.5vw, 115px);
	color: #ffffff;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	align-items: center;
	min-height: 290px;
}

.bm-features-bar-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(28px, 4.5vw, 64px);
	align-items: center;
	width: 100%;
}

.bm-feature-pillar {
	display: flex;
	align-items: center;
	gap: 22px;
	transition: transform 0.3s ease;
}

.bm-feature-pillar:hover {
	transform: translateY(-3px);
}

.bm-feature-pillar-icon {
	width: 70px;
	height: 70px;
	background-color: var(--bm-accent-yellow);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 6px 20px rgba(245, 195, 50, 0.32);
}

.bm-feature-pillar-content {
	display: flex;
	flex-direction: column;
}

.bm-feature-pillar-title {
	font-size: clamp(19px, 1.5vw, 22px) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.25 !important;
}

.bm-feature-pillar-desc {
	font-size: clamp(14px, 1.15vw, 15px) !important;
	color: #b7c7bb !important;
	line-height: 1.6 !important;
	margin: 0 !important;
}

/* Responsive Media Queries for Features Bar */
@media (max-width: 991px) {
	.bm-features-bar-section {
		padding-top: 56px;
		padding-bottom: 56px;
		min-height: auto;
	}

	.bm-features-bar-grid {
		grid-template-columns: 1fr;
		gap: 36px;
		max-width: 500px;
		margin: 0 auto;
	}
}

@media (max-width: 576px) {
	.bm-features-bar-section {
		padding-top: 44px;
		padding-bottom: 44px;
	}

	.bm-feature-pillar {
		gap: 16px;
	}

	.bm-feature-pillar-icon {
		width: 58px;
		height: 58px;
	}

	.bm-feature-pillar-title {
		font-size: 18px !important;
	}
}

/* ==========================================================================
   Blog Section (Section 11)
   ========================================================================== */
.bm-blog-section {
	position: relative;
	background-color: #ffffff;
	padding-top: clamp(60px, 8vw, 100px);
	padding-bottom: clamp(60px, 8vw, 100px);
	overflow: hidden;
}

.bm-blog-watermark {
	position: absolute;
	top: -40px;
	right: -60px;
	width: clamp(340px, 42vw, 620px);
	opacity: 0.16;
	pointer-events: none;
	z-index: 1;
}

.bm-blog-watermark img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.bm-blog-header {
	text-align: center;
	margin-bottom: clamp(36px, 5vw, 60px);
	position: relative;
	z-index: 2;
}

.bm-blog-header .bm-badge {
	margin-left: auto;
	margin-right: auto;
}

.bm-blog-title {
	font-size: clamp(28px, 3.4vw, 44px) !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	letter-spacing: -0.4px !important;
	line-height: 1.2 !important;
	margin: 0 !important;
}

.bm-blog-grid {
	display: grid;
	grid-template-columns: 1.16fr 1fr;
	gap: clamp(32px, 4.5vw, 56px);
	align-items: start;
	position: relative;
	z-index: 2;
}

/* Left Column: Featured Card */
.bm-blog-featured {
	position: relative;
}

.bm-featured-card {
	position: relative;
	display: flex;
	flex-direction: column;
}

.bm-featured-link {
	text-decoration: none !important;
	color: inherit !important;
	display: block;
}

.bm-featured-thumb-wrap {
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(20, 53, 32, 0.08);
	line-height: 0;
	margin-bottom: 20px;
	background-color: #eaeee9;
}

.bm-featured-img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 16 / 9.8;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.bm-featured-card:hover .bm-featured-img {
	transform: scale(1.025);
}

.bm-blog-date {
	display: block;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #728075 !important;
	margin-bottom: 8px !important;
	text-transform: capitalize;
}

.bm-featured-title {
	font-size: clamp(20px, 2vw, 26px) !important;
	font-weight: 800 !important;
	color: var(--bm-primary-dark) !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	transition: color 0.25s ease;
}

.bm-featured-card:hover .bm-featured-title {
	color: var(--bm-accent-green) !important;
}

/* Right Column: Recent Posts List */
.bm-blog-list {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.bm-blog-list-item {
	padding-bottom: 22px;
	margin-bottom: 22px;
	border-bottom: 1px solid #ebece9;
}

.bm-blog-list-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.bm-blog-item-link {
	display: grid;
	grid-template-columns: 195px 1fr;
	gap: 22px;
	align-items: center;
	text-decoration: none !important;
	color: inherit !important;
}

.bm-blog-item-thumb-wrap {
	width: 100%;
	border-radius: 14px;
	overflow: hidden;
	line-height: 0;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
	background-color: #eaeee9;
	aspect-ratio: 16 / 11;
}

.bm-blog-item-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.bm-blog-list-item:hover .bm-blog-item-img {
	transform: scale(1.05);
}

.bm-blog-item-content {
	display: flex;
	flex-direction: column;
}

.bm-blog-item-title {
	font-size: clamp(16px, 1.35vw, 19px) !important;
	font-weight: 700 !important;
	color: var(--bm-primary-dark) !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	transition: color 0.25s ease;
}

.bm-blog-list-item:hover .bm-blog-item-title {
	color: var(--bm-accent-green) !important;
}

/* Responsive Media Queries for Blog */
@media (max-width: 991px) {
	.bm-blog-grid {
		grid-template-columns: 1fr;
		gap: 36px;
		max-width: 680px;
		margin: 0 auto;
	}

	.bm-blog-item-link {
		grid-template-columns: 160px 1fr;
		gap: 18px;
	}
}

.bm-blog-item-img {
	border-radius: 14px;
}

.bm-blog-action {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: clamp(36px, 4.5vw, 54px);
	position: relative;
	z-index: 2;
}

.bm-blog-all-btn {
	padding: 13px 32px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
}

@media (max-width: 576px) {
	.bm-blog-section {
		padding-top: 40px;
		padding-bottom: 48px;
	}

	.bm-blog-title {
		font-size: 26px !important;
	}

	.bm-featured-title {
		font-size: 19px !important;
	}

	.bm-blog-item-link {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.bm-blog-item-thumb-wrap {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.bm-blog-item-title {
		font-size: 16px !important;
	}
}

/* ==========================================================================
   Footer Section (Section 12)
   ========================================================================== */
.bm-footer-section {
	position: relative;
	background-color: var(--bm-primary-dark);
	color: #ffffff;
	padding-top: clamp(60px, 8vw, 100px);
	padding-bottom: clamp(36px, 5vw, 54px);
	overflow: hidden;
}

.bm-footer-top {
	display: grid;
	grid-template-columns: 1.65fr 1fr 1fr;
	gap: clamp(32px, 5vw, 68px);
	align-items: flex-start;
	margin-bottom: clamp(48px, 6vw, 76px);
}

/* Left Column: Newsletter & Direct Contacts */
.bm-footer-newsletter-col {
	display: flex;
	flex-direction: column;
	max-width: 520px;
}

.bm-footer-title {
	font-size: clamp(26px, 2.7vw, 36px) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	line-height: 1.25 !important;
	letter-spacing: -0.4px !important;
	margin: 0 0 28px 0 !important;
}

.bm-newsletter-form {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50px;
	padding: 4px 5px 4px 22px;
	margin-bottom: 18px;
	height: 58px;
	box-sizing: border-box;
	transition: border-color 0.25s ease, background-color 0.25s ease;
}

.bm-newsletter-form:focus-within {
	border-color: var(--bm-accent-yellow);
	background-color: rgba(255, 255, 255, 0.08);
}

.bm-newsletter-form .wpcf7-form-control-wrap {
	flex: 1 !important;
	min-width: 0 !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bm-newsletter-input {
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-size: 14.5px !important;
	font-family: var(--bm-font-sans) !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 12px 0 0 !important;
	line-height: normal !important;
}

.bm-newsletter-input::placeholder {
	color: rgba(255, 255, 255, 0.65) !important;
	font-weight: 400 !important;
}

/* Hide redundant inline error tip inside the pill so the pill shape remains pristine */
.bm-newsletter-form .wpcf7-not-valid-tip {
	display: none !important;
}

.bm-newsletter-btn,
input[type="submit"].bm-newsletter-btn,
button.bm-newsletter-btn {
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	max-width: 48px !important;
	max-height: 48px !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background-color: var(--bm-accent-yellow) !important;
	border: none !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
	color: transparent !important;
	text-indent: -9999px !important;
	transition: transform 0.25s ease, background-color 0.25s ease !important;
	box-shadow: 0 4px 12px rgba(245, 195, 50, 0.25) !important;
	overflow: hidden !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23111812' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='7' y1='17' x2='17' y2='7'%3E%3C/line%3E%3Cpolyline points='7 7 17 7 17 17'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: 20px 20px !important;
}

.bm-newsletter-btn:hover,
input[type="submit"].bm-newsletter-btn:hover,
button.bm-newsletter-btn:hover {
	transform: rotate(45deg) scale(1.05) !important;
	background-color: #ffd24d !important;
}

.bm-newsletter-btn svg {
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	display: block !important;
	stroke: #111812 !important;
	fill: none !important;
	stroke-width: 2.5 !important;
	pointer-events: none;
}

.bm-footer-newsletter-col .wpcf7-response-output {
	border-radius: 8px !important;
	padding: 9px 16px !important;
	margin: 0 0 18px 0 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-align: left !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
}

.bm-footer-newsletter-col .wpcf7 form.sent .wpcf7-response-output {
	background-color: rgba(62, 160, 60, 0.2) !important;
	border: 1px solid #3ea03c !important;
	color: #ffffff !important;
}

.bm-footer-newsletter-col .wpcf7 form.failed .wpcf7-response-output,
.bm-footer-newsletter-col .wpcf7 form.aborted .wpcf7-response-output,
.bm-footer-newsletter-col .wpcf7 form.invalid .wpcf7-response-output,
.bm-footer-newsletter-col .wpcf7 form.unaccepted .wpcf7-response-output {
	background-color: rgba(229, 62, 62, 0.2) !important;
	border: 1px solid rgba(229, 62, 62, 0.5) !important;
	color: #ffdada !important;
}

.bm-footer-newsletter-col .wpcf7-spinner {
	position: absolute !important;
	right: 60px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	filter: brightness(2);
}

.bm-footer-contacts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(16px, 2.5vw, 32px);
}

.bm-footer-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #ffffff !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.bm-footer-contact-link:hover {
	color: var(--bm-accent-yellow) !important;
}

.bm-contact-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

/* Social Media Icons */
.bm-footer-socials {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
}

.bm-footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	color: #ffffff !important;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.bm-footer-social-link:hover {
	background: var(--bm-accent-yellow, #f5c332);
	border-color: var(--bm-accent-yellow, #f5c332);
	color: var(--bm-primary-dark, #0d3822) !important;
	transform: translateY(-2px);
}

.bm-footer-social-link svg {
	width: 17px;
	height: 17px;
	display: block;
}

/* Middle & Right Columns: Quick Links & Pages */
.bm-footer-links-col {
	display: flex;
	flex-direction: column;
}

.bm-footer-col-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 24px 0 !important;
	letter-spacing: -0.2px !important;
}

.bm-footer-nav-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bm-footer-menu-item {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bm-footer-link {
	font-size: 15px !important;
	color: #c4d6c7 !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	transition: color 0.2s ease, transform 0.2s ease;
	display: inline-block;
}

.bm-footer-link:hover {
	color: #ffffff !important;
	transform: translateX(4px);
}

/* Bottom Row: Watermark Logo + Copyright Credits */
.bm-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding-top: clamp(32px, 4.5vw, 52px);
}

.bm-footer-watermark {
	font-size: clamp(52px, 8.2vw, 114px);
	font-weight: 800;
	line-height: 0.85;
	letter-spacing: -1.5px;
	color: rgba(255, 255, 255, 0.045);
	user-select: none;
	pointer-events: none;
}

.bm-footer-credits {
	text-align: right;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-bottom: 6px;
}

.bm-footer-copy {
	font-size: 13.5px !important;
	color: #8da492 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

.bm-footer-author {
	font-size: 13.5px !important;
	color: #8da492 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

/* Responsive Media Queries for Footer */
@media (max-width: 991px) {
	.bm-footer-top {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.bm-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.bm-footer-credits {
		text-align: left;
	}
}

@media (max-width: 576px) {
	.bm-footer-section {
		padding-top: 48px;
		padding-bottom: 36px;
	}

	.bm-footer-title {
		font-size: 24px !important;
		margin-bottom: 20px !important;
	}

	.bm-newsletter-form {
		height: 52px;
		padding: 3px 4px 3px 18px;
	}

	.bm-newsletter-input {
		font-size: 16px !important; /* Prevents iOS Safari zoom-on-focus */
	}

	.bm-newsletter-btn,
	input[type="submit"].bm-newsletter-btn,
	button.bm-newsletter-btn {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		max-width: 44px !important;
		max-height: 44px !important;
		padding: 0 !important;
		margin: 0 !important;
		background-size: 18px 18px !important;
	}

	.bm-newsletter-btn svg {
		width: 18px !important;
		height: 18px !important;
		min-width: 18px !important;
		min-height: 18px !important;
	}

	.bm-footer-contacts {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.bm-footer-watermark {
		font-size: 46px;
	}
}
