/*
 * DRMLSH Legacy Frontend Transplant
 * Phase D1 — shared shell only.
 *
 * Additive LO-inspired skin. Loaded after existing legacy CSS.
 * No backend/business contracts are implemented here.
 */

/* 00 — tokens */
:root {
	--drmlsh-forest: #173c31;
	--drmlsh-forest-deep: #0f2c24;
	--drmlsh-focus: #6f8f7c;
	--drmlsh-ink: #17231f;
	--drmlsh-muted: #66736d;
	--drmlsh-paper: #f7f6f0;
	--drmlsh-sage: #dfe9df;
	--drmlsh-white: #fffefa;
	--drmlsh-line-soft: rgb(23 60 49 / 12%);
	--drmlsh-line: rgb(23 60 49 / 15%);
	--drmlsh-line-strong: rgb(23 60 49 / 22%);
	--drmlsh-shadow-card: 0 .8rem 2.4rem rgb(30 54 45 / 7%);
	--drmlsh-shadow-menu: 0 1rem 2.5rem rgb(23 44 36 / 18%);
	--drmlsh-radius-control: .65rem;
	--drmlsh-radius-card: 1rem;
	--drmlsh-radius-pill: 999px;
	--drmlsh-max: 76rem;
}

/* 01 — global shell foundation */
/* Keep short pages pinned to the viewport bottom without touching
   body-level legacy overlays rendered outside %JGNT_MAIN_CONTENT%. */
.drmlsh_site_frame {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.drmlsh_site_frame > #wrap {
	flex: 1 0 auto;
	width: 100%;
}

.drmlsh_site_frame > #footer.drmlsh_footer {
	flex: 0 0 auto;
}

html {
	box-sizing: border-box;
	background: var(--drmlsh-paper);
}

*, *::before, *::after {
	box-sizing: inherit;
}

body {
	min-width: 0;
	min-height: 100vh;
	background: var(--drmlsh-paper);
	color: var(--drmlsh-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--drmlsh-focus);
	outline-offset: 4px;
}

#wrap {
	min-height: 0;
}

#main {
	padding-bottom: 0;
}

#footer.drmlsh_footer {
	position: static;
	height: auto;
	margin-top: 0;
	overflow: visible;
	clear: both;
}

div.jgnt_main.drmlsh_main,
div.jgnt_main2.drmlsh_main_secondary {
	min-width: 0;
}

div.jgnt_main.drmlsh_main > .container,
div.jgnt_main2.drmlsh_main_secondary > .container,
div.jgnt_bottom > .container {
	width: min(calc(100% - 2.5rem), var(--drmlsh-max));
	max-width: var(--drmlsh-max);
	margin-left: auto;
	margin-right: auto;
}

/* Keep legacy content artwork for now. Phase E/F will replace page surfaces.
   D1 only removes forced desktop min-width from the shared shell. */
div.jgnt_main.drmlsh_main {
	overflow: clip;
}

