/*
 Theme Name:   naturesdesignstudio
 Theme URI:    https://pwsolution.com
 Description:  Custom WordPress theme for Nature's Design Studio. Developed by Professional Web Solutions (pwsolution.com).
 Author:       Syed Mukhyyar Hussain Rizvi
 Author URI:   https://pwsolution.com
 Template:     nds
 Version:      1.0.1
 Text Domain:  nds-child
*/


/* Your customizations starts here */

/* ---------- Solid white header ---------- */
.main-header.header-shop,
.main-header,
.main-header.header-has-no-bg,
.main-header.act-scroll,
.sticky-header-real .main-header.act-scroll {
	background-color: #ffffff !important;
	border-bottom: 1px solid #ececec;
}

.main-header.act-scroll,
.sticky-header-real .main-header.act-scroll {
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.main-header .main-nav .menu > li > a,
.main-header .right-column a,
.main-header .header-links a,
.main-header .pws-cart-design-1,
.main-header .pws-search-icon,
.main-header .mobile-nav-icon {
	color: #1a1a1a !important;
}

/* Wishlist removed from site UI */
.main-header .wishlist-info-widget,
.whb-wishlist,
.pws-wishlist-btn,
.basel-wishlist-btn,
.wishlist-btn-wrapper,
.pws-sticky-btn-wishlist,
.basel-sticky-btn-wishlist,
.yith-wcwl-add-to-wishlist {
	display: none !important;
}

/* Compare removed from site UI */
.main-header .compare-info-widget,
.whb-compare,
.pws-compare-btn,
.product-compare-button,
.compare-btn-wrapper,
.pws-sticky-btn-compare,
.pws-toolbar-compare,
a.compare {
	display: none !important;
}

.main-header .main-nav .menu > li:hover > a,
.main-header .main-nav .menu > li.current-menu-item > a,
.main-header .main-nav .menu > li.current-menu-ancestor > a {
	color: #2d5a3d !important;
}

/* ---------- Inner pages: white topbar + logo centered in bar ---------- */
body:not(.nds-home-hero-header) .topbar-wrapp,
body:not(.nds-home-hero-header) .topbar-wrapp.color-scheme-light {
	background-color: #ffffff !important;
	background-image: none !important;
	background: #ffffff !important;
	border-bottom: 1px solid #ececec !important;
}

body:not(.nds-home-hero-header) .topbar-wrapp,
body:not(.nds-home-hero-header) .topbar-wrapp a,
body:not(.nds-home-hero-header) .topbar-wrapp p,
body:not(.nds-home-hero-header) .topbar-wrapp .top-bar-left,
body:not(.nds-home-hero-header) .topbar-wrapp .top-bar-left i,
body:not(.nds-home-hero-header) .topbar-wrapp .top-bar-left [style*="color"],
body:not(.nds-home-hero-header) .topbar-wrapp .topbar-menu ul > li > a {
	color: #1a1a1a !important;
}

body:not(.nds-home-hero-header) .topbar-wrapp.color-scheme-light .top-bar-left,
body:not(.nds-home-hero-header) .topbar-wrapp.color-scheme-light .top-bar-left p {
	color: #1a1a1a !important;
}

body:not(.nds-home-hero-header) .topbar-wrapp .top-bar-left,
body:not(.nds-home-hero-header) .topbar-wrapp .topbar-menu ul > li > a {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Inner pages: boxed header / topbar content (match 1200px site content) */
body:not(.nds-home-hero-header) .main-header > .container,
body:not(.nds-home-hero-header) .topbar-wrapp > .container,
body:not(.nds-home-hero-header) .sticky-header > .container,
body:not(.nds-home-hero-header).header-full-width .main-header > .container,
body:not(.nds-home-hero-header).header-full-width .topbar-wrapp > .container,
body:not(.nds-home-hero-header).header-full-width .sticky-header > .container {
	max-width: 1200px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	box-sizing: border-box;
}

body:not(.nds-home-hero-header) .topbar-wrapp .topbar-content {
	max-width: none;
	width: 100%;
	margin: 0;
	padding-left: 0;
	padding-right: 0;
}

/* Spacer :before was pushing the circular logo off-center */
body:not(.nds-home-hero-header) .main-header .site-logo .pws-logo:before,
body:not(.nds-home-hero-header) .main-header .site-logo .basel-logo:before {
	content: none !important;
	display: none !important;
}

body:not(.nds-home-hero-header) .main-header .site-logo {
	--nds-inner-logo: 128px;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center;
	width: calc(var(--nds-inner-logo) + 24px) !important;
	min-width: calc(var(--nds-inner-logo) + 24px) !important;
	max-width: calc(var(--nds-inner-logo) + 24px) !important;
	height: 130px;
	padding: 0 12px !important;
	margin: 0 !important;
	overflow: visible;
	text-align: center;
}

body:not(.nds-home-hero-header) .main-header .site-logo .pws-logo-wrap,
body:not(.nds-home-hero-header) .main-header .site-logo .basel-logo-wrap,
body:not(.nds-home-hero-header) .main-header .site-logo .switch-logo-enable {
	position: relative !important;
	display: block !important;
	width: var(--nds-inner-logo) !important;
	height: var(--nds-inner-logo) !important;
	margin: 0 auto !important;
	line-height: 0 !important;
	overflow: visible !important;
}

/* Stack main + sticky logo on the same center point (no translate ? avoids subpixel blur) */
body:not(.nds-home-hero-header) .main-header .site-logo a.pws-logo,
body:not(.nds-home-hero-header) .main-header .site-logo a.pws-main-logo,
body:not(.nds-home-hero-header) .main-header .site-logo a.pws-sticky-logo,
body:not(.nds-home-hero-header) .main-header .site-logo a.basel-logo,
body:not(.nds-home-hero-header) .main-header .site-logo a.basel-main-logo,
body:not(.nds-home-hero-header) .main-header .site-logo a.basel-sticky-logo {
	position: absolute !important;
	inset: 0 !important;
	left: 0 !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	transform: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--nds-inner-logo) !important;
	height: var(--nds-inner-logo) !important;
	margin: auto !important;
	padding: 0 !important;
	line-height: 0 !important;
}

/*
 * Theme injects: .act-scroll .switch-logo-enable { transform: translateY(-stickyH) }
 * That slides a vertically stacked sticky logo into view. Our logos are centered on
 * the same point, so translateY pushes the mark off-screen. Kill it + keep main logo.
 */
body:not(.nds-home-hero-header).sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable,
body:not(.nds-home-hero-header) .main-header.act-scroll .switch-logo-enable.pws-logo-wrap,
body:not(.nds-home-hero-header) .main-header.act-scroll .switch-logo-enable.basel-logo-wrap,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo .pws-logo-wrap,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo .basel-logo-wrap {
	transform: none !important;
	/* Theme animates height/opacity on switch ? mid-frames look soft/pixelated */
	transition: none !important;
}

body:not(.nds-home-hero-header) .main-header .site-logo .switch-logo-enable .pws-logo,
body:not(.nds-home-hero-header) .main-header .site-logo .switch-logo-enable .basel-logo,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo .switch-logo-enable .pws-logo,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo .switch-logo-enable .basel-logo {
	transition: none !important;
}

body:not(.nds-home-hero-header) .main-header .site-logo .pws-main-logo,
body:not(.nds-home-hero-header) .main-header .site-logo .basel-main-logo,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo .pws-main-logo,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo .basel-main-logo {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	z-index: 2;
}

body:not(.nds-home-hero-header) .main-header .site-logo .pws-sticky-logo,
body:not(.nds-home-hero-header) .main-header .site-logo .basel-sticky-logo,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo .pws-sticky-logo,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo .basel-sticky-logo {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	z-index: 1;
}

body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo {
	--nds-inner-logo: 84px;
	height: 90px;
	overflow: visible !important;
}

body:not(.nds-home-hero-header) .main-header .site-logo img,
body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo img,
body:not(.nds-home-hero-header) .main-header.act-scroll .pws-logo img,
body:not(.nds-home-hero-header) .main-header.act-scroll .pws-main-logo img,
body:not(.nds-home-hero-header) .main-header.act-scroll .pws-sticky-logo img,
body:not(.nds-home-hero-header) .main-header.act-scroll .basel-logo img,
body:not(.nds-home-hero-header) .main-header.act-scroll .basel-main-logo img,
body:not(.nds-home-hero-header) .main-header.act-scroll .basel-sticky-logo img {
	display: block !important;
	width: var(--nds-inner-logo) !important;
	height: var(--nds-inner-logo) !important;
	max-width: var(--nds-inner-logo) !important;
	max-height: var(--nds-inner-logo) !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50%;
	/* cover crops + softens the mark when sticky shrinks ? keep contain */
	object-fit: contain !important;
	object-position: center center !important;
	perspective: none !important;
	-webkit-perspective: none !important;
	backface-visibility: visible !important;
	-webkit-backface-visibility: visible !important;
	transform: none !important;
	filter: none !important;
	image-rendering: auto;
	-webkit-font-smoothing: antialiased;
	transition: none !important;
}

@media (max-width: 991px) {
	body:not(.nds-home-hero-header) .main-header .site-logo,
	body:not(.nds-home-hero-header) .main-header.act-scroll .site-logo {
		--nds-inner-logo: 64px;
		height: 72px;
		width: calc(var(--nds-inner-logo) + 16px) !important;
		min-width: calc(var(--nds-inner-logo) + 16px) !important;
		max-width: calc(var(--nds-inner-logo) + 16px) !important;
		padding: 0 8px !important;
	}
}

/* ---------- Home only: slim white bar + badge-cut logo ---------- */
.nds-home-hero-header {
	--nds-home-bar-h: 84px;
	--nds-home-logo: 120px;
	--nds-home-logo-sticky: 84px;
	--nds-home-logo-ring: 8px;
	--nds-home-cut-gap: 11px;
}

.nds-home-hero-header .topbar-wrapp {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 360;
	background: #ffffff !important;
	border: none !important;
	box-shadow: none !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.nds-home-hero-header .topbar-wrapp,
.nds-home-hero-header .topbar-wrapp a,
.nds-home-hero-header .topbar-wrapp p,
.nds-home-hero-header .topbar-wrapp .top-bar-left,
.nds-home-hero-header .topbar-wrapp .topbar-menu ul > li > a {
	color: #1a1a1a !important;
}

.nds-home-hero-header .topbar-wrapp .top-bar-left,
.nds-home-hero-header .topbar-wrapp .topbar-menu ul > li > a {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nds-home-hero-header .topbar-content:before {
	display: none !important;
}

.nds-home-hero-header .main-header,
.nds-home-hero-header .main-header.header-shop,
.nds-home-hero-header .main-header.header-has-no-bg {
	--nds-logo-cut-x: 50%;
	--nds-logo-cut-y: 100%;
	--nds-logo-cut-r: 79px;
	--nds-logo-cut-soft: 80px;
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	background-color: transparent !important;
	background-image: none !important;
	border-bottom: none !important;
	overflow: visible !important;
	box-shadow: none !important;
	height: var(--nds-home-bar-h);
	min-height: var(--nds-home-bar-h);
	z-index: 350;
}

/* Sticky: theme adds .act-scroll ? must be fixed (do not keep absolute) */
.nds-home-hero-header .main-header.act-scroll,
.nds-home-hero-header.sticky-header-real .main-header.act-scroll,
.nds-home-hero-header.enable-sticky-header .main-header.act-scroll {
	position: fixed !important;
	top: var(--pws-admin-bar-h, 0px) !important;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 400;
}

/*
 * Theme (inc/functions.php) injects:
 *   .act-scroll .switch-logo-enable { transform: translateY(-{sticky_header_height}px) }
 * That slides the badge off-screen on home. Kill it + keep main logo visible.
 */
.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable,
.nds-home-hero-header .main-header.act-scroll .switch-logo-enable.pws-logo-wrap,
.nds-home-hero-header .main-header.act-scroll .switch-logo-enable.basel-logo-wrap,
.nds-home-hero-header .main-header.act-scroll .site-logo .pws-logo-wrap,
.nds-home-hero-header .main-header.act-scroll .site-logo .basel-logo-wrap {
	transform: none !important;
}

.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable .pws-main-logo,
.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable .basel-main-logo,
.nds-home-hero-header .main-header.act-scroll .site-logo .pws-main-logo,
.nds-home-hero-header .main-header.act-scroll .site-logo .basel-main-logo {
	opacity: 1 !important;
	visibility: visible !important;
}

.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable .pws-sticky-logo,
.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable .basel-sticky-logo,
.nds-home-hero-header .main-header.act-scroll .site-logo .pws-sticky-logo,
.nds-home-hero-header .main-header.act-scroll .site-logo .basel-sticky-logo {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

.nds-home-hero-header .main-header.act-scroll .wrapp-header,
.nds-home-hero-header.sticky-header-real .main-header.act-scroll .wrapp-header {
	min-height: var(--nds-home-bar-h) !important;
	height: var(--nds-home-bar-h) !important;
}

/* White nav strip + circular notch so hero rings the badge */
.nds-home-hero-header .main-header::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: #ffffff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
	-webkit-mask-image: radial-gradient(
		circle var(--nds-logo-cut-r) at var(--nds-logo-cut-x) var(--nds-logo-cut-y),
		transparent 0,
		transparent calc(var(--nds-logo-cut-r) - 1.5px),
		#000 var(--nds-logo-cut-soft)
	);
	mask-image: radial-gradient(
		circle var(--nds-logo-cut-r) at var(--nds-logo-cut-x) var(--nds-logo-cut-y),
		transparent 0,
		transparent calc(var(--nds-logo-cut-r) - 1.5px),
		#000 var(--nds-logo-cut-soft)
	);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: box-shadow 0.28s ease;
}

.nds-home-hero-header .main-header.act-scroll::before {
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1);
}

.nds-home-hero-header .main-header > .container {
	position: relative;
	z-index: 1;
	height: 100%;
	overflow: visible !important;
	/* Match landing content box (hero / sections = 1200px) */
	max-width: 1200px !important;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

.nds-home-hero-header .topbar-wrapp > .container {
	max-width: 1200px !important;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

.nds-home-hero-header .topbar-content {
	max-width: none;
	width: 100%;
	margin: 0;
	padding-left: 0;
	padding-right: 0;
}

.nds-home-hero-header .main-header .wrapp-header {
	position: relative;
	z-index: 1;
	overflow: visible !important;
	align-items: center !important;
	min-height: var(--nds-home-bar-h) !important;
	height: var(--nds-home-bar-h) !important;
}

.nds-home-hero-header .main-header .main-nav .menu > li > a,
.nds-home-hero-header .main-header .right-column a,
.nds-home-hero-header .main-header .header-links a,
.nds-home-hero-header .main-header .pws-cart-design-1,
.nds-home-hero-header .main-header .pws-search-icon,
.nds-home-hero-header .main-header .mobile-nav-icon {
	color: #1a1a1a !important;
}

.nds-home-hero-header .main-header .main-nav .menu > li:hover > a,
.nds-home-hero-header .main-header .main-nav .menu > li.current-menu-item > a,
.nds-home-hero-header .main-header .main-nav .menu > li.current-menu-ancestor > a {
	color: #2d5a3d !important;
}

.nds-home-hero-header .main-header .right-column .header-links {
	border-color: rgba(0, 0, 0, 0.08) !important;
}

@media (min-width: 992px) {
	.nds-home-hero-header .main-header .main-nav .menu > li > a {
		height: var(--nds-home-bar-h) !important;
		line-height: var(--nds-home-bar-h) !important;
		font-size: 12px;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	/* Icons only ? do NOT size .pws-logo to bar height (that hid the image) */
	.nds-home-hero-header .main-header .right-column {
		height: var(--nds-home-bar-h) !important;
		line-height: var(--nds-home-bar-h) !important;
	}

	/* Spacer keeps split-nav balance; badge hangs out of flow */
	.nds-home-hero-header .main-header .site-logo {
		position: relative;
		z-index: 50;
		flex: 0 0 calc(var(--nds-home-logo) + 36px) !important;
		width: calc(var(--nds-home-logo) + 36px) !important;
		height: var(--nds-home-bar-h) !important;
		margin: 0 !important;
		padding: 0 !important;
		align-self: center;
		overflow: visible !important;
	}

	.nds-home-hero-header .main-header .site-logo .pws-logo-wrap,
	.nds-home-hero-header .main-header .site-logo .switch-logo-enable {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		line-height: 0 !important;
		overflow: visible !important;
		top: 0 !important;
		margin-top: 0 !important;
	}

	/* White ring (outside clipped logo) ? sits inside the cut circle */
	.nds-home-hero-header .main-header .site-logo::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 100%;
		transform: translate(-50%, -50%);
		width: calc(var(--nds-home-logo) + var(--nds-home-logo-ring) * 2);
		height: calc(var(--nds-home-logo) + var(--nds-home-logo-ring) * 2);
		border-radius: 50%;
		background: #ffffff;
		box-shadow:
			0 0 0 1px rgba(0, 0, 0, 0.04),
			0 14px 34px rgba(0, 0, 0, 0.18);
		z-index: 1;
		pointer-events: none;
		transition: width 0.28s ease, height 0.28s ease, box-shadow 0.28s ease;
	}

	.nds-home-hero-header .main-header .site-logo a.pws-main-logo,
	.nds-home-hero-header .main-header .site-logo a.basel-main-logo {
		position: absolute !important;
		left: 50% !important;
		top: 100% !important;
		right: auto !important;
		/* translate3d keeps the badge on a sharp compositor layer */
		transform: translate3d(-50%, -50%, 0) !important;
		display: block !important;
		width: var(--nds-home-logo) !important;
		height: var(--nds-home-logo) !important;
		min-width: var(--nds-home-logo) !important;
		min-height: var(--nds-home-logo) !important;
		max-width: var(--nds-home-logo) !important;
		max-height: var(--nds-home-logo) !important;
		aspect-ratio: 1 / 1;
		line-height: 0 !important;
		border-radius: 50% !important;
		overflow: hidden !important;
		-webkit-clip-path: circle(50% at 50% 50%);
		clip-path: circle(50% at 50% 50%);
		background: #ffffff !important;
		opacity: 1 !important;
		visibility: visible !important;
		z-index: 2;
		transition: width 0.28s ease, height 0.28s ease, transform 0.28s ease;
	}

	/* Kill PWS vertical-align spacer that pushes img out of the circle */
	.nds-home-hero-header .main-header .site-logo .pws-logo:before,
	.nds-home-hero-header .main-header .site-logo .basel-logo:before {
		content: none !important;
		display: none !important;
	}

	/* Keep main logo visible on sticky (no PWS logo-swap hide) */
	.nds-home-hero-header .main-header.act-scroll .site-logo .pws-main-logo,
	.nds-home-hero-header .main-header.act-scroll .site-logo .basel-main-logo {
		opacity: 1 !important;
		visibility: visible !important;
	}

	/* Do not target a.pws-logo ? it also matches sticky and forces a double/blurry stack */
	.nds-home-hero-header .main-header .site-logo a.pws-sticky-logo,
	.nds-home-hero-header .main-header .site-logo a.basel-sticky-logo,
	.nds-home-hero-header .main-header.act-scroll .site-logo a.pws-sticky-logo,
	.nds-home-hero-header .main-header.act-scroll .site-logo a.basel-sticky-logo {
		display: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	.nds-home-hero-header .main-header .site-logo .pws-main-logo img,
	.nds-home-hero-header .main-header .site-logo .basel-main-logo img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #ffffff !important;
		box-shadow: none !important;
		/* Logo asset is slightly non-square ? contain keeps full mark sharp */
		object-fit: contain !important;
		object-position: center center !important;
		opacity: 1 !important;
		visibility: visible !important;
		perspective: none !important;
		-webkit-perspective: none !important;
		backface-visibility: visible !important;
		-webkit-backface-visibility: visible !important;
		transform: none !important;
		filter: none !important;
		image-rendering: auto;
	}

	/* Sticky: compact badge, still cut into bar */
	.nds-home-hero-header .main-header.act-scroll {
		--nds-home-bar-h: 72px;
	}

	.nds-home-hero-header .main-header.act-scroll .site-logo {
		flex-basis: calc(var(--nds-home-logo-sticky) + 28px) !important;
		width: calc(var(--nds-home-logo-sticky) + 28px) !important;
	}

	.nds-home-hero-header .main-header.act-scroll .site-logo a.pws-main-logo,
	.nds-home-hero-header .main-header.act-scroll .site-logo a.basel-main-logo {
		width: var(--nds-home-logo-sticky) !important;
		height: var(--nds-home-logo-sticky) !important;
		min-width: var(--nds-home-logo-sticky) !important;
		min-height: var(--nds-home-logo-sticky) !important;
		max-width: var(--nds-home-logo-sticky) !important;
		max-height: var(--nds-home-logo-sticky) !important;
		/* Keep badge anchored to bar bottom (half below) */
		top: 100% !important;
		left: 50% !important;
		transform: translate3d(-50%, -50%, 0) !important;
	}

	.nds-home-hero-header .main-header.act-scroll .site-logo .pws-main-logo img,
	.nds-home-hero-header .main-header.act-scroll .site-logo .basel-main-logo img,
	.nds-home-hero-header.sticky-header-real .main-header.act-scroll .site-logo .pws-main-logo img,
	.nds-home-hero-header.sticky-header-real .main-header.act-scroll .site-logo .basel-main-logo img {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
	}

	.nds-home-hero-header .main-header.act-scroll .site-logo::after {
		width: calc(var(--nds-home-logo-sticky) + 12px);
		height: calc(var(--nds-home-logo-sticky) + 12px);
		top: 100%;
		left: 50%;
		transform: translate(-50%, -50%);
		box-shadow:
			0 0 0 1px rgba(0, 0, 0, 0.05),
			0 10px 24px rgba(0, 0, 0, 0.14);
	}
}

@media (max-width: 991px) {
	/* Mobile: simple solid bar ? no notch / hanging badge (avoids cut edges) */
	.nds-home-hero-header {
		--nds-home-bar-h: 72px;
		--nds-home-logo: 52px;
		--nds-home-logo-sticky: 52px;
		--nds-home-logo-ring: 0px;
		--nds-home-cut-gap: 0px;
	}

	.nds-home-hero-header .main-header,
	.nds-home-hero-header .main-header.header-shop,
	.nds-home-hero-header .main-header.header-has-no-bg,
	.nds-home-hero-header .main-header.act-scroll {
		--nds-logo-cut-r: 0px;
		--nds-logo-cut-soft: 0px;
		/* Allow horizontal quick-nav row under the logo bar */
		height: auto !important;
		min-height: var(--nds-home-bar-h) !important;
		overflow: visible !important;
		background-color: #ffffff !important;
		border-bottom: 1px solid #ececec !important;
	}

	.nds-home-hero-header .main-header::before {
		-webkit-mask-image: none !important;
		mask-image: none !important;
		background: #ffffff !important;
		box-shadow: none !important;
		/* Cover logo row only ? not the quick-nav strip */
		inset: auto !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		height: var(--nds-home-bar-h) !important;
	}

	.nds-home-hero-header .main-header.act-scroll::before {
		box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08) !important;
	}

	.nds-home-hero-header .main-header > .container {
		height: var(--nds-home-bar-h) !important;
		min-height: var(--nds-home-bar-h) !important;
		overflow: hidden !important;
	}

	.nds-home-hero-header .main-header .wrapp-header {
		overflow: hidden !important;
	}

	/* Landing mobile: show horizontal menu under header */
	.nds-home-hero-header .main-header .nds-mobile-h-nav-wrap,
	.nds-home-hero-header .main-header.act-scroll .nds-mobile-h-nav-wrap {
		display: block !important;
		position: relative;
		z-index: 2;
		width: 100%;
		background: #ffffff !important;
		border-top: 1px solid #ececec;
	}

	.nds-home-hero-header .main-header .nds-mobile-h-nav-wrap > .container {
		height: auto !important;
		min-height: 0 !important;
		max-width: 100% !important;
		overflow: visible !important;
		padding-left: 12px;
		padding-right: 12px;
	}

	.nds-home-hero-header .main-header .right-column {
		height: var(--nds-home-bar-h) !important;
		line-height: var(--nds-home-bar-h) !important;
	}

	.nds-home-hero-header .main-header .site-logo {
		position: relative !important;
		z-index: 2;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		height: var(--nds-home-bar-h) !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.nds-home-hero-header .main-header .site-logo::after {
		content: none !important;
		display: none !important;
	}

	.nds-home-hero-header .main-header .site-logo .pws-logo-wrap,
	.nds-home-hero-header .main-header .site-logo .basel-logo-wrap,
	.nds-home-hero-header .main-header .site-logo .switch-logo-enable,
	.nds-home-hero-header .main-header.act-scroll .site-logo .pws-logo-wrap,
	.nds-home-hero-header .main-header.act-scroll .site-logo .basel-logo-wrap,
	.nds-home-hero-header .main-header.act-scroll .site-logo .switch-logo-enable,
	.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable,
	.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .main-header.act-scroll .switch-logo-enable {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: var(--nds-home-logo) !important;
		height: var(--nds-home-logo) !important;
		line-height: 0 !important;
		overflow: visible !important;
		transform: none !important;
		top: 0 !important;
		margin: 0 !important;
		transition: none !important;
	}

	.nds-home-hero-header .main-header .site-logo a.pws-main-logo,
	.nds-home-hero-header .main-header .site-logo a.basel-main-logo,
	.nds-home-hero-header .main-header.act-scroll .site-logo a.pws-main-logo,
	.nds-home-hero-header .main-header.act-scroll .site-logo a.basel-main-logo,
	.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .switch-logo-enable .pws-main-logo,
	.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable .pws-main-logo {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: var(--nds-home-logo) !important;
		height: var(--nds-home-logo) !important;
		min-width: var(--nds-home-logo) !important;
		min-height: var(--nds-home-logo) !important;
		max-width: var(--nds-home-logo) !important;
		max-height: var(--nds-home-logo) !important;
		line-height: 0 !important;
		border-radius: 50% !important;
		overflow: hidden !important;
		-webkit-clip-path: none !important;
		clip-path: none !important;
		background: #ffffff !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		z-index: 2;
	}

	.nds-home-hero-header .main-header .site-logo .pws-logo:before,
	.nds-home-hero-header .main-header .site-logo .basel-logo:before,
	.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .switch-logo-enable .pws-logo:before {
		content: none !important;
		display: none !important;
	}

	/* Sticky: keep main logo, never slide/hide it on mobile home */
	.nds-home-hero-header .main-header .site-logo a.pws-sticky-logo,
	.nds-home-hero-header .main-header .site-logo a.basel-sticky-logo,
	.nds-home-hero-header .main-header.act-scroll .site-logo a.pws-sticky-logo,
	.nds-home-hero-header .main-header.act-scroll .site-logo a.basel-sticky-logo,
	.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .switch-logo-enable .pws-sticky-logo,
	.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable .pws-sticky-logo {
		display: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	.nds-home-hero-header .main-header .site-logo .pws-main-logo img,
	.nds-home-hero-header .main-header .site-logo .basel-main-logo img,
	.nds-home-hero-header .main-header.act-scroll .site-logo .pws-main-logo img,
	.nds-home-hero-header .main-header.act-scroll .site-logo .basel-main-logo img,
	.nds-home-hero-header.sticky-header-real .main-header.act-scroll .site-logo .pws-main-logo img,
	.nds-home-hero-header .main-header.act-scroll .site-logo img,
	.nds-home-hero-header.act-scroll .site-logo img {
		display: block !important;
		width: var(--nds-home-logo) !important;
		height: var(--nds-home-logo) !important;
		max-width: var(--nds-home-logo) !important;
		max-height: var(--nds-home-logo) !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #ffffff !important;
		object-fit: contain !important;
		object-position: center center !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		filter: none !important;
	}

	.nds-home-hero-header .main-header.act-scroll .site-logo,
	.nds-home-hero-header.sticky-header-real .main-header.act-scroll .site-logo {
		height: var(--nds-home-bar-h) !important;
		overflow: visible !important;
	}

	.nds-home-hero-header .main-header.act-scroll .switch-logo-enable .pws-logo,
	.nds-home-hero-header.sticky-header-real:not(.global-header-menu-top) .act-scroll .switch-logo-enable .pws-logo {
		height: var(--nds-home-logo) !important;
		line-height: 0 !important;
	}
}

/* ---------- Split nav + circular logo ---------- */
/* Layout: equal cols | logo | equal cols (icons overlay right col) */
@media (min-width: 992px) {
	.header-shop .wrapp-header {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		align-items: center;
		justify-content: stretch;
		column-gap: 0;
		width: 100%;
		min-height: 130px !important;
		height: auto !important;
	}

	.header-shop .nds-nav-left {
		display: block !important;
		grid-column: 1;
		grid-row: 1;
		justify-self: stretch;
		width: 100% !important;
		flex: none !important;
		padding: 0 !important;
		overflow: visible;
		position: static;
	}

	.header-shop .nds-nav-right {
		display: block !important;
		grid-column: 3;
		grid-row: 1;
		justify-self: stretch;
		width: 100% !important;
		flex: none !important;
		padding: 0 180px 0 0 !important;
		box-sizing: border-box;
		overflow: visible;
		position: static;
	}

	.header-shop .nds-nav-left .menu,
	.header-shop .nds-nav-right .menu,
	.header-shop .nds-nav-left .menu > li,
	.header-shop .nds-nav-right .menu > li {
		overflow: visible;
	}

	.header-shop .wrapp-header,
	.header-shop .container {
		overflow: visible !important;
	}

	/* Keep full-width mega anchored to the header bar */
	.header-shop .main-nav .menu > li.menu-item-design-full-width {
		position: static !important;
	}

	.header-shop .main-nav .menu > li.menu-item-design-full-width > .sub-menu-dropdown {
		left: 0 !important;
		right: 0 !important;
		width: auto !important;
		max-width: min(980px, calc(100vw - 32px)) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		/* Stacked megas: hide ALL until their own li is hovered/opened */
		pointer-events: none !important;
		z-index: 1 !important;
	}

	.header-shop .main-nav .menu > li.menu-item-design-full-width.item-event-hover:hover > .sub-menu-dropdown,
	.header-shop .main-nav .menu > li.menu-item-design-full-width.item-event-click.item-menu-opened > .sub-menu-dropdown,
	.header-shop .main-nav .menu > li.menu-item-design-full-width.nds-mega-open > .sub-menu-dropdown {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		z-index: 600 !important;
	}

	/* While one mega is open, force-siblings closed (fixes Laser-on-top stacking) */
	.header-shop .main-nav .menu > li.menu-item-design-full-width:not(:hover):not(.item-menu-opened):not(.nds-mega-open) > .sub-menu-dropdown {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		z-index: 1 !important;
	}

	.header-shop .nds-nav-left .menu {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
		margin: 0;
	}

	.header-shop .nds-nav-right .menu {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		margin: 0;
	}

	.header-shop .site-logo {
		display: flex !important;
		grid-column: 2;
		grid-row: 1;
		justify-self: center;
		flex: none !important;
		align-items: center;
		justify-content: center;
		width: auto !important;
		padding: 0 18px !important;
		text-align: center;
		overflow: visible;
		z-index: 5;
	}

	.header-shop .right-column {
		display: flex !important;
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		align-self: center;
		flex: none !important;
		align-items: center;
		width: auto !important;
		padding-left: 0 !important;
		z-index: 6;
	}

	.header-shop .main-nav .menu > li > a {
		height: 130px !important;
		line-height: 130px !important;
		padding-left: 10px;
		padding-right: 10px;
		font-size: 13px;
		letter-spacing: 0.02em;
		white-space: nowrap;
	}

	.header-shop.act-scroll .wrapp-header,
	.sticky-header-real .header-shop.act-scroll .wrapp-header {
		min-height: 90px !important;
	}

	.header-shop.act-scroll .main-nav .menu > li > a {
		height: 90px !important;
		line-height: 90px !important;
	}
}

.main-header .switch-logo-enable .pws-logo,
.main-header .right-column {
	height: 130px !important;
	line-height: 130px !important;
}

.main-header.act-scroll .switch-logo-enable .pws-logo,
.main-header.act-scroll .right-column {
	height: 90px !important;
	line-height: 90px !important;
}

/* Circular brand mark ? kill theme perspective/backface (blurs logo) */
.main-header .pws-logo img,
.main-header .pws-main-logo img,
.main-header .basel-logo img,
.main-header .basel-main-logo img,
.sticky-header-real .pws-logo img,
.sticky-header-real .basel-logo img,
.main-header .site-logo img {
	width: 128px !important;
	height: 128px !important;
	max-width: 128px !important;
	max-height: 128px !important;
	padding: 0 !important;
	border-radius: 50%;
	object-fit: contain;
	object-position: center center;
	display: block;
	perspective: none !important;
	-webkit-perspective: none !important;
	backface-visibility: visible !important;
	-webkit-backface-visibility: visible !important;
	transform: none !important;
	filter: none !important;
	image-rendering: auto;
}

.main-header.act-scroll .pws-logo img,
.main-header.act-scroll .pws-main-logo img,
.main-header.act-scroll .pws-sticky-logo img,
.main-header.act-scroll .basel-logo img,
.main-header.act-scroll .basel-main-logo img,
.main-header.act-scroll .basel-sticky-logo img,
.sticky-header-real .main-header.act-scroll .pws-logo img,
.sticky-header-real .main-header.act-scroll .pws-sticky-logo img,
.sticky-header-real .main-header.act-scroll .basel-logo img,
.sticky-header-real .main-header.act-scroll .basel-sticky-logo img,
.act-scroll .site-logo img {
	width: 84px !important;
	height: 84px !important;
	max-width: 84px !important;
	max-height: 84px !important;
	padding: 0 !important;
	border-radius: 50%;
	object-fit: contain !important;
	object-position: center center !important;
	perspective: none !important;
	-webkit-perspective: none !important;
	backface-visibility: visible !important;
	-webkit-backface-visibility: visible !important;
	transform: none !important;
	filter: none !important;
	image-rendering: auto;
	transition: none !important;
}

/* Desktop: hide mobile horizontal quick nav */
.nds-mobile-h-nav-wrap {
	display: none;
}

@media (max-width: 991px) {
	.main-header .wrapp-header,
	.sticky-header-real .main-header .wrapp-header,
	.main-header.act-scroll .wrapp-header {
		min-height: 72px !important;
	}

	.main-header .switch-logo-enable .pws-logo,
	.main-header .right-column,
	.main-header.act-scroll .switch-logo-enable .pws-logo,
	.main-header.act-scroll .right-column {
		height: 72px !important;
		line-height: 72px !important;
	}

	.main-header .pws-logo img,
	.main-header .pws-main-logo img,
	.sticky-header-real .pws-logo img,
	.main-header .site-logo img,
	.main-header.act-scroll .pws-logo img,
	.main-header.act-scroll .pws-sticky-logo img,
	.act-scroll .site-logo img {
		width: 64px !important;
		height: 64px !important;
		max-width: 64px !important;
		max-height: 64px !important;
	}

	/* Mobile: logo left, icons right (nav hidden by PWS) */
	.header-shop .wrapp-header {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
	}

	.header-shop .site-logo {
		flex: 1 1 auto;
		padding: 0 !important;
		text-align: left;
	}

	.header-shop .right-column {
		flex: 0 0 auto;
		width: auto !important;
	}

	/* Horizontal menu under logo bar ? hamburger stays for full menu */
	.main-header .nds-mobile-h-nav-wrap,
	.main-header.act-scroll .nds-mobile-h-nav-wrap {
		display: block;
		width: 100%;
		background: #ffffff;
		border-top: 1px solid #ececec;
	}

	.main-header .nds-mobile-h-nav-wrap > .container {
		max-width: 100%;
		padding-left: 12px;
		padding-right: 12px;
	}

	.nds-mobile-h-nav {
		width: 100%;
	}

	.nds-mobile-h-nav .menu {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 0;
		margin: 0;
		padding: 0;
		list-style: none;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.nds-mobile-h-nav .menu::-webkit-scrollbar {
		display: none;
	}

	.nds-mobile-h-nav .menu > li {
		flex: 0 0 auto;
		margin: 0;
		padding: 0;
	}

	.nds-mobile-h-nav .menu > li > a {
		display: block;
		padding: 10px 12px;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		white-space: nowrap;
		color: #1a1a1a !important;
		line-height: 1.2;
		text-decoration: none;
	}

	.nds-mobile-h-nav .menu > li.current-menu-item > a,
	.nds-mobile-h-nav .menu > li.current-menu-ancestor > a {
		color: #2f5d3a !important;
		box-shadow: inset 0 -2px 0 #2f5d3a;
	}

}

/* ---------- Home + NDS hero pages: ZERO gap under white header ---------- */
/* PWS default: .main-header { margin-bottom:40px } + .main-page-wrapper { padding-top:40px; margin-top:-40px } */
/* Sticky JS later injects .header-spacing with inline marginBottom:40 ? that is the delayed gap after load. */
.home .main-header,
.page-id-781 .main-header,
.page-id-788 .main-header,
.page-id-806 .main-header {
	margin-bottom: 0 !important;
}

.home .header-spacing,
.page-id-781 .header-spacing,
.page-id-788 .header-spacing,
.page-id-806 .header-spacing {
	margin-bottom: 0 !important;
}

.home .main-page-wrapper,
.page-id-781 .main-page-wrapper,
.page-id-788 .main-page-wrapper,
.page-id-806 .main-page-wrapper {
	margin-top: 0 !important;
	padding-top: 0 !important; /* remove PWS's 40px white strip under header */
	background: #fff;
	overflow-x: clip;
}

.home .main-page-wrapper > .container,
.page-id-781 .main-page-wrapper > .container,
.page-id-788 .main-page-wrapper > .container,
.page-id-806 .main-page-wrapper > .container {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Services: full-bleed section backgrounds; content boxed inside each section */
.page-id-788 .main-page-wrapper > .container {
	max-width: none !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

.page-id-788 .vc_row[data-vc-full-width],
.page-id-788 .vc_row[data-vc-stretch-content],
.page-id-788 .vc_custom_nds_svc_page {
	position: relative !important;
	left: 0 !important;
	right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	transform: none !important;
}

.page-id-788 .vc_row-full-width {
	display: none !important;
}

.page-id-788 .vc_custom_nds_svc_page .vc_column-inner,
.page-id-788 .vc_custom_nds_svc_page .wpb_text_column,
.page-id-788 .vc_custom_nds_svc_page .wpb_wrapper {
	margin: 0 !important;
	padding: 0 !important;
}

.home .main-page-wrapper > .container > .row,
.page-id-781 .main-page-wrapper > .container > .row,
.page-id-788 .main-page-wrapper > .container > .row,
.page-id-806 .main-page-wrapper > .container > .row {
	margin-top: 0 !important;
}

.home .page-title,
.home .title-shop,
.home .breadcrumbs,
.page-id-781 .page-title,
.page-id-781 .title-shop,
.page-id-781 .breadcrumbs,
.page-id-788 .page-title,
.page-id-788 .title-shop,
.page-id-788 .breadcrumbs,
.page-id-806 .page-title,
.page-id-806 .title-shop,
.page-id-806 .breadcrumbs {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.home .site-content,
.home article.page,
.home .entry-content,
.home .wpb-content-wrapper,
.page-id-781 .site-content,
.page-id-781 article.page,
.page-id-781 .entry-content,
.page-id-781 .wpb-content-wrapper,
.page-id-788 .site-content,
.page-id-788 article.page,
.page-id-788 .entry-content,
.page-id-788 .wpb-content-wrapper,
.page-id-806 .site-content,
.page-id-806 article.page,
.page-id-806 .entry-content,
.page-id-806 .wpb-content-wrapper {
	margin: 0 !important;
	padding: 0 !important;
}

.home .entry-content > .wpb-content-wrapper > .vc_row:first-child,
.page-id-781 .entry-content > .wpb-content-wrapper > .vc_row:first-child,
.page-id-788 .entry-content > .wpb-content-wrapper > .vc_row:first-child,
.page-id-806 .entry-content > .wpb-content-wrapper > .vc_row:first-child {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* About / Services / Contact full-bleed heroes flush to header */
.page-id-781 .vc_custom_nds_about_hero,
.page-id-781 .vc_custom_nds_about_page,
.page-id-781 .nds-about-hero,
.page-id-788 .vc_custom_nds_svc_hero,
.page-id-788 .nds-svc-hero,
.page-id-806 .vc_custom_nds_ct_hero,
.page-id-806 .nds-contact-hero {
	margin-top: 0 !important;
}

.page-id-781 .vc_custom_nds_about_page .wpb_wrapper,
.page-id-781 .vc_custom_nds_about_page .wpb_text_column,
.page-id-781 .vc_custom_nds_about_page .vc_column-inner {
	margin: 0 !important;
	padding: 0 !important;
}

.home .vc_custom_nds_hm_slider,
.home .vc_custom_nds_hm_slider .vc_column-inner,
.home .vc_custom_nds_hm_slider_col,
.home .vc_custom_nds_hm_slider_txt,
.home .vc_custom_nds_hm_slider .wpb_text_column,
.home .vc_custom_nds_hm_slider .wpb_wrapper {
	margin: 0 !important;
	padding: 0 !important;
}

/* WPBakery empty wrappers only ? never collapse hero copy */
.home .vc_custom_nds_hm_slider .wpb_text_column > .wpb_wrapper > p:empty,
.home .vc_custom_nds_hm_slider .wpb_text_column > .wpb_wrapper > p.rs-p-wp-fix {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

.home .vc_custom_nds_hm_slider .nds-home-hero p,
.home .vc_custom_nds_hm_slider .nds-home-hero h1 {
	height: auto !important;
	overflow: visible !important;
	margin-top: revert;
	margin-bottom: revert;
}

/* Kill WPBakery column gutters on hero row */
.home .vc_custom_nds_hm_slider.vc_row-no-padding .vc_column_container > .vc_column-inner,
.home .vc_custom_nds_hm_slider .vc_column_container > .vc_column-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* =========================================================
   NDS Advanced Home Hero
   ========================================================= */
.nds-home-hero {
	--nds-hh-ink: #14241c;
	--nds-hh-muted: #5f7168;
	--nds-hh-accent: #1aada3;
	--nds-hh-accent-2: #0f8a7e;
	--nds-hh-gold: #e2b34a;
	--nds-hh-soft: #eef6f3;
	--nds-hh-stage-h: 520px;
	--nds-hh-copy-pad-top: calc(var(--nds-home-bar-h, 84px) + 56px);
	--nds-hh-copy-pad-bottom: 72px;
	position: relative;
	color: #fff;
	background: #1a2e24;
	overflow: hidden;
}

.nds-home-hero__stage {
	position: relative;
	height: var(--nds-hh-stage-h);
	min-height: var(--nds-hh-stage-h);
	max-height: var(--nds-hh-stage-h);
	isolation: isolate;
	overflow: hidden;
}

.nds-home-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.nds-home-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 100%;
	transform: scale(1.04);
	transition: transform 12s ease-out;
	will-change: transform;
}

.nds-home-hero.is-ready .nds-home-hero__media img {
	transform: scale(1);
}

.nds-home-hero__veil {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background:
		linear-gradient(105deg, rgba(12, 22, 18, 0.7) 0%, rgba(12, 22, 18, 0.45) 38%, rgba(12, 22, 18, 0.12) 68%, rgba(12, 22, 18, 0.04) 100%),
		linear-gradient(180deg, rgba(12, 22, 18, 0.04) 0%, transparent 18%, transparent 62%, rgba(12, 22, 18, 0.5) 100%);
}

.nds-home-hero__inner {
	position: relative;
	z-index: 3;
	max-width: 1200px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.nds-home-hero__copy {
	position: relative;
	z-index: 3;
	max-width: 560px;
	width: 100%;
	height: auto;
	min-height: 100%;
	padding: var(--nds-hh-copy-pad-top) 0 var(--nds-hh-copy-pad-bottom);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
	overflow: visible;
	pointer-events: none;
}

.nds-home-hero__copy a,
.nds-home-hero__copy .nds-home-hero__panel.is-active {
	pointer-events: auto;
}

.nds-home-hero__brand {
	margin: 0 0 10px;
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: clamp(1.7rem, 2.6vw, 3.05rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
	font-weight: 600;
	color: #fff;
	white-space: nowrap;
	width: fit-content;
	max-width: 100%;
	padding-bottom: 10px;
	position: relative;
	flex: 0 0 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
	background: linear-gradient(180deg, #ffffff 18%, rgba(232, 239, 233, 0.92) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.nds-home-hero__brand::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: min(4.5rem, 28%);
	height: 2px;
	background: linear-gradient(90deg, var(--nds-hh-gold), var(--nds-hh-accent), transparent);
	border-radius: 2px;
}

.nds-home-hero__panels {
	position: relative;
	display: grid;
	width: 100%;
	flex: 0 0 auto;
}

.nds-home-hero__panel {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity 0.45s ease, transform 0.45s ease, visibility 0.45s ease;
}

.nds-home-hero.has-typewriter .nds-home-hero__panel {
	transform: none;
	transition: opacity 0.22s ease, visibility 0.22s ease;
}

.nds-home-hero__panel.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	z-index: 1;
}

.nds-home-hero__panel.is-active .nds-home-hero__title,
.nds-home-hero__panel.is-active .nds-home-hero__lead,
.nds-home-hero__panel.is-active .nds-home-hero__ctas {
	animation: none;
}

.nds-home-hero__title {
	margin: 0 0 10px;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 100%;
	min-height: 1.35em;
	white-space: nowrap;
}

.nds-home-hero__title-mark {
	flex: 0 0 auto;
	width: 28px;
	height: 1px;
	background: linear-gradient(90deg, var(--nds-hh-accent), rgba(226, 179, 74, 0.85));
	box-shadow: 0 0 12px rgba(26, 173, 163, 0.35);
}

.nds-home-hero__title-text {
	font-family: Karla, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(0.78rem, 1.05vw, 0.9rem);
	line-height: 1.35;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
	white-space: nowrap;
}

.nds-home-hero__lead {
	margin: 0 0 18px;
	font-family: Karla, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
	line-height: 1.4;
	font-weight: 400;
	letter-spacing: 0.01em;
	color: rgba(232, 239, 233, 0.78);
	max-width: 100%;
	min-height: 1.4em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Typewriter caret */
.nds-home-hero.has-typewriter [data-nds-hh-type].is-typing::after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 0.95em;
	margin-left: 0.22em;
	vertical-align: -0.08em;
	background: linear-gradient(180deg, #fff 0%, var(--nds-hh-gold) 100%);
	box-shadow: 0 0 10px rgba(226, 179, 74, 0.55);
	animation: nds-hh-caret 0.72s steps(1, end) infinite;
}

@keyframes nds-hh-caret {
	0%,
	49% {
		opacity: 1;
	}
	50%,
	100% {
		opacity: 0;
	}
}

.nds-home-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	align-items: center;
}

.nds-home-hero.has-typewriter .nds-home-hero__ctas {
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.45s ease, transform 0.45s ease;
	pointer-events: none;
}

.nds-home-hero.has-typewriter .nds-home-hero__panel.is-typed .nds-home-hero__ctas {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.nds-home-hero__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 0;
	font-family: Karla, "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease, transform 0.28s ease, box-shadow 0.28s ease, gap 0.28s ease;
}

.nds-home-hero__btn svg {
	transition: transform 0.28s ease;
}

.nds-home-hero__btn--primary {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(120deg, var(--nds-hh-accent) 0%, var(--nds-hh-accent-2) 55%, #0c746a 100%);
	background-size: 140% 100%;
	background-position: 0 50%;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 12px 30px rgba(15, 138, 126, 0.32);
}

.nds-home-hero__btn--primary > * {
	position: relative;
	z-index: 1;
}

/* Soft continuous shine sweep ? keeps CTA quietly ?alive? */
.nds-home-hero__btn--primary::after {
	content: "";
	position: absolute;
	inset: -20% -40%;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(
		105deg,
		transparent 36%,
		rgba(255, 255, 255, 0.08) 44%,
		rgba(255, 255, 255, 0.42) 50%,
		rgba(255, 255, 255, 0.1) 56%,
		transparent 64%
	);
	transform: translateX(-55%) skewX(-18deg);
	animation: nds-hh-btn-shine 3.6s cubic-bezier(0.45, 0.05, 0.25, 1) infinite;
	will-change: transform;
}

@keyframes nds-hh-btn-shine {
	0%,
	18% {
		transform: translateX(-55%) skewX(-18deg);
		opacity: 0;
	}
	28% {
		opacity: 1;
	}
	55% {
		transform: translateX(55%) skewX(-18deg);
		opacity: 1;
	}
	68%,
	100% {
		transform: translateX(55%) skewX(-18deg);
		opacity: 0;
	}
}

.nds-home-hero__btn--primary:hover,
.nds-home-hero__btn--primary:focus-visible {
	background-position: 100% 50%;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(15, 138, 126, 0.4);
	gap: 12px;
}

.nds-home-hero__btn--primary:hover::after,
.nds-home-hero__btn--primary:focus-visible::after {
	animation-duration: 2.4s;
}

.nds-home-hero__btn--primary:hover svg,
.nds-home-hero__btn--primary:focus-visible svg {
	transform: translateX(3px);
}

.nds-home-hero__btn--ghost {
	background: transparent;
	color: rgba(255, 255, 255, 0.92) !important;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.42);
	min-height: 40px;
	padding: 0 2px 6px;
	letter-spacing: 0.1em;
}

.nds-home-hero__btn--ghost:hover,
.nds-home-hero__btn--ghost:focus-visible {
	color: #fff !important;
	border-bottom-color: var(--nds-hh-gold);
	gap: 12px;
}

.nds-home-hero__btn--ghost:hover svg,
.nds-home-hero__btn--ghost:focus-visible svg {
	transform: translateX(3px);
}

.nds-home-hero__controls {
	position: absolute;
	z-index: 20;
	left: 15px;
	right: 15px;
	bottom: 28px;
	width: auto;
	display: flex;
	align-items: center;
	gap: 18px;
	box-sizing: border-box;
	pointer-events: none;
}

.nds-home-hero__controls > * {
	pointer-events: auto;
}

.nds-home-hero__progress {
	flex: 1 1 auto;
	height: 2px;
	background: rgba(255, 255, 255, 0.22);
	overflow: hidden;
	max-width: 220px;
}

.nds-home-hero__progress-bar {
	display: block;
	height: 100%;
	width: 100%;
	background: linear-gradient(90deg, var(--nds-hh-accent), var(--nds-hh-gold));
	transform-origin: left center;
	transform: scaleX(0);
}

.nds-home-hero__progress-bar.is-running {
	animation: nds-hh-progress 6.5s linear forwards;
}

.nds-home-hero__nav {
	display: flex;
	gap: 8px;
	align-items: center;
}

.nds-home-hero__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background: transparent;
	padding: 0;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.nds-home-hero__dot.is-active,
.nds-home-hero__dot:hover,
.nds-home-hero__dot:focus-visible {
	background: #fff;
	border-color: #fff;
	transform: scale(1.15);
	outline: none;
}

.nds-home-hero__arrows {
	display: flex;
	gap: 10px;
	margin-left: auto;
	flex: 0 0 auto;
}

.nds-home-hero__arrow {
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	border-radius: 50% !important;
	border: 1px solid rgba(255, 255, 255, 0.7) !important;
	background: rgba(12, 22, 18, 0.72) !important;
	color: #fff !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	backdrop-filter: blur(8px);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
	text-indent: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	overflow: visible !important;
}

.nds-home-hero__arrow svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none;
	flex-shrink: 0;
}

.nds-home-hero__arrow svg path {
	stroke: #fff !important;
	fill: none !important;
	stroke-width: 1.8 !important;
}

.nds-home-hero__arrow:hover,
.nds-home-hero__arrow:focus-visible {
	background: rgba(26, 173, 163, 0.95) !important;
	border-color: transparent !important;
	outline: none !important;
	transform: translateY(-1px);
	color: #fff !important;
}

@keyframes nds-hh-panel-in {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes nds-hh-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

/* Small / mid desktops & laptops ? keep the large-desktop composition stable */
@media (max-width: 1440px) {
	.nds-home-hero {
		--nds-hh-stage-h: 500px;
		--nds-hh-copy-pad-top: calc(var(--nds-home-bar-h, 84px) + 48px);
		--nds-hh-copy-pad-bottom: 88px;
	}

	.nds-home-hero__brand {
		font-size: clamp(1.6rem, 2.4vw, 2.7rem);
	}

	.nds-home-hero__lead {
		margin-bottom: 18px;
		font-size: 0.98rem;
	}
}

@media (max-width: 1280px) {
	.nds-home-hero {
		--nds-hh-stage-h: 470px;
		--nds-hh-copy-pad-top: calc(var(--nds-home-bar-h, 84px) + 44px);
		--nds-hh-copy-pad-bottom: 84px;
	}

	.nds-home-hero__copy {
		max-width: 500px;
	}

	.nds-home-hero__brand {
		font-size: clamp(1.45rem, 2.2vw, 2.35rem);
		letter-spacing: -0.03em;
	}

	.nds-home-hero__title-text {
		letter-spacing: 0.14em;
		font-size: 0.78rem;
	}

	.nds-home-hero__controls {
		bottom: 22px;
		gap: 14px;
	}
}

@media (max-width: 1100px) {
	.nds-home-hero {
		--nds-hh-stage-h: 440px;
	}

	.nds-home-hero__brand {
		font-size: 1.45rem;
	}

	.nds-home-hero__btn {
		min-height: 40px;
		padding: 0 14px;
		font-size: 11px;
		letter-spacing: 0.1em;
	}
}

/* Short laptop viewports (e.g. 1366?768) */
@media (max-height: 820px) and (min-width: 992px) {
	.nds-home-hero {
		--nds-hh-stage-h: 430px;
		--nds-hh-copy-pad-top: calc(var(--nds-home-bar-h, 84px) + 36px);
		--nds-hh-copy-pad-bottom: 78px;
	}

	.nds-home-hero__brand {
		margin-bottom: 10px;
		font-size: clamp(1.4rem, 2vw, 2.1rem);
	}

	.nds-home-hero__lead {
		margin-bottom: 14px;
		line-height: 1.45;
	}

	.nds-home-hero__controls {
		bottom: 18px;
	}
}

@media (max-height: 720px) and (min-width: 992px) {
	.nds-home-hero {
		--nds-hh-stage-h: 400px;
		--nds-hh-copy-pad-top: calc(var(--nds-home-bar-h, 84px) + 28px);
		--nds-hh-copy-pad-bottom: 72px;
	}
}

@media (max-width: 991px) {
	.nds-home-hero {
		--nds-hh-stage-h: 420px;
		--nds-hh-copy-pad-top: calc(var(--nds-home-bar-h, 72px) + 28px);
		--nds-hh-copy-pad-bottom: 88px;
	}

	.nds-home-hero__copy {
		max-width: 100%;
		padding-left: 0;
	}

	.nds-home-hero__brand {
		font-size: clamp(1.35rem, 4.2vw, 2rem);
		white-space: normal;
	}

	.nds-home-hero__title-mark {
		width: 20px;
	}

	.nds-home-hero__veil {
		background:
			linear-gradient(180deg, rgba(12, 22, 18, 0.12) 0%, rgba(12, 22, 18, 0.4) 42%, rgba(12, 22, 18, 0.7) 100%);
	}

	.nds-home-hero__controls {
		left: 15px;
		right: 15px;
		padding-left: 0;
	}
}

@media (max-width: 575px) {
	.nds-home-hero {
		--nds-hh-stage-h: 460px;
		--nds-hh-copy-pad-top: calc(var(--nds-home-bar-h, 72px) + 24px);
		--nds-hh-copy-pad-bottom: 84px;
	}

	.nds-home-hero__title,
	.nds-home-hero__title-text,
	.nds-home-hero__lead {
		white-space: normal;
	}

	.nds-home-hero__copy {
		padding-left: 0;
	}

	.nds-home-hero__controls {
		left: 15px;
		right: 15px;
		bottom: 16px;
		padding-left: 0;
		flex-wrap: wrap;
		gap: 12px;
	}

	.nds-home-hero__progress {
		order: 3;
		flex: 1 1 100%;
		max-width: none;
	}

	.nds-home-hero__arrows {
		margin-left: 0;
	}

	.nds-home-hero__btn {
		min-height: 42px;
		padding: 0 14px;
		font-size: 11px;
	}

	.nds-home-hero__ctas {
		gap: 10px 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-home-hero__media img,
	.nds-home-hero__btn,
	.nds-home-hero__panel {
		transition: none !important;
		animation: none !important;
	}

	.nds-home-hero__btn--primary::after {
		display: none !important;
		animation: none !important;
	}

	.nds-home-hero.has-typewriter [data-nds-hh-type].is-typing::after {
		display: none !important;
		animation: none !important;
	}

	.nds-home-hero.has-typewriter .nds-home-hero__ctas {
		opacity: 1 !important;
		transform: none !important;
		pointer-events: auto !important;
		transition: none !important;
	}

	.nds-home-hero__panel.is-active .nds-home-hero__title,
	.nds-home-hero__panel.is-active .nds-home-hero__lead,
	.nds-home-hero__panel.is-active .nds-home-hero__ctas {
		animation: none !important;
	}

	.nds-home-hero__media img,
	.nds-home-hero.is-ready .nds-home-hero__media img {
		transform: none !important;
	}

	.nds-home-hero__progress-bar.is-running {
		animation: none !important;
		transform: scaleX(1);
	}
}

/* =========================================================
   NDS Advanced Footer
   ========================================================= */
.nds-footer {
	--nds-footer-bg: #0c1612;
	--nds-footer-bg-2: #13201a;
	--nds-footer-ink: #e8efe9;
	--nds-footer-muted: #9bb0a3;
	--nds-footer-line: rgba(255, 255, 255, 0.08);
	--nds-footer-accent: #1aada3;
	--nds-footer-accent-2: #0f8a7e;
	--nds-footer-gold: #e2b34a;
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(1200px 500px at 10% -10%, rgba(26, 173, 163, 0.18), transparent 55%),
		radial-gradient(900px 420px at 100% 0%, rgba(226, 179, 74, 0.08), transparent 50%),
		linear-gradient(165deg, var(--nds-footer-bg) 0%, var(--nds-footer-bg-2) 55%, #0a120e 100%) !important;
	color: var(--nds-footer-ink);
	border-top: 0 !important;
}

.nds-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 85%);
	pointer-events: none;
	opacity: 0.5;
}

.nds-footer-glow {
	position: absolute;
	left: 50%;
	top: -1px;
	width: min(640px, 70vw);
	height: 2px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--nds-footer-accent), var(--nds-footer-gold), transparent);
	opacity: 0.85;
	animation: nds-footer-shimmer 6s ease-in-out infinite;
}

@keyframes nds-footer-shimmer {
	0%, 100% { opacity: 0.45; filter: blur(0); }
	50% { opacity: 1; filter: blur(0.4px); }
}

.nds-footer a {
	color: var(--nds-footer-ink);
	text-decoration: none;
	transition: color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}

.nds-footer a:hover,
.nds-footer a:focus {
	color: var(--nds-footer-accent);
}

.nds-footer-main {
	position: relative;
	z-index: 1;
	padding: 72px 0 48px;
}

.nds-footer-grid {
	display: grid;
	grid-template-columns: 1.35fr 0.85fr 0.85fr 1.25fr;
	gap: 40px 36px;
	align-items: start;
}

.nds-footer-col {
	animation: nds-footer-rise 0.7s ease both;
}

.nds-footer-col:nth-child(1) { animation-delay: 0.05s; }
.nds-footer-col:nth-child(2) { animation-delay: 0.12s; }
.nds-footer-col:nth-child(3) { animation-delay: 0.19s; }
.nds-footer-col:nth-child(4) { animation-delay: 0.26s; }

@keyframes nds-footer-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

.nds-footer-logo {
	display: inline-block;
	margin-bottom: 18px;
}

.nds-footer-logo img {
	display: block;
	max-height: 78px;
	width: auto;
	filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.35));
	transition: transform 0.35s ease;
}

.nds-footer-logo:hover img {
	transform: translateY(-2px) scale(1.02);
}

.nds-footer-wordmark {
	font-family: Lora, Georgia, serif;
	font-size: 22px;
	letter-spacing: 0.02em;
}

.nds-footer-tagline {
	margin: 0 0 22px;
	max-width: 32ch;
	color: var(--nds-footer-muted);
	font-size: 15px;
	line-height: 1.65;
}

.nds-footer-title {
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	border: 0 !important;
}

.nds-footer-title::after {
	content: "";
	display: block;
	width: 28px;
	height: 2px;
	margin-top: 10px;
	background: linear-gradient(90deg, var(--nds-footer-accent), transparent);
}

.nds-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nds-footer-links li {
	margin: 0 0 11px;
	border: 0 !important;
}

.nds-footer-links a {
	position: relative;
	display: inline-block;
	color: var(--nds-footer-muted) !important;
	font-size: 15px;
	line-height: 1.4;
}

.nds-footer-links a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 1px;
	background: var(--nds-footer-accent);
	transition: width 0.28s ease;
}

.nds-footer-links a:hover {
	color: #fff !important;
	padding-left: 6px;
}

.nds-footer-links a:hover::before {
	width: 100%;
}

.nds-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nds-footer-social a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--nds-footer-line);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.03);
	backdrop-filter: blur(6px);
}

.nds-footer-social a:hover {
	border-color: rgba(26, 173, 163, 0.55);
	background: rgba(26, 173, 163, 0.12);
	transform: translateY(-2px);
}

.nds-social-icon {
	display: block;
	width: 16px;
	height: 16px;
	background: currentColor;
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.nds-social-mail {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5L4 8V6l8 5 8-5v2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5L4 8V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

.nds-social-facebook {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M22 12a10 10 0 1 0-11.5 9.9v-7H8v-3h2.5V9.5c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.4h-1.2c-1.2 0-1.6.8-1.6 1.5V12H17l-.4 3h-2.7v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M22 12a10 10 0 1 0-11.5 9.9v-7H8v-3h2.5V9.5c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.4h-1.2c-1.2 0-1.6.8-1.6 1.5V12H17l-.4 3h-2.7v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E");
}

.nds-social-instagram {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm5 5.5A4.5 4.5 0 1 0 16.5 12 4.5 4.5 0 0 0 12 7.5zm6.2-.9a1.1 1.1 0 1 0 1.1 1.1 1.1 1.1 0 0 0-1.1-1.1zM12 9.5A2.5 2.5 0 1 1 9.5 12 2.5 2.5 0 0 1 12 9.5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm5 5.5A4.5 4.5 0 1 0 16.5 12 4.5 4.5 0 0 0 12 7.5zm6.2-.9a1.1 1.1 0 1 0 1.1 1.1 1.1 1.1 0 0 0-1.1-1.1zM12 9.5A2.5 2.5 0 1 1 9.5 12 2.5 2.5 0 0 1 12 9.5z'/%3E%3C/svg%3E");
}

.nds-footer-newsletter-text {
	margin: 0 0 16px;
	color: var(--nds-footer-muted);
	font-size: 14px;
	line-height: 1.6;
}

.nds-footer-form .mc4wp-form,
.nds-footer-form form {
	margin: 0;
}

.nds-footer-form .mc4wp-form-fields,
.nds-footer-form p {
	margin: 0 !important;
}

.nds-footer-form input[type="email"] {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--nds-footer-line) !important;
	border-radius: 12px 12px 0 0 !important;
	background: rgba(255, 255, 255, 0.04) !important;
	color: #fff !important;
	font-size: 14px !important;
	box-shadow: none !important;
	outline: none;
	transition: border-color 0.25s ease, background 0.25s ease;
}

.nds-footer-form input[type="email"]::placeholder {
	color: rgba(155, 176, 163, 0.8);
}

.nds-footer-form input[type="email"]:focus {
	border-color: rgba(26, 173, 163, 0.7) !important;
	background: rgba(26, 173, 163, 0.08) !important;
}

.nds-footer-form input[type="submit"],
.nds-footer-form button[type="submit"] {
	width: 100%;
	height: 46px;
	margin-top: 0 !important;
	border: 0 !important;
	border-radius: 0 0 12px 12px !important;
	background: linear-gradient(135deg, var(--nds-footer-accent), var(--nds-footer-accent-2)) !important;
	color: #07211f !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter 0.25s ease, transform 0.25s ease;
}

.nds-footer-form input[type="submit"]:hover,
.nds-footer-form button[type="submit"]:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.nds-footer-contact-chips {
	margin-top: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.nds-footer-address {
	margin: 14px 0 0;
	color: var(--nds-footer-muted);
	font-size: 12px;
	line-height: 1.55;
	opacity: 0.9;
}

.nds-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border: 1px solid var(--nds-footer-line);
	border-radius: 999px;
	color: var(--nds-footer-muted) !important;
	font-size: 13px;
	background: rgba(255, 255, 255, 0.03);
	transition: border-color 0.25s ease, color 0.25s ease, background 0.25s ease;
}

.nds-chip:hover {
	color: #fff !important;
	border-color: rgba(26, 173, 163, 0.5);
	background: rgba(26, 173, 163, 0.1);
}

.nds-chip-icon {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--nds-footer-accent);
	box-shadow: 0 0 0 4px rgba(26, 173, 163, 0.18);
	animation: nds-pulse 2.4s ease-in-out infinite;
}

@keyframes nds-pulse {
	0%, 100% { box-shadow: 0 0 0 4px rgba(26, 173, 163, 0.16); }
	50% { box-shadow: 0 0 0 7px rgba(26, 173, 163, 0.05); }
}

.nds-footer-trust {
	position: relative;
	z-index: 1;
	border-top: 1px solid var(--nds-footer-line);
	border-bottom: 1px solid var(--nds-footer-line);
	background: rgba(0, 0, 0, 0.18);
}

.nds-trust-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 14px 24px;
	list-style: none;
	margin: 0;
	padding: 18px 0;
}

.nds-trust-list li {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--nds-footer-muted);
	font-size: 13px;
	letter-spacing: 0.02em;
	border: 0 !important;
}

.nds-trust-mark {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background:
		radial-gradient(circle at 35% 35%, #fff 0 18%, transparent 19%),
		linear-gradient(135deg, var(--nds-footer-accent), var(--nds-footer-gold));
	opacity: 0.9;
	flex: 0 0 auto;
}

.nds-footer-bottom {
	position: relative;
	z-index: 1;
	padding: 0 !important;
	background: transparent !important;
}

.nds-footer-bottom .container {
	padding-top: 0;
	padding-bottom: 0;
}

.nds-footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0 28px;
	flex-wrap: wrap;
}

.nds-copy {
	margin: 0;
	color: var(--nds-footer-muted);
	font-size: 13px;
}

.nds-copy a {
	color: #fff !important;
	font-weight: 600;
}

.nds-footer-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.nds-footer-legal a {
	color: var(--nds-footer-muted) !important;
	font-size: 13px;
}

.nds-footer-legal a:hover {
	color: var(--nds-footer-accent) !important;
}

/* Hide old PWS min-footer chrome when our footer is active */
.nds-footer .main-footer {
	display: none;
}

@media (max-width: 991px) {
	.nds-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 36px 28px;
	}

	.nds-footer-brand {
		grid-column: 1 / -1;
	}

	.nds-footer-newsletter {
		grid-column: 1 / -1;
	}

	.nds-trust-list {
		justify-content: flex-start;
	}
}

@media (max-width: 575px) {
	.nds-footer-main {
		padding: 52px 0 36px;
	}

	.nds-footer-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.nds-footer-bottom-inner {
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 36px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-footer-col,
	.nds-footer-glow,
	.nds-chip-icon {
		animation: none !important;
	}
}

/* ========== Shop mega menu (rail + panel) ========== */
.main-nav .menu > li.menu-item-design-full-width > .sub-menu-dropdown {
	border-top: 1px solid #e8eeeb;
	box-shadow: 0 18px 40px rgba(20, 36, 28, 0.14);
	background: #fff;
	padding: 0 !important;
	overflow: visible;
	z-index: 300;
	border-radius: 0 0 14px 14px;
}

.main-nav .menu > li.menu-item-design-full-width > .sub-menu-dropdown > .container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 14px !important;
	padding-right: 14px !important;
}

.nds-mega-shop {
	--nds-mega-ink: #14241c;
	--nds-mega-muted: #6b7a72;
	--nds-mega-line: #e8eeeb;
	--nds-mega-accent: #1aada3;
	--nds-mega-soft: #f3f8f6;
	padding: 12px 0 14px;
	max-height: min(68vh, 480px);
	height: auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.nds-mega-shop__top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--nds-mega-line);
	flex: 0 0 auto;
}

