:root {
	--ginmd-home-ink: #15221c;
	--ginmd-home-green: #102c22;
	--ginmd-home-gold: #c59a55;
	--ginmd-home-cream: #f5f1e9;
	--ginmd-home-line: rgba(21, 34, 28, 0.12);
}

/* Graphical brand mark in the global header. */
.elementor-element-13052ea .ginmd-graphic-logo {
	display: inline-flex;
	width: 68px;
	height: 58px;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.elementor-element-13052ea .ginmd-graphic-logo img {
	display: block;
	width: auto;
	height: 52px;
	max-width: 68px;
	object-fit: contain;
}

/* Homepage hero. */
.home .elementor-element-e8a47d9 {
	position: relative;
	isolation: isolate;
	min-height: 690px !important;
	overflow: hidden;
	padding: 72px 32px !important;
	background-position: center center !important;
	background-size: cover !important;
}

.home .elementor-element-e8a47d9::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(5, 18, 14, 0.82) 0%, rgba(5, 18, 14, 0.58) 37%, rgba(5, 18, 14, 0.08) 69%, rgba(5, 18, 14, 0.2) 100%),
		linear-gradient(0deg, rgba(0, 0, 0, 0.18), transparent 45%);
	content: "";
	pointer-events: none;
}

.home .elementor-element-e8a47d9 > .e-con-inner,
.home .elementor-element-e8a47d9 > .elementor-element,
.home .elementor-element-e8a47d9 > .elementor-widget {
	position: relative;
	z-index: 1;
}

.home .elementor-element-fe4172a {
	max-width: 620px;
}

.home .elementor-element-9f8ef73 .elementor-heading-title {
	max-width: 720px;
	margin: 0;
	font-size: clamp(54px, 5.2vw, 82px);
	letter-spacing: -0.045em;
	line-height: 0.96;
	text-wrap: balance;
}

.home .elementor-element-ac18dfe {
	max-width: 540px;
}

.home .elementor-element-ac18dfe p {
	font-size: 17px;
	line-height: 1.65;
}

.home .elementor-element-217407d {
	margin-top: 30px;
}

.home .ginmd-hero-product {
	height: 100%;
	min-height: 570px;
	align-self: stretch;
}

.home .ginmd-hero-product .elementor-widget-image,
.home .ginmd-hero-product .elementor-widget-container,
.home .ginmd-hero-product img {
	width: 100%;
	height: 100%;
}

.home .ginmd-hero-product img {
	max-height: 610px;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 30px 26px rgba(0, 0, 0, 0.38));
}

/* Shared section rhythm. */
.home .ginmd-home-section {
	padding-right: 32px !important;
	padding-left: 32px !important;
}

.home .ginmd-home-section > .e-con-inner {
	width: 100%;
	max-width: 1160px;
	margin-inline: auto;
}

.home .elementor-element-491c342 {
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}

.home .elementor-element-dbae9a2 {
	padding-top: 82px !important;
	padding-bottom: 82px !important;
}

.home .elementor-element-8e46ecf {
	padding-top: 70px !important;
	padding-bottom: 70px !important;
}

.home .elementor-element-8c45a5c {
	padding-top: 78px !important;
	padding-bottom: 78px !important;
}

.home .elementor-element-499c802 {
	padding-top: 76px !important;
	padding-bottom: 76px !important;
}

.home .elementor-element-5cc44f4 {
	padding-top: 72px !important;
	padding-bottom: 72px !important;
}

.home .elementor-element-bfa0069 {
	padding-top: 62px !important;
	padding-bottom: 66px !important;
}