/* 02 — header */
div.jgnt_topline.drmlsh_header {
	position: sticky;
	top: 0;
	z-index: 1900;
	width: 100%;
	min-width: 0;
	height: auto;
	background: rgb(247 246 240 / 92%);
	background-image: none;
	border-bottom: 1px solid var(--drmlsh-line-soft);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.drmlsh_header_inner {
	width: min(calc(100% - 2.5rem), var(--drmlsh-max));
	min-height: 4.75rem;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: .75rem 0;
}

div.jgnt_topline.drmlsh_header div.drmlsh_brand {
	position: relative;
	inset: auto;
	flex: 0 0 auto;
	width: auto;
	height: auto;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	background: none;
}

.drmlsh_brand_link {
	position: static;
	display: inline-block !important;
	width: auto;
	height: auto;
	color: var(--drmlsh-forest-deep);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: -.045em;
	line-height: 1;
	text-decoration: none;
}

.drmlsh_brand_link:hover {
	color: var(--drmlsh-forest);
	text-decoration: none;
}

div.jgnt_topline.drmlsh_header div.rght.drmlsh_header_right {
	position: static;
	inset: auto;
	width: auto;
	height: auto;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	color: var(--drmlsh-ink);
}

.drmlsh_header_contact {
	flex: 0 0 auto;
	display: grid;
	justify-items: end;
	gap: .08rem;
	white-space: nowrap;
}

div.jgnt_topline.drmlsh_header div.phoneb,
div.jgnt_topline.drmlsh_header div.phone {
	float: none;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: right;
	color: var(--drmlsh-ink);
	font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

div.jgnt_topline.drmlsh_header div.phoneb {
	font-size: .93rem;
	font-weight: 750;
	line-height: 1.25;
}

div.jgnt_topline.drmlsh_header div.phone {
	font-size: .72rem;
	line-height: 1.3;
	color: var(--drmlsh-muted);
}

/* 03 — desktop navigation */
div.jgnt_menu.drmlsh_nav {
	position: static;
	clear: none;
	z-index: auto;
	width: auto;
	height: auto;
	padding: 0;
	overflow: visible;
}

div.jgnt_menu.drmlsh_nav ul.top {
	position: static;
	inset: auto;
	height: auto;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: .15rem;
	list-style: none;
}

div.jgnt_menu.drmlsh_nav ul.top li {
	position: relative;
	float: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

div.jgnt_menu.drmlsh_nav ul.top li > div.jgnt_linkbox {
	margin: 0;
	padding: 0;
}

div.jgnt_menu.drmlsh_nav ul.top li > div.jgnt_linkbox > a {
	display: block;
	height: auto;
	margin: 0;
	padding: .65rem .82rem;
	border: 0;
	border-radius: var(--drmlsh-radius-pill);
	background: transparent;
	background-image: none;
	color: var(--drmlsh-ink);
	font-family: Inter, ui-sans-serif, system-ui, sans-serif;
	font-size: .78rem;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .16s ease, color .16s ease;
}

div.jgnt_menu.drmlsh_nav ul.top li:hover > div.jgnt_linkbox > a,
div.jgnt_menu.drmlsh_nav ul.top li.current > div.jgnt_linkbox > a,
div.jgnt_menu.drmlsh_nav ul.top li:focus-within > div.jgnt_linkbox > a {
	padding: .65rem .82rem;
	border: 0;
	background: var(--drmlsh-sage);
	background-image: none;
	color: var(--drmlsh-forest-deep);
}

div.jgnt_menu.drmlsh_nav .bgtop,
div.jgnt_menu.drmlsh_nav .bgbottom,
div.jgnt_menu.drmlsh_nav .bgleft,
div.jgnt_menu.drmlsh_nav .bgright {
	display: none !important;
}

/* Legacy tree rows: modern dropdown when nested menu data exists. */
div.jgnt_menu.drmlsh_nav ul.top li > ul {
	display: none;
	position: absolute;
	top: calc(100% + .45rem);
	left: 0;
	z-index: 20;
	min-width: 13rem;
	margin: 0;
	padding: .45rem;
	background: var(--drmlsh-white);
	border: 1px solid var(--drmlsh-line);
	border-radius: .8rem;
	box-shadow: var(--drmlsh-shadow-menu);
	list-style: none;
}

div.jgnt_menu.drmlsh_nav ul.top li:hover > ul,
div.jgnt_menu.drmlsh_nav ul.top li:focus-within > ul {
	display: block;
}

div.jgnt_menu.drmlsh_nav ul.top li > ul li > div.jgnt_linkbox > a {
	width: 100%;
	padding: .65rem .75rem;
	border-radius: .55rem;
	white-space: normal;
}

/* 04 — mobile menu trigger */
.drmlsh_menu_toggle {
	display: none;
	align-items: center;
	justify-content: center;
	min-height: 2.65rem;
	padding: .65rem .9rem;
	border: 1px solid var(--drmlsh-line);
	border-radius: var(--drmlsh-radius-pill);
	background: var(--drmlsh-white);
	color: var(--drmlsh-forest-deep);
	font: 750 .8rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
	cursor: pointer;
}

/* 05 — footer */
div.jgnt_bottom {
	min-width: 0;
	height: auto;
	padding: 2.75rem max(1.25rem, calc((100vw - var(--drmlsh-max)) / 2));
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.2rem 2rem;
	background: var(--drmlsh-forest-deep);
	background-image: none;
	color: #e7eee9;
	font-family: Inter, ui-sans-serif, system-ui, sans-serif;
	font-size: .83rem;
	line-height: 1.55;
}

div.jgnt_bottom > div.block_1,
div.jgnt_bottom > div.block_4,
div.jgnt_bottom > div.container > div.block_2,
div.jgnt_bottom > div.container > div.block_3,
div.jgnt_bottom > div.container > div.block_5 {
	float: none;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	color: inherit;
	text-align: left;
}

div.jgnt_bottom > div.block_4 {
	text-align: right;
	color: #d3ddd7;
}

div.jgnt_bottom > div.container {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
	margin: 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(255 255 255 / 12%);
}

div.jgnt_bottom a {
	color: #fff;
	text-underline-offset: .22em;
}

div.jgnt_bottom a:hover {
	color: var(--drmlsh-sage);
}

/* 06 — responsive shared shell */
@media (max-width: 1100px) {
	.drmlsh_header_inner {
		gap: .9rem;
	}

	div.jgnt_menu.drmlsh_nav ul.top li > div.jgnt_linkbox > a,
	div.jgnt_menu.drmlsh_nav ul.top li:hover > div.jgnt_linkbox > a,
	div.jgnt_menu.drmlsh_nav ul.top li.current > div.jgnt_linkbox > a {
		padding-left: .62rem;
		padding-right: .62rem;
		font-size: .74rem;
	}
}

@media (max-width: 920px) {
	.drmlsh_header_inner {
		position: relative;
		min-height: 4.5rem;
	}

	div.jgnt_topline.drmlsh_header div.rght.drmlsh_header_right {
		gap: .7rem;
	}

	div.jgnt_topline.drmlsh_header div.phone {
		display: none;
	}

	.drmlsh-js .drmlsh_menu_toggle {
		display: inline-flex;
	}

	.drmlsh-js div.jgnt_menu.drmlsh_nav {
		display: none;
		position: absolute;
		top: calc(100% - .25rem);
		right: 0;
		z-index: 50;
		width: min(23rem, calc(100vw - 2.5rem));
		padding: .5rem;
		background: var(--drmlsh-white);
		border: 1px solid var(--drmlsh-line);
		border-radius: .8rem;
		box-shadow: var(--drmlsh-shadow-menu);
	}

	.drmlsh-js div.jgnt_menu.drmlsh_nav.drmlsh_nav_open {
		display: block;
	}

	div.jgnt_menu.drmlsh_nav ul.top {
		flex-direction: column;
		align-items: stretch;
		gap: .15rem;
	}

	div.jgnt_menu.drmlsh_nav ul.top li {
		width: 100%;
	}

	div.jgnt_menu.drmlsh_nav ul.top li > div.jgnt_linkbox > a,
	div.jgnt_menu.drmlsh_nav ul.top li:hover > div.jgnt_linkbox > a,
	div.jgnt_menu.drmlsh_nav ul.top li.current > div.jgnt_linkbox > a {
		width: 100%;
		padding: .75rem .8rem;
		font-size: .84rem;
	}

	div.jgnt_menu.drmlsh_nav ul.top li > ul {
		display: block;
		position: static;
		min-width: 0;
		margin: .15rem 0 .25rem .75rem;
		padding: .2rem 0 .2rem .55rem;
		border: 0;
		border-left: 1px solid var(--drmlsh-line);
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}
}

@media (max-width: 640px) {
	.drmlsh_brand_link {
		font-size: 1.7rem;
	}

	.drmlsh_header_inner {
		width: min(calc(100% - 1.5rem), var(--drmlsh-max));
		padding-top: .65rem;
		padding-bottom: .65rem;
	}

	div.jgnt_topline.drmlsh_header div.phoneb {
		font-size: .82rem;
	}

	div.jgnt_main.drmlsh_main > .container,
	div.jgnt_main2.drmlsh_main_secondary > .container {
		width: min(calc(100% - 1.5rem), var(--drmlsh-max));
	}

	div.jgnt_bottom {
		grid-template-columns: 1fr;
		padding: 2.25rem .75rem;
	}

	div.jgnt_bottom > div.block_4 {
		text-align: left;
	}

	div.jgnt_bottom > div.container {
		grid-column: 1;
		flex-direction: column;
		align-items: flex-start;
	}

	div.jgnt_bottom > div.container > div.block_5 {
		width: 100%;
		text-align: left;
	}
}

@media (max-width: 480px) {
	.drmlsh_header_contact {
		display: none;
	}
}


/* ==========================================================================
   Phase E — LO homepage
   Exact LO visual grammar translated to legacy PHP/JGNT.
   No LO runtime, React, Next.js, cart or API behavior.
   ========================================================================== */

/* Homepage content needs full-bleed hero/principles rather than the old
   Skeleton container width. */
.jgnt_homepage .drmlsh_main > .drmlsh_container {
	width: 100%;
	max-width: none;
	margin: 0;
}

.jgnt_homepage .drmlsh_main {
	overflow: visible;
}

/* LO-style homepage header overlays the hero. */
.jgnt_homepage .drmlsh_header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: transparent;
	border-bottom-color: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.jgnt_homepage .drmlsh_header_inner {
	position: relative;
	z-index: 5;
}

/* ---------- common homepage typography/actions ---------- */

.drmlsh_kicker {
	margin: 0 0 1rem;
	color: #507064;
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.drmlsh_button {
	display: inline-flex;
	justify-content: center;
	padding: .9rem 1.25rem;
	border: 1px solid var(--drmlsh-forest);
	border-radius: 999px;
	background: var(--drmlsh-forest);
	color: #fff !important;
	font-size: .85rem;
	font-weight: 800;
	text-decoration: none;
}

.drmlsh_button:hover {
	background: var(--drmlsh-forest-deep);
	text-decoration: none;
}

.drmlsh_text_link {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	color: inherit;
	font-size: .84rem;
	font-weight: 800;
	text-decoration-color: rgb(23 60 49 / 35%);
	text-decoration-thickness: 1px;
	text-underline-offset: .35rem;
}

.drmlsh_text_link:hover {
	text-decoration-color: currentColor;
}

/* ---------- exact LO hero geometry ---------- */

.drmlsh_home_hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: 34rem;
	max-width: none;
	overflow: hidden;
	clip-path: inset(0 0 1px 0);
	padding: 7.75rem max(1.25rem, calc((100vw - 76rem) / 2)) 4rem;
	background:
		radial-gradient(
			ellipse 58% 72% at 43% -6%,
			rgb(247 245 237 / 92%) 0,
			rgb(235 234 225 / 72%) 38%,
			rgb(210 213 201 / 42%) 62%,
			rgb(178 185 171 / 14%) 82%,
			transparent 100%
		),
		linear-gradient(
			90deg,
			var(--drmlsh-paper) 0,
			#f4f2eb 30%,
			#ebe9e0 42%,
			#dddcd2 52%,
			#c9cbbd 61%,
			#a9aea1 70%,
			#858c82 79%,
			#606861 87%,
			#343a35 94%,
			#080b09 100%
		);
}

.drmlsh_home_hero_copy {
	position: relative;
	z-index: 3;
	width: min(51.2%, 40rem);
	max-width: 40rem;
}

.drmlsh_home_hero h1 {
	margin: 0;
	color: var(--drmlsh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.8rem, 4.4vw, 3.9rem);
	font-weight: 500;
	letter-spacing: -.055em;
	line-height: 1.01;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.drmlsh_home_hero_lead {
	max-width: 35rem;
	margin: 1.5rem 0 0;
	color: var(--drmlsh-muted);
	font-size: clamp(1rem, 1.7vw, 1.14rem);
	line-height: 1.7;
}

.drmlsh_home_hero_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem;
	margin-top: 2.25rem;
}

.drmlsh_home_hero_portrait {
	position: absolute;
	inset: 0 0 0 auto;
	z-index: 1;
	width: 80%;
	margin: 0;
	overflow: hidden;
	background: transparent;
}

.drmlsh_home_hero_portrait img {
	position: absolute;
	top: 0;
	right: auto;
	left: 19.5%;
	width: auto;
	height: 100%;
	max-height: none;
	object-fit: contain;
	object-position: left top;
	filter: grayscale(1) brightness(1.045) contrast(.78);
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0,
		rgb(0 0 0 / 8%) 5%,
		rgb(0 0 0 / 25%) 10%,
		rgb(0 0 0 / 55%) 15%,
		rgb(0 0 0 / 82%) 19%,
		#000 23%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0,
		rgb(0 0 0 / 8%) 5%,
		rgb(0 0 0 / 25%) 10%,
		rgb(0 0 0 / 55%) 15%,
		rgb(0 0 0 / 82%) 19%,
		#000 23%
	);
}

/* ---------- four editable homepage highlight cards ---------- */

.drmlsh_home_featured {
	max-width: 76rem;
	margin-inline: auto;
	padding: 3.25rem 1.25rem 5rem;
}

.drmlsh_home_section_heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 2.2rem;
}

.drmlsh_home_section_heading h2 {
	margin: 0;
	color: var(--drmlsh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.65rem, 3vw, 2.45rem);
	font-weight: 500;
	letter-spacing: -.04em;
	line-height: 1.02;
}

.drmlsh_featured_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.drmlsh_featured_card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgb(23 60 49 / 11%);
	border-radius: 1.25rem;
	background: var(--drmlsh-white);
	box-shadow: 0 .4rem 1.5rem rgb(30 54 45 / 5%);
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.drmlsh_featured_card:hover {
	transform: translateY(-2px);
	border-color: rgb(23 60 49 / 22%);
	box-shadow: 0 .8rem 2rem rgb(30 54 45 / 9%);
}

.drmlsh_featured_card_link {
	display: block;
	flex: 1;
	color: inherit;
	text-decoration: none;
}

.drmlsh_featured_card_link:hover {
	text-decoration: none;
}

.drmlsh_featured_card_link:focus-visible {
	outline: 3px solid var(--drmlsh-focus);
	outline-offset: -3px;
}

.drmlsh_featured_image {
	aspect-ratio: 1.16 / 1;
	display: grid;
	place-items: center;
	overflow: hidden;
	padding: 1.3rem;
	background: linear-gradient(145deg, #f0f3ec, #e5ece2);
}

.drmlsh_featured_image_viewport {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.drmlsh_featured_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 220ms ease;
}

.drmlsh_featured_card:hover .drmlsh_featured_image img {
	transform: scale(1.035);
}

.drmlsh_featured_copy {
	display: block;
	padding: 1.4rem 1.45rem 1.55rem;
}

.drmlsh_featured_copy h3 {
	margin: 0;
	color: var(--drmlsh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.55rem;
	font-weight: 500;
	letter-spacing: -.03em;
	line-height: 1.08;
}

/* ---------- exact LO green principles block ---------- */

.drmlsh_home_principles {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 4rem;
	max-width: 76rem;
	margin: 2rem auto 7rem;
	padding: clamp(2rem, 5vw, 4.5rem);
	border-radius: 2.25rem;
	background: var(--drmlsh-forest);
	color: #fff;
}

.drmlsh_home_principles .drmlsh_kicker {
	color: #a9cabd;
}

.drmlsh_home_principles h2 {
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 500;
	letter-spacing: -.04em;
	line-height: 1.02;
}

.drmlsh_principle_grid {
	display: grid;
	gap: 1.25rem;
}

.drmlsh_principle_grid article {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 1rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(255 255 255 / 20%);
}

.drmlsh_principle_grid span {
	color: #9fc3b5;
	font-size: .7rem;
	font-weight: 800;
}

.drmlsh_principle_grid h3,
.drmlsh_principle_grid p {
	margin: 0;
}

.drmlsh_principle_grid h3 {
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.35rem;
	font-weight: 500;
}

.drmlsh_principle_grid p {
	grid-column: 2;
	color: #c8dbd4;
	line-height: 1.6;
}

/* ---------- responsive behavior copied from LO ---------- */

@media (min-width: 1441px) {
	.drmlsh_home_hero {
		background-image:
			radial-gradient(
				ellipse 52.2rem 72% at calc(50% - 6.3rem) -6%,
				rgb(247 245 237 / 92%) 0,
				rgb(235 234 225 / 72%) 38%,
				rgb(210 213 201 / 42%) 62%,
				rgb(178 185 171 / 14%) 82%,
				transparent 100%
			),
			linear-gradient(
				90deg,
				var(--drmlsh-paper) 0,
				var(--drmlsh-paper) calc(50% - 45rem),
				#f4f2eb calc(50% - 14.4rem),
				#ebe9e0 calc(50% - 3.6rem),
				#dddcd2 calc(50% + 5.4rem),
				#c9cbbd calc(50% + 13.5rem),
				#a9aea1 calc(50% + 21.6rem),
				#858c82 calc(50% + 29.7rem),
				#606861 calc(50% + 36.9rem),
				#343a35 calc(50% + 42.3rem),
				#1d1d1d calc(50% + 45rem),
				#1d1d1d 100%
			);
	}

	.drmlsh_home_hero_portrait {
		right: 0;
		width: 100%;
	}

	.drmlsh_home_hero_portrait img {
		left: calc(50% - 12.35625rem);
	}
}

@media (max-width: 980px) {
	.drmlsh_home_hero {
		min-height: 34rem;
		padding-inline: 2rem;
	}

	.drmlsh_home_hero_copy {
		width: 49%;
	}

	.drmlsh_home_hero_portrait {
		width: 80%;
	}

	.drmlsh_featured_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.drmlsh_home_principles {
		grid-template-columns: 1fr;
		max-width: none;
		border-radius: 0;
	}
}

@media (min-width: 861px) and (max-width: 980px) {
	.drmlsh_home_hero_portrait img {
		left: 6%;
	}
}

@media (max-width: 860px) {
	.jgnt_homepage .drmlsh_header {
		position: absolute;
		background: rgb(247 246 240 / 96%);
		border-bottom-color: transparent;
	}

	.drmlsh_home_hero {
		align-items: flex-start;
		min-height: 0;
		padding: 24rem 1.25rem 3rem;
		background: linear-gradient(
			180deg,
			#242925 0,
			#404741 26%,
			#737b71 40%,
			#a9aea1 51%,
			#d7d7cd 59%,
			var(--drmlsh-paper) 66%
		);
	}

	.drmlsh_home_hero_portrait {
		inset: 4.25rem 0 auto;
		width: 100%;
		height: 21rem;
	}

	.drmlsh_home_hero_portrait img {
		top: 0;
		left: 50%;
		width: auto;
		height: 100%;
		max-height: none;
		object-fit: contain;
		object-position: left top;
		transform: translateX(-31%);
		-webkit-mask-image: linear-gradient(
			to bottom,
			#000 0,
			#000 76%,
			rgb(0 0 0 / 86%) 83%,
			rgb(0 0 0 / 42%) 92%,
			transparent 100%
		);
		mask-image: linear-gradient(
			to bottom,
			#000 0,
			#000 76%,
			rgb(0 0 0 / 86%) 83%,
			rgb(0 0 0 / 42%) 92%,
			transparent 100%
		);
	}

	.drmlsh_home_hero_copy {
		width: 100%;
		max-width: 38rem;
	}

	.drmlsh_home_featured {
		padding-block: 4rem;
	}
}

@media (max-width: 480px) {
	.drmlsh_home_hero h1 {
		font-size: clamp(2.35rem, 11vw, 3.15rem);
	}

	.drmlsh_featured_grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.drmlsh_home_hero_actions {
		align-items: stretch;
		flex-direction: column;
	}

	.drmlsh_home_hero_actions .drmlsh_button {
		width: 100%;
	}

	.drmlsh_home_hero_actions .drmlsh_text_link {
		justify-content: center;
	}
}


/* ==========================================================================
   Phase E adjustment — homepage identity hero
   ========================================================================== */

/* On desktop homepage the brand identity is inside the Hero.
   The text wordmark stays visible on all other pages. */
.jgnt_homepage .drmlsh_header .drmlsh_brand {
	visibility: hidden;
	pointer-events: none;
}

/* The old Skeleton .container was still constraining the Hero.
   Break homepage content out to the full viewport width. */
.jgnt_homepage div.jgnt_main.drmlsh_main > .container.drmlsh_container {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Identity replaces the previous long headline and buttons. */
.jgnt_homepage .drmlsh_home_hero {
	min-height: 34rem;
	padding-top: 7.75rem;
	padding-bottom: 4rem;
}

.jgnt_homepage .drmlsh_home_hero_copy {
	width: min(47%, 40rem);
	max-width: 40rem;
}

.jgnt_homepage .drmlsh_home_brand_title {
	margin: 0;
	max-width: none;
	color: var(--drmlsh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(4.2rem, 6vw, 5.7rem);
	font-weight: 500;
	letter-spacing: -.06em;
	line-height: .94;
	white-space: nowrap;
	overflow-wrap: normal;
}

.jgnt_homepage .drmlsh_home_brand_subtitle {
	margin: 1.25rem 0 0;
	color: var(--drmlsh-muted);
	font-size: clamp(.9rem, 1.25vw, 1.08rem);
	font-weight: 650;
	letter-spacing: .035em;
	line-height: 1.45;
	white-space: nowrap;
}

@media (max-width: 980px) {
	.jgnt_homepage .drmlsh_home_hero_copy {
		width: 48%;
	}

	.jgnt_homepage .drmlsh_home_brand_title {
		font-size: clamp(3.6rem, 7vw, 5rem);
	}
}

@media (max-width: 860px) {
	/* On mobile keep a visible home wordmark in the compact header. */
	.jgnt_homepage .drmlsh_header .drmlsh_brand {
		visibility: visible;
		pointer-events: auto;
	}

	.jgnt_homepage .drmlsh_home_hero_copy {
		width: 100%;
		max-width: none;
	}

	.jgnt_homepage .drmlsh_home_brand_title {
		font-size: clamp(3.25rem, 15vw, 4.8rem);
		white-space: normal;
	}

	.jgnt_homepage .drmlsh_home_brand_subtitle {
		font-size: .92rem;
		white-space: normal;
	}
}

@media (max-width: 480px) {
	.jgnt_homepage .drmlsh_home_brand_title {
		font-size: clamp(3rem, 16vw, 4.2rem);
	}
}


/* ==========================================================================
   Product Document Architecture V2
   ========================================================================== */

.drmlsh_document_page_v2 {
	max-width: 76rem;
	margin: 0 auto;
	padding: 3rem 1.25rem 6rem;
	color: var(--drmlsh-ink);
}

.drmlsh_product_media_v2 {
	display: none;
}

.drmlsh-template-product {
	display: none !important;
}

html.drmlsh-page-product-v2 .drmlsh_document_page_v2 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
	align-items: start;
	gap: clamp(2.5rem, 7vw, 7rem);
}

html.drmlsh-page-product-v2 .drmlsh_product_media_v2 {
	display: grid;
	aspect-ratio: 1;
	min-width: 0;
	place-items: center;
	overflow: hidden;
	padding: clamp(1.5rem, 5vw, 4rem);
	border-radius: 2rem;
	background: linear-gradient(145deg, #eef2ea, #e1e9df);
}

html.drmlsh-page-product-v2 .drmlsh_product_auto_image_v2 {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 {
	min-width: 0;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 h1:first-of-type,
html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_special:first-of-type {
	margin-top: 0;
	color: var(--drmlsh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.2rem, 4vw, 3.8rem);
	font-weight: 500;
	letter-spacing: -.05em;
	line-height: .98;
}

.drmlsh_purchase_list_v2 {
	margin: 2rem 0 0 !important;
	padding: 1.4rem 0 0 !important;
	border-top: 1px solid rgb(23 60 49 / 15%);
	list-style: none !important;
}

.drmlsh_purchase_row_v2 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 2.5rem;
	align-items: center;
	gap: 1rem;
	margin: 0 !important;
	padding: .8rem 0;
	border-bottom: 1px solid rgb(23 60 49 / 10%);
	list-style: none !important;
}

.drmlsh_purchase_name_v2 {
	min-width: 0;
	color: var(--drmlsh-muted);
	line-height: 1.4;
}

.drmlsh_purchase_price_v2 {
	color: var(--drmlsh-ink);
	font-weight: 700;
	white-space: nowrap;
}

.drmlsh_purchase_action_v2 {
	display: inline-flex;
	width: 2.25rem;
	height: 2.25rem;
	align-items: center;
	justify-content: center;
	justify-self: end;
	padding: 0;
	border: 1px solid rgb(23 60 49 / 22%);
	border-radius: 50%;
	background: transparent;
	color: var(--drmlsh-forest);
	text-decoration: none !important;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.drmlsh_purchase_action_v2:hover {
	background: var(--drmlsh-sage);
	border-color: rgb(23 60 49 / 32%);
	text-decoration: none !important;
}

.drmlsh_purchase_action_v2:focus-visible {
	outline: 3px solid var(--drmlsh-focus);
	outline-offset: 2px;
}

.drmlsh_purchase_action_v2 svg {
	width: 1.2rem;
	height: 1.2rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (max-width: 860px) {
	html.drmlsh-page-product-v2 .drmlsh_document_page_v2 {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
	}

	html.drmlsh-page-product-v2 .drmlsh_product_media_v2 {
		max-width: 38rem;
		width: 100%;
		margin-inline: auto;
	}
}

@media (max-width: 560px) {
	.drmlsh_purchase_row_v2 {
		grid-template-columns: minmax(0, 1fr) auto 2.5rem;
		gap: .7rem;
	}

	.drmlsh_purchase_name_v2,
	.drmlsh_purchase_price_v2 {
		font-size: .9rem;
	}
}


/* ==========================================================================
   DRMLSH SHIPMENT PAGE G1
   Existing document content remains Admin-managed.
   The old secondary/reviews column is removed only on /shipment.
   ========================================================================== */

/* The legacy right-hand column is %JGNT_CONTENT2%.
   On Delivery it carried the old review/testimonial sidebar. */
html.drmlsh-page-shipment .drmlsh_main_secondary,
html.drmlsh-page-shipment .jgnt_main2 {
	display: none !important;
}

/* One calm readable column. */
html.drmlsh-page-shipment .drmlsh_document_page_v2 {
	display: block;
	max-width: 70rem;
	margin: 0 auto;
	padding: 3.75rem 1.25rem 6rem;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 {
	max-width: 54rem;
	margin: 0;
}

/* Hide product-only media even if an unrelated image-folder happens to exist. */
html.drmlsh-page-shipment .drmlsh_product_media_v2 {
	display: none !important;
}

/* Typography for the legacy Admin-managed document HTML. */
html.drmlsh-page-shipment .drmlsh_document_native_v2 h1,
html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_special {
	margin: 0 0 1.35rem;
	color: var(--drmlsh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.5rem, 5vw, 4.6rem);
	font-weight: 500;
	letter-spacing: -.05em;
	line-height: .98;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 h2 {
	margin: 3rem 0 1rem;
	color: var(--drmlsh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: 1.08;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 h3 {
	margin: 2.1rem 0 .8rem;
	color: var(--drmlsh-ink);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.35;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 p,
html.drmlsh-page-shipment .drmlsh_document_native_v2 li {
	color: var(--drmlsh-muted);
	font-size: 1rem;
	line-height: 1.75;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 p {
	margin: 0 0 1.25rem;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 ul,
html.drmlsh-page-shipment .drmlsh_document_native_v2 ol {
	margin: 1.15rem 0 1.75rem;
	padding-left: 1.35rem;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 li {
	margin: .45rem 0;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 img {
	max-width: 100%;
	height: auto;
}

/* Old floats from the 2010s layout should not recreate a fake sidebar. */
html.drmlsh-page-shipment .drmlsh_document_native_v2 [style*="float: right"],
html.drmlsh-page-shipment .drmlsh_document_native_v2 [style*="float:right"] {
	float: none !important;
}

@media (max-width: 640px) {
	html.drmlsh-page-shipment .drmlsh_document_page_v2 {
		padding-top: 2.5rem;
		padding-bottom: 4rem;
	}

	html.drmlsh-page-shipment .drmlsh_document_native_v2 p,
	html.drmlsh-page-shipment .drmlsh_document_native_v2 li {
		font-size: .96rem;
		line-height: 1.7;
	}
}


/* ==========================================================================
   DRMLSH BRAND TAGLINE V2
   ========================================================================== */

.drmlsh_brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.drmlsh_brand_tagline {
	margin-top: .22rem;
	color: var(--drmlsh-muted);
	font-size: .64rem;
	font-weight: 650;
	letter-spacing: .045em;
	line-height: 1.25;
	white-space: nowrap;
}

/* Homepage identity already lives inside the Hero. */
.jgnt_homepage .drmlsh_brand_tagline {
	display: none;
}

@media (max-width: 860px) {
	.drmlsh_brand_tagline {
		font-size: .58rem;
		white-space: normal;
	}
}


/* ==========================================================================
   DRMLSH BRAND TAGLINE — alignment correction
   ========================================================================== */

.drmlsh_brand_tagline {
	width: 100%;
	text-align: left !important;
	align-self: stretch;
}


/* ==========================================================================
   DRMLSH PRECISE BRAND ALIGNMENT
   Force wordmark and tagline to share the same LEFT edge.
   ========================================================================== */

/* Inner pages: previous header rules could center the two lines because the
   tagline is wider than the wordmark. Override that explicitly. */
.drmlsh_header .drmlsh_header_inner .drmlsh_brand {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	text-align: left !important;
	width: auto !important;
}

.drmlsh_header .drmlsh_header_inner .drmlsh_brand .drmlsh_brand_link {
	display: block !important;
	align-self: flex-start !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	text-align: left !important;
}

.drmlsh_header .drmlsh_header_inner .drmlsh_brand .drmlsh_brand_tagline {
	display: block;
	align-self: flex-start !important;
	width: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	text-align: left !important;
}

/* Homepage: shared header identity is hidden; align the identity inside Hero.
   The 4px optical correction compensates for the large Georgia "D" sidebearing
   so the visible ink edges, not only the CSS boxes, line up. */
.jgnt_homepage .drmlsh_home_hero_copy {
	text-align: left !important;
}

.jgnt_homepage .drmlsh_home_brand_title {
	margin-left: 0 !important;
	padding-left: 0 !important;
	text-align: left !important;
}

.jgnt_homepage .drmlsh_home_brand_subtitle {
	margin-left: 4px !important;
	padding-left: 0 !important;
	text-align: left !important;
}

/* ==========================================================================
   DRMLSH CONTACT MODAL FRONTEND
   ========================================================================== */

body.drmlsh_contact_open {
	overflow: hidden;
}

.drmlsh_contact_modal[hidden] {
	display: none !important;
}

.drmlsh_contact_modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: grid;
	place-items: center;
	padding: 1.25rem;
}

.drmlsh_contact_backdrop {
	position: absolute;
	inset: 0;
	background: rgb(15 44 36 / 58%);
	backdrop-filter: blur(3px);
}

.drmlsh_contact_dialog {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: min(100%, 34rem);
	max-height: calc(100vh - 2.5rem);
	overflow: auto;
	padding: clamp(1.7rem, 4vw, 2.6rem);
	border-radius: 1.6rem;
	background: var(--drmlsh-white);
	box-shadow: 0 1.5rem 5rem rgb(15 44 36 / 24%);
	color: var(--drmlsh-ink);
}

.drmlsh_contact_close {
	position: absolute;
	top: .9rem;
	right: 1rem;
	width: 2.35rem;
	height: 2.35rem;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--drmlsh-ink);
	font: 400 1.8rem/1 Georgia, "Times New Roman", serif;
	cursor: pointer;
}

.drmlsh_contact_close:hover {
	background: var(--drmlsh-sage);
}

.drmlsh_contact_kicker {
	margin-bottom: .55rem;
	color: var(--drmlsh-muted);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.drmlsh_contact_dialog h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.55rem, 7vw, 3.8rem);
	font-weight: 500;
	letter-spacing: -.05em;
	line-height: .98;
}

.drmlsh_contact_intro {
	margin: 1rem 0 1.65rem;
	color: var(--drmlsh-muted);
	line-height: 1.6;
}

.drmlsh_contact_form {
	display: grid;
	gap: 1rem;
}

.drmlsh_contact_field {
	display: grid;
	gap: .42rem;
}

.drmlsh_contact_field > span {
	color: var(--drmlsh-ink);
	font-size: .78rem;
	font-weight: 800;
}

.drmlsh_contact_field input,
.drmlsh_contact_field textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: .88rem 1rem;
	border: 1px solid rgb(23 60 49 / 18%);
	border-radius: .82rem;
	background: var(--drmlsh-white);
	color: var(--drmlsh-ink);
	font: inherit;
	line-height: 1.45;
}

.drmlsh_contact_field textarea {
	min-height: 8.5rem;
	resize: vertical;
}

.drmlsh_contact_field input:focus,
.drmlsh_contact_field textarea:focus {
	border-color: var(--drmlsh-focus);
	outline: 3px solid rgb(111 143 124 / 18%);
	outline-offset: 0;
}

.drmlsh_contact_honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.drmlsh_contact_status {
	min-height: 1.35em;
	color: var(--drmlsh-muted);
	font-size: .86rem;
	line-height: 1.45;
}

.drmlsh_contact_status.is-error {
	color: #8f2e2e;
}

.drmlsh_contact_status.is-success {
	color: var(--drmlsh-forest);
	font-weight: 700;
}

.drmlsh_contact_submit {
	justify-self: start;
	min-width: 9rem;
	padding: .82rem 1.2rem;
	border: 0;
	border-radius: 999px;
	background: var(--drmlsh-forest);
	color: var(--drmlsh-white);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.drmlsh_contact_submit:hover {
	background: var(--drmlsh-deep);
}

.drmlsh_contact_submit:disabled {
	opacity: .55;
	cursor: wait;
}

@media (max-width: 560px) {
	.drmlsh_contact_modal {
		align-items: end;
		padding: 0;
	}

	.drmlsh_contact_dialog {
		width: 100%;
		max-height: 92vh;
		border-radius: 1.4rem 1.4rem 0 0;
		padding: 1.5rem 1.25rem 1.7rem;
	}
}



/* ==========================================================================
   DRMLSH CHECKOUT VISUAL V1
   VISUAL ONLY — do not alter order template field names, values, JS or POST.
   ========================================================================== */

/* Checkout page width / rhythm */
.jgnt_order_page,
.jgnt_order_form {
	box-sizing: border-box;
	width: min(100%, 48rem);
	margin-left: auto;
	margin-right: auto;
}

.jgnt_order_page {
	padding: clamp(2.4rem, 6vw, 4.75rem) 1.25rem 0;
}

.jgnt_order_form {
	padding: 1.4rem 1.25rem clamp(3.5rem, 8vw, 6rem);
}

/* The heading/text comes from the existing admin-managed document. */
.jgnt_order_page .jgnt_doc h1,
.jgnt_order_page .jgnt_doc .jgnt_special,
.jgnt_order_page h1 {
	margin: 0;
	color: var(--drmlsh-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.8rem, 7vw, 4.7rem);
	font-weight: 500;
	letter-spacing: -.055em;
	line-height: .98;
}

.jgnt_order_page .jgnt_doc .text,
.jgnt_order_page .jgnt_doc p {
	color: var(--drmlsh-muted);
	line-height: 1.65;
}

/* Existing form contract, new presentation only. */
#jgnt_order_form {
	width: 100%;
	margin: 0;
	color: var(--drmlsh-ink);
	font-size: .98rem;
	line-height: 1.5;
}

#jgnt_order_form .row {
	box-sizing: border-box;
	clear: both;
	width: 100%;
	margin: 0 0 1.2rem;
}

#jgnt_order_form .row > label {
	display: block;
	float: none;
	width: 100%;
	margin: 0 0 .42rem;
	color: var(--drmlsh-ink);
	font-size: .79rem;
	font-weight: 800;
	letter-spacing: .005em;
}

#jgnt_order_form .row p {
	margin: .5rem 0 0;
	color: var(--drmlsh-muted);
	font-size: .84rem;
	line-height: 1.5;
}

#jgnt_order_form input[type="text"],
#jgnt_order_form input[type="email"],
#jgnt_order_form textarea {
	box-sizing: border-box;
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: .86rem .95rem;
	border: 1px solid rgb(23 60 49 / 18%);
	border-radius: .8rem;
	background: var(--drmlsh-white);
	color: var(--drmlsh-ink);
	font: inherit;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

#jgnt_order_form textarea {
	min-height: 8rem;
	resize: vertical;
}

#jgnt_order_form input[type="text"]:focus,
#jgnt_order_form input[type="email"]:focus,
#jgnt_order_form textarea:focus {
	border-color: var(--drmlsh-focus);
	outline: none;
	box-shadow: 0 0 0 3px rgb(111 143 124 / 16%);
}

/* Radios remain the same native inputs/values. */
#jgnt_order_form .lblock {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
	color: var(--drmlsh-ink);
	line-height: 1.6;
}

#jgnt_order_form input[type="radio"] {
	width: 1.05rem;
	height: 1.05rem;
	margin: 0 .55rem .15rem 0;
	vertical-align: middle;
	accent-color: var(--drmlsh-forest);
}

#jgnt_order_form .lblock br {
	display: block;
	content: "";
	margin-bottom: .72rem;
}

/* Existing calculated product/delivery summary. */
#jgnt_order_form .row.info {
	margin: 1.45rem 0 1.65rem;
	padding: 1.15rem 1.2rem;
	border: 1px solid rgb(23 60 49 / 10%);
	border-radius: 1rem;
	background: var(--drmlsh-sage);
	color: var(--drmlsh-ink);
	line-height: 1.55;
}

#jgnt_order_form .row.info strong {
	color: var(--drmlsh-deep);
	font-weight: 800;
}

#jgnt_order_form .order_info {
	margin-top: .2rem;
}

/* Existing validation messages. */
#jgnt_order_form .row.error {
	box-sizing: border-box;
	padding: .7rem .85rem;
	border-radius: .7rem;
	background: #fff1ef;
	color: #8f2e2e;
	font-size: .84rem;
	line-height: 1.4;
}

#jgnt_order_form .row.error:empty {
	display: none;
}