.nds-mega-shop__eyebrow {
	display: block;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--nds-mega-accent);
	font-weight: 700;
	margin-bottom: 2px;
}

.nds-mega-shop__title {
	display: block;
	font-size: 15px;
	line-height: 1.2;
	color: var(--nds-mega-ink);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.nds-mega-shop__all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--nds-mega-ink);
	color: #fff !important;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background .2s ease, transform .2s ease;
	white-space: nowrap;
}

.nds-mega-shop__all:hover {
	background: var(--nds-mega-accent);
	color: #fff !important;
	transform: translateY(-1px);
}

.nds-mega-shop__body {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 0;
	min-height: 0;
	flex: 0 1 auto;
	border: 1px solid var(--nds-mega-line);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

/* Header category items: only that category (no rail) */
.nds-mega-shop--single {
	max-height: min(64vh, 420px);
}

.nds-mega-shop--single .nds-mega-shop__body--single {
	grid-template-columns: minmax(0, 1fr);
}

.nds-mega-shop--single .nds-mega-panels--single {
	display: block;
	min-height: 0;
}

.nds-mega-shop--single .nds-mega-panel {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	height: auto !important;
}

.nds-mega-shop--single .nds-mega-panel[hidden] {
	display: block !important;
}

.nds-mega-rail {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 8px;
	background: var(--nds-mega-soft);
	border-right: 1px solid var(--nds-mega-line);
	overflow-y: auto;
	max-height: inherit;
}

.nds-mega-rail__btn {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 8px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: transparent;
	text-align: left;
	cursor: pointer;
	color: var(--nds-mega-ink);
	transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.nds-mega-rail__btn:hover,
.nds-mega-rail__btn:focus-visible {
	background: #fff;
	border-color: #d7e6e2;
	outline: none;
}

.nds-mega-rail__btn.is-active {
	background: #fff;
	border-color: #c9e4df;
	box-shadow: 0 6px 16px rgba(26, 173, 163, 0.1);
}

.nds-mega-rail__icon {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background-color: #e7f3f0;
	background-size: cover;
	background-position: center;
	box-shadow: inset 0 0 0 1px rgba(20, 36, 28, 0.06);
}

.nds-mega-rail__icon--fallback {
	background-image: linear-gradient(135deg, #1aada3, #14241c);
}

.nds-mega-rail__label {
	flex: 1 1 auto;
	min-width: 0;
}

.nds-mega-rail__name {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 1.25;
	color: var(--nds-mega-ink);
}

.nds-mega-rail__meta {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	color: var(--nds-mega-muted);
}

.nds-mega-rail__chev {
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid #9aaba3;
	border-bottom: 1.5px solid #9aaba3;
	transform: rotate(-45deg);
	opacity: 0.55;
	margin-right: 4px;
}

.nds-mega-rail__btn.is-active .nds-mega-rail__chev {
	border-color: var(--nds-mega-accent);
	opacity: 1;
}

.nds-mega-panels {
	position: relative;
	min-width: 0;
	min-height: 0;
	background: #fff;
}

.nds-mega-panel {
	display: none;
	flex-direction: column;
	height: auto;
	min-height: 0;
	padding: 10px 12px 12px;
}

.nds-mega-panel.is-active {
	display: flex;
}

.nds-mega-panel__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
	flex: 0 0 auto;
}

.nds-mega-panel__title {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--nds-mega-ink);
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.nds-mega-panel__sub {
	margin: 4px 0 0;
	font-size: 12px;
	color: var(--nds-mega-muted);
	line-height: 1.35;
}

.nds-mega-panel__link {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nds-mega-accent) !important;
	text-decoration: none !important;
	padding-top: 4px;
}

.nds-mega-panel__link:hover {
	color: var(--nds-mega-ink) !important;
}

.nds-mega-panel__scroll {
	flex: 0 1 auto;
	min-height: 0;
	max-height: min(48vh, 340px);
	overflow-y: auto;
	overflow-x: hidden;
	padding-right: 2px;
	scrollbar-width: thin;
	scrollbar-color: #c5d5cf transparent;
}

.nds-mega-panel__scroll::-webkit-scrollbar {
	width: 6px;
}

.nds-mega-panel__scroll::-webkit-scrollbar-thumb {
	background: #c5d5cf;
	border-radius: 99px;
}

.nds-mega-section + .nds-mega-section {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--nds-mega-line);
}