.home .elementor-element-be09bff,
.home .elementor-element-5f73904,
.home .elementor-element-7157fc2,
.home .elementor-element-cd015a0,
.home .elementor-element-7a65043,
.home .elementor-element-33a1e93,
.home .elementor-element-144bc11,
.home .elementor-element-ginfeat1,
.home .elementor-element-ginfeat2 {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

/* Collection: always centred and full-width inside the section. */
.home .elementor-element-25d3256,
.home .elementor-element-bb75d4c,
.home .elementor-element-bb75d4c > .elementor-widget-container {
	width: 100% !important;
	max-width: 1120px;
	margin-right: auto !important;
	margin-left: auto !important;
}

.home .elementor-element-bb75d4c ul.products {
	width: 100% !important;
	max-width: 1120px;
	margin: 34px auto 0 !important;
}

.home .elementor-element-bb75d4c ul.products li.product {
	min-width: 0;
}

.home .elementor-element-eb25afa {
	margin-top: 34px;
}

/* Botanicals: tighter cards with clearer hierarchy. */
.home .elementor-element-444784e {
	max-width: 1040px;
	margin: 34px auto 0;
}

.home .elementor-element-72beb88,
.home .elementor-element-8587be1,
.home .elementor-element-a0d9a10 {
	min-height: 190px;
	padding: 30px 28px !important;
}

/* Serves: force identical media geometry. */
.home .elementor-element-c1b32c6 {
	width: 100%;
	max-width: 1040px;
	margin: 36px auto 0;
	align-items: stretch;
}

.home .elementor-element-eb05ad2,
.home .elementor-element-4d7be8c {
	height: 100%;
	overflow: hidden;
}

.home .elementor-element-91fdbcc,
.home .elementor-element-efaa3d0,
.home .elementor-element-91fdbcc .elementor-widget-container,
.home .elementor-element-efaa3d0 .elementor-widget-container {
	width: 100%;
	height: 290px;
	overflow: hidden;
}

.home .elementor-element-91fdbcc img,
.home .elementor-element-efaa3d0 img {
	display: block;
	width: 100% !important;
	height: 290px !important;
	object-fit: cover;
	object-position: center;
}

.home .elementor-element-f3dd3e4,
.home .elementor-element-8eb8a03 {
	margin-top: 20px;
}

.home .elementor-element-ee7732f {
	margin-top: 30px;
}

/* One understandable featured-label story instead of a random masonry gallery. */
.home .ginmd-featured-label {
	background: var(--ginmd-home-cream);
}

.home .ginmd-feature-frame {
	width: 100%;
	max-width: 1120px;
	margin: 34px auto 0;
	overflow: hidden;
	background: #0b1e17;
	box-shadow: 0 24px 54px rgba(21, 34, 28, 0.12);
}

.home .ginmd-feature-frame .elementor-widget-container {
	overflow: hidden;
}

.home .ginmd-feature-frame img {
	display: block;
	width: 100% !important;
	height: 500px !important;
	object-fit: cover;
	object-position: center;
}

.home .ginmd-feature-cta {
	margin-top: 30px;
}

/* Compact final sections. */
.home .elementor-element-5cc44f4 > .e-con-inner,
.home .elementor-element-5cc44f4 {
	align-items: center;
}

.home .elementor-element-839420a {
	min-height: 220px !important;
	padding: 32px !important;
}

@media (max-width: 1024px) {
	.elementor-element-13052ea .ginmd-graphic-logo {
		width: 60px;
	}

	.elementor-element-13052ea .ginmd-graphic-logo img {
		height: 46px;
	}

	.home .elementor-element-e8a47d9 {
		min-height: 620px !important;
		padding: 64px 28px !important;
		background-position: 58% center !important;
	}

	.home .elementor-element-9f8ef73 .elementor-heading-title {
		font-size: clamp(48px, 7vw, 68px);
	}

	.home .ginmd-hero-product {
		min-height: 500px;
	}

	.home .ginmd-hero-product img {
		max-height: 530px;
	}

	.home .elementor-element-91fdbcc,
	.home .elementor-element-efaa3d0,
	.home .elementor-element-91fdbcc .elementor-widget-container,
	.home .elementor-element-efaa3d0 .elementor-widget-container,
	.home .elementor-element-91fdbcc img,
	.home .elementor-element-efaa3d0 img {
		height: 240px !important;
	}

	.home .ginmd-feature-frame img {
		height: 410px !important;
	}
}

@media (max-width: 767px) {
	.elementor-element-13052ea .ginmd-graphic-logo {
		width: 54px;
		height: 50px;
	}

	.elementor-element-13052ea .ginmd-graphic-logo img {
		height: 42px;
	}

	.home .elementor-element-e8a47d9 {
		min-height: auto !important;
		padding: 70px 20px 26px !important;
		background-position: 66% center !important;
	}

	.home .elementor-element-e8a47d9::before {
		background: linear-gradient(180deg, rgba(5, 18, 14, 0.86) 0%, rgba(5, 18, 14, 0.72) 52%, rgba(5, 18, 14, 0.22) 100%);
	}

	.home .elementor-element-fe4172a {
		width: 100% !important;
	}

	.home .elementor-element-9f8ef73 .elementor-heading-title {
		font-size: clamp(43px, 13vw, 60px);
	}

	.home .elementor-element-ac18dfe p {
		font-size: 15px;
	}

	.home .ginmd-hero-product {
		width: 100% !important;
		min-height: 380px;
		margin-top: 12px;
	}

	.home .ginmd-hero-product img {
		max-height: 390px;
	}

	.home .ginmd-home-section {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.home .elementor-element-491c342,
	.home .elementor-element-dbae9a2,
	.home .elementor-element-8e46ecf,
	.home .elementor-element-8c45a5c,
	.home .elementor-element-499c802,
	.home .elementor-element-5cc44f4 {
		padding-top: 56px !important;
		padding-bottom: 56px !important;
	}

	.home .elementor-element-bfa0069 {
		padding-top: 48px !important;
		padding-bottom: 52px !important;
	}

	.home .elementor-element-c1b32c6 {
		gap: 24px;
	}

	.home .elementor-element-91fdbcc,
	.home .elementor-element-efaa3d0,
	.home .elementor-element-91fdbcc .elementor-widget-container,
	.home .elementor-element-efaa3d0 .elementor-widget-container,
	.home .elementor-element-91fdbcc img,
	.home .elementor-element-efaa3d0 img {
		height: 220px !important;
	}

	.home .ginmd-feature-frame img {
		height: 280px !important;
	}
}