/* Existing Next / Submit controls; behavior is untouched. */
#jgnt_order_form input[type="button"],
#jgnt_order_form input[type="submit"] {
	box-sizing: border-box;
	float: none;
	min-width: 9.5rem;
	margin: .3rem 0 0;
	padding: .78rem 1.2rem;
	border: 0;
	border-radius: 999px;
	background: var(--drmlsh-forest);
	color: var(--drmlsh-white);
	font: inherit;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

#jgnt_order_form input[type="button"]:hover,
#jgnt_order_form input[type="submit"]:hover {
	background: var(--drmlsh-deep);
}

#jgnt_order_form input[type="button"]:focus-visible,
#jgnt_order_form input[type="submit"]:focus-visible {
	outline: 3px solid var(--drmlsh-focus);
	outline-offset: 3px;
}

/* Payment/address section revealed by the existing JGNT JS. */
#jgnt_order_form .details_on {
	padding-top: .15rem;
}

#jgnt_order_form .details_on > .row {
	padding-top: .15rem;
}

#jgnt_order_form .details_on > .row + .row {
	margin-top: .15rem;
}

/* Existing inline links such as postal-index help. */
#jgnt_order_form a {
	color: var(--drmlsh-forest);
	text-underline-offset: .18em;
}

/* Small screens */
@media (max-width: 640px) {
	.jgnt_order_page {
		padding-top: 2.3rem;
	}

	.jgnt_order_form {
		padding-top: 1.05rem;
	}

	#jgnt_order_form .row.info {
		padding: 1rem;
	}

	#jgnt_order_form input[type="button"],
	#jgnt_order_form input[type="submit"] {
		width: 100%;
	}

	#jgnt_order_form .lblock {
		line-height: 1.55;
	}
}