.nds-mega-section__label {
	display: block;
	margin-bottom: 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nds-mega-muted);
}

/* Featured style cards ? dense, content-fit (no giant empty cells) */
.nds-mega-featured {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 8px;
	max-width: 640px;
}

.nds-mega-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	text-decoration: none !important;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--nds-mega-line);
	background: #fff;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.nds-mega-card:hover {
	border-color: #cfe8e4;
	box-shadow: 0 10px 20px rgba(26, 173, 163, 0.12);
	transform: translateY(-2px);
}

.nds-mega-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	background-color: var(--nds-mega-soft);
	background-size: cover;
	background-position: center;
	overflow: hidden;
	position: relative;
}

.nds-mega-card__media img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	position: absolute;
	inset: 0;
}

.nds-mega-card__media--fallback {
	background-image: linear-gradient(135deg, #1aada3, #14241c);
}

.nds-mega-card__name {
	display: block;
	padding: 6px 6px 7px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--nds-mega-ink);
	line-height: 1.25;
	text-align: center;
}

.nds-mega-card:hover .nds-mega-card__name {
	color: var(--nds-mega-accent);
}

.nds-mega-card.is-current {
	border-color: #1aada3;
	box-shadow: 0 0 0 2px rgba(26, 173, 163, 0.35);
}