/* ==========================================================================
   DRMLSH BUTTON HOVER LOCK
   Prevent legacy/global hover rules from washing Dream Lush buttons white.
   ========================================================================== */

.drmlsh_contact_submit,
.drmlsh_contact_submit:link,
.drmlsh_contact_submit:visited {
	background: var(--drmlsh-forest) !important;
	color: var(--drmlsh-white) !important;
}

.drmlsh_contact_submit:hover,
.drmlsh_contact_submit:focus,
.drmlsh_contact_submit:active {
	background: var(--drmlsh-deep) !important;
	color: var(--drmlsh-white) !important;
}

#jgnt_order_form input[type="button"],
#jgnt_order_form input[type="submit"] {
	background: var(--drmlsh-forest) !important;
	color: var(--drmlsh-white) !important;
}

#jgnt_order_form input[type="button"]:hover,
#jgnt_order_form input[type="button"]:focus,
#jgnt_order_form input[type="button"]:active,
#jgnt_order_form input[type="submit"]:hover,
#jgnt_order_form input[type="submit"]:focus,
#jgnt_order_form input[type="submit"]:active {
	background: var(--drmlsh-deep) !important;
	color: var(--drmlsh-white) !important;
}


/* ==========================================================================
   DRMLSH CHECKOUT COMPACT V2
   Make checkout visually smaller without changing any form contract/logic.
   ========================================================================== */

.jgnt_order_page,
.jgnt_order_form {
	width: min(100%, 40rem);
}

.jgnt_order_page {
	padding-top: clamp(2rem, 4vw, 3.2rem);
}

.jgnt_order_form {
	padding-top: 1rem;
	padding-bottom: clamp(2.8rem, 6vw, 4.5rem);
}

.jgnt_order_page .jgnt_doc h1,
.jgnt_order_page .jgnt_doc .jgnt_special,
.jgnt_order_page h1 {
	font-size: clamp(2.5rem, 5.3vw, 3.8rem);
}

#jgnt_order_form {
	font-size: .92rem;
}

#jgnt_order_form .row {
	margin-bottom: .95rem;
}

#jgnt_order_form .row > label {
	margin-bottom: .34rem;
	font-size: .74rem;
}

#jgnt_order_form .row p {
	margin-top: .38rem;
	font-size: .78rem;
}

#jgnt_order_form input[type="text"],
#jgnt_order_form input[type="email"],
#jgnt_order_form textarea {
	padding: .72rem .82rem;
	border-radius: .7rem;
}

#jgnt_order_form textarea {
	min-height: 6.5rem;
}

#jgnt_order_form .row.info {
	margin: 1.1rem 0 1.25rem;
	padding: .9rem 1rem;
	border-radius: .85rem;
}

#jgnt_order_form input[type="button"],
#jgnt_order_form input[type="submit"] {
	min-width: 8.5rem;
	padding: .68rem 1.05rem;
	font-size: .88rem;
}

@media (max-width: 640px) {
	.jgnt_order_page,
	.jgnt_order_form {
		width: min(100%, 36rem);
	}

	.jgnt_order_page {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.jgnt_order_form {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}


/* ==========================================================================
   DRMLSH HOMEPAGE LEGACY BG RESET
   The legacy JGNT stylesheet adds /images/bg_big.jpg and 455px top padding to
   div.jgnt_homepage div.jgnt_main. The new Dream Lush homepage supplies its
   own Hero, so the old background/padding must be neutralized on Q_HOME only.
   ========================================================================== */

div.jgnt_homepage div.jgnt_main.drmlsh_main {
	background-image: none !important;
	background-color: var(--drmlsh-paper) !important;
	background-position: initial !important;
	background-repeat: no-repeat !important;
	padding-top: 0 !important;
	min-height: 0 !important;
}

/* Remove the four old decorative corner images from the legacy main surface. */
div.jgnt_homepage div.jgnt_main.drmlsh_main > .nice1,
div.jgnt_homepage div.jgnt_main.drmlsh_main > .nice2,
div.jgnt_homepage div.jgnt_main.drmlsh_main > .nice3,
div.jgnt_homepage div.jgnt_main.drmlsh_main > .nice4 {
	display: none !important;
}


/* ==========================================================================
   DRMLSH STOREFRONT SQUARE IMAGE + COPY V3
   Product source photos are square. Show the complete image; do not crop it.
   ========================================================================== */

.drmlsh_featured_image,
.drmlsh_featured_image_viewport {
	display: block;
	width: 100%;
}

.drmlsh_featured_image_viewport {
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	overflow: hidden;
}

.drmlsh_featured_image_viewport img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
}

.drmlsh_featured_copy {
	display: block;
}

.drmlsh_featured_copy h3 {
	margin: 0 0 .55rem !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.55rem, 2vw, 2rem) !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	letter-spacing: -.025em;
}

.drmlsh_featured_copy p {
	margin: 0 !important;
	color: var(--drmlsh-muted);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(.92rem, 1.15vw, 1.05rem);
	font-weight: 500;
	line-height: 1.45;
}


/* ==========================================================================
   DRMLSH STOREFRONT NO-CROP V4
   Let the square source image define its own height. This neutralizes older
   fixed-height/aspect-ratio rules that were still clipping 1200x1200 images.
   ========================================================================== */

.drmlsh_featured_card .drmlsh_featured_image,
.drmlsh_featured_card .drmlsh_featured_image_viewport {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	overflow: visible !important;
	padding: 0 !important;
	margin: 0 !important;
	position: static !important;
}

.drmlsh_featured_card .drmlsh_featured_image_viewport img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: center center !important;
	position: static !important;
	transform: none !important;
	margin: 0 !important;
}


/* ==========================================================================
   DRMLSH GROWTH STORY BLOCK V1
   ========================================================================== */

.drmlsh_home_principles.drmlsh_growth_story {
	padding: clamp(4rem, 7vw, 7rem) max(1.25rem, calc((100vw - var(--drmlsh-max)) / 2));
	background: var(--drmlsh-forest);
	color: var(--drmlsh-white);
}

.drmlsh_growth_intro { max-width: 56rem; margin: 0 0 clamp(2.75rem, 5vw, 4.5rem); }
.drmlsh_growth_intro h2 {
	margin: 0 0 1.25rem; max-width: 52rem; color: var(--drmlsh-white);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.5rem, 5vw, 4.6rem); font-weight: 500;
	letter-spacing: -.045em; line-height: .98;
}
.drmlsh_growth_intro > p {
	margin: 0; max-width: 48rem; color: rgb(255 254 250 / 78%);
	font-size: clamp(1rem, 1.45vw, 1.2rem); line-height: 1.65;
}

.drmlsh_growth_grid {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
}
.drmlsh_growth_card { padding-top: 1.5rem; border-top: 1px solid rgb(255 254 250 / 22%); }
.drmlsh_growth_card h3 {
	margin: 0 0 1.15rem; color: var(--drmlsh-white);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.6rem, 2.3vw, 2.2rem); font-weight: 500;
	line-height: 1.05; letter-spacing: -.025em; text-transform: none;
}
.drmlsh_growth_card p {
	margin: 0 0 1rem; color: rgb(255 254 250 / 76%);
	font-size: .98rem; line-height: 1.65;
}
.drmlsh_growth_card p:last-child { margin-bottom: 0; }
.drmlsh_growth_card strong { color: var(--drmlsh-white); font-weight: 700; }

.drmlsh_growth_final {
	margin-top: clamp(3.5rem, 6vw, 5.5rem);
	padding-top: clamp(1.75rem, 3vw, 2.5rem);
	border-top: 1px solid rgb(255 254 250 / 28%); max-width: 60rem;
}
.drmlsh_growth_final p {
	margin: 0; color: rgb(255 254 250 / 76%);
	font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.6;
}
.drmlsh_growth_final p + p { margin-top: .45rem; }
.drmlsh_growth_final strong {
	color: var(--drmlsh-white); font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 500; letter-spacing: -.02em;
}

@media (max-width: 860px) {
	.drmlsh_growth_grid { grid-template-columns: 1fr; }
	.drmlsh_growth_card { padding-top: 1.35rem; }
	.drmlsh_growth_intro { margin-bottom: 2.75rem; }
}


/* ==========================================================================
   DRMLSH LIVE LAYOUT FIX V3
   Admin remains source of truth for menu labels.
   ========================================================================== */

/* Lighter top navigation. */
div.jgnt_menu.drmlsh_nav ul.top li > div.jgnt_linkbox > a,
div.jgnt_menu.drmlsh_nav ul.top li:hover > div.jgnt_linkbox > a,
div.jgnt_menu.drmlsh_nav ul.top li.current > div.jgnt_linkbox > a,
div.jgnt_menu.drmlsh_nav ul.top li:focus-within > div.jgnt_linkbox > a {
	font-weight: 400 !important;
}

/* Reset legacy 2-column layout inherited by the new marketing block. */
div.jgnt_homepage section.drmlsh_home_principles.drmlsh_growth_story {
	display: block !important;
	grid-template-columns: none !important;
	grid-template-rows: none !important;
	grid-auto-flow: row !important;
	gap: 0 !important;
	width: auto !important;
	max-width: 76rem !important;
	margin: 2rem auto 7rem !important;
	padding: clamp(4rem, 7vw, 7rem) clamp(2rem, 5vw, 5rem) !important;
	box-sizing: border-box !important;
}

div.jgnt_homepage .drmlsh_growth_intro {
	display: block !important;
	float: none !important;
	position: static !important;
	width: auto !important;
	max-width: 56rem !important;
	margin: 0 0 clamp(2.75rem, 5vw, 4.5rem) !important;
}