.nds-mega-card.is-current .nds-mega-card__name {
	color: #1aada3;
}

/* Design theme chips ? dense image rows */
.nds-mega-chips {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 12px;
}

.nds-mega-chip-wrap {
	min-width: 0;
}

.nds-mega-chip {
	display: flex !important;
	align-items: center !important;
	gap: 10px;
	padding: 6px 8px 6px 6px;
	border-radius: 12px;
	border: 1px solid transparent;
	text-decoration: none !important;
	transition: background .15s ease, border-color .15s ease;
	line-height: 1.25 !important;
}

.nds-mega-chip:hover {
	background: var(--nds-mega-soft);
	border-color: #d7e6e2;
}

.nds-mega-chip__img {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background-color: var(--nds-mega-soft);
	background-size: cover;
	background-position: center;
	box-shadow: inset 0 0 0 1px rgba(20, 36, 28, 0.06);
	overflow: hidden;
	position: relative;
	align-self: center;
}

.nds-mega-chip__img img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
}

.nds-mega-chip__name {
	flex: 1 1 auto;
	min-width: 0;
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px;
	font-weight: 600;
	color: var(--nds-mega-ink);
	line-height: 1.3 !important;
}

.nds-mega-chip:hover .nds-mega-chip__name {
	color: var(--nds-mega-accent);
}

.nds-mega-chip.is-current,
.nds-mega-chip-wrap.is-current-wrap > .nds-mega-chip {
	background: #eef7f5;
	border-color: #cfe8e4;
}

.nds-mega-chip.is-current .nds-mega-chip__name {
	color: #1aada3;
}

.nds-mega-chip.is-current .nds-mega-chip__img {
	box-shadow: 0 0 0 2px #1aada3;
}

.nds-mega-chip-kids li.is-current > a,
.nds-mega-list__item.is-current > a {
	color: #1aada3 !important;
	font-weight: 700 !important;
}

.nds-mega-chip-kids {
	list-style: none !important;
	margin: 2px 0 4px 54px !important;
	padding: 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
}

.nds-mega-chip-kids a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px;
	font-size: 11px !important;
	font-weight: 500 !important;
	color: var(--nds-mega-muted) !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	padding: 2px 0 !important;
	line-height: 1.25 !important;
}

.nds-mega-chip-kids a:hover {
	color: var(--nds-mega-accent) !important;
}

.nds-mega-chip-kids__img {
	width: 18px;
	height: 18px;
	border-radius: 4px;
	background-size: cover;
	background-position: center;
	flex: 0 0 18px;
	overflow: hidden;
	display: inline-block;
}

.nds-mega-chip-kids__img img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border: 0 !important;
	margin: 0 !important;
}

.nds-mega-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px 16px;
}

.nds-mega-list__item {
	margin: 0 !important;
	padding: 0 !important;
}

.nds-mega-list__item > a {
	display: block;
	padding: 6px 0;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	color: #2d3b34 !important;
	text-decoration: none !important;
	transition: color .15s ease, padding-left .15s ease;
}

.nds-mega-list__item > a:hover {
	color: var(--nds-mega-accent) !important;
	padding-left: 4px;
}

.nds-mega-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	border: 1px dashed #d5e2dd;
	border-radius: 14px;
	background: var(--nds-mega-soft);
	color: var(--nds-mega-ink) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.nds-mega-empty:hover {
	color: var(--nds-mega-accent) !important;
	border-color: #b9d8d2;
}