div.jgnt_homepage .drmlsh_growth_grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-template-rows: auto !important;
	grid-auto-flow: row !important;
	gap: clamp(1.5rem, 3vw, 2.5rem) !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	align-items: start !important;
	box-sizing: border-box !important;
}

div.jgnt_homepage .drmlsh_growth_card {
	display: block !important;
	float: none !important;
	position: static !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

div.jgnt_homepage .drmlsh_growth_intro h2,
div.jgnt_homepage .drmlsh_growth_intro p,
div.jgnt_homepage .drmlsh_growth_card h3,
div.jgnt_homepage .drmlsh_growth_card p,
div.jgnt_homepage .drmlsh_growth_final p {
	display: block !important;
	float: none !important;
	position: static !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

div.jgnt_homepage .drmlsh_growth_final {
	display: block !important;
	float: none !important;
	position: static !important;
	width: auto !important;
	max-width: 60rem !important;
	box-sizing: border-box !important;
}

/* User decision: legacy secondary column/content is retired everywhere. */
div.jgnt_main2.drmlsh_main_secondary {
	display: none !important;
}

/* Keep legacy homepage hero background removed. */
div.jgnt_homepage div.jgnt_main.drmlsh_main {
	background-image: none !important;
	background-color: var(--drmlsh-paper) !important;
	padding-top: 0 !important;
	min-height: 0 !important;
}

@media (max-width: 860px) {
	div.jgnt_homepage section.drmlsh_home_principles.drmlsh_growth_story {
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		border-radius: 0 !important;
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}

	div.jgnt_homepage .drmlsh_growth_grid {
		grid-template-columns: 1fr !important;
	}
}


/* ==========================================================================
   DRMLSH MENU TYPOGRAPHY V1
   Cleaner, slightly larger navigation at 100% browser zoom.
   ========================================================================== */

div.jgnt_menu.drmlsh_nav ul.top li > div.jgnt_linkbox > a,
div.jgnt_menu.drmlsh_nav ul.top li:hover > div.jgnt_linkbox > a,
div.jgnt_menu.drmlsh_nav ul.top li.current > div.jgnt_linkbox > a,
div.jgnt_menu.drmlsh_nav ul.top li:focus-within > div.jgnt_linkbox > a {
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
	text-shadow: none !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}


/* ==========================================================================
   DRMLSH FINAL STATEMENT EMPHASIS V2
   ========================================================================== */

div.jgnt_homepage .drmlsh_growth_final {
	max-width: 60rem !important;
	margin-top: clamp(4rem, 7vw, 6rem) !important;
	padding-top: clamp(2.25rem, 4vw, 3.25rem) !important;
	border-top: 1px solid rgb(255 254 250 / 34%) !important;
}

div.jgnt_homepage .drmlsh_growth_final h2 {
	display: block !important;
	float: none !important;
	position: static !important;
	width: auto !important;
	max-width: 54rem !important;
	margin: 0 0 1rem !important;
	color: var(--drmlsh-white) !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(2rem, 3.4vw, 3.35rem) !important;
	font-weight: 500 !important;
	letter-spacing: -.035em !important;
	line-height: 1.05 !important;
	text-transform: none !important;
}

div.jgnt_homepage .drmlsh_growth_final p {
	display: block !important;
	float: none !important;
	position: static !important;
	width: auto !important;
	max-width: 48rem !important;
	margin: 0 !important;
	color: rgb(255 254 250 / 78%) !important;
	font-size: clamp(1.05rem, 1.45vw, 1.2rem) !important;
	line-height: 1.6 !important;
}


/* ==========================================================================
   DRMLSH GLOBAL LEGACY BANNER RESET V1
   Retire the old bg_small/bg_big banner area on every page.
   ========================================================================== */

div.jgnt_main.drmlsh_main {
	background-image: none !important;
	background-color: var(--drmlsh-paper) !important;
	background-position: initial !important;
	background-repeat: no-repeat !important;
	padding-top: 0 !important;
	min-height: 0 !important;
}

div.jgnt_main.drmlsh_main > .nice1,
div.jgnt_main.drmlsh_main > .nice2,
div.jgnt_main.drmlsh_main > .nice3,
div.jgnt_main.drmlsh_main > .nice4 {
	display: none !important;
}


/* ==========================================================================
   DRMLSH PRODUCT PAGE + GLOBAL LEGACY CLEANUP V1
   Final override after legacy JGNT rules.
   ========================================================================== */

/* Retire the old bg_small/bg_big artwork and decorative corners everywhere. */
div.jgnt_main.drmlsh_main {
    background-image: none !important;
    background-color: var(--drmlsh-paper) !important;
    background-position: initial !important;
    background-repeat: no-repeat !important;
    padding-top: 0 !important;
    min-height: 0 !important;
}

div.jgnt_main.drmlsh_main > .nice1,
div.jgnt_main.drmlsh_main > .nice2,
div.jgnt_main.drmlsh_main > .nice3,
div.jgnt_main.drmlsh_main > .nice4 {
    display: none !important;
}

/* Legacy secondary/review strip is retired site-wide. */
div.jgnt_main2.drmlsh_main_secondary {
    display: none !important;
}

/* Product documents: remove the old 610/350 two-column cage. */
html.drmlsh-page-product-v2 div.jgnt_main.drmlsh_main > .container.drmlsh_container {
    width: min(calc(100% - 2.5rem), var(--drmlsh-max)) !important;
    max-width: var(--drmlsh-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

html.drmlsh-page-product-v2 .jgnt_column_left {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

html.drmlsh-page-product-v2 .jgnt_column_right {
    display: none !important;
}

/* Large LO-style product image. Text flows beside it, then full width below. */
html.drmlsh-page-product-v2 .drmlsh_document_page_v2 {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(2.25rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 7rem) !important;
    color: var(--drmlsh-ink);
}

html.drmlsh-page-product-v2 .drmlsh_document_page_v2::after {
    content: "";
    display: table;
    clear: both;
}

html.drmlsh-page-product-v2 .drmlsh_product_media_v2 {
    display: grid !important;
    float: left !important;
    width: min(46%, 34rem) !important;
    max-width: 34rem !important;
    aspect-ratio: 1 / 1 !important;
    min-width: 0 !important;
    margin: 0 clamp(2.5rem, 5vw, 4.5rem) 2.25rem 0 !important;
    padding: clamp(1rem, 2vw, 1.75rem) !important;
    place-items: center !important;
    overflow: hidden !important;
    border-radius: 2rem !important;
    background: linear-gradient(145deg, #eef2ea, #e1e9df) !important;
    box-sizing: border-box !important;
}

html.drmlsh-page-product-v2 .drmlsh_product_auto_image_v2 {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 !important;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    min-width: 0 !important;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc {
    padding-bottom: 0 !important;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc h1,
html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc .jgnt_special {
    margin: 0 0 1.5rem !important;
    color: var(--drmlsh-ink) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(3rem, 6vw, 5rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.055em !important;
    line-height: .98 !important;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc .text {
    width: auto !important;
    max-width: none !important;
    color: var(--drmlsh-ink) !important;
    font-size: clamp(1rem, 1.35vw, 1.12rem) !important;
    line-height: 1.72 !important;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc h2 {
    margin: 2.25rem 0 1rem !important;
    color: var(--drmlsh-ink) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(1.8rem, 3.5vw, 2.7rem) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc h2 span,
html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc .text span {
    color: inherit;
}

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc .bgblk {
    max-width: 42rem;
    border-left: .28rem solid var(--drmlsh-focus) !important;
    background: var(--drmlsh-sage) !important;
    padding: 1.2rem 1.35rem !important;
    margin: 1.5rem 0 !important;
    color: var(--drmlsh-ink) !important;
}

@media (max-width: 860px) {
    html.drmlsh-page-product-v2 div.jgnt_main.drmlsh_main > .container.drmlsh_container {
        width: min(calc(100% - 1.5rem), var(--drmlsh-max)) !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_product_media_v2 {
        float: none !important;
        width: 100% !important;
        max-width: 38rem !important;
        margin: 0 auto 2.5rem !important;
        padding: clamp(1rem, 4vw, 1.75rem) !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc h1,
    html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc .jgnt_special {
        font-size: clamp(2.8rem, 12vw, 4.4rem) !important;
    }
}

/* ==========================================================================
   DRMLSH SHIPMENT CLEANUP V2
   Delivery page: remove the legacy right review column and remaining
   decorative/pink JGNT presentation while keeping Admin-managed content.
   ========================================================================== */

/* Retire old decorative corners robustly. */
div.jgnt_main.drmlsh_main .nice1,
div.jgnt_main.drmlsh_main .nice2,
div.jgnt_main.drmlsh_main .nice3,
div.jgnt_main.drmlsh_main .nice4 {
    display: none !important;
}

/* /shipment still comes through the legacy two-column document wrapper:
   main document left + reviews/testimonials right. Keep only the document. */
html.drmlsh-page-shipment .jgnt_column_right {
    display: none !important;
}

html.drmlsh-page-shipment .jgnt_column_left {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Use the full LO content surface instead of the old 610px column. */
html.drmlsh-page-shipment .drmlsh_document_page_v2 {
    display: block !important;
    width: 100% !important;
    max-width: 72rem !important;
    margin: 0 auto !important;
    padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 6rem) !important;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc {
    padding-bottom: 0 !important;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc .text {
    width: 100% !important;
    max-width: 68rem !important;
    color: var(--drmlsh-ink) !important;
    font-size: clamp(1rem, 1.25vw, 1.08rem) !important;
    line-height: 1.7 !important;
}

/* Remove the old Dreamlash pink/Nissan heading treatment. */
html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc h1,
html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc .jgnt_special {
    margin: 0 0 1.4rem !important;
    color: var(--drmlsh-ink) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(3rem, 6vw, 4.8rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.05em !important;
    line-height: 1 !important;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc h2 {
    margin: 2.6rem 0 1rem !important;
    color: var(--drmlsh-ink) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(1.9rem, 3.5vw, 2.65rem) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc h2 span,
html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc .text span {
    color: inherit !important;
}

/* Replace old pink background-dot list styling with a clean list. */
html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc .text ul {
    display: block !important;
    margin: 1.25rem 0 1.8rem 1.25rem !important;
    padding: 0 !important;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc .text ul li {
    background-image: none !important;
    list-style: disc outside !important;
    padding-left: .35rem !important;
    margin: 0 0 .65rem !important;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_doc .text ul li::marker {
    color: var(--drmlsh-focus);
}

/* Keep Admin-inserted images but neutralize old float/layout treatment. */
html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_text_pic_left,
html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_text_pic {
    float: none !important;
    max-width: 100% !important;
    margin: 1.25rem 0 1.75rem !important;
}

html.drmlsh-page-shipment .drmlsh_document_native_v2 .jgnt_text_pic_img img {
    max-width: 100% !important;
    height: auto !important;
}

/* Secondary strip remains retired. */
html.drmlsh-page-shipment .drmlsh_main_secondary,
html.drmlsh-page-shipment .jgnt_main2 {
    display: none !important;
}

@media (max-width: 860px) {
    html.drmlsh-page-shipment .drmlsh_document_page_v2 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ==========================================================================
   DRMLSH HOME FINAL STATEMENT H3 V2
   Keep the closing DRMLSH statement noticeably smaller than section H2s.
   ========================================================================== */

.drmlsh_growth_story .drmlsh_growth_final h3 {
    margin: 0 0 .9rem !important;
    max-width: 46rem !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(1.8rem, 2.6vw, 2.6rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
    line-height: 1.08 !important;
}

.drmlsh_growth_story .drmlsh_growth_final p {
    max-width: 46rem !important;
    font-size: clamp(1rem, 1.25vw, 1.12rem) !important;
    line-height: 1.55 !important;
}

@media (max-width: 640px) {
    .drmlsh_growth_story .drmlsh_growth_final h3 {
        font-size: clamp(1.65rem, 7vw, 2.15rem) !important;
    }
}

/* ==========================================================================
   DRMLSH HOME FINAL STATEMENT H3 V3
   Closing statement must be a restrained H3, not a section-size H2.
   ========================================================================== */
.drmlsh_growth_story .drmlsh_growth_final h3 {
    margin: 0 0 .85rem !important;
    max-width: 44rem !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(1.55rem, 2.05vw, 2.05rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.02em !important;
    line-height: 1.12 !important;
}

.drmlsh_growth_story .drmlsh_growth_final p {
    max-width: 46rem !important;
    font-size: clamp(1rem, 1.15vw, 1.08rem) !important;
    line-height: 1.55 !important;
}

@media (max-width: 640px) {
    .drmlsh_growth_story .drmlsh_growth_final h3 {
        font-size: clamp(1.45rem, 6.2vw, 1.85rem) !important;
    }
}

/* ==========================================================================
   DRMLSH HOME FINAL STATEMENT COLOR V1
   Keep accepted H3 size; restore the light heading color used on the dark block.
   ========================================================================== */
.drmlsh_growth_story .drmlsh_growth_final h3 {
    color: #fffefa !important;
}

/* ==========================================================================
   DRMLSH HOME FINAL STATEMENT PARENT WIDTH V1
   The H3 itself was unrestricted, but its parent still had a legacy max-width.
   Desktop: let the final block use the whole green panel width.
   ========================================================================== */
.drmlsh_growth_story .drmlsh_growth_final {
    width: 100% !important;
    max-width: none !important;
}

@media (min-width: 1100px) {
    .drmlsh_growth_story .drmlsh_growth_final h3 {
        width: 100% !important;
        max-width: none !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 1099px) {
    .drmlsh_growth_story .drmlsh_growth_final h3 {
        white-space: normal !important;
    }
}

/* ==========================================================================
   DRMLSH PRODUCT PAGE PURCHASE ROWS V2
   Compact LO-style order options inside product detail.
   ========================================================================== */
html.drmlsh-page-product-v2 .drmlsh_purchase_table_v2 {
    display: grid;
    gap: .7rem;
    margin: 0 0 2rem;
    width: 100%;
    max-width: 38rem;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_row_v2 {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(7.5rem, .8fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .95rem 1rem;
    border: 1px solid rgb(23 60 49 / 14%);
    border-radius: 1.1rem;
    background: var(--drmlsh-white);
    box-shadow: 0 .35rem 1.2rem rgb(15 44 36 / 5%);
}

html.drmlsh-page-product-v2 .drmlsh_purchase_qty_v2 {
    color: var(--drmlsh-ink);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_price_v2 {
    color: var(--drmlsh-ink);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_price_v2 small {
    display: block;
    margin-top: .2rem;
    color: var(--drmlsh-muted);
    font-size: .76rem;
    font-weight: 500;
    white-space: normal;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2 {
    display: inline-flex;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    padding: .65rem 1.15rem;
    border-radius: 999px;
    background: var(--drmlsh-forest);
    color: var(--drmlsh-white) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .15s ease, background-color .15s ease;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2:hover,
html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2:focus-visible {
    background: var(--drmlsh-deep);
    color: var(--drmlsh-white) !important;
    transform: translateY(-1px);
}

@media (max-width: 700px) {
    html.drmlsh-page-product-v2 .drmlsh_purchase_table_v2 {
        max-width: none;
        margin-bottom: 2rem;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_row_v2 {
        grid-template-columns: 1fr auto;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2 {
        grid-column: 1 / -1;
        width: 100%;
    }
}

/* ==========================================================================
   DRMLSH PURCHASE ROWS LO COMPACT V3
   Compact LO-like purchase list:
   - stays beside the product photo on desktop
   - no heavy card-per-row treatment
   - cart icon instead of "Купить"
   - dense enough for future 9-row Nanodex list
   ========================================================================== */

html.drmlsh-page-product-v2 .drmlsh_purchase_table_v2 {
    display: block !important;
    width: min(100%, 29rem) !important;
    max-width: 29rem !important;
    margin: .6rem 0 1.7rem !important;
    border-top: 1px solid rgb(23 60 49 / 16%) !important;
    border-bottom: 1px solid rgb(23 60 49 / 16%) !important;
    background: transparent !important;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_row_v2 {
    display: grid !important;
    grid-template-columns: minmax(6.6rem, 1fr) minmax(7.2rem, auto) 2.2rem !important;
    align-items: center !important;
    gap: .75rem !important;
    min-height: 3.15rem !important;
    margin: 0 !important;
    padding: .55rem .1rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgb(23 60 49 / 10%) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_row_v2:last-child {
    border-bottom: 0 !important;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_qty_v2 {
    font-size: .93rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_price_v2 {
    font-size: .95rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_price_v2 small {
    display: inline !important;
    margin: 0 0 0 .4rem !important;
    color: var(--drmlsh-muted) !important;
    font-size: .68rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2 {
    position: relative !important;
    display: inline-flex !important;
    width: 2.15rem !important;
    min-width: 2.15rem !important;
    height: 2.15rem !important;
    min-height: 2.15rem !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: var(--drmlsh-forest) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    transform: none !important;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2::before {
    content: "" !important;
    display: block !important;
    width: 1.08rem !important;
    height: 1.08rem !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffefa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.3 10.1a2 2 0 0 0 2 1.6h7.9a2 2 0 0 0 2-1.6L21 7H6'/%3E%3C/svg%3E") !important;
}

html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2:hover,
html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2:focus-visible {
    background: var(--drmlsh-deep) !important;
    transform: none !important;
}

/* The previous 38rem purchase list could not fit beside the 34rem image.
   This compact width is intentionally kept under 29rem so it remains on
   the right side on normal desktop widths. */
@media (min-width: 861px) {
    html.drmlsh-page-product-v2 .drmlsh_purchase_table_v2 {
        clear: none !important;
    }
}

@media (max-width: 860px) {
    html.drmlsh-page-product-v2 .drmlsh_purchase_table_v2 {
        width: 100% !important;
        max-width: none !important;
        margin: .75rem 0 2rem !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_row_v2 {
        grid-template-columns: 1fr auto 2.2rem !important;
        min-height: 3.2rem !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_price_v2 small {
        display: block !important;
        margin: .15rem 0 0 !important;
    }
}

/* ==========================================================================
   DRMLSH PURCHASE ROWS RIGHT LO V4
   Desktop product composition:
   image left / title + compact purchase list right / long text below.
   Dense enough for a future 9-row Nanodex list.
   ========================================================================== */

@media (min-width: 861px) {

    html.drmlsh-page-product-v2 .drmlsh_purchase_table_v2 {
        float: right !important;
        clear: none !important;
        width: min(38%, 27rem) !important;
        max-width: 27rem !important;
        margin: .35rem 0 1.5rem 2rem !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
        background: transparent !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_row_v2 {
        grid-template-columns: minmax(5.8rem, 1fr) minmax(6.5rem, auto) 1.95rem !important;
        gap: .55rem !important;
        min-height: 2.65rem !important;
        padding: .38rem 0 !important;
        border-bottom: 1px solid rgb(23 60 49 / 9%) !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_row_v2:last-child {
        border-bottom: 0 !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_qty_v2 {
        font-size: .86rem !important;
        font-weight: 600 !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_price_v2 {
        font-size: .88rem !important;
        line-height: 1.08 !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_price_v2 small {
        display: block !important;
        margin: .08rem 0 0 !important;
        font-size: .62rem !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2 {
        width: 1.9rem !important;
        min-width: 1.9rem !important;
        height: 1.9rem !important;
        min-height: 1.9rem !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_purchase_button_v2::before {
        width: .94rem !important;
        height: .94rem !important;
    }

    /* Long Admin-managed product text begins only after the visual first screen:
       left photo + right purchase list. */
    html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text {
        clear: both !important;
        padding-top: 1rem !important;
    }
}

@media (max-width: 860px) {

    html.drmlsh-page-product-v2 .drmlsh_purchase_table_v2 {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: .65rem 0 1.8rem !important;
    }

    html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text {
        clear: none !important;
        padding-top: 0 !important;
    }
}

/* ==========================================================================
   DRMLSH PURCHASE ROWS LEFT ALIGN V5
   On desktop keep the compact purchase list beside the photo,
   but align it to the LEFT edge of the available right-hand area.
   ========================================================================== */
@media (min-width: 861px) {
    html.drmlsh-page-product-v2 .drmlsh_purchase_table_v2 {
        float: left !important;
        clear: none !important;
        margin: .35rem 0 1.5rem 0 !important;
    }
}

/* ==========================================================================
   DRMLSH PRODUCT LEGACY TEXT TYPOGRAPHY V1
   Old Dream Lush / Nanodex documents are Admin-managed legacy HTML and their
   body copy is mostly plain text separated with <br><br>, not <p> elements.
   Give that legacy text the same calm reading typography as information pages
   without changing the stored document HTML.
   ========================================================================== */

html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text {
    color: var(--drmlsh-muted) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 1.03rem !important;
    font-weight: 400 !important;
    line-height: 1.68 !important;
    letter-spacing: 0 !important;
}

/* If future Admin content uses real paragraphs, they inherit the same rhythm. */
html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text p {
    margin: 0 0 1.35rem !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
}

/* Current legacy product texts use two BRs where a paragraph break belongs.
   Add paragraph rhythm only to the second BR in such pairs. */
html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text br + br {
    display: block !important;
    content: "" !important;
    margin-top: .9rem !important;
}

/* Keep legacy section labels/headings stronger than body copy. */
html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text .jgnt_special,
html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text h2,
html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text h3 {
    color: var(--drmlsh-ink) !important;
}

@media (max-width: 640px) {
    html.drmlsh-page-product-v2 .drmlsh_document_native_v2 .jgnt_doc > .text {
        font-size: 1rem !important;
        line-height: 1.62 !important;
    }
}

/* ==========================================================================
   DRMLSH GROWTH STORY COMPACT V1
   Compact desktop/mobile rhythm for the homepage green marketing block.
   ========================================================================== */

.drmlsh_home_principles.drmlsh_growth_story {
    padding-top: clamp(2.25rem, 3.2vw, 3.25rem) !important;
    padding-bottom: clamp(2.1rem, 3vw, 3rem) !important;
}

.drmlsh_growth_intro {
    margin-bottom: clamp(1.5rem, 2.2vw, 2rem) !important;
}

.drmlsh_growth_intro h2 {
    margin-bottom: .7rem !important;
    max-width: 46rem !important;
    font-size: clamp(2rem, 3.4vw, 3.2rem) !important;
    line-height: 1 !important;
}

.drmlsh_growth_intro > p {
    max-width: 52rem !important;
    font-size: clamp(.95rem, 1.1vw, 1.05rem) !important;
    line-height: 1.5 !important;
}

.drmlsh_growth_grid {
    gap: clamp(1.2rem, 2vw, 1.8rem) !important;
}

.drmlsh_growth_card {
    padding-top: .9rem !important;
}

.drmlsh_growth_card h3 {
    margin-bottom: .65rem !important;
    font-size: clamp(1.35rem, 1.8vw, 1.7rem) !important;
    line-height: 1.05 !important;
}

.drmlsh_growth_card p {
    margin-bottom: .65rem !important;
    font-size: .93rem !important;
    line-height: 1.48 !important;
}

.drmlsh_growth_final {
    margin-top: clamp(1.7rem, 2.5vw, 2.3rem) !important;
    padding-top: clamp(1rem, 1.6vw, 1.35rem) !important;
}

.drmlsh_growth_final h3 {
    margin: 0 0 .35rem !important;
    font-size: clamp(1.25rem, 1.8vw, 1.55rem) !important;
    line-height: 1.15 !important;
}

.drmlsh_growth_final p {
    font-size: .95rem !important;
    line-height: 1.45 !important;
}

@media (max-width: 860px) {
    .drmlsh_home_principles.drmlsh_growth_story {
        padding-top: 2.4rem !important;
        padding-bottom: 2.4rem !important;
    }

    .drmlsh_growth_intro {
        margin-bottom: 1.75rem !important;
    }

    .drmlsh_growth_grid {
        gap: 1.35rem !important;
    }

    .drmlsh_growth_final {
        margin-top: 1.8rem !important;
    }
}

/* ==========================================================================
   DRMLSH GROWTH STORY COMPACT V2
   Final tightening: less top/bottom air and final statement closer to cards.
   ========================================================================== */

.drmlsh_home_principles.drmlsh_growth_story {
    padding-top: clamp(1.65rem, 2.3vw, 2.25rem) !important;
    padding-bottom: clamp(1.55rem, 2.1vw, 2.1rem) !important;
}

.drmlsh_growth_intro {
    margin-bottom: clamp(1.15rem, 1.6vw, 1.5rem) !important;
}

.drmlsh_growth_final {
    margin-top: clamp(.9rem, 1.4vw, 1.25rem) !important;
    padding-top: clamp(.7rem, 1vw, .95rem) !important;
}

@media (max-width: 860px) {
    .drmlsh_home_principles.drmlsh_growth_story {
        padding-top: 1.85rem !important;
        padding-bottom: 1.85rem !important;
    }

    .drmlsh_growth_intro {
        margin-bottom: 1.35rem !important;
    }

    .drmlsh_growth_final {
        margin-top: 1.1rem !important;
        padding-top: .8rem !important;
    }
}

/* DRMLSH GROWTH COMPACT V6 FINAL START */
/* Final authoritative homepage growth block spacing.
   Placed at the very end of drmlsh_lo.css so it wins over earlier hotfixes. */

section.drmlsh_home_principles.drmlsh_growth_story {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    min-height: 0 !important;
    height: auto !important;

    padding-top: .65rem !important;
    padding-right: 3.25rem !important;
    padding-bottom: .55rem !important;
    padding-left: 3.25rem !important;

    margin-top: 1.25rem !important;
    margin-bottom: 2.5rem !important;
}

section.drmlsh_growth_story .drmlsh_growth_intro {
    margin: 0 0 1.15rem !important;
    padding: 0 !important;
}

section.drmlsh_growth_story .drmlsh_growth_intro h2 {
    margin: 0 0 .5rem !important;
    font-size: clamp(1.95rem, 3vw, 3rem) !important;
    line-height: 1 !important;
}

section.drmlsh_growth_story .drmlsh_growth_intro > p {
    margin: 0 !important;
    line-height: 1.42 !important;
}

section.drmlsh_growth_story .drmlsh_growth_grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 2rem !important;
    row-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

section.drmlsh_growth_story .drmlsh_growth_card {
    margin: 0 !important;
    padding-top: .72rem !important;
}

section.drmlsh_growth_story .drmlsh_growth_card h3 {
    margin: 0 0 .45rem !important;
    font-size: clamp(1.3rem, 1.65vw, 1.55rem) !important;
    line-height: 1.05 !important;
}

section.drmlsh_growth_story .drmlsh_growth_card p {
    margin: 0 0 .45rem !important;
    font-size: .92rem !important;
    line-height: 1.42 !important;
}

section.drmlsh_growth_story .drmlsh_growth_card p:last-child {
    margin-bottom: 0 !important;
}

section.drmlsh_growth_story .drmlsh_growth_final {
    margin: 1.15rem 0 0 !important;
    padding: .78rem 0 0 !important;
    max-width: 60rem !important;
}

section.drmlsh_growth_story .drmlsh_growth_final h3 {
    margin: 0 0 .25rem !important;
    line-height: 1.12 !important;
}

section.drmlsh_growth_story .drmlsh_growth_final p {
    margin: 0 !important;
    line-height: 1.38 !important;
}

@media (max-width: 860px) {
    section.drmlsh_home_principles.drmlsh_growth_story {
        padding: 1.45rem 1.25rem !important;
        margin-top: 1rem !important;
        margin-bottom: 1.5rem !important;
    }

    section.drmlsh_growth_story .drmlsh_growth_intro {
        margin-bottom: 1rem !important;
    }

    section.drmlsh_growth_story .drmlsh_growth_grid {
        grid-template-columns: 1fr !important;
        row-gap: .95rem !important;
    }

    section.drmlsh_growth_story .drmlsh_growth_final {
        margin-top: .95rem !important;
        padding-top: .7rem !important;
    }
}
/* DRMLSH GROWTH COMPACT V6 FINAL END */

/* DRMLSH GROWTH BALANCED V9 START */
section.drmlsh_growth_story .drmlsh_growth_final {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

section.drmlsh_growth_story .drmlsh_growth_final h3,
section.drmlsh_growth_story .drmlsh_growth_final p {
    max-width: 60rem !important;
}
/* DRMLSH GROWTH BALANCED V9 END */

/* DRMLSH HOME SECTION GAP V9.2 START */
/* Tighten only the vertical gap between the product showcase and green block. */
.jgnt_homepage .drmlsh_home_featured {
    padding-bottom: 2.5rem !important;
}

.jgnt_homepage section.drmlsh_home_principles.drmlsh_growth_story {
    margin-top: .75rem !important;
}

@media (max-width: 860px) {
    .jgnt_homepage .drmlsh_home_featured {
        padding-bottom: 1.75rem !important;
    }

    .jgnt_homepage section.drmlsh_home_principles.drmlsh_growth_story {
        margin-top: .5rem !important;
    }
}
/* DRMLSH HOME SECTION GAP V9.2 END */

/* DRMLSH HOMEPAGE RESPONSIVE V10 START */
/*
   Fix tablet/mobile homepage hero only.
   Desktop remains unchanged.
*/
@media (max-width: 860px) {
    .jgnt_homepage .drmlsh_home_hero {
        position: relative !important;
        min-height: 0 !important;
        height: clamp(20rem, 58vw, 27rem) !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: #1d1d1d !important;
    }

    /* Brand is already visible in the compact header on <=860px.
       Avoid the duplicate low-contrast wordmark over the portrait. */
    .jgnt_homepage .drmlsh_home_hero_copy {
        display: none !important;
    }

    .jgnt_homepage .drmlsh_home_hero_portrait {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .jgnt_homepage .drmlsh_home_hero_portrait img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: 58% 18% !important;
        transform: none !important;
        -webkit-mask-image: linear-gradient(
            to bottom,
            #000 0,
            #000 72%,
            rgb(0 0 0 / 86%) 82%,
            rgb(0 0 0 / 42%) 91%,
            transparent 100%
        ) !important;
        mask-image: linear-gradient(
            to bottom,
            #000 0,
            #000 72%,
            rgb(0 0 0 / 86%) 82%,
            rgb(0 0 0 / 42%) 91%,
            transparent 100%
        ) !important;
    }

    .jgnt_homepage .drmlsh_home_featured {
        padding-top: 2.25rem !important;
    }

    .jgnt_homepage .drmlsh_home_section_heading {
        margin-bottom: 1.5rem !important;
    }
}

@media (max-width: 480px) {
    .jgnt_homepage .drmlsh_home_hero {
        height: 20.5rem !important;
    }

    .jgnt_homepage .drmlsh_home_hero_portrait img {
        object-position: 60% 12% !important;
    }

    .jgnt_homepage .drmlsh_home_featured {
        padding-top: 1.75rem !important;
    }

    .jgnt_homepage .drmlsh_home_section_heading {
        margin-bottom: 1.25rem !important;
    }
}
/* DRMLSH HOMEPAGE RESPONSIVE V10 END */

/* DRMLSH HOMEPAGE RESPONSIVE V10.1 MOBILE START */
/* 360px correction only. 820px/tablet layout is intentionally left unchanged. */
@media (max-width: 480px) {
    .jgnt_homepage .drmlsh_home_hero {
        height: 19rem !important;
        background: var(--drmlsh-paper) !important;
    }

    .jgnt_homepage .drmlsh_home_hero_portrait img {
        object-position: 34% 12% !important;
        -webkit-mask-image: linear-gradient(
            to bottom,
            #000 0,
            #000 70%,
            rgb(0 0 0 / 88%) 79%,
            rgb(0 0 0 / 48%) 90%,
            transparent 100%
        ) !important;
        mask-image: linear-gradient(
            to bottom,
            #000 0,
            #000 70%,
            rgb(0 0 0 / 88%) 79%,
            rgb(0 0 0 / 48%) 90%,
            transparent 100%
        ) !important;
    }
}
/* DRMLSH HOMEPAGE RESPONSIVE V10.1 MOBILE END */