@media (max-width: 1199px) {
	.nds-mega-featured {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nds-mega-shop__body {
		grid-template-columns: 210px minmax(0, 1fr);
	}
}

@media (max-width: 991px) {
	.nds-mega-shop {
		max-height: none;
	}

	.nds-mega-shop__top {
		flex-direction: column;
		align-items: flex-start;
	}

	.nds-mega-shop__body {
		grid-template-columns: 1fr;
	}

	.nds-mega-rail {
		flex-direction: row;
		overflow-x: auto;
		overflow-y: hidden;
		border-right: 0;
		border-bottom: 1px solid var(--nds-mega-line);
		padding: 8px;
		gap: 6px;
	}

	.nds-mega-rail__btn {
		flex: 0 0 auto;
		min-width: 168px;
	}

	.nds-mega-rail__chev {
		display: none;
	}

	.nds-mega-featured {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nds-mega-chips,
	.nds-mega-list {
		grid-template-columns: 1fr;
	}

	.nds-mega-panel__scroll {
		max-height: 52vh;
	}
}

@media (max-width: 575px) {
	.nds-mega-featured {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-mega-card,
	.nds-mega-shop__all,
	.nds-mega-rail__btn {
		transition: none !important;
	}

	.nds-mega-card:hover,
	.nds-mega-shop__all:hover {
		transform: none;
	}
}


/* ========== Shop title categories ? simple PWS-style + thumbs ========== */
.title-shop.page-title,
.title-shop .container,
.title-shop .nav-shop,
.page-title.title-shop {
	overflow: visible !important;
}

.title-shop .nav-shop {
	position: relative;
	z-index: 40;
}

/* Back sits under the full-width cats row (DOM order + position:relative).
   Keep it clickable on desktop without breaking mega flyouts. */
.title-shop .pws-back-btn {
	position: absolute;
	z-index: 90;
	pointer-events: auto !important;
}

.title-shop .pws-product-categories.nds-shop-cats {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
	pointer-events: none;
}

.title-shop .nds-shop-cats > li {
	display: inline-block;
	position: static;
	margin: 0;
	padding: 0;
	vertical-align: middle;
	pointer-events: auto;
}

/* Kill PWS underline pseudo on our enhanced links ? we redraw cleanly */
.title-shop .nds-shop-cats > li > a:after {
	display: none !important;
	content: none !important;
	width: 0 !important;
}

.title-shop .nds-shop-cats > li > a {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	line-height: 50px !important;
	padding: 0 14px !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	color: inherit !important;
	position: relative;
}

.title-shop .nds-shop-cats > li > a .nds-shop-cat__label {
	position: relative;
	display: inline-block;
}

.title-shop .nds-shop-cats > li > a .nds-shop-cat__label:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 14px;
	height: 1px;
	width: 0;
	background: currentColor;
	opacity: 0.85;
	transition: width .25s ease;
}

.title-shop .nds-shop-cats > li:hover > a .nds-shop-cat__label:after,
.title-shop .nds-shop-cats > li.is-open > a .nds-shop-cat__label:after,
.title-shop .nds-shop-cats > li.current-cat > a .nds-shop-cat__label:after,
.title-shop .nds-shop-cats > li.current-cat-parent > a .nds-shop-cat__label:after,
.title-shop .nds-shop-cats > li.shop-all-link.current-cat > a:after {
	width: 100%;
}

/* Clear active state on current category tab */
.title-shop .nds-shop-cats > li.current-cat > a,
.title-shop .nds-shop-cats > li.current-cat-parent > a {
	opacity: 1;
}

.title-shop .nds-shop-cats > li.current-cat > a .nds-shop-cat__thumb,
.title-shop .nds-shop-cats > li.current-cat-parent > a .nds-shop-cat__thumb {
	box-shadow: 0 0 0 2px #1aada3, inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.title-shop .nds-shop-cats > li.current-cat > a .nds-shop-cat__label,
.title-shop .nds-shop-cats > li.current-cat-parent > a .nds-shop-cat__label {
	font-weight: 700;
}

.color-scheme-light .title-shop .nds-shop-cats > li.current-cat > a,
.color-scheme-light .title-shop .nds-shop-cats > li.current-cat-parent > a {
	color: #fff !important;
}

/* All link underline */
.title-shop .nds-shop-cats > li.shop-all-link > a {
	position: relative;
}

.title-shop .nds-shop-cats > li.shop-all-link > a:after {
	display: block !important;
	content: "" !important;
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	height: 1px;
	width: auto !important;
	background: currentColor;
	opacity: 0;
	transition: opacity .25s ease;
}

.title-shop .nds-shop-cats > li.shop-all-link:hover > a:after,
.title-shop .nds-shop-cats > li.shop-all-link.current-cat > a:after {
	opacity: 0.85;
}

.nds-shop-cat__thumb {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 4px;
	background-size: cover;
	background-position: center;
	background-color: rgba(255, 255, 255, 0.15);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25);
}

.color-scheme-light .nds-shop-cat__thumb {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

/* Mega flyout ? same panel UI as header Shop mega menu */
.title-shop .nds-shop-cats > li > .children.nds-shop-mega-flyout,
.color-scheme-light .pws-product-categories.nds-shop-cats > li > .children.nds-shop-mega-flyout {
	position: absolute !important;
	top: calc(100% + 2px) !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 80 !important;
	transform: translateY(8px) !important;
	transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.title-shop .nds-shop-cats > li > .children.nds-shop-mega-flyout:before,
.color-scheme-light .pws-product-categories.nds-shop-cats > li > .children.nds-shop-mega-flyout:before {
	display: none !important;
	content: none !important;
}

.title-shop .nds-shop-cats > li:hover > .children.nds-shop-mega-flyout,
.title-shop .nds-shop-cats > li.is-open > .children.nds-shop-mega-flyout,
.color-scheme-light .pws-product-categories.nds-shop-cats > li:hover > .children.nds-shop-mega-flyout,
.color-scheme-light .pws-product-categories.nds-shop-cats > li.is-open > .children.nds-shop-mega-flyout {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateY(0) !important;
	top: calc(100% + 2px) !important;
}

.nds-shop-mega-flyout__inner {
	background: #fff !important;
	border-radius: 16px;
	border: 1px solid #e8eeeb;
	box-shadow: 0 22px 48px rgba(20, 36, 28, 0.16);
	overflow: hidden;
	color: #14241c !important;
}

.nds-shop-mega-flyout .nds-mega-panel {
	display: flex !important;
	flex-direction: column;
	padding: 16px 18px 18px;
	max-height: min(62vh, 480px);
	min-height: 0;
	height: auto;
	color: #14241c !important;
}

.nds-shop-mega-flyout .nds-mega-panel__scroll {
	overflow-y: auto;
	max-height: none;
	flex: 1 1 auto;
}

/* Kill PWS light-scheme white links / black dropdown inside flyout */
.color-scheme-light .nds-shop-mega-flyout a,
.title-shop .nds-shop-mega-flyout a,
.color-scheme-light .pws-product-categories .nds-shop-mega-flyout a {
	color: #14241c !important;
	text-transform: none;
	letter-spacing: normal;
}

.color-scheme-light .nds-shop-mega-flyout a:after,
.title-shop .nds-shop-mega-flyout a:after,
.color-scheme-light .pws-product-categories .nds-shop-mega-flyout a:after {
	display: none !important;
	content: none !important;
	background: none !important;
	width: 0 !important;
}

.nds-shop-mega-flyout .nds-mega-panel__title {
	color: #14241c !important;
}

.nds-shop-mega-flyout .nds-mega-panel__sub,
.nds-shop-mega-flyout .nds-mega-section__label {
	color: #6b7a72 !important;
}

.nds-shop-mega-flyout .nds-mega-panel__link,
.nds-shop-mega-flyout .nds-mega-card:hover .nds-mega-card__name,
.nds-shop-mega-flyout .nds-mega-chip:hover .nds-mega-chip__name,
.nds-shop-mega-flyout .nds-mega-card.is-current .nds-mega-card__name,
.nds-shop-mega-flyout .nds-mega-chip.is-current .nds-mega-chip__name,
.nds-shop-mega-flyout .nds-mega-chip-kids li.is-current > a,
.nds-shop-mega-flyout .nds-mega-list__item.is-current > a {
	color: #1aada3 !important;
}

.nds-shop-mega-flyout .nds-mega-card.is-current {
	border-color: #1aada3 !important;
	box-shadow: 0 0 0 2px rgba(26, 173, 163, 0.35);
}

.nds-shop-mega-flyout .nds-mega-chip.is-current {
	background: #eef7f5 !important;
	border-color: #cfe8e4 !important;
}

.nds-shop-mega-flyout .nds-mega-card__name,
.nds-shop-mega-flyout .nds-mega-chip__name,
.nds-shop-mega-flyout .nds-mega-list__item > a {
	color: #14241c !important;
}

.nds-shop-mega-flyout .nds-mega-list__item > a:hover,
.nds-shop-mega-flyout .nds-mega-chip-kids a:hover {
	color: #1aada3 !important;
}

.nds-shop-mega-flyout .nds-mega-chip-kids a {
	color: #6b7a72 !important;
}

/* Reset PWS nested .children list styling inside mega panel */
.title-shop .nds-shop-mega-flyout li,
.color-scheme-light .pws-product-categories .nds-shop-mega-flyout li {
	padding-left: 0 !important;
	padding-right: 0 !important;
	position: static !important;
}

.title-shop .nds-shop-mega-flyout .nds-mega-chip-kids,
.title-shop .nds-shop-mega-flyout .nds-mega-list,
.color-scheme-light .pws-product-categories .nds-shop-mega-flyout .nds-mega-chip-kids,
.color-scheme-light .pws-product-categories .nds-shop-mega-flyout .nds-mega-list {
	position: static !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	padding: 0 !important;
	margin: 2px 0 4px 54px !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

.title-shop .nds-shop-mega-flyout .nds-mega-list {
	margin: 0 !important;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px 16px;
}

.title-shop .nds-shop-mega-flyout .nds-mega-chip-kids:before,
.title-shop .nds-shop-mega-flyout .nds-mega-list:before {
	display: none !important;
	content: none !important;
}

.nds-shop-mega-flyout .nds-mega-featured {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.nds-shop-mega-flyout .nds-mega-chips {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 12px;
}

.nds-shop-mega-flyout .nds-mega-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.nds-shop-mega-flyout .nds-mega-card__media {
	aspect-ratio: 1 / 1;
	border-radius: 12px 12px 0 0;
	min-height: 96px;
	overflow: hidden;
	position: relative;
}

.nds-shop-mega-flyout .nds-mega-card__media img,
.nds-shop-mega-flyout .nds-mega-chip__img img,
.nds-shop-mega-flyout .nds-mega-chip-kids__img img,
.color-scheme-light .nds-shop-mega-flyout img {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	max-width: none !important;
}

.nds-shop-mega-flyout .nds-mega-chip__img {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	overflow: hidden;
	border-radius: 10px;
	align-self: center !important;
}

.nds-shop-mega-flyout .nds-mega-chip,
.title-shop .nds-shop-mega-flyout a.nds-mega-chip,
.color-scheme-light .pws-product-categories .nds-shop-mega-flyout a.nds-mega-chip {
	display: flex !important;
	align-items: center !important;
	gap: 10px;
	line-height: 1.25 !important;
}

.nds-shop-mega-flyout .nds-mega-chip__name,
.title-shop .nds-shop-mega-flyout .nds-mega-chip__name,
.color-scheme-light .pws-product-categories .nds-shop-mega-flyout .nds-mega-chip__name {
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}

.nds-shop-mega-flyout .nds-mega-chip-kids a,
.title-shop .nds-shop-mega-flyout .nds-mega-chip-kids a {
	display: inline-flex !important;
	align-items: center !important;
}

@media (max-width: 991px) {
	/* Mobile shop cats: stack Back, then swipeable chips (no CATEGORIES toggle clutter) */
	.title-shop.page-title {
		padding-top: 12px !important;
		padding-bottom: 14px !important;
	}

	.title-shop .nav-shop {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		min-height: 0;
	}

	.title-shop .pws-back-btn {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		margin: 0 !important;
		align-self: flex-start;
		z-index: 2;
	}

	.title-shop .pws-show-categories {
		display: none !important;
	}

	.title-shop .pws-product-categories.nds-shop-cats {
		display: flex !important;
		justify-content: flex-start;
		align-items: stretch;
		flex-wrap: nowrap;
		gap: 8px;
		width: 100%;
		margin: 0 !important;
		padding: 2px 4px 8px !important;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		background: transparent !important;
		pointer-events: auto;
	}

	.title-shop .pws-product-categories.nds-shop-cats::-webkit-scrollbar {
		display: none;
	}

	.title-shop .nds-shop-cats > li {
		display: block;
		flex: 0 0 auto;
		max-width: none;
	}

	.title-shop .nds-shop-cats > li > a {
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
		min-height: 44px;
		line-height: 1.2 !important;
		padding: 8px 12px !important;
		white-space: nowrap;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.14);
		border: 1px solid rgba(255, 255, 255, 0.28);
		letter-spacing: 0.04em;
		font-size: 11px;
	}

	.title-shop:not(.color-scheme-light) .nds-shop-cats > li > a {
		background: #f3f7f5;
		border-color: #dde7e2;
		color: #14241c !important;
	}

	.title-shop .nds-shop-cats > li.current-cat > a,
	.title-shop .nds-shop-cats > li.current-cat-parent > a {
		background: rgba(26, 173, 163, 0.22);
		border-color: rgba(26, 173, 163, 0.55);
	}

	.title-shop:not(.color-scheme-light) .nds-shop-cats > li.current-cat > a,
	.title-shop:not(.color-scheme-light) .nds-shop-cats > li.current-cat-parent > a {
		background: #e8f7f5;
		border-color: #1aada3;
	}

	.title-shop .nds-shop-cats > li > a .nds-shop-cat__label:after,
	.title-shop .nds-shop-cats > li.shop-all-link > a:after {
		display: none !important;
		content: none !important;
		width: 0 !important;
		opacity: 0 !important;
	}

	.nds-shop-cat__thumb {
		flex: 0 0 26px;
		width: 26px;
		height: 26px;
		border-radius: 50%;
	}

	.title-shop .nds-shop-cats > li > .children.nds-shop-mega-flyout,
	.color-scheme-light .pws-product-categories.nds-shop-cats > li > .children.nds-shop-mega-flyout {
		position: fixed !important;
		left: 12px !important;
		right: 12px !important;
		top: auto !important;
		bottom: 12px !important;
		width: auto !important;
		transform: none !important;
	}

	.title-shop .nds-shop-cats > li:hover > .children.nds-shop-mega-flyout,
	.title-shop .nds-shop-cats > li.is-open > .children.nds-shop-mega-flyout {
		transform: none !important;
	}

	.nds-shop-mega-flyout .nds-mega-panel {
		max-height: 68vh;
	}

	.nds-shop-mega-flyout .nds-mega-featured {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nds-shop-mega-flyout .nds-mega-chips,
	.title-shop .nds-shop-mega-flyout .nds-mega-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575px) {
	.title-shop .nds-shop-cats > li > a {
		padding: 8px 10px !important;
		font-size: 10px;
		letter-spacing: 0.03em;
	}

	.nds-shop-cat__thumb {
		flex: 0 0 24px;
		width: 24px;
		height: 24px;
	}
}

/* ---------- Advanced shop filters (left sidebar) ---------- */
.nds-advanced-shop-filters .area-sidebar-shop {
	padding-top: 4px;
}

.nds-shop-filters-head {
	display: flex;
	align-items: ;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 18px;
	padding: 0 0 14px;
	border-bottom: 1px solid #e6ebe7;
}

.nds-shop-filters-head__title {
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #1a1a1a;
	line-height: 1.2;
}

.nds-shop-filters-head__clear {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #2d5a3d !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.nds-shop-filters-head__clear:hover {
	color: #1e3f2a !important;
	text-decoration: underline !important;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget {
	margin: 0 0 22px;
	padding: 0 0 18px;
	border-bottom: 1px solid #eef2ef;
	background: transparent;
	box-shadow: none;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget-title,
.nds-advanced-shop-filters .area-sidebar-shop .widgettitle {
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1a1a1a !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
}

.nds-advanced-shop-filters .area-sidebar-shop ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nds-advanced-shop-filters .area-sidebar-shop .pws-scroll-content li,
.nds-advanced-shop-filters .area-sidebar-shop .woocommerce-widget-layered-nav-list__item,
.nds-advanced-shop-filters .area-sidebar-shop .pws-price-filter li,
.nds-advanced-shop-filters .area-sidebar-shop .pws-sortby-list li,
.nds-advanced-shop-filters .area-sidebar-shop .wc-layered-nav-rating,
.nds-advanced-shop-filters .area-sidebar-shop .pws-stock-status li {
	margin: 0;
	padding: 0;
}

/* Categories: count is a sibling of <a>, so never make the link display:flex/block */
.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories > li,
.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories li {
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.35;
	color: inherit;
	overflow: visible;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories > li {
	margin-bottom: 2px;
	padding: 6px 0;
	border-bottom: 1px solid #f1f4f2;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories > li:last-child {
	border-bottom: 0;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories li.cat-parent {
	padding-right: 28px;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories a {
	display: inline !important;
	padding: 0 !important;
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	color: #333 !important;
	text-decoration: none !important;
	border: 0;
	vertical-align: middle;
	max-width: calc(100% - 48px);
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories a:hover,
.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories .current-cat > a,
.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories .current-cat-parent > a {
	color: #2d5a3d !important;
	font-weight: 600;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .count {
	display: inline-block;
	float: right;
	margin: 1px 0 0;
	padding: 1px 8px;
	min-width: 22px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	color: #6f776f;
	background: #f3f6f4;
	border-radius: 999px;
	text-align: center;
	vertical-align: middle;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .cat-parent > .count {
	margin-right: 2px;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .pws-cats-toggle {
	top: 6px;
	right: 0;
	width: 22px;
	height: 22px;
	line-height: 22px;
	color: #5a635c;
	border-radius: 4px;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .pws-cats-toggle:hover {
	color: #2d5a3d;
	background: #f3f6f4;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories .children {
	clear: both;
	display: none;
	margin: 8px 0 2px;
	padding: 4px 0 2px 12px;
	border-left: 2px solid #e6ebe7;
	border-bottom: 0;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories .children.list-shown,
.categories-accordion-off .nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories .children {
	display: block;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories .children > li {
	margin: 0;
	padding: 5px 0;
	border-bottom: 0;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories .children > li:before {
	content: none !important;
	display: none !important;
	padding: 0 !important;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .product-categories > li:after {
	content: "";
	display: table;
	clear: both;
}

.nds-advanced-shop-filters .area-sidebar-shop .pws-price-filter a,
.nds-advanced-shop-filters .area-sidebar-shop .pws-sortby-list a,
.nds-advanced-shop-filters .area-sidebar-shop .woocommerce-widget-layered-nav-list a,
.nds-advanced-shop-filters .area-sidebar-shop .pws-stock-status a,
.nds-advanced-shop-filters .area-sidebar-shop .wc-layered-nav-rating a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 7px 0;
	font-size: 14px;
	line-height: 1.35;
	color: #333 !important;
	text-decoration: none !important;
	border: 0;
	transition: color 0.15s ease;
}

.nds-advanced-shop-filters .area-sidebar-shop .pws-price-filter a:hover,
.nds-advanced-shop-filters .area-sidebar-shop .pws-sortby-list a:hover,
.nds-advanced-shop-filters .area-sidebar-shop .woocommerce-widget-layered-nav-list a:hover,
.nds-advanced-shop-filters .area-sidebar-shop .pws-stock-status a:hover,
.nds-advanced-shop-filters .area-sidebar-shop .wc-layered-nav-rating a:hover,
.nds-advanced-shop-filters .area-sidebar-shop .pws-price-filter .current a,
.nds-advanced-shop-filters .area-sidebar-shop .pws-sortby-list .chosen a,
.nds-advanced-shop-filters .area-sidebar-shop li.chosen > a,
.nds-advanced-shop-filters .area-sidebar-shop .woocommerce-widget-layered-nav-list__item--chosen > a {
	color: #2d5a3d !important;
	font-weight: 600;
}

.nds-advanced-shop-filters .area-sidebar-shop .count {
	font-size: 12px;
	font-weight: 500;
	color: #8a8f8c;
}

.nds-advanced-shop-filters .area-sidebar-shop .pws-scroll-content .swatch-inner,
.nds-advanced-shop-filters .area-sidebar-shop .filter-swatch {
	margin-right: 8px;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .price_slider_wrapper {
	padding: 14px 10px 8px;
	overflow: visible;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .price_slider,
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider-horizontal {
	overflow: visible;
	height: 22px;
	margin-bottom: 22px;
	background: transparent !important;
	border: 0 !important;
}

/* Track */
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider-horizontal:before {
	height: 3px;
	margin-top: -1.5px;
	background-color: #e4ebe6;
	border-radius: 999px;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-range {
	height: 3px;
	margin-top: -1.5px;
	background-color: #2d5a3d !important;
	border: 0 !important;
	border-radius: 999px;
}

/*
 * Handles: theme hit-area is transparent; visual grip is :after.
 * Old child rule painted the whole 30x30 box green ? restore grip bars.
 */
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle,
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle.ui-state-default,
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle.ui-state-hover,
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle.ui-state-focus,
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	width: 18px !important;
	height: 18px !important;
	margin-top: -9px !important;
	margin-left: -9px !important;
	top: 50% !important;
	border: 2px solid #2d5a3d !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	background-image: none !important;
	box-shadow: 0 1px 4px rgba(20, 36, 28, 0.18);
	cursor: ew-resize;
	outline: none !important;
	z-index: 3;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle:after {
	content: none !important;
	display: none !important;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle:hover,
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle.ui-state-hover,
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle.ui-state-focus,
.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	border-color: #1aada3 !important;
	background: #ffffff !important;
	box-shadow: 0 2px 8px rgba(26, 173, 163, 0.28);
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .price_slider_amount .button {
	background: #1a1a1a;
	border-color: #1a1a1a;
	color: #fff;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 8px 14px;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_price_filter .price_slider_amount .button:hover {
	background: #2d5a3d;
	border-color: #2d5a3d;
}

.nds-advanced-shop-filters .shop-loop-head .pws-filter-buttons {
	display: none !important;
}

@media (max-width: 991px) {
	.nds-advanced-shop-filters .area-sidebar-shop .nds-shop-filters-head {
		margin-top: 8px;
	}
}

/* ---------- Advanced category filter (collection accordion) ---------- */
.nds-cat-filter {
	margin: 0;
	--nds-cat-ink: #1c1c1c;
	--nds-cat-muted: #6b736c;
	--nds-cat-line: #e7ece8;
	--nds-cat-soft: #f4f7f5;
	--nds-cat-accent: #2d5a3d;
}

.nds-cat-filter__title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 12px;
}

.nds-cat-filter__title-row .widget-title,
.nds-cat-filter__title-row .widgettitle {
	margin: 0 !important;
	flex: 1 1 auto;
}

.nds-cat-filter__clear {
	flex: 0 0 auto;
	font-size: 12px !important;
	font-weight: 600;
	color: var(--nds-cat-accent) !important;
	text-decoration: none !important;
	letter-spacing: 0.02em;
}

.nds-cat-filter__clear:hover {
	text-decoration: underline !important;
}

.nds-cat-filter__active {
	margin: -4px 0 10px;
}

.nds-cat-filter__active-label {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 999px;
	background: #e8f1eb;
	color: var(--nds-cat-accent);
	font-size: 11px;
	font-weight: 600;
}

.nds-cat-filter__check {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none;
}

.nds-cat-filter__all {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	padding: 10px 12px !important;
	border: 1px solid var(--nds-cat-line);
	border-radius: 8px;
	background: #fff;
	color: var(--nds-cat-ink) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color 0.15s ease, background 0.15s ease;
	cursor: pointer;
}

.nds-cat-filter__all:hover,
.nds-cat-filter__all.is-current {
	border-color: var(--nds-cat-accent);
	background: var(--nds-cat-soft);
	color: var(--nds-cat-accent) !important;
}

.nds-cat-filter__all .nds-cat-filter__mark,
.nds-cat-filter__mark {
	width: 14px;
	height: 14px;
	border: 1.5px solid #b7c0b9;
	border-radius: 3px;
	flex: 0 0 auto;
	background: #fff;
	box-sizing: border-box;
}

.nds-cat-filter__all.is-current .nds-cat-filter__mark,
.nds-cat-filter__link.is-current .nds-cat-filter__mark,
.nds-cat-filter__parent-link.is-current .nds-cat-filter__mark,
.nds-cat-filter__check:checked + .nds-cat-filter__mark {
	border-color: var(--nds-cat-accent);
	background: var(--nds-cat-accent);
	box-shadow: inset 0 0 0 2px #fff;
}

.nds-cat-filter__blocks {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.nds-cat-filter__block {
	margin: 0;
	border: 1px solid var(--nds-cat-line);
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}

.nds-cat-filter__block[open],
.nds-cat-filter__block.is-leaf {
	border-color: #dce4de;
}

.nds-cat-filter__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 10px;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.nds-cat-filter__summary::-webkit-details-marker {
	display: none;
}

.nds-cat-filter__summary-main {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	flex: 1 1 auto;
}

.nds-cat-filter__thumb {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 7px;
	background: var(--nds-cat-soft) center / cover no-repeat;
	border: 1px solid var(--nds-cat-line);
}

.nds-cat-filter__thumb--empty {
	background: linear-gradient(145deg, #eef3ef, #e2e9e4);
}

.nds-cat-filter__parent-link {
	display: flex !important;
	align-items: center;
	gap: 8px;
	min-width: 0;
	flex: 1 1 auto;
	padding: 0 !important;
	margin: 0;
	color: var(--nds-cat-ink) !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	cursor: pointer;
}

.nds-cat-filter__parent-link:hover,
.nds-cat-filter__parent-link.is-current {
	color: var(--nds-cat-accent) !important;
}

.nds-cat-filter__parent-link .nds-cat-filter__name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1 1 auto;
	min-width: 0;
}

.nds-cat-filter__count {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 600;
	color: var(--nds-cat-muted);
	letter-spacing: 0.02em;
}

.nds-cat-filter__chev {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 5px;
	position: relative;
	background: var(--nds-cat-soft);
}

.nds-cat-filter__chev:before {
	content: "";
	position: absolute;
	top: 7px;
	left: 8px;
	width: 6px;
	height: 6px;
	border-right: 1.5px solid #5a635c;
	border-bottom: 1.5px solid #5a635c;
	transform: rotate(45deg);
	transition: transform 0.18s ease;
}

.nds-cat-filter__block[open] > .nds-cat-filter__summary .nds-cat-filter__chev:before {
	top: 9px;
	transform: rotate(225deg);
}

.nds-cat-filter__body {
	padding: 0 8px 10px;
	border-top: 1px solid var(--nds-cat-line);
	background: linear-gradient(180deg, #fbfcfb 0%, #fff 100%);
}

.nds-cat-filter__kids {
	list-style: none;
	margin: 0;
	padding: 8px 0 0;
}

.nds-cat-filter__row {
	position: relative;
	margin: 0;
}

.nds-cat-filter__link {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 8px 28px 8px 6px !important;
	margin: 0;
	border-radius: 7px;
	color: #2f342f !important;
	font-size: 13px;
	line-height: 1.3;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease;
}

.nds-cat-filter__link:hover {
	background: var(--nds-cat-soft);
	color: var(--nds-cat-accent) !important;
}

.nds-cat-filter__link.is-current {
	background: #e8f1eb;
	color: var(--nds-cat-accent) !important;
	font-weight: 600;
}

.nds-cat-filter__link .nds-cat-filter__name {
	flex: 1 1 auto;
	min-width: 0;
}

.nds-cat-filter__link .nds-cat-filter__count {
	margin-left: auto;
}

.nds-cat-filter__toggle {
	position: absolute;
	top: 5px;
	right: 2px;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 5px;
	background: transparent;
	cursor: pointer;
}

.nds-cat-filter__toggle:before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	margin: 8px auto 0;
	border-right: 1.5px solid #5a635c;
	border-bottom: 1.5px solid #5a635c;
	transform: rotate(45deg);
	transition: transform 0.18s ease;
}

.nds-cat-filter__row.is-open > .nds-cat-filter__toggle:before {
	margin-top: 10px;
	transform: rotate(225deg);
}

.nds-cat-filter__panel {
	padding: 0 0 4px 14px;
}

.nds-cat-filter__kids--depth-1 {
	padding-top: 2px;
	border-left: 2px solid var(--nds-cat-line);
	margin-left: 6px;
	padding-left: 6px;
}

.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .nds-cat-filter a:after,
.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .nds-cat-filter li:before,
.nds-advanced-shop-filters .area-sidebar-shop .widget_product_categories .nds-cat-filter summary::-webkit-details-marker {
	content: none !important;
	display: none !important;
}

/* =========================================================
   Homepage ? Shop by Category (conversion mosaic)
   ========================================================= */
.home .vc_custom_nds_hm_cats {
	--nds-hc-ink: #14241c;
	--nds-hc-muted: #5f7168;
	--nds-hc-accent: #1aada3;
	--nds-hc-accent-2: #0f8a7e;
	--nds-hc-line: rgba(20, 36, 28, 0.1);
	--nds-hc-soft: #eef6f3;
	--nds-hc-bg:
		radial-gradient(1100px 420px at 10% 0%, rgba(26, 173, 163, 0.14), transparent 58%),
		radial-gradient(900px 380px at 92% 35%, rgba(226, 179, 74, 0.1), transparent 55%),
		linear-gradient(180deg, #eef7f4 0%, #f5faf8 45%, #f3f8f6 100%);
	display: flow-root;
	position: relative;
	z-index: 0;
	margin-top: 10px !important;
	margin-bottom: 0 !important;
	padding: 40px 0 36px !important;
	background: transparent;
	overflow: visible;
}

/* Full-bleed section background (edge-to-edge, outside .container) */
.home .vc_custom_nds_hm_cats:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	transform: none;
	z-index: -1;
	background: var(--nds-hc-bg);
	pointer-events: none;
}

/* Keep breakout visible if a parent clips */
.home .main-page-wrapper > .container,
.home .main-page-wrapper > .container > .row,
.home .site-content,
.home article.page,
.home .entry-content,
.home .wpb-content-wrapper {
	overflow: visible;
}

.home .vc_custom_nds_hm_cats:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 1px;
	transform: translateX(-50%);
	z-index: 1;
	background: linear-gradient(90deg, transparent, var(--nds-hc-line), transparent);
	pointer-events: none;
}

.nds-home-cats {
	max-width: 1200px;
	margin: 0 auto;
}

.nds-home-cats__styles-wrap {
	--nds-hc-ink: #14241c;
	--nds-hc-soft: #eef6f3;
	--nds-hc-accent: #1aada3;
	position: relative;
	margin: 0 0 22px;
	padding: 0 48px;
}

.nds-home-cats__styles {
	display: flex;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 6px 4px 12px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: none;
	scroll-behavior: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
}

.nds-home-cats__styles::-webkit-scrollbar {
	display: none;
}

.nds-home-cats__styles.is-dragging {
	cursor: grabbing;
}

.nds-home-cats__nav {
	position: absolute !important;
	top: 50%;
	transform: translateY(-58%);
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid rgba(20, 36, 28, 0.14) !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #14241c !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 8px 22px rgba(12, 28, 22, 0.14) !important;
	line-height: 1 !important;
	font-size: 0 !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease !important;
	z-index: 5;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

.nds-home-cats__nav svg {
	display: block;
	width: 18px;
	height: 18px;
	pointer-events: none;
}

.nds-home-cats__nav--prev {
	left: 0;
}

.nds-home-cats__nav--next {
	right: 0;
}

.nds-home-cats__nav:hover,
.nds-home-cats__nav:focus-visible {
	background: var(--nds-hc-soft) !important;
	border-color: rgba(26, 173, 163, 0.55) !important;
	color: var(--nds-hc-accent) !important;
	transform: translateY(-58%) scale(1.05) !important;
	outline: none !important;
	box-shadow: 0 10px 26px rgba(12, 28, 22, 0.18) !important;
}

.nds-home-cats__nav:active {
	transform: translateY(-58%) scale(0.98) !important;
}

.nds-home-cats__style {
	display: flex;
	flex: 0 0 132px;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 14px 10px 12px;
	text-decoration: none !important;
	color: var(--nds-hc-ink) !important;
	border: 1px solid transparent;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.72);
	box-shadow: 0 1px 0 rgba(20, 36, 28, 0.04);
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.22s ease, box-shadow 0.28s ease, background 0.22s ease;
	opacity: 0;
	transform: translateY(18px);
	cursor: pointer;
	-webkit-user-drag: none;
}

.nds-home-cats.is-ready .nds-home-cats__style {
	opacity: 1;
	transform: none;
}

.nds-home-cats.is-ready .nds-home-cats__style.is-in,
.nds-home-cats.is-ready .nds-home-cats__tile.is-in,
.nds-home-cats.is-ready .nds-home-cats__foot.is-in {
	opacity: 1;
	transform: none;
	transition-delay: var(--nds-hc-delay, 0ms);
}

.nds-home-cats.is-ready .nds-home-cats__style:hover,
.nds-home-cats.is-ready .nds-home-cats__style:focus-visible,
.nds-home-cats__style:hover,
.nds-home-cats__style:focus-visible {
	transform: translateY(-4px);
	border-color: rgba(26, 173, 163, 0.35);
	background: #fff;
	box-shadow: 0 14px 30px rgba(15, 50, 40, 0.1);
	outline: none;
}

.nds-home-cats__style-media {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--nds-hc-soft);
	display: grid;
	place-items: center;
}

.nds-home-cats__style-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
	-webkit-user-drag: none;
}

.nds-home-cats__style:hover .nds-home-cats__style-media img {
	transform: scale(1.08);
}

.nds-home-cats__style-name {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-align: center;
	line-height: 1.25;
}

.nds-home-cats__mosaic {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: minmax(210px, 1fr);
	gap: 14px;
}

.nds-home-cats__tile {
	position: relative;
	grid-column: span 3;
	min-height: 210px;
	overflow: hidden;
	border-radius: 22px;
	text-decoration: none !important;
	color: #fff !important;
	isolation: isolate;
	opacity: 0;
	transform: translateY(22px);
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
	box-shadow: 0 10px 28px rgba(12, 28, 22, 0.08);
}

/* Balanced bento: Apparel 6?2 | Nature 6 | Astro+Location 3+3 | bottom 4?3 */
.nds-home-cats__tile--hero {
	grid-column: span 6;
	grid-row: span 2;
	min-height: 434px;
}

.nds-home-cats__tile--tall {
	grid-column: span 6;
	grid-row: span 2;
	min-height: 434px;
}

.nds-home-cats__tile--wide {
	grid-column: span 6;
	min-height: 210px;
}

.nds-home-cats__tile:hover,
.nds-home-cats__tile:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 18px 40px rgba(12, 28, 22, 0.16);
	outline: none;
}

.nds-home-cats__media,
.nds-home-cats__media img,
.nds-home-cats__shade {
	position: absolute;
	inset: 0;
}

.nds-home-cats__media {
	z-index: 0;
	background: #1a2b24;
	overflow: hidden;
}

.nds-home-cats__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	will-change: opacity, transform;
}

/* Crossfade slideshow layers */
.nds-home-cats__media--slides img {
	opacity: 0;
	transform: scale(1.08) translate3d(1.5%, 0, 0);
	transition:
		opacity 1.15s cubic-bezier(0.22, 1, 0.36, 1),
		transform 6.5s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 0;
}

.nds-home-cats__media--slides img.is-active {
	opacity: 1;
	transform: scale(1.02) translate3d(0, 0, 0);
	z-index: 1;
}

.nds-home-cats__media--slides img.is-leaving {
	opacity: 0;
	transform: scale(1.1) translate3d(-1.2%, 0, 0);
	z-index: 2;
	transition:
		opacity 1.05s cubic-bezier(0.4, 0, 0.2, 1),
		transform 1.05s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Single-image tiles: soft living ken-burns so the mosaic never feels frozen */
.nds-home-cats__media--single img {
	opacity: 1;
	transform: scale(1.04);
	animation: nds-hc-kenburns 14s ease-in-out infinite alternate;
}

.nds-home-cats__tile:hover .nds-home-cats__media--single img,
.nds-home-cats__tile:focus-visible .nds-home-cats__media--single img {
	animation-play-state: paused;
	transform: scale(1.09);
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.nds-home-cats__tile:hover .nds-home-cats__media--slides img.is-active,
.nds-home-cats__tile:focus-visible .nds-home-cats__media--slides img.is-active {
	transform: scale(1.08) translate3d(0, 0, 0);
}

@keyframes nds-hc-kenburns {
	0% {
		transform: scale(1.03) translate3d(0, 0, 0);
	}
	100% {
		transform: scale(1.12) translate3d(-1.6%, -1%, 0);
	}
}

.nds-home-cats__shade {
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(8, 18, 14, 0.08) 10%, rgba(8, 18, 14, 0.55) 62%, rgba(8, 18, 14, 0.82) 100%),
		linear-gradient(115deg, rgba(26, 173, 163, 0.18), transparent 42%);
	transition: opacity 0.35s ease;
}

.nds-home-cats__tile--hero .nds-home-cats__shade {
	background:
		linear-gradient(105deg, rgba(8, 18, 14, 0.78) 0%, rgba(8, 18, 14, 0.28) 48%, rgba(8, 18, 14, 0.55) 100%),
		linear-gradient(180deg, transparent 35%, rgba(8, 18, 14, 0.72) 100%);
}

.nds-home-cats__tile:hover .nds-home-cats__shade {
	opacity: 0.96;
}

.nds-home-cats__body {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 22px 20px 20px;
}

.nds-home-cats__tile--hero .nds-home-cats__body {
	padding: 28px 28px 26px;
	max-width: 360px;
}

.nds-home-cats__name {
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.15;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
}

.nds-home-cats__tile--hero .nds-home-cats__name {
	font-size: clamp(1.7rem, 2.4vw, 2.15rem);
}

.nds-home-cats__blurb {
	font-size: 0.9rem;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.86);
	max-width: 28ch;
}

.nds-home-cats__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	padding: 9px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transform: translateY(4px);
	opacity: 0.92;
	transition: transform 0.28s ease, background 0.28s ease, opacity 0.28s ease;
}

.nds-home-cats__tile:hover .nds-home-cats__cta,
.nds-home-cats__tile:focus-visible .nds-home-cats__cta {
	transform: translateY(0);
	opacity: 1;
	background: linear-gradient(135deg, var(--nds-hc-accent), var(--nds-hc-accent-2));
	border-color: transparent;
}

.nds-home-cats__foot {
	display: flex;
	justify-content: center;
	margin-top: 26px;
	opacity: 0;
	transform: translateY(14px);
}

.nds-home-cats__all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	border-radius: 999px;
	text-decoration: none !important;
	color: #fff !important;
	font-weight: 700;
	letter-spacing: 0.03em;
	background: linear-gradient(135deg, var(--nds-hc-accent), var(--nds-hc-accent-2));
	box-shadow: 0 10px 24px rgba(26, 173, 163, 0.28);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nds-home-cats__all:hover,
.nds-home-cats__all:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(26, 173, 163, 0.36);
	outline: none;
	color: #fff !important;
}

@media (max-width: 1100px) {
	.nds-home-cats__mosaic {
		grid-auto-rows: minmax(190px, 1fr);
	}

	.nds-home-cats__tile,
	.nds-home-cats__tile--wide {
		min-height: 190px;
	}

	.nds-home-cats__tile--hero,
	.nds-home-cats__tile--tall {
		min-height: 394px;
	}
}

@media (max-width: 900px) {
	.nds-home-cats__mosaic {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.nds-home-cats__tile,
	.nds-home-cats__tile--wide,
	.nds-home-cats__tile--tall,
	.nds-home-cats__tile--hero {
		grid-column: span 3;
		grid-row: span 1;
		min-height: 230px;
	}

	.nds-home-cats__tile--hero,
	.nds-home-cats__tile--wide {
		grid-column: span 6;
		min-height: 280px;
	}
}

@media (max-width: 640px) {
	.home .vc_custom_nds_hm_cats {
		padding: 10px 0 4px !important;
	}

	.nds-home-cats__styles-wrap {
		padding: 0 40px;
	}

	.nds-home-cats__nav {
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
	}

	.nds-home-cats__style {
		flex-basis: 112px;
		padding: 12px 8px 10px;
	}

	.nds-home-cats__style-media {
		width: 68px;
		height: 68px;
	}

	.nds-home-cats__mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.nds-home-cats__tile,
	.nds-home-cats__tile--wide,
	.nds-home-cats__tile--tall,
	.nds-home-cats__tile--hero {
		grid-column: span 1;
		grid-row: span 1;
		min-height: 168px;
	}

	.nds-home-cats__tile--hero {
		min-height: 168px;
	}

	.nds-home-cats__body {
		padding: 14px 12px 12px;
		gap: 4px;
	}

	.nds-home-cats__tile--hero .nds-home-cats__body {
		padding: 14px 12px 12px;
		max-width: none;
	}

	.nds-home-cats__name {
		font-size: 0.95rem;
	}

	.nds-home-cats__tile--hero .nds-home-cats__name {
		font-size: 0.95rem;
	}

	.nds-home-cats__blurb {
		display: none;
	}

	.nds-home-cats__cta {
		margin-top: 4px;
		padding: 7px 10px;
		font-size: 0.68rem;
		opacity: 1;
		transform: none;
		background: linear-gradient(135deg, var(--nds-hc-accent), var(--nds-hc-accent-2));
		border-color: transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-home-cats__style,
	.nds-home-cats__tile,
	.nds-home-cats__foot,
	.nds-home-cats__media img,
	.nds-home-cats__cta,
	.nds-home-cats__all {
		transition: none !important;
		animation: none !important;
	}

	.nds-home-cats__media--slides img,
	.nds-home-cats__media--slides img.is-active,
	.nds-home-cats__media--slides img.is-leaving,
	.nds-home-cats__media--single img {
		opacity: 1;
		transform: none !important;
	}

	.nds-home-cats__media--slides img:not(.is-active) {
		opacity: 0;
	}
}

/* =========================================================
   Homepage ? What We Produce (conversion spotlight)
   ========================================================= */
.home .vc_custom_nds_hm_produce {
	--nds-hp-ink: #14241c;
	--nds-hp-muted: #5f7168;
	--nds-hp-accent: #1aada3;
	--nds-hp-accent-2: #0f8a7e;
	--nds-hp-line: rgba(20, 36, 28, 0.12);
	--nds-hp-soft: #eef6f3;
	--nds-hp-bg:
		radial-gradient(900px 380px at 85% 0%, rgba(226, 179, 74, 0.12), transparent 55%),
		radial-gradient(1000px 420px at 8% 80%, rgba(26, 173, 163, 0.12), transparent 58%),
		linear-gradient(180deg, #f7faf8 0%, #eef6f3 48%, #f5f9f7 100%);
	/* flow-root prevents margin collapse with the previous VC row */
	display: flow-root;
	position: relative;
	z-index: 0;
	margin-top: 56px !important;
	margin-bottom: 40px !important;
	padding: 72px 0 !important;
	background: transparent;
	overflow: visible;
}

.home .vc_custom_nds_hm_produce:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	z-index: -1;
	pointer-events: none;
	background: var(--nds-hp-bg);
}

/* Extra top air inside the produce column (selected DOM node) */
.home .vc_custom_nds_hm_produce > .vc_column_container > .vc_column-inner {
	padding-top: 8px !important;
}

.nds-home-produce {
	--nds-hp-ink: #14241c;
	--nds-hp-muted: #5f7168;
	--nds-hp-accent: #1aada3;
	--nds-hp-accent-2: #0f8a7e;
	--nds-hp-line: rgba(20, 36, 28, 0.12);
	--nds-hp-soft: #eef6f3;
	max-width: 1200px;
	margin: 0 auto;
}

.nds-home-produce__head {
	text-align: center;
	margin: 0 0 28px;
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.nds-home-produce.is-ready .nds-home-produce__head.is-in {
	opacity: 1;
	transform: none;
}

.nds-home-produce__subtitle {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--nds-hp-accent-2);
}

.nds-home-produce__heading {
	position: relative;
	display: inline-block;
	margin: 0 0 14px;
	padding: 0 48px;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--nds-hp-ink);
}

.nds-home-produce__heading:before,
.nds-home-produce__heading:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 28px;
	height: 1px;
	background: var(--nds-hp-line);
}

.nds-home-produce__heading:before {
	left: 0;
}

.nds-home-produce__heading:after {
	right: 0;
}

.nds-home-produce__after {
	max-width: 560px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.55;
	color: var(--nds-hp-muted);
}

.nds-home-produce__trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 18px;
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.nds-home-produce.is-ready .nds-home-produce__trust.is-in {
	opacity: 1;
	transform: none;
}

.nds-home-produce__trust-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 14px;
	border: 1px solid var(--nds-hp-line);
	background: rgba(255, 255, 255, 0.72);
	color: var(--nds-hp-ink);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.2;
}

.nds-home-produce__trust-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--nds-hp-accent), var(--nds-hp-accent-2));
	box-shadow: 0 0 0 3px rgba(26, 173, 163, 0.15);
}

.nds-home-produce__rail {
	display: flex;
	gap: 14px;
	align-items: stretch;
	min-height: 480px;
}

.nds-home-produce__card {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	min-height: 480px;
	overflow: hidden;
	isolation: isolate;
	opacity: 0;
	transform: translateY(22px);
	transition:
		flex 0.55s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 0.55s ease var(--nds-hp-delay, 0ms),
		transform 0.55s ease var(--nds-hp-delay, 0ms);
}

.nds-home-produce.is-ready .nds-home-produce__card.is-in {
	opacity: 1;
	transform: none;
}

.nds-home-produce__card.is-active {
	flex: 1.75 1 0;
}

.nds-home-produce__hit {
	position: absolute;
	inset: 0;
	z-index: 3;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.nds-home-produce__card.is-active .nds-home-produce__hit {
	pointer-events: none;
}

.nds-home-produce__media,
.nds-home-produce__media img,
.nds-home-produce__shade,
.nds-home-produce__glow {
	position: absolute;
	inset: 0;
}

.nds-home-produce__media {
	z-index: 0;
}

.nds-home-produce__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.nds-home-produce__card.is-active .nds-home-produce__media img {
	transform: scale(1.08);
}

.nds-home-produce__shade {
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(12, 24, 18, 0.18) 0%, rgba(12, 24, 18, 0.28) 38%, rgba(12, 24, 18, 0.88) 100%);
	transition: background 0.45s ease;
}

.nds-home-produce__card.is-active .nds-home-produce__shade {
	background:
		linear-gradient(180deg, rgba(12, 24, 18, 0.1) 0%, rgba(12, 24, 18, 0.35) 42%, rgba(12, 24, 18, 0.9) 100%);
}

.nds-home-produce__glow {
	z-index: 1;
	opacity: 0;
	background:
		radial-gradient(520px 220px at 30% 85%, rgba(26, 173, 163, 0.35), transparent 70%);
	transition: opacity 0.45s ease;
	pointer-events: none;
}

.nds-home-produce__card.is-active .nds-home-produce__glow {
	opacity: 1;
}

.nds-home-produce__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 28px 22px 24px;
	color: #fff;
	pointer-events: none;
}

.nds-home-produce__card.is-active .nds-home-produce__body {
	pointer-events: auto;
}

.nds-home-produce__eyebrow {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.78);
}

.nds-home-produce__title {
	margin: 0;
	font-size: clamp(22px, 2.1vw, 30px);
	line-height: 1.15;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #fff;
}

.nds-home-produce__blurb,
.nds-home-produce__proof,
.nds-home-produce__chips,
.nds-home-produce__actions {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateY(10px);
	transition:
		max-height 0.5s ease,
		opacity 0.4s ease,
		transform 0.45s ease,
		margin 0.4s ease;
	margin: 0;
}

.nds-home-produce__card.is-active .nds-home-produce__blurb,
.nds-home-produce__card.is-active .nds-home-produce__proof,
.nds-home-produce__card.is-active .nds-home-produce__chips,
.nds-home-produce__card.is-active .nds-home-produce__actions {
	opacity: 1;
	transform: none;
}

.nds-home-produce__card.is-active .nds-home-produce__blurb {
	max-height: 120px;
	margin-top: 2px;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.88);
}

.nds-home-produce__card.is-active .nds-home-produce__proof {
	max-height: 40px;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8fe0d8;
}

.nds-home-produce__card.is-active .nds-home-produce__chips {
	max-height: 120px;
	margin-top: 6px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.nds-home-produce__chip {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	backdrop-filter: blur(6px);
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.nds-home-produce__chip:hover,
.nds-home-produce__chip:focus-visible {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.5);
	color: #fff;
	transform: translateY(-1px);
	outline: none;
}

.nds-home-produce__card.is-active .nds-home-produce__actions {
	max-height: 120px;
	margin-top: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.nds-home-produce__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 16px;
	background: linear-gradient(135deg, var(--nds-hp-accent), var(--nds-hp-accent-2));
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none !important;
	border: 1px solid transparent;
	transition: transform 0.2s ease, filter 0.2s ease, background 0.2s ease;
}

.nds-home-produce__cta:hover,
.nds-home-produce__cta:focus-visible {
	transform: translateY(-1px);
	filter: brightness(1.05);
	color: #fff !important;
	outline: none;
}

.nds-home-produce__cta--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.4);
}

.nds-home-produce__cta--ghost:hover,
.nds-home-produce__cta--ghost:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.7);
	filter: none;
}

.nds-home-produce__convert {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 18px;
	padding: 22px 24px;
	border: 1px solid var(--nds-hp-line);
	background:
		linear-gradient(120deg, rgba(255, 255, 255, 0.92), rgba(238, 246, 243, 0.95)),
		var(--nds-hp-soft);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.55s ease 0.1s, transform 0.55s ease 0.1s;
}

.nds-home-produce.is-ready .nds-home-produce__convert.is-in {
	opacity: 1;
	transform: none;
}

.nds-home-produce__convert-kicker {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nds-hp-accent-2);
}

.nds-home-produce__convert-title {
	margin: 0;
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.25;
	font-weight: 700;
	color: var(--nds-hp-ink);
}

.nds-home-produce__convert-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px 18px;
	flex-shrink: 0;
}

.nds-home-produce__convert-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	background: linear-gradient(135deg, var(--nds-hp-accent), var(--nds-hp-accent-2));
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none !important;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.nds-home-produce__convert-btn:hover,
.nds-home-produce__convert-btn:focus-visible {
	transform: translateY(-1px);
	filter: brightness(1.05);
	color: #fff !important;
	outline: none;
}

.nds-home-produce__convert-link {
	color: var(--nds-hp-ink);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid rgba(20, 36, 28, 0.25);
	padding-bottom: 2px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.nds-home-produce__convert-link:hover,
.nds-home-produce__convert-link:focus-visible {
	color: var(--nds-hp-accent-2);
	border-bottom-color: var(--nds-hp-accent);
	outline: none;
}

@media (max-width: 991px) {
	.nds-home-produce__rail {
		flex-direction: column;
		min-height: 0;
		gap: 12px;
	}

	.nds-home-produce__card,
	.nds-home-produce__card.is-active {
		flex: none;
		min-height: 360px;
	}

	.nds-home-produce__blurb,
	.nds-home-produce__proof,
	.nds-home-produce__chips,
	.nds-home-produce__actions {
		max-height: none;
		opacity: 1;
		transform: none;
		overflow: visible;
	}

	.nds-home-produce__blurb {
		margin-top: 2px;
		font-size: 14px;
		line-height: 1.55;
		color: rgba(255, 255, 255, 0.88);
	}

	.nds-home-produce__proof {
		margin-top: 2px;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: #8fe0d8;
	}

	.nds-home-produce__chips {
		margin-top: 6px;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.nds-home-produce__actions {
		margin-top: 10px;
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	.nds-home-produce__body {
		pointer-events: auto;
	}

	.nds-home-produce__hit {
		display: none;
	}

	.nds-home-produce__convert {
		flex-direction: column;
		align-items: flex-start;
		padding: 20px;
	}
}

@media (max-width: 575px) {
	.nds-home-produce__trust {
		gap: 8px;
	}

	.nds-home-produce__trust-item {
		padding: 7px 10px;
		font-size: 11px;
	}

	.nds-home-produce__card,
	.nds-home-produce__card.is-active {
		min-height: 420px;
	}

	.nds-home-produce__body {
		padding: 22px 18px 20px;
	}

	.home .vc_custom_nds_hm_produce {
		padding: 52px 0 !important;
	}

	.nds-home-produce__heading {
		padding: 0 36px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-home-produce__head,
	.nds-home-produce__trust,
	.nds-home-produce__card,
	.nds-home-produce__convert,
	.nds-home-produce__media img,
	.nds-home-produce__blurb,
	.nds-home-produce__proof,
	.nds-home-produce__chips,
	.nds-home-produce__actions,
	.nds-home-produce__cta,
	.nds-home-produce__chip,
	.nds-home-produce__convert-btn {
		transition: none !important;
	}
}

/* ==========================================================================
   Homepage ? How We Work (process strip)
   ========================================================================== */

.home .vc_custom_nds_hm_process {
	--nds-hw-ink: #14241c;
	--nds-hw-muted: #5f7168;
	--nds-hw-accent: #1aada3;
	--nds-hw-accent-2: #0f8a7e;
	--nds-hw-line: rgba(20, 36, 28, 0.12);
	--nds-hw-soft: #eef6f3;
	--nds-hw-bg:
		radial-gradient(900px 360px at 8% 0%, rgba(26, 173, 163, 0.12), transparent 58%),
		radial-gradient(780px 320px at 96% 80%, rgba(226, 179, 74, 0.1), transparent 55%),
		linear-gradient(180deg, #f3f8f6 0%, #f8fbfa 55%, #ffffff 100%);
	position: relative;
	z-index: 0;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 72px 0 64px !important;
	background: transparent;
	overflow: visible;
}

.home .vc_custom_nds_hm_process:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	z-index: -1;
	background: var(--nds-hw-bg);
	pointer-events: none;
}

.home .vc_custom_nds_hm_process > .vc_column_container > .vc_column-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.nds-home-process {
	color: var(--nds-hw-ink, #14241c);
}

.nds-home-process__head {
	max-width: 640px;
	margin: 0 auto 36px;
	text-align: center;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.nds-home-process.is-ready .nds-home-process__head.is-in {
	opacity: 1;
	transform: none;
}

.nds-home-process__subtitle {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--nds-hw-accent-2, #0f8a7e);
}

.nds-home-process__heading {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0 48px;
	font-size: clamp(28px, 3.2vw, 40px);
	line-height: 1.15;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--nds-hw-ink, #14241c);
}

.nds-home-process__heading:before,
.nds-home-process__heading:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 28px;
	height: 1px;
	background: var(--nds-hw-line, rgba(20, 36, 28, 0.12));
}

.nds-home-process__heading:before {
	left: 0;
}

.nds-home-process__heading:after {
	right: 0;
}

.nds-home-process__after {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--nds-hw-muted, #5f7168);
}

.nds-home-process__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
	border-top: 1px solid var(--nds-hw-line, rgba(20, 36, 28, 0.12));
	border-bottom: 1px solid var(--nds-hw-line, rgba(20, 36, 28, 0.12));
}

.nds-home-process__step {
	position: relative;
	padding: 28px 22px 26px;
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity 0.55s ease var(--nds-hw-delay, 0ms),
		transform 0.55s ease var(--nds-hw-delay, 0ms),
		background 0.25s ease;
}

.nds-home-process.is-ready .nds-home-process__step.is-in {
	opacity: 1;
	transform: none;
}

.nds-home-process__step:not(:last-child):after {
	content: "";
	position: absolute;
	top: 18%;
	right: 0;
	bottom: 18%;
	width: 1px;
	background: var(--nds-hw-line, rgba(20, 36, 28, 0.12));
}

.nds-home-process__step:hover {
	background: rgba(255, 255, 255, 0.55);
}

.nds-home-process__num {
	display: block;
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.18em;
	color: var(--nds-hw-accent, #1aada3);
}

.nds-home-process__title {
	margin: 0 0 10px;
	font-size: clamp(17px, 1.6vw, 20px);
	line-height: 1.25;
	font-weight: 700;
	color: var(--nds-hw-ink, #14241c);
}

.nds-home-process__blurb {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--nds-hw-muted, #5f7168);
}

.nds-home-process__foot {
	display: flex;
	justify-content: center;
	margin-top: 32px;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.55s ease 0.12s, transform 0.55s ease 0.12s;
}

.nds-home-process.is-ready .nds-home-process__foot.is-in {
	opacity: 1;
	transform: none;
}

.nds-home-process__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 22px;
	background: linear-gradient(135deg, var(--nds-hw-accent, #1aada3), var(--nds-hw-accent-2, #0f8a7e));
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none !important;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.nds-home-process__cta:hover,
.nds-home-process__cta:focus-visible {
	transform: translateY(-1px);
	filter: brightness(1.05);
	color: #fff !important;
	outline: none;
}

@media (max-width: 991px) {
	.nds-home-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nds-home-process__step:nth-child(2):after {
		display: none;
	}

	.nds-home-process__step:nth-child(1),
	.nds-home-process__step:nth-child(2) {
		border-bottom: 1px solid var(--nds-hw-line, rgba(20, 36, 28, 0.12));
	}
}

@media (max-width: 575px) {
	.home .vc_custom_nds_hm_process {
		padding: 52px 0 48px !important;
	}

	.nds-home-process__heading {
		padding: 0 36px;
	}

	.nds-home-process__steps {
		grid-template-columns: 1fr;
	}

	.nds-home-process__step:after {
		display: none !important;
	}

	.nds-home-process__step:not(:last-child) {
		border-bottom: 1px solid var(--nds-hw-line, rgba(20, 36, 28, 0.12));
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-home-process__head,
	.nds-home-process__step,
	.nds-home-process__foot,
	.nds-home-process__cta {
		transition: none !important;
	}
}

/* ==========================================================================
   Homepage ? Studio intro + proof metrics (merged)
   ========================================================================== */

.home .vc_custom_nds_hm_studio {
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	z-index: 0;
	overflow: visible;
}

.home .vc_custom_nds_hm_studio > .vc_column_container > .vc_column-inner {
	padding: 0 !important;
}

.nds-home-studio {
	--nds-hs-ink: #14241c;
	--nds-hs-muted: #5f7168;
	--nds-hs-accent: #1aada3;
	--nds-hs-accent-2: #0f8a7e;
	--nds-hs-gold: #e2b34a;
	--nds-hs-dark: #1a2e24;
	--nds-hs-dark-2: #13201a;
	position: relative;
	overflow: hidden;
	color: #e8efe9;
	background:
		radial-gradient(900px 420px at 12% 0%, rgba(26, 173, 163, 0.22), transparent 55%),
		radial-gradient(780px 360px at 100% 100%, rgba(226, 179, 74, 0.12), transparent 50%),
		linear-gradient(165deg, var(--nds-hs-dark) 0%, var(--nds-hs-dark-2) 55%, #0f1a14 100%);
	padding: 72px 0 0;
}

.nds-home-studio__glow {
	position: absolute;
	left: 50%;
	top: 0;
	width: min(520px, 60vw);
	height: 2px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--nds-hs-accent), var(--nds-hs-gold), transparent);
	opacity: 0.85;
	pointer-events: none;
}

.nds-home-studio__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.nds-home-studio__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 40rem;
	margin: 0 auto;
	padding: 0 8px 52px;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.65s ease, transform 0.65s ease;
}

.nds-home-studio.is-ready .nds-home-studio__intro.is-in {
	opacity: 1;
	transform: translateY(0);
}

.nds-home-studio__eyebrow {
	margin: 0 0 16px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--nds-hs-accent);
}

.nds-home-studio__heading {
	margin: 0 0 18px;
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: clamp(2.4rem, 4vw, 3.5rem);
	line-height: 1.1;
	letter-spacing: -0.03em;
	font-weight: 600;
	color: #fff;
	text-wrap: balance;
}

.nds-home-studio__copy {
	margin: 0 0 26px;
	font-size: clamp(1rem, 1.25vw, 1.1rem);
	line-height: 1.7;
	color: rgba(232, 239, 233, 0.78);
	text-wrap: pretty;
}

.nds-home-studio__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	align-items: center;
	justify-content: center;
}

.nds-home-studio__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	padding-bottom: 4px;
	transition: color 0.2s ease, border-color 0.2s ease, gap 0.2s ease;
}

.nds-home-studio__link:hover,
.nds-home-studio__link:focus-visible {
	color: var(--nds-hs-gold) !important;
	border-bottom-color: var(--nds-hs-gold);
	gap: 11px;
	outline: none;
}

.nds-home-studio__link--ghost {
	border-bottom-color: transparent;
	color: rgba(232, 239, 233, 0.72) !important;
}

.nds-home-studio__link--ghost:hover,
.nds-home-studio__link--ghost:focus-visible {
	color: #fff !important;
	border-bottom-color: rgba(255, 255, 255, 0.45);
}

.nds-home-studio__stats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(0, 0, 0, 0.18);
}

.nds-home-studio__stat {
	position: relative;
	padding: 28px 18px 32px;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.55s ease, transform 0.55s ease;
	transition-delay: var(--nds-hs-delay, 0ms);
}

.nds-home-studio.is-ready .nds-home-studio__stat.is-in {
	opacity: 1;
	transform: translateY(0);
}

.nds-home-studio__stat:not(:last-child):after {
	content: "";
	position: absolute;
	top: 24px;
	right: 0;
	bottom: 24px;
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.16), transparent);
}

.nds-home-studio__value {
	margin: 0 0 8px;
}

.nds-home-studio__num {
	display: inline-block;
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: clamp(2.1rem, 3.4vw, 3rem);
	line-height: 1;
	letter-spacing: -0.03em;
	font-weight: 600;
	background: linear-gradient(135deg, #fff 20%, var(--nds-hs-gold) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.nds-home-studio__label {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(232, 239, 233, 0.62);
}

@media (max-width: 991px) {
	.nds-home-studio {
		padding-top: 56px;
	}

	.nds-home-studio__intro {
		padding-bottom: 40px;
		max-width: 34rem;
	}

	.nds-home-studio__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nds-home-studio__stat:nth-child(2):after {
		display: none;
	}

	.nds-home-studio__stat:nth-child(1):after,
	.nds-home-studio__stat:nth-child(3):after {
		display: block;
	}
}

@media (max-width: 575px) {
	.nds-home-studio__stat {
		padding: 22px 14px 26px;
	}

	.nds-home-studio__num {
		font-size: 2rem;
	}

	.nds-home-studio__label {
		font-size: 11px;
		letter-spacing: 0.08em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-home-studio__intro,
	.nds-home-studio__stat {
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ==========================================================================
   Homepage ? Ready to start a project (CTA)
   ========================================================================== */

.home .vc_custom_nds_hm_cta {
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	z-index: 0;
	overflow: visible;
	background: none !important;
	background-image: none !important;
}

.home .vc_custom_nds_hm_cta > .vc_column_container > .vc_column-inner {
	padding: 0 !important;
	background: none !important;
	background-color: transparent !important;
}

.home .vc_custom_nds_hm_cta .wpb_wrapper > .nds-home-cta {
	margin: 0;
}

.nds-home-cta {
	--nds-hc-ink: #e8efe9;
	--nds-hc-muted: rgba(232, 239, 233, 0.78);
	--nds-hc-accent: #1aada3;
	--nds-hc-accent-2: #0f8a7e;
	--nds-hc-gold: #e2b34a;
	--nds-hc-dark: #0f1a14;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--nds-hc-ink);
	min-height: clamp(360px, 42vw, 460px);
	display: flex;
	align-items: center;
}

.nds-home-cta__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.nds-home-cta__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.04);
	transition: transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.nds-home-cta.is-ready .nds-home-cta__media img {
	transform: scale(1);
}

.nds-home-cta__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(105deg, rgba(15, 26, 20, 0.92) 0%, rgba(15, 26, 20, 0.78) 42%, rgba(15, 26, 20, 0.52) 72%, rgba(15, 26, 20, 0.68) 100%),
		radial-gradient(720px 320px at 18% 20%, rgba(26, 173, 163, 0.28), transparent 60%),
		radial-gradient(640px 280px at 92% 88%, rgba(226, 179, 74, 0.16), transparent 55%);
}

.nds-home-cta__grain {
	position: absolute;
	inset: 0;
	opacity: 0.18;
	mix-blend-mode: soft-light;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
	background-size: 180px 180px;
}

.nds-home-cta__glow {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--nds-hc-accent), var(--nds-hc-gold), transparent);
	opacity: 0.85;
}

.nds-home-cta__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 72px 15px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
	grid-template-areas:
		"copy actions"
		"meta meta";
	gap: 28px 48px;
	align-items: end;
}

.nds-home-cta__copy {
	grid-area: copy;
	max-width: 38rem;
}

.nds-home-cta__actions {
	grid-area: actions;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
	align-items: center;
	padding-bottom: 4px;
}

.nds-home-cta__meta {
	grid-area: meta;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
	padding-top: 8px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.nds-home-cta__copy,
.nds-home-cta__actions,
.nds-home-cta__meta {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.65s ease, transform 0.65s ease;
	transition-delay: var(--nds-hc-delay, 0ms);
}

.nds-home-cta.is-ready .nds-home-cta__copy.is-in,
.nds-home-cta.is-ready .nds-home-cta__actions.is-in,
.nds-home-cta.is-ready .nds-home-cta__meta.is-in {
	opacity: 1;
	transform: translateY(0);
}

.nds-home-cta__eyebrow {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--nds-hc-accent);
}

.nds-home-cta__heading {
	margin: 0 0 16px;
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: clamp(2.35rem, 4.2vw, 3.55rem);
	line-height: 1.08;
	letter-spacing: -0.03em;
	font-weight: 600;
	color: #fff;
	text-wrap: balance;
}

.nds-home-cta__lead {
	margin: 0;
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	line-height: 1.7;
	color: var(--nds-hc-muted);
	text-wrap: pretty;
	max-width: 36rem;
}

.nds-home-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 2px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease, gap 0.22s ease;
}

.nds-home-cta__btn svg {
	transition: transform 0.22s ease;
}

.nds-home-cta__btn--primary {
	background: linear-gradient(135deg, var(--nds-hc-accent) 0%, var(--nds-hc-accent-2) 100%);
	color: #fff !important;
	box-shadow: 0 10px 28px rgba(15, 138, 126, 0.28);
}

.nds-home-cta__btn--primary:hover,
.nds-home-cta__btn--primary:focus-visible {
	background: linear-gradient(135deg, #22c0b5 0%, var(--nds-hc-accent) 100%);
	color: #fff !important;
	gap: 13px;
	outline: none;
	transform: translateY(-1px);
}

.nds-home-cta__btn--primary:hover svg,
.nds-home-cta__btn--primary:focus-visible svg {
	transform: translateX(2px);
}

.nds-home-cta__btn--ghost {
	background: transparent;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.38);
}

.nds-home-cta__btn--ghost:hover,
.nds-home-cta__btn--ghost:focus-visible {
	border-color: var(--nds-hc-gold);
	color: var(--nds-hc-gold) !important;
	outline: none;
}

.nds-home-cta__phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.nds-home-cta__phone svg {
	opacity: 0.85;
	flex-shrink: 0;
}

.nds-home-cta__phone:hover,
.nds-home-cta__phone:focus-visible {
	color: var(--nds-hc-gold) !important;
	outline: none;
}

.nds-home-cta__meta-sep {
	width: 1px;
	height: 16px;
	background: rgba(255, 255, 255, 0.22);
}

.nds-home-cta__note {
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	color: rgba(232, 239, 233, 0.62);
}

@media (max-width: 991px) {
	.nds-home-cta {
		min-height: 0;
	}

	.nds-home-cta__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"copy"
			"actions"
			"meta";
		gap: 22px;
		padding: 56px 15px;
	}

	.nds-home-cta__actions {
		justify-content: flex-start;
	}

	.nds-home-cta__veil {
		background:
			linear-gradient(180deg, rgba(15, 26, 20, 0.88) 0%, rgba(15, 26, 20, 0.82) 55%, rgba(15, 26, 20, 0.9) 100%),
			radial-gradient(620px 280px at 20% 0%, rgba(26, 173, 163, 0.26), transparent 60%);
	}
}

@media (max-width: 575px) {
	.nds-home-cta__inner {
		padding: 48px 15px;
	}

	.nds-home-cta__btn {
		width: 100%;
	}

	.nds-home-cta__meta-sep {
		display: none;
	}

	.nds-home-cta__note {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-home-cta__media img {
		transition: none !important;
		transform: none !important;
	}

	.nds-home-cta__copy,
	.nds-home-cta__actions,
	.nds-home-cta__meta {
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ==========================================================================
   Our Services page ? advanced layout
   ========================================================================== */

.nds-services {
	--nds-sv-ink: #14241c;
	--nds-sv-muted: #5f7168;
	--nds-sv-accent: #1aada3;
	--nds-sv-accent-2: #0f8a7e;
	--nds-sv-gold: #e2b34a;
	--nds-sv-soft: #eef6f3;
	--nds-sv-line: rgba(20, 36, 28, 0.12);
	--nds-sv-stage: #1a2e24;
	--nds-sv-font-display: Lora, Georgia, "Times New Roman", serif;
	--nds-sv-font-ui: Karla, "Helvetica Neue", Arial, sans-serif;
	color: var(--nds-sv-ink);
	background: #fff;
	width: 100%;
	max-width: 100%;
	/* visible so CTA can break out to full-bleed */
	overflow: visible;
	box-sizing: border-box;
}

/* Allow CTA full-bleed past the 1200px services content box */
.page-id-788 .main-page-wrapper > .container,
.page-id-788 .main-page-wrapper > .container > .row,
.page-id-788 .site-content,
.page-id-788 article.page,
.page-id-788 .entry-content,
.page-id-788 .wpb-content-wrapper,
.page-id-788 .vc_custom_nds_svc_page,
.page-id-788 .vc_custom_nds_svc_page .vc_column-inner,
.page-id-788 .vc_custom_nds_svc_page .wpb_wrapper {
	overflow: visible;
}

.nds-services [data-nds-sv-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity 0.6s ease var(--nds-sv-delay, 0ms),
		transform 0.6s ease var(--nds-sv-delay, 0ms);
}

.nds-services.is-ready [data-nds-sv-reveal].is-in {
	opacity: 1;
	transform: none;
}

/* --- Hero (full-bleed breadcrumb bar, boxed content) --- */
.nds-svc-hero {
	--nds-crumb-fallback: #1a2e24;
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: 92px;
	width: 100%;
	max-width: none;
	margin: 0;
	overflow: hidden;
	color: #fff;
	background-color: var(--nds-crumb-fallback);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	box-sizing: border-box;
}

.nds-svc-hero__media,
.nds-svc-hero__media img,
.nds-svc-hero__veil {
	position: absolute;
	inset: 0;
}

.nds-svc-hero__media {
	z-index: 0;
	inset: -48% 0;
	overflow: hidden;
	pointer-events: none;
}

.nds-svc-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.22);
	will-change: transform;
}

.nds-svc-hero__veil {
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(8, 16, 12, 0.55) 0%, rgba(8, 16, 12, 0.42) 45%, rgba(8, 16, 12, 0.72) 100%),
		linear-gradient(105deg, rgba(15, 36, 28, 0.88) 0%, rgba(20, 48, 40, 0.62) 48%, rgba(12, 28, 24, 0.7) 100%),
		radial-gradient(720px 180px at 18% 50%, rgba(26, 173, 163, 0.28), transparent 68%);
}

.nds-svc-hero__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 22px 15px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
}

.nds-svc-hero__heading {
	margin: 0;
	font-family: var(--nds-sv-font-ui);
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: 0.02em;
	font-weight: 700;
	color: #fff;
}

.nds-svc-hero__crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nds-svc-hero__crumbs li {
	display: inline-flex;
	align-items: center;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: 0.04em;
	color: rgba(232, 239, 233, 0.78);
}

.nds-svc-hero__crumbs li + li::before {
	content: "/";
	margin: 0 8px;
	color: rgba(255, 255, 255, 0.35);
}

.nds-svc-hero__crumbs a {
	color: rgba(232, 239, 233, 0.78) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.nds-svc-hero__crumbs a:hover,
.nds-svc-hero__crumbs a:focus-visible {
	color: #fff !important;
	outline: none;
}

.nds-svc-hero__crumbs [aria-current="page"] {
	color: #fff;
	font-weight: 600;
}

/* --- Sticky index --- */
.nds-svc-index {
	position: sticky;
	top: 90px;
	z-index: 40;
	width: 100%;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--nds-sv-line);
	box-sizing: border-box;
}

.nds-svc-index__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 14px 15px;
	display: flex;
	align-items: center;
	gap: 18px;
	box-sizing: border-box;
}

.nds-svc-index__label {
	margin: 0;
	flex: 0 0 auto;
	font-family: var(--nds-sv-font-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--nds-sv-accent-2);
}

.nds-svc-index__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.nds-svc-index__list::-webkit-scrollbar {
	display: none;
}

.nds-svc-index__link {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 8px 12px;
	white-space: nowrap;
	text-decoration: none !important;
	color: var(--nds-sv-muted) !important;
	border-bottom: 2px solid transparent;
	transition: color 0.22s ease, border-color 0.22s ease;
}

.nds-svc-index__num {
	font-family: var(--nds-sv-font-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--nds-sv-accent);
}

.nds-svc-index__title {
	font-family: var(--nds-sv-font-ui);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.nds-svc-index__link:hover,
.nds-svc-index__link:focus-visible {
	color: var(--nds-sv-ink) !important;
	outline: none;
}

.nds-svc-index__link.is-active {
	color: var(--nds-sv-ink) !important;
	border-bottom-color: var(--nds-sv-accent);
}

/* --- Showcase --- */
.nds-svc-showcase {
	width: 100%;
	padding: 72px 0 24px;
	background:
		radial-gradient(720px 280px at 8% 0%, rgba(26, 173, 163, 0.08), transparent 55%),
		linear-gradient(180deg, #f7fbf9 0%, #ffffff 38%, #ffffff 100%);
	box-sizing: border-box;
}

.nds-svc-showcase__head {
	max-width: 640px;
	margin: 0 auto 48px;
	padding: 0 15px;
	text-align: center;
	box-sizing: border-box;
}

.nds-svc-showcase__eyebrow,
.nds-svc-process__eyebrow,
.nds-svc-paths__eyebrow {
	margin: 0 0 8px;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--nds-sv-accent-2);
}

.nds-svc-showcase__heading,
.nds-svc-process__heading,
.nds-svc-paths__heading {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0 48px;
	font-family: var(--nds-sv-font-ui);
	font-size: clamp(28px, 3.2vw, 40px);
	line-height: 1.15;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--nds-sv-ink);
}

.nds-svc-showcase__heading:before,
.nds-svc-showcase__heading:after,
.nds-svc-process__heading:before,
.nds-svc-process__heading:after,
.nds-svc-paths__heading:before,
.nds-svc-paths__heading:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 28px;
	height: 1px;
	background: var(--nds-sv-line);
}

.nds-svc-showcase__heading:before,
.nds-svc-process__heading:before,
.nds-svc-paths__heading:before {
	left: 0;
}

.nds-svc-showcase__heading:after,
.nds-svc-process__heading:after,
.nds-svc-paths__heading:after {
	right: 0;
}

.nds-svc-showcase__lead,
.nds-svc-process__lead {
	margin: 14px 0 0;
	font-family: var(--nds-sv-font-ui);
	font-size: 15px;
	line-height: 1.55;
	color: var(--nds-sv-muted);
}

.nds-svc-showcase__bands {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* --- Service bands (full-bleed bg, boxed content) --- */
.nds-svc-band {
	width: 100%;
	scroll-margin-top: 160px;
	background: #fff;
	box-sizing: border-box;
}

.nds-svc-band:nth-child(even) {
	background:
		linear-gradient(160deg, #f7fbf9 0%, #eef6f3 100%);
}

.nds-svc-band__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	min-height: 520px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.nds-svc-band--flip .nds-svc-band__inner {
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.nds-svc-band--flip .nds-svc-band__media {
	order: 2;
}

.nds-svc-band--flip .nds-svc-band__body {
	order: 1;
}

.nds-svc-band__media {
	position: relative;
	min-height: 420px;
	overflow: hidden;
	background: var(--nds-sv-stage);
}

.nds-svc-band__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.04);
	transition: transform 1.1s ease;
}

.nds-svc-band.is-in .nds-svc-band__media img {
	transform: scale(1);
}

.nds-svc-band__shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, transparent 55%, rgba(12, 22, 18, 0.28) 100%),
		radial-gradient(520px 240px at 20% 20%, rgba(26, 173, 163, 0.18), transparent 60%);
}

.nds-svc-band__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 56px);
	background: transparent;
}

.nds-svc-band__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nds-sv-accent-2);
}

.nds-svc-band__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.2em;
	color: var(--nds-sv-gold);
	letter-spacing: 0.08em;
}

.nds-svc-band__title {
	margin: 0 0 14px;
	font-family: var(--nds-sv-font-display);
	font-size: clamp(1.7rem, 2.6vw, 2.35rem);
	line-height: 1.12;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--nds-sv-ink);
}

.nds-svc-band__blurb {
	margin: 0 0 12px;
	font-family: var(--nds-sv-font-ui);
	font-size: 15px;
	line-height: 1.6;
	color: var(--nds-sv-ink);
	max-width: 36em;
}

.nds-svc-band__proof {
	margin: 0 0 20px;
	font-family: var(--nds-sv-font-ui);
	font-size: 14px;
	line-height: 1.55;
	color: var(--nds-sv-muted);
	max-width: 36em;
}

.nds-svc-band__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
}

.nds-svc-band__chip {
	display: inline-flex;
	align-items: center;
	padding: 7px 12px;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--nds-sv-ink) !important;
	text-decoration: none !important;
	background: var(--nds-sv-soft);
	border: 1px solid rgba(26, 173, 163, 0.18);
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.nds-svc-band__chip:hover,
.nds-svc-band__chip:focus-visible {
	background: #e3f3ef;
	border-color: var(--nds-sv-accent);
	color: var(--nds-sv-accent-2) !important;
	outline: none;
}

.nds-svc-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	align-items: center;
}

.nds-svc-band__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 18px;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	background: linear-gradient(120deg, var(--nds-sv-accent) 0%, var(--nds-sv-accent-2) 100%);
	color: #fff !important;
	border: 1px solid transparent;
	transition: transform 0.25s ease, box-shadow 0.25s ease, gap 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.nds-svc-band__cta svg {
	transition: transform 0.25s ease;
}

.nds-svc-band__cta:hover,
.nds-svc-band__cta:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(15, 138, 126, 0.28);
	gap: 12px;
	outline: none;
}

.nds-svc-band__cta:hover svg,
.nds-svc-band__cta:focus-visible svg {
	transform: translateX(3px);
}

.nds-svc-band__cta--ghost {
	background: transparent;
	color: var(--nds-sv-ink) !important;
	border-color: rgba(20, 36, 28, 0.22);
	box-shadow: none;
}

.nds-svc-band__cta--ghost:hover,
.nds-svc-band__cta--ghost:focus-visible {
	border-color: var(--nds-sv-accent);
	color: var(--nds-sv-accent-2) !important;
	box-shadow: none;
}

/* --- Process --- */
.nds-svc-process {
	width: 100%;
	padding: 72px 0 64px;
	background:
		radial-gradient(780px 320px at 96% 80%, rgba(226, 179, 74, 0.1), transparent 55%),
		linear-gradient(180deg, #f3f8f6 0%, #f8fbfa 55%, #ffffff 100%);
	box-sizing: border-box;
}

.nds-svc-process__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.nds-svc-process__head {
	max-width: 640px;
	margin: 0 auto 36px;
	text-align: center;
}

.nds-svc-process__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--nds-sv-line);
	border-bottom: 1px solid var(--nds-sv-line);
}

.nds-svc-process__steps > li {
	position: relative;
	padding: 28px 22px 26px;
	transition: background 0.25s ease;
}

.nds-svc-process__steps > li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 18%;
	right: 0;
	width: 1px;
	height: 64%;
	background: var(--nds-sv-line);
}

.nds-svc-process__steps > li:hover {
	background: rgba(255, 255, 255, 0.7);
}

.nds-svc-process__num {
	display: block;
	margin: 0 0 10px;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--nds-sv-accent);
}

.nds-svc-process__title {
	margin: 0 0 8px;
	font-family: var(--nds-sv-font-display);
	font-size: 1.35rem;
	line-height: 1.2;
	font-weight: 600;
	color: var(--nds-sv-ink);
}

.nds-svc-process__blurb {
	margin: 0;
	font-family: var(--nds-sv-font-ui);
	font-size: 14px;
	line-height: 1.55;
	color: var(--nds-sv-muted);
}

/* --- Shop paths --- */
.nds-svc-paths {
	width: 100%;
	padding: 64px 0 72px;
	background: #fff;
	box-sizing: border-box;
}

.nds-svc-paths__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.nds-svc-paths__head {
	margin: 0 0 28px;
	text-align: center;
}

.nds-svc-paths__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--nds-sv-line);
}

.nds-svc-paths__list > li {
	border-bottom: 1px solid var(--nds-sv-line);
}

.nds-svc-path {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 18px;
	align-items: center;
	padding: 22px 4px;
	text-decoration: none !important;
	color: inherit !important;
	transition: background 0.22s ease, padding 0.22s ease;
}

.nds-svc-path:hover,
.nds-svc-path:focus-visible {
	background: var(--nds-sv-soft);
	padding-left: 12px;
	padding-right: 12px;
	outline: none;
}

.nds-svc-path__index {
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--nds-sv-accent);
}

.nds-svc-path__title {
	display: block;
	font-family: var(--nds-sv-font-display);
	font-size: 1.35rem;
	line-height: 1.2;
	font-weight: 600;
	color: var(--nds-sv-ink);
}

.nds-svc-path__blurb {
	display: block;
	margin-top: 4px;
	font-family: var(--nds-sv-font-ui);
	font-size: 14px;
	color: var(--nds-sv-muted);
}

.nds-svc-path__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nds-sv-accent-2);
}

.nds-svc-path__cta svg {
	transition: transform 0.22s ease;
}

.nds-svc-path:hover .nds-svc-path__cta svg,
.nds-svc-path:focus-visible .nds-svc-path__cta svg {
	transform: translateX(3px);
}

/* --- CTA (full-bleed bg, boxed content) --- */
.nds-svc-cta {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	min-height: 420px;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #fff;
	background: #0f1a14;
	box-sizing: border-box;
}

.nds-svc-cta__media,
.nds-svc-cta__media img,
.nds-svc-cta__veil,
.nds-svc-cta__grain {
	position: absolute;
	inset: 0;
}

.nds-svc-cta__media {
	z-index: 0;
}

.nds-svc-cta__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.55;
}

.nds-svc-cta__veil {
	z-index: 1;
	background:
		linear-gradient(105deg, rgba(15, 26, 20, 0.92) 0%, rgba(15, 26, 20, 0.78) 48%, rgba(15, 26, 20, 0.62) 100%),
		radial-gradient(620px 280px at 20% 0%, rgba(26, 173, 163, 0.26), transparent 60%);
}

.nds-svc-cta__grain {
	z-index: 2;
	opacity: 0.22;
	mix-blend-mode: soft-light;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.nds-svc-cta__inner {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 72px 15px;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
	gap: 32px;
	align-items: center;
	box-sizing: border-box;
}

.nds-svc-cta__eyebrow {
	margin: 0 0 10px;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(226, 179, 74, 0.92);
}

.nds-svc-cta__heading {
	margin: 0 0 14px;
	font-family: var(--nds-sv-font-display);
	font-size: clamp(1.85rem, 3vw, 2.6rem);
	line-height: 1.12;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #fff;
}

.nds-svc-cta__lead {
	margin: 0;
	font-family: var(--nds-sv-font-ui);
	font-size: 15px;
	line-height: 1.55;
	color: rgba(232, 239, 233, 0.78);
	max-width: 36em;
}

.nds-svc-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
}

.nds-svc-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 20px;
	font-family: var(--nds-sv-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.nds-svc-cta__btn--primary {
	background: linear-gradient(120deg, var(--nds-sv-accent) 0%, var(--nds-sv-accent-2) 100%);
	color: #fff !important;
	box-shadow: 0 12px 30px rgba(15, 138, 126, 0.32);
}

.nds-svc-cta__btn--primary:hover,
.nds-svc-cta__btn--primary:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(15, 138, 126, 0.4);
	outline: none;
}

.nds-svc-cta__btn--ghost {
	background: transparent;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.38);
}

.nds-svc-cta__btn--ghost:hover,
.nds-svc-cta__btn--ghost:focus-visible {
	border-color: var(--nds-sv-gold);
	color: var(--nds-sv-gold) !important;
	outline: none;
}

/* --- Responsive --- */
@media (max-width: 991px) {
	.nds-svc-hero__inner {
		padding: 20px 15px;
	}

	.nds-svc-index {
		top: 72px;
	}

	.nds-svc-index__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 12px 15px;
	}

	.nds-svc-band {
		scroll-margin-top: 140px;
	}

	.nds-svc-band__inner,
	.nds-svc-band--flip .nds-svc-band__inner {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.nds-svc-band--flip .nds-svc-band__media,
	.nds-svc-band--flip .nds-svc-band__body {
		order: initial;
	}

	.nds-svc-band__media {
		min-height: 280px;
		aspect-ratio: 16 / 10;
	}

	.nds-svc-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nds-svc-process__steps > li:nth-child(2)::after {
		display: none;
	}

	.nds-svc-cta__inner {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 56px 15px;
	}

	.nds-svc-cta__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

@media (max-width: 575px) {
	.nds-svc-hero {
		min-height: 84px;
	}

	.nds-svc-hero__inner {
		padding: 18px 15px;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.nds-svc-band__cta,
	.nds-svc-cta__btn {
		width: 100%;
		justify-content: center;
	}

	.nds-svc-showcase {
		padding-top: 48px;
	}

	.nds-svc-showcase__heading,
	.nds-svc-process__heading,
	.nds-svc-paths__heading {
		padding: 0 24px;
	}

	.nds-svc-process__steps {
		grid-template-columns: 1fr;
	}

	.nds-svc-process__steps > li:not(:last-child)::after {
		display: none;
	}

	.nds-svc-path {
		grid-template-columns: auto 1fr;
		gap: 12px 14px;
	}

	.nds-svc-path__cta {
		grid-column: 2;
	}

	.nds-svc-cta__actions {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-svc-hero__media img,
	.nds-svc-band__media img {
		transition: none !important;
		transform: none !important;
	}

	.nds-services [data-nds-sv-reveal] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
/* ==========================================================================
   About Us page ? [nds_about_page]
   ========================================================================== */

.nds-about {
	--nds-ab-ink: #14241c;
	--nds-ab-muted: #5f7168;
	--nds-ab-accent: #1aada3;
	--nds-ab-accent-2: #0f8a7e;
	--nds-ab-gold: #e2b34a;
	--nds-ab-soft: #eef6f3;
	--nds-ab-dark: #1a2e24;
	--nds-ab-dark-2: #13201a;
	--nds-ab-line: rgba(20, 36, 28, 0.12);
	color: var(--nds-ab-ink);
	background: #fff;
}

.nds-about [data-nds-ab-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.65s ease, transform 0.65s ease;
	transition-delay: var(--nds-ab-delay, 0ms);
}

.nds-about.is-ready [data-nds-ab-reveal].is-in {
	opacity: 1;
	transform: translateY(0);
}

/* ----- Hero (full-bleed breadcrumb bar, boxed content) ----- */
.nds-about-hero {
	--nds-crumb-fallback: #1a2e24;
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: 92px;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	color: #fff;
	background-color: var(--nds-crumb-fallback);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.nds-about-hero__media,
.nds-about-hero__media img,
.nds-about-hero__veil {
	position: absolute;
	inset: 0;
}

.nds-about-hero__media {
	z-index: 0;
	inset: -48% 0;
	overflow: hidden;
	pointer-events: none;
}

.nds-about-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.22);
	will-change: transform;
}

.nds-about-hero__veil {
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(8, 16, 12, 0.55) 0%, rgba(8, 16, 12, 0.42) 45%, rgba(8, 16, 12, 0.72) 100%),
		linear-gradient(105deg, rgba(15, 36, 28, 0.88) 0%, rgba(20, 48, 40, 0.62) 48%, rgba(12, 28, 24, 0.7) 100%),
		radial-gradient(720px 180px at 18% 50%, rgba(26, 173, 163, 0.28), transparent 68%);
}

.nds-about-hero__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 22px 15px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
}

.nds-about-hero__heading {
	margin: 0;
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: 0.02em;
	font-weight: 700;
	color: #fff;
}

.nds-about-hero__crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nds-about-hero__crumbs li {
	display: inline-flex;
	align-items: center;
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: 0.04em;
	color: rgba(232, 239, 233, 0.78);
}

.nds-about-hero__crumbs li + li::before {
	content: "/";
	margin: 0 8px;
	color: rgba(255, 255, 255, 0.35);
}

.nds-about-hero__crumbs a {
	color: rgba(232, 239, 233, 0.78) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.nds-about-hero__crumbs a:hover,
.nds-about-hero__crumbs a:focus-visible {
	color: #fff !important;
	outline: none;
}

.nds-about-hero__crumbs [aria-current="page"] {
	color: #fff;
	font-weight: 600;
}

/* ----- Story ----- */
.nds-about-story {
	padding: clamp(64px, 9vw, 100px) 0;
	background:
		radial-gradient(640px 280px at 0% 0%, rgba(26, 173, 163, 0.08), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--nds-ab-soft) 100%);
}

.nds-about-story__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
	box-sizing: border-box;
}

.nds-about-story__media {
	margin: 0;
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--nds-ab-dark);
}

.nds-about-story__media::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 38%;
	background: linear-gradient(180deg, transparent, rgba(15, 26, 20, 0.35));
	pointer-events: none;
}

.nds-about-story__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.8s ease;
}

.nds-about.is-ready .nds-about-story__media.is-in img {
	transform: scale(1.03);
}

.nds-about-story__eyebrow,
.nds-about-proof__eyebrow,
.nds-about-produce__eyebrow,
.nds-about-why__eyebrow,
.nds-about-serve__eyebrow,
.nds-about-cta__eyebrow {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--nds-ab-accent);
}

.nds-about-story__heading,
.nds-about-proof__heading,
.nds-about-produce__heading,
.nds-about-why__heading,
.nds-about-serve__heading,
.nds-about-cta__heading {
	margin: 0 0 18px;
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.12;
	text-wrap: balance;
}

.nds-about-story__heading {
	font-size: clamp(2rem, 3.4vw, 2.85rem);
	color: var(--nds-ab-ink);
}

.nds-about-story__body {
	display: grid;
	gap: 14px;
	margin-bottom: 26px;
}

.nds-about-story__body p {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.75;
	color: var(--nds-ab-muted);
	text-wrap: pretty;
}

.nds-about-story__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--nds-ab-ink) !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(20, 36, 28, 0.28);
	padding-bottom: 4px;
	transition: color 0.2s ease, border-color 0.2s ease, gap 0.2s ease;
}

.nds-about-story__link:hover,
.nds-about-story__link:focus-visible {
	color: var(--nds-ab-accent-2) !important;
	border-bottom-color: var(--nds-ab-accent);
	gap: 11px;
	outline: none;
}

/* ----- Proof / stats ----- */
.nds-about-proof {
	position: relative;
	overflow: hidden;
	color: #e8efe9;
	background:
		radial-gradient(900px 420px at 12% 0%, rgba(26, 173, 163, 0.22), transparent 55%),
		radial-gradient(780px 360px at 100% 100%, rgba(226, 179, 74, 0.12), transparent 50%),
		linear-gradient(165deg, var(--nds-ab-dark) 0%, var(--nds-ab-dark-2) 55%, #0f1a14 100%);
	padding: clamp(56px, 8vw, 84px) 0;
}

.nds-about-proof__glow {
	position: absolute;
	left: 50%;
	top: 0;
	width: min(520px, 60vw);
	height: 2px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--nds-ab-accent), var(--nds-ab-gold), transparent);
	opacity: 0.85;
	pointer-events: none;
}

.nds-about-proof__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.nds-about-proof__head {
	max-width: 36rem;
	margin: 0 auto 40px;
	text-align: center;
}

.nds-about-proof__heading {
	font-size: clamp(2.1rem, 3.6vw, 3rem);
	color: #fff;
}

.nds-about-proof__stats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px 12px;
}

.nds-about-proof__stat {
	text-align: center;
	padding: 8px 10px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.nds-about-proof__value {
	margin: 18px 0 8px;
}

.nds-about-proof__num {
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: clamp(2.4rem, 4vw, 3.4rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1;
	color: #fff;
}

.nds-about-proof__label {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(232, 239, 233, 0.62);
}

/* ----- Produce / capabilities ----- */
.nds-about-produce {
	padding: clamp(64px, 9vw, 100px) 0;
	background: #fff;
}

.nds-about-produce__inner,
.nds-about-serve__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

.nds-about-produce__head,
.nds-about-serve__head {
	max-width: 40rem;
	margin: 0 0 36px;
}

.nds-about-produce__heading,
.nds-about-serve__heading {
	font-size: clamp(2.1rem, 3.5vw, 3rem);
	color: var(--nds-ab-ink);
}

.nds-about-produce__lead,
.nds-about-serve__lead,
.nds-about-why__lead,
.nds-about-cta__lead {
	margin: 0;
	font-size: clamp(1rem, 1.25vw, 1.1rem);
	line-height: 1.7;
	color: var(--nds-ab-muted);
	text-wrap: pretty;
}

/* Kill WPBakery/theme default ol/ul markers (decimal + chevron) ? keep custom 01/02 only */
.nds-about-produce__list,
.nds-about-serve__list,
.wpb_text_column ol.nds-about-produce__list,
.wpb_text_column ul.nds-about-serve__list,
.entry-content ol.nds-about-produce__list,
.entry-content ul.nds-about-serve__list {
	list-style: none !important;
	list-style-type: none !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
	border-top: 1px solid var(--nds-ab-line);
}

.nds-about-produce__list > li,
.nds-about-serve__list > li,
.wpb_text_column ol.nds-about-produce__list > li,
.wpb_text_column ul.nds-about-serve__list > li {
	list-style: none !important;
	list-style-type: none !important;
	position: static !important;
	margin: 0;
	padding: 0;
}

.nds-about-produce__list > li::marker,
.nds-about-serve__list > li::marker,
.nds-about-produce__list > li::before,
.nds-about-serve__list > li::before,
.wpb_text_column ol.nds-about-produce__list > li::before,
.wpb_text_column ul.nds-about-serve__list > li::before,
.wpb_text_column ul.nds-about-serve__list:not(.social-icons) > li::before {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	font-size: 0 !important;
}

.nds-about-cap,
.nds-about-audience {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr) auto;
	gap: 18px 24px;
	align-items: center;
	padding: 22px 4px;
	border-bottom: 1px solid var(--nds-ab-line);
	text-decoration: none !important;
	color: inherit;
	transition: background 0.2s ease, padding 0.2s ease;
}

.nds-about-cap:hover,
.nds-about-cap:focus-visible,
.nds-about-audience:hover,
.nds-about-audience:focus-visible {
	background: rgba(238, 246, 243, 0.7);
	padding-left: 12px;
	padding-right: 12px;
	outline: none;
}

.nds-about-cap__num,
.nds-about-audience__index {
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: 1.35rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--nds-ab-accent);
}

.nds-about-cap__body,
.nds-about-audience__body {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.nds-about-cap__title,
.nds-about-audience__title {
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--nds-ab-ink);
}

.nds-about-cap__blurb,
.nds-about-audience__blurb {
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--nds-ab-muted);
}

.nds-about-cap__cta,
.nds-about-audience__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nds-ab-ink);
	white-space: nowrap;
	transition: color 0.2s ease, gap 0.2s ease;
}

.nds-about-cap:hover .nds-about-cap__cta,
.nds-about-cap:focus-visible .nds-about-cap__cta,
.nds-about-audience:hover .nds-about-audience__cta,
.nds-about-audience:focus-visible .nds-about-audience__cta {
	color: var(--nds-ab-accent-2);
	gap: 11px;
}

/* ----- Why ----- */
.nds-about-why {
	padding: clamp(64px, 9vw, 100px) 0;
	background:
		radial-gradient(700px 300px at 100% 0%, rgba(226, 179, 74, 0.1), transparent 55%),
		var(--nds-ab-soft);
}

.nds-about-why__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(28px, 5vw, 56px);
	align-items: center;
	box-sizing: border-box;
}

.nds-about-why__heading {
	font-size: clamp(2.1rem, 3.5vw, 3rem);
	color: var(--nds-ab-ink);
}

.nds-about-why__lead {
	margin-bottom: 28px;
	max-width: 36rem;
}

.nds-about-why__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 22px;
}

.nds-about-why__list li {
	display: grid;
	grid-template-columns: 14px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}

.nds-about-why__mark {
	width: 8px;
	height: 8px;
	margin-top: 8px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--nds-ab-accent), var(--nds-ab-gold));
	box-shadow: 0 0 0 4px rgba(26, 173, 163, 0.12);
}

.nds-about-why__item {
	display: grid;
	gap: 4px;
}

.nds-about-why__title {
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--nds-ab-ink);
}

.nds-about-why__blurb {
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--nds-ab-muted);
}

.nds-about-why__media {
	margin: 0;
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--nds-ab-dark);
}

.nds-about-why__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ----- Serve ----- */
.nds-about-serve {
	padding: clamp(64px, 9vw, 100px) 0 20px;
	background: #fff;
}

/* ----- CTA ----- */
.nds-about-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: clamp(360px, 52vh, 480px);
	display: flex;
	align-items: center;
	color: #fff;
	margin-top: 48px;
}

.nds-about-cta__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.nds-about-cta__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.05);
	will-change: transform;
}

.nds-about-cta__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(105deg, rgba(15, 26, 20, 0.9) 0%, rgba(15, 26, 20, 0.78) 48%, rgba(15, 26, 20, 0.62) 100%),
		radial-gradient(620px 280px at 20% 0%, rgba(26, 173, 163, 0.26), transparent 60%);
}

.nds-about-cta__grain {
	position: absolute;
	inset: 0;
	opacity: 0.16;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
	mix-blend-mode: soft-light;
}

.nds-about-cta__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 72px 15px;
	display: grid;
	gap: 28px;
	box-sizing: border-box;
}

.nds-about-cta__copy {
	max-width: 40rem;
}

.nds-about-cta__heading {
	font-size: clamp(2.2rem, 4vw, 3.3rem);
	color: #fff;
}

.nds-about-cta__lead {
	color: rgba(232, 239, 233, 0.78);
	max-width: 36rem;
}

.nds-about-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.nds-about-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 2px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease, gap 0.22s ease;
}

.nds-about-cta__btn svg {
	transition: transform 0.22s ease;
}

.nds-about-cta__btn--primary {
	background: linear-gradient(135deg, var(--nds-ab-accent) 0%, var(--nds-ab-accent-2) 100%);
	color: #fff !important;
	box-shadow: 0 10px 28px rgba(15, 138, 126, 0.28);
}

.nds-about-cta__btn--primary:hover,
.nds-about-cta__btn--primary:focus-visible {
	background: linear-gradient(135deg, #22c0b5 0%, var(--nds-ab-accent) 100%);
	color: #fff !important;
	gap: 13px;
	outline: none;
	transform: translateY(-1px);
}

.nds-about-cta__btn--primary:hover svg,
.nds-about-cta__btn--primary:focus-visible svg {
	transform: translateX(2px);
}

.nds-about-cta__btn--ghost {
	background: transparent;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.38);
}

.nds-about-cta__btn--ghost:hover,
.nds-about-cta__btn--ghost:focus-visible {
	border-color: var(--nds-ab-gold);
	color: var(--nds-ab-gold) !important;
	outline: none;
}

.nds-about-cta__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 18px;
}

.nds-about-cta__phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.nds-about-cta__phone:hover,
.nds-about-cta__phone:focus-visible {
	color: var(--nds-ab-gold) !important;
	outline: none;
}

.nds-about-cta__meta-sep {
	width: 1px;
	height: 16px;
	background: rgba(255, 255, 255, 0.22);
}

.nds-about-cta__note {
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	color: rgba(232, 239, 233, 0.62);
}

@media (max-width: 991px) {
	.nds-about-hero__inner {
		padding: 20px 15px;
	}

	.nds-about-story__inner,
	.nds-about-why__inner {
		grid-template-columns: 1fr;
	}

	.nds-about-story__media,
	.nds-about-why__media {
		aspect-ratio: 16 / 10;
		max-height: 420px;
	}

	.nds-about-proof__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 16px;
	}

	.nds-about-cap,
	.nds-about-audience {
		grid-template-columns: 3.2rem minmax(0, 1fr);
		gap: 12px 16px;
	}

	.nds-about-cap__cta,
	.nds-about-audience__cta {
		grid-column: 2;
	}

	.nds-about-why__list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575px) {
	.nds-about-hero {
		min-height: 84px;
	}

	.nds-about-hero__inner {
		padding: 18px 15px;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.nds-about-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.nds-about-cta__btn {
		width: 100%;
	}

	.nds-about-proof__stats {
		grid-template-columns: 1fr 1fr;
	}

	.nds-about-cta__meta-sep {
		display: none;
	}

	.nds-about-cta__note {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-about [data-nds-ab-reveal],
	.nds-about-hero__media img,
	.nds-about-story__media img,
	.nds-about-cta__media img {
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}
/* ==========================================================================
   Homepage ? Why Work With Us
   ========================================================================== */

.home .vc_custom_nds_hm_why {
	--nds-hwy-ink: #14241c;
	--nds-hwy-muted: #5f7168;
	--nds-hwy-accent: #1aada3;
	--nds-hwy-accent-2: #0f8a7e;
	--nds-hwy-gold: #e2b34a;
	--nds-hwy-line: rgba(20, 36, 28, 0.12);
	--nds-hwy-bg:
		radial-gradient(920px 380px at 8% 0%, rgba(26, 173, 163, 0.11), transparent 58%),
		radial-gradient(780px 340px at 100% 90%, rgba(226, 179, 74, 0.1), transparent 55%),
		linear-gradient(180deg, #f2f7f5 0%, #f7faf9 48%, #ffffff 100%);
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	z-index: 0;
	overflow: visible;
	background: transparent !important;
	background-color: transparent !important;
}

.home .vc_custom_nds_hm_why:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	z-index: -1;
	background: var(--nds-hwy-bg);
	pointer-events: none;
}

.home .vc_custom_nds_hm_why > .vc_column_container > .vc_column-inner {
	padding: 0 !important;
}

.nds-home-why {
	color: var(--nds-hwy-ink, #14241c);
	padding: 72px 0 68px;
}

.nds-home-why__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	grid-template-areas:
		"copy media"
		"reasons reasons";
	gap: 36px 56px;
	align-items: center;
}

.nds-home-why__copy {
	grid-area: copy;
	max-width: 34rem;
}

.nds-home-why__media {
	grid-area: media;
	position: relative;
	margin: 0;
	justify-self: end;
	width: min(100%, 460px);
	aspect-ratio: 1 / 1;
}

.nds-home-why__reasons {
	grid-area: reasons;
	list-style: none;
	margin: 8px 0 0;
	padding: 28px 0 0;
	border-top: 1px solid var(--nds-hwy-line, rgba(20, 36, 28, 0.12));
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.nds-home-why__copy,
.nds-home-why__media,
.nds-home-why__reason {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.6s ease, transform 0.6s ease;
	transition-delay: var(--nds-hwy-delay, 0ms);
}

.nds-home-why.is-ready .nds-home-why__copy.is-in,
.nds-home-why.is-ready .nds-home-why__media.is-in,
.nds-home-why.is-ready .nds-home-why__reason.is-in {
	opacity: 1;
	transform: translateY(0);
}

.nds-home-why__eyebrow {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--nds-hwy-accent-2, #0f8a7e);
}

.nds-home-why__heading {
	margin: 0 0 16px;
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: clamp(2.25rem, 3.8vw, 3.25rem);
	line-height: 1.1;
	letter-spacing: -0.03em;
	font-weight: 600;
	color: var(--nds-hwy-ink, #14241c);
	text-wrap: balance;
}

.nds-home-why__lead {
	margin: 0 0 26px;
	font-size: clamp(1rem, 1.25vw, 1.1rem);
	line-height: 1.7;
	color: var(--nds-hwy-muted, #5f7168);
	text-wrap: pretty;
}

.nds-home-why__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.nds-home-why__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 2px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, gap 0.22s ease, transform 0.22s ease;
}

.nds-home-why__btn svg {
	transition: transform 0.22s ease;
}

.nds-home-why__btn--primary {
	background: linear-gradient(135deg, var(--nds-hwy-accent) 0%, var(--nds-hwy-accent-2) 100%);
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(15, 138, 126, 0.22);
}

.nds-home-why__btn--primary:hover,
.nds-home-why__btn--primary:focus-visible {
	background: linear-gradient(135deg, #22c0b5 0%, var(--nds-hwy-accent) 100%);
	color: #fff !important;
	gap: 13px;
	outline: none;
	transform: translateY(-1px);
}

.nds-home-why__btn--primary:hover svg,
.nds-home-why__btn--primary:focus-visible svg {
	transform: translateX(2px);
}

.nds-home-why__btn--ghost {
	background: transparent;
	color: var(--nds-hwy-ink, #14241c) !important;
	border: 1px solid rgba(20, 36, 28, 0.22);
}

.nds-home-why__btn--ghost:hover,
.nds-home-why__btn--ghost:focus-visible {
	border-color: var(--nds-hwy-accent-2, #0f8a7e);
	color: var(--nds-hwy-accent-2, #0f8a7e) !important;
	outline: none;
}

.nds-home-why__media-frame {
	position: absolute;
	inset: 18px -14px -14px 18px;
	border: 1px solid rgba(26, 173, 163, 0.35);
	pointer-events: none;
	z-index: 0;
}

.nds-home-why__media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.04);
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.nds-home-why.is-ready .nds-home-why__media.is-in img {
	transform: scale(1);
}

.nds-home-why__media-glow {
	position: absolute;
	left: 0;
	right: 28%;
	top: 0;
	height: 2px;
	z-index: 2;
	background: linear-gradient(90deg, var(--nds-hwy-accent), var(--nds-hwy-gold), transparent);
	opacity: 0.9;
	pointer-events: none;
}

.nds-home-why__reason {
	position: relative;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 22px 22px 24px 0;
}

.nds-home-why__reason:not(:nth-child(3n)):after {
	content: "";
	position: absolute;
	top: 18px;
	right: 0;
	bottom: 18px;
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(20, 36, 28, 0.14), transparent);
}

.nds-home-why__reason:nth-child(3n) {
	padding-right: 0;
}

.nds-home-why__reason:not(:nth-child(3n)) {
	padding-right: 28px;
}

.nds-home-why__num {
	flex: 0 0 auto;
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: 1.15rem;
	line-height: 1;
	font-weight: 600;
	letter-spacing: -0.02em;
	background: linear-gradient(135deg, var(--nds-hwy-accent-2) 0%, var(--nds-hwy-gold) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	padding-top: 3px;
}

.nds-home-why__reason-title {
	margin: 0 0 6px;
	font-size: 1rem;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--nds-hwy-ink, #14241c);
}

.nds-home-why__reason-blurb {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--nds-hwy-muted, #5f7168);
}

@media (max-width: 991px) {
	.nds-home-why {
		padding: 56px 0 52px;
	}

	.nds-home-why__inner {
		grid-template-columns: 1fr;
		grid-template-areas:
			"copy"
			"media"
			"reasons";
		gap: 28px;
	}

	.nds-home-why__media {
		justify-self: stretch;
		width: min(100%, 420px);
		margin: 0 auto;
	}

	.nds-home-why__reasons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-top: 22px;
	}

	.nds-home-why__reason:not(:nth-child(3n)):after {
		display: none;
	}

	.nds-home-why__reason:nth-child(odd):after {
		content: "";
		display: block;
		position: absolute;
		top: 18px;
		right: 0;
		bottom: 18px;
		width: 1px;
		background: linear-gradient(180deg, transparent, rgba(20, 36, 28, 0.14), transparent);
	}

	.nds-home-why__reason {
		padding-right: 18px !important;
	}

	.nds-home-why__reason:nth-child(even) {
		padding-right: 0 !important;
		padding-left: 18px;
	}
}

@media (max-width: 575px) {
	.nds-home-why__reasons {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.nds-home-why__reason,
	.nds-home-why__reason:nth-child(even) {
		padding: 18px 0 !important;
	}

	.nds-home-why__reason:not(:last-child) {
		border-bottom: 1px solid var(--nds-hwy-line, rgba(20, 36, 28, 0.12));
	}

	.nds-home-why__reason:after {
		display: none !important;
	}

	.nds-home-why__btn {
		width: 100%;
	}

	.nds-home-why__media-frame {
		inset: 12px -10px -10px 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nds-home-why__copy,
	.nds-home-why__media,
	.nds-home-why__reason,
	.nds-home-why__media img {
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ---------- Shop catalog: 4-col product tiles ---------- */
.woocommerce .shop-loop-head {
	margin: 0 0 22px;
	padding: 0 0 14px;
	border-bottom: 1px solid #e6ece8;
	align-items: flex-end;
}

.woocommerce .shop-loop-head .woocommerce-result-count,
.woocommerce .shop-loop-head .woocommerce-ordering {
	display: block !important;
	float: none;
	margin: 0;
	font-size: 13px;
	color: #5f7168;
}

.woocommerce .shop-loop-head .woocommerce-ordering select {
	min-height: 40px;
	padding: 8px 36px 8px 14px;
	border: 1px solid #d7e0da;
	border-radius: 8px;
	background-color: #fff;
	color: #14241c;
	font-size: 13px;
	font-weight: 600;
}

.products.elements-grid {
	--nds-pt-ink: #14241c;
	--nds-pt-muted: #6a776f;
	--nds-pt-line: #e2eae5;
	--nds-pt-well: #f0f3f1;
	--nds-pt-accent: #2d5a3d;
	margin-left: -8px !important;
	margin-right: -8px !important;
}

.products.elements-grid > .product-grid-item {
	display: flex;
	flex-direction: column;
	float: left;
	padding-left: 8px !important;
	padding-right: 8px !important;
	margin-bottom: 22px !important;
	text-align: left;
}

.products.elements-grid .nds-ptile {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.products.elements-grid .nds-ptile__media {
	position: relative;
	margin: 0 0 10px;
	overflow: hidden;
	border-radius: 10px;
	background: var(--nds-pt-well);
	aspect-ratio: 1 / 1;
}

.products.elements-grid .nds-ptile__thumb {
	display: block;
	width: 100%;
	height: 100%;
	padding: 14px;
	box-sizing: border-box;
	text-decoration: none;
}

.products.elements-grid .nds-ptile__media img,
.products.elements-grid .nds-ptile__media .attachment-woocommerce_thumbnail {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transform: none !important;
	transition: none !important;
}

.products.elements-grid .product-grid-item:hover .nds-ptile__media img {
	transform: none !important;
}

.products.elements-grid .nds-ptile__price {
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	z-index: 3;
	display: flex;
	justify-content: flex-start;
	pointer-events: none;
}

.products.elements-grid .nds-ptile__price .price,
.products.elements-grid .nds-ptile .price,
body .products.elements-grid .pws-hover-alt .nds-ptile .price {
	display: inline-flex !important;
	align-items: baseline;
	margin: 0 !important;
	padding: 7px 11px !important;
	border-radius: 8px;
	background: #14241c !important;
	color: #fff !important;
	font-family: Lato, Arial, Helvetica, sans-serif !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	font-style: normal !important;
	letter-spacing: -0.02em;
	line-height: 1 !important;
	height: auto !important;
	overflow: visible !important;
	box-shadow: 0 6px 16px rgba(20, 36, 28, 0.22);
}

.products.elements-grid .nds-ptile__price .price .amount,
.products.elements-grid .nds-ptile__price .price bdi {
	font-size: inherit !important;
	font-weight: inherit !important;
	color: #fff !important;
}

.products.elements-grid .nds-ptile__price .price .woocommerce-Price-currencySymbol {
	font-size: 0.7em;
	font-weight: 700;
	margin-right: 1px;
	opacity: 0.92;
	color: #fff !important;
}

.products.elements-grid .nds-ptile__price .price del {
	margin-right: 6px;
	color: rgba(255, 255, 255, 0.55) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

.products.elements-grid .nds-ptile__price .price ins {
	text-decoration: none;
	color: #fff !important;
}

.products.elements-grid .nds-ptile .pws-buttons,
.products.elements-grid .nds-ptile .basel-buttons,
.products.elements-grid .nds-ptile .hover-img,
.products.elements-grid .nds-ptile .star-rating,
.products.elements-grid .product-grid-item .pws-buttons,
.products.elements-grid .product-grid-item .basel-buttons,
.products.elements-grid .nds-ptile .product-label.featured,
.products.elements-grid .nds-ptile .product-label.new {
	display: none !important;
}

.products.elements-grid .nds-ptile .product-labels {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2;
	max-width: none;
}

.products.elements-grid .nds-ptile .product-labels .onsale,
.products.elements-grid .nds-ptile .product-labels .product-label.onsale {
	display: inline-flex !important;
	align-items: center;
	min-width: 0;
	min-height: 0;
	padding: 3px 8px;
	border-radius: 999px;
	background: #8a4b12;
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.products.elements-grid .nds-ptile__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	padding: 0 2px;
}

.products.elements-grid .nds-ptile__cat {
	display: block;
	margin: 0 0 4px;
	font-family: Lato, Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--nds-pt-muted);
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.products.elements-grid .nds-ptile__title,
.products.elements-grid .product-grid-item .product-title,
body .products.elements-grid .pws-hover-alt .product-title {
	margin: 0 0 10px !important;
	text-align: left !important;
	line-height: 1.3 !important;
	min-height: 2.6em !important;
}

.products.elements-grid .nds-ptile__title a,
.products.elements-grid .product-grid-item .product-title a,
body .products.elements-grid .pws-hover-alt .product-title a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	border: 0 !important;
	padding: 0 !important;
	font-family: Lora, Georgia, serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--nds-pt-ink) !important;
	text-decoration: none !important;
	transition: none !important;
}

.products.elements-grid .nds-ptile__title a:hover {
	color: var(--nds-pt-ink) !important;
}

.products.elements-grid .nds-ptile__actions {
	margin-top: auto;
}

.products.elements-grid .nds-ptile__cart,
.products.elements-grid .nds-ptile .btn-add {
	width: 100%;
}

.products.elements-grid .nds-ptile__cart > a,
.products.elements-grid .nds-ptile .btn-add > a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 34px;
	padding: 7px 10px !important;
	border: 1px solid var(--nds-pt-line) !important;
	border-radius: 8px;
	background: #fff !important;
	color: var(--nds-pt-ink) !important;
	font-family: Lato, Arial, Helvetica, sans-serif;
	font-size: 10px;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
	box-shadow: none !important;
	transform: none !important;
	transition: none !important;
}

.products.elements-grid .nds-ptile__cart > a:before,
.products.elements-grid .nds-ptile .btn-add > a:before,
.products.elements-grid .nds-ptile__cart > a:after,
.products.elements-grid .nds-ptile .btn-add > a:after {
	display: none !important;
	content: none !important;
}

.products.elements-grid .nds-ptile__cart > a:hover,
.products.elements-grid .nds-ptile .btn-add > a:hover,
.products.elements-grid .product-grid-item:hover .nds-ptile__cart > a {
	background: var(--nds-pt-accent) !important;
	border-color: var(--nds-pt-accent) !important;
	color: #fff !important;
	transform: none !important;
}

.products.elements-grid .nds-ptile__cart > a.added {
	display: none !important;
}

.products.elements-grid .nds-ptile__cart > a.added_to_cart {
	background: var(--nds-pt-well) !important;
	border-color: var(--nds-pt-accent) !important;
	color: var(--nds-pt-accent) !important;
}

.products.elements-grid .pws-hover-alt.purchasable .wrapp-swap,
.products.elements-grid .pws-hover-alt.purchasable .price,
.products.elements-grid .pws-hover-alt.purchasable .btn-add,
.products.elements-grid .pws-hover-alt .swap-elements,
.products.elements-grid .pws-hover-alt.purchasable:hover .swap-elements {
	height: auto !important;
	line-height: inherit !important;
	transform: none !important;
	overflow: visible !important;
	animation: none !important;
	transition: none !important;
}

.products.elements-grid .product-grid-item,
.products.elements-grid .nds-ptile,
.products.elements-grid .nds-ptile * {
	animation: none !important;
}

@media (max-width: 767px) {
	.products.elements-grid {
		margin-left: -6px !important;
		margin-right: -6px !important;
	}

	.products.elements-grid > .product-grid-item {
		padding-left: 6px !important;
		padding-right: 6px !important;
		margin-bottom: 16px !important;
	}

	.products.elements-grid .nds-ptile__thumb {
		padding: 10px;
	}

	.products.elements-grid .nds-ptile__price .price {
		font-size: 15px !important;
		padding: 6px 9px !important;
	}

	.products.elements-grid .nds-ptile__title,
	.products.elements-grid .product-grid-item .product-title {
		min-height: 0 !important;
		margin-bottom: 8px !important;
	}

	.products.elements-grid .nds-ptile__title a {
		font-size: 12px;
	}

	.products.elements-grid .nds-ptile__cart > a {
		min-height: 32px;
		font-size: 9px;
	}
}
