/**
 * File: wp-content/plugins/nadmedia-builder/assets/css/nm-builder-terra.css
 *
 * Terra presentation skin — ported from Senita terra-home/home.css values.
 * Scoped under .nm-builder-skin-terra / .nm-builder-root.nm-builder-skin-terra.
 * Also keeps legacy .nm-terra-* selectors for deprecated terra_* blocks.
 *
 * No Senita nav/footer. No margin-top:70px (Header 1 is theme chrome).
 * Demo video/poster come from block settings / theme mods — not this file.
 */

/* —— Tokens —— */
body.nm-builder-skin-terra,
body.nm-builder-terra-page,
.nm-builder-root.nm-builder-skin-terra {
	--cream: #fcf9ed;
	--cream-2: #f4f0df;
	--olive: #45422b;
	--olive-lt: #5c5838;
	--sage: #acad95;
	--sage-lt: #c4c5b2;
	--sage-dk: #8e8f77;
	--ink: #332f1e;
	--body: #5e5b45;
	--line: #e0dcc6;
	--white: #ffffff;
	--font-display: "DM Sans", sans-serif;
	--font-body: "Mulish", sans-serif;
	--shadow: 0 12px 34px rgba(69, 66, 43, 0.1);
	--shadow-lg: 0 24px 60px rgba(69, 66, 43, 0.16);
	/* Compat aliases used by older rules */
	--terra-cream: var(--cream);
	--terra-olive: var(--olive);
	--terra-sage: var(--sage);
	--terra-font-headline: var(--font-display);
	--terra-color-text-muted: var(--body);
}

body.nm-builder-skin-terra,
body.nm-builder-terra-page {
	background: var(--cream);
	color: var(--ink);
	font-family: var(--font-body);
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
}

body.nm-builder-skin-terra.nm-template-simple .nm-page > .nm-hero,
body.nm-builder-terra-page.nm-template-simple .nm-page > .nm-hero {
	display: none;
}

/* Full-bleed shell — no theme nm-wrap / Colibri content box */
body.nm-builder-page .nm-builder-page-shell,
body.nm-builder-skin-terra .nm-builder-page-shell,
.nm-page--builder .nm-builder-page-shell {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

.nm-builder-skin-terra .nm-builder-root--page,
.nm-builder-terra-page .nm-builder-root--page,
.nm-builder-root--page.nm-builder-skin-terra {
	--nm-builder-gap: 0;
	max-width: none;
	width: 100%;
	font-family: var(--font-body);
	color: var(--ink);
	background: var(--cream);
	overflow-x: hidden;
}

.nm-builder-skin-terra .nm-builder-root--page > * + *,
.nm-builder-terra-page .nm-builder-root--page > * + *,
.nm-builder-root--page.nm-builder-skin-terra > * + * {
	margin-top: 0;
}

/*
 * Neutralize theme content wraps inside the builder page only.
 * Do NOT target bare `.nm-wrap` under body — that zeroed Footer 1 gutters
 * (`.nm-footer > .nm-wrap`) on every Terra Builder page.
 */
.nm-builder-skin-terra .nm-builder-page-shell .nm-wrap,
.nm-builder-skin-terra .nm-page .nm-wrap,
.nm-builder-terra-page .nm-builder-page-shell .nm-wrap,
.nm-builder-terra-page .nm-page .nm-wrap {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.nm-builder-skin-terra *,
.nm-builder-skin-terra *::before,
.nm-builder-skin-terra *::after,
.nm-builder-terra-page .nm-terra-hero *,
.nm-builder-terra-page .nm-terra-pad * {
	box-sizing: border-box;
}

.nm-builder-skin-terra a {
	color: inherit;
	text-decoration: none;
}

.nm-builder-skin-terra img {
	max-width: 100%;
	display: block;
}

.nm-builder-skin-terra :focus-visible {
	outline: 2px solid var(--olive);
	outline-offset: 3px;
}

/*
 * Senita .wrap → builder inners / .nm-terra-wrap.
 * Keep Senita 40/20 as the wrap pad token (do not widen desktop via --nm-gutter).
 */
body.nm-builder-skin-terra,
body.nm-builder-terra-page,
.nm-builder-root.nm-builder-skin-terra {
	--nm-terra-wrap-pad-inline: 40px;
}

@media (max-width: 760px) {
	body.nm-builder-skin-terra,
	body.nm-builder-terra-page,
	.nm-builder-root.nm-builder-skin-terra {
		--nm-terra-wrap-pad-inline: 20px;
	}
}

.nm-builder-skin-terra .nm-builder-wrap,
.nm-builder-skin-terra .nm-builder-hero__in,
.nm-builder-skin-terra .nm-builder-section__inner,
.nm-builder-skin-terra .nm-builder-cards__inner,
.nm-builder-skin-terra .nm-builder-accordion__inner,
.nm-terra-wrap {
	max-width: 1300px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-inline: var(--nm-terra-wrap-pad-inline, 40px);
	box-sizing: border-box;
}

.nm-builder-skin-terra .nm-builder-kicker,
.nm-builder-skin-terra .nm-builder-hero__eyebrow,
.nm-terra-kicker {
	font-family: var(--font-body);
	font-size: var(--nm-style-kicker-font-size, 11px);
	font-weight: var(--nm-style-kicker-font-weight, 600);
	letter-spacing: var(--nm-style-kicker-letter-spacing, 0.26em);
	text-transform: var(--nm-style-kicker-text-transform, uppercase);
	color: var(--nm-style-kicker-color, var(--sage-dk));
	margin: 0;
}

.nm-builder-skin-terra .nm-builder-hero__heading,
.nm-builder-skin-terra .nm-builder-cards__heading,
.nm-builder-skin-terra .nm-builder-section__heading,
.nm-builder-skin-terra .nm-builder-accordion__head h2,
.nm-terra-head h2,
.nm-terra-hero__heading {
	font-family: var(--font-display);
	font-weight: var(--nm-style-heading-font-weight, 700);
	text-transform: var(--nm-style-heading-text-transform, uppercase);
	letter-spacing: var(--nm-style-heading-letter-spacing, -0.005em);
	line-height: var(--nm-style-heading-line-height, 1.08);
	color: var(--nm-style-heading-color, var(--olive));
	margin: 0;
	margin-top: var(--nm-style-heading-margin-top, 0);
	font-size: var(--nm-style-heading-font-size, inherit);
}

.nm-builder-skin-terra .nm-builder-card__body h3,
.nm-terra-card__body h3 {
	font-family: var(--font-display);
	font-weight: var(--nm-style-card-title-font-weight, 700);
	letter-spacing: var(--nm-style-card-title-letter-spacing, -0.015em);
	line-height: var(--nm-style-card-title-line-height, 1.15);
	color: var(--nm-style-card-title-color, var(--olive));
	margin: 0;
	font-size: var(--nm-style-card-title-font-size, inherit);
}

/* Buttons (Senita .btn) */
.nm-builder-skin-terra .nm-builder-btn,
.nm-terra-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 30px;
	min-height: 44px;
	font-family: var(--font-body);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: all 0.22s ease;
	border: 1.5px solid transparent;
	white-space: nowrap;
	border-radius: 0;
	text-decoration: none;
	line-height: 1.2;
	cursor: pointer;
}

/*
 * Beat `.nm-builder-skin-terra a { color: inherit }` (0,2,1) so semantic
 * --nm-style-primary-button-* / --nm-style-secondary-button-* can win.
 * Vars stay instance-scoped on [data-nm-block-id]; blank = Terra fallback.
 */
.nm-builder-skin-terra a.nm-builder-btn--primary,
.nm-builder-skin-terra .nm-builder-btn--primary,
.nm-builder-skin-terra a.nm-terra-btn--cream,
.nm-terra-btn.nm-terra-btn--cream {
	background: var(--nm-style-primary-button-background, var(--nm-hero-primary-bg, var(--cream)));
	color: var(--nm-style-primary-button-color, var(--nm-hero-primary-color, var(--olive)));
	border-color: var(--nm-style-primary-button-border-color, var(--nm-hero-primary-border, var(--cream)));
	border-width: var(--nm-style-primary-button-border-width, 1.5px);
	border-radius: var(--nm-style-primary-button-border-radius, 0);
	padding: var(--nm-style-primary-button-padding, 16px 30px);
	font-size: var(--nm-style-primary-button-font-size, 11.5px);
	font-weight: var(--nm-style-primary-button-font-weight, 600);
	letter-spacing: var(--nm-style-primary-button-letter-spacing, 0.18em);
	text-transform: var(--nm-style-primary-button-text-transform, uppercase);
	font-family: var(--nm-style-primary-button-font-family, var(--font-body));
}

.nm-builder-skin-terra a.nm-builder-btn--primary:hover,
.nm-builder-skin-terra .nm-builder-btn--primary:hover,
.nm-builder-skin-terra a.nm-terra-btn--cream:hover,
.nm-terra-btn.nm-terra-btn--cream:hover {
	background: var(--nm-style-primary-button-background-hover, var(--nm-hero-primary-hover-bg, var(--white)));
	color: var(--nm-style-primary-button-color-hover, var(--nm-hero-primary-hover-color, var(--olive)));
	border-color: var(--nm-style-primary-button-border-color-hover, var(--nm-hero-primary-hover-bg, var(--white)));
	transform: translateY(-2px);
}

.nm-builder-skin-terra .nm-builder-card a.nm-builder-btn--primary,
.nm-builder-skin-terra .nm-builder-card .nm-builder-btn--primary,
.nm-builder-skin-terra a.nm-terra-btn--olive,
.nm-terra-btn.nm-terra-btn--olive {
	background: var(--olive);
	color: var(--cream);
	border-color: var(--olive);
	width: 100%;
}

.nm-builder-skin-terra .nm-builder-card a.nm-builder-btn--primary:hover,
.nm-builder-skin-terra .nm-builder-card .nm-builder-btn--primary:hover,
.nm-builder-skin-terra a.nm-terra-btn--olive:hover,
.nm-terra-btn.nm-terra-btn--olive:hover {
	background: var(--ink);
	transform: translateY(-2px);
}

.nm-builder-skin-terra a.nm-builder-btn--secondary,
.nm-builder-skin-terra .nm-builder-btn--secondary,
.nm-builder-skin-terra a.nm-terra-btn--ghost,
.nm-terra-btn.nm-terra-btn--ghost {
	background: var(--nm-style-secondary-button-background, var(--nm-hero-secondary-bg, transparent));
	border-color: var(--nm-style-secondary-button-border-color, var(--nm-hero-secondary-border, rgba(252, 249, 237, 0.65)));
	color: var(--nm-style-secondary-button-color, var(--nm-hero-secondary-color, var(--cream)));
	border-width: var(--nm-style-secondary-button-border-width, 1.5px);
	border-radius: var(--nm-style-secondary-button-border-radius, 0);
	padding: var(--nm-style-secondary-button-padding, 16px 30px);
	font-size: var(--nm-style-secondary-button-font-size, 11.5px);
	font-weight: var(--nm-style-secondary-button-font-weight, 600);
	letter-spacing: var(--nm-style-secondary-button-letter-spacing, 0.18em);
	text-transform: var(--nm-style-secondary-button-text-transform, uppercase);
	font-family: var(--nm-style-secondary-button-font-family, var(--font-body));
}

.nm-builder-skin-terra a.nm-builder-btn--secondary:hover,
.nm-builder-skin-terra .nm-builder-btn--secondary:hover,
.nm-builder-skin-terra a.nm-terra-btn--ghost:hover,
.nm-terra-btn.nm-terra-btn--ghost:hover {
	background: var(--nm-style-secondary-button-background-hover, var(--nm-hero-secondary-hover-bg, rgba(252, 249, 237, 0.14)));
	color: var(--nm-style-secondary-button-color-hover, var(--nm-hero-secondary-hover-color, var(--cream)));
	border-color: var(--nm-style-secondary-button-border-color-hover, var(--nm-hero-secondary-hover-color, var(--cream)));
}

@media (prefers-reduced-motion: reduce) {
	.nm-builder-skin-terra .nm-builder-btn,
	.nm-terra-btn {
		transition: none;
	}
	.nm-builder-skin-terra .nm-builder-btn:hover,
	.nm-terra-btn:hover {
		transform: none;
	}
}

/* —— HERO ——
 * Fill the first screen below sticky Header 1.
 * --nm-header-offset / --nm-header-height come from the child theme.
 * No desktop max-height — that let Collections peek on tall monitors.
 */
.nm-builder-skin-terra .nm-builder-hero--media,
.nm-terra-hero {
	position: relative;
	/* Header 1 is sticky (in-flow); hero fills remaining viewport. */
	height: calc(100svh - var(--nm-header-height, var(--nm-header-offset, 4.5rem)));
	min-height: 560px;
	max-height: none;
	margin: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	color: var(--cream);
	background: var(--nm-style-section-background-color, var(--olive));
	max-width: var(--nm-style-section-max-width, none);
	width: 100%;
	padding: 0;
	padding-top: var(--nm-style-section-padding-top, 0);
	padding-bottom: var(--nm-style-section-padding-bottom, 0);
	isolation: isolate;
}

.nm-builder-skin-terra .nm-builder-hero__video,
.nm-builder-skin-terra .nm-builder-hero__fb,
.nm-terra-hero__video,
.nm-terra-hero__fb {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	/* Background-cover contract: never letterbox via contain/unset style overrides. */
	object-fit: cover;
	object-position: var(
		--nm-style-video-object-position,
		var(--nad-hero-object-position, center center)
	);
}

.nm-builder-skin-terra .nm-builder-hero__fb,
.nm-terra-hero__fb {
	z-index: 0;
	background: linear-gradient(120deg, #6e7b52, #45422b);
}

.nm-builder-skin-terra .nm-builder-hero__video,
.nm-terra-hero__video {
	z-index: 0;
	/* Intrinsic video size must not drive layout. */
	max-width: none;
	max-height: none;
	/*
	 * Tall (mobile) heroes height-fill cover, so thin encoded top mattes stay
	 * visible. Wide desktops often crop them via side-constrained cover.
	 * Generic overscan — not per-file. Larger mattes need a re-encode.
	 * Override: --nm-bg-video-overscan on the hero or video.
	 */
	--nm-bg-video-overscan: 1.25%;
	inset: auto;
	top: calc(-1 * var(--nm-bg-video-overscan));
	right: auto;
	bottom: auto;
	left: calc(-1 * var(--nm-bg-video-overscan));
	width: calc(100% + (2 * var(--nm-bg-video-overscan)));
	height: calc(100% + (2 * var(--nm-bg-video-overscan)));
	min-width: calc(100% + (2 * var(--nm-bg-video-overscan)));
	min-height: calc(100% + (2 * var(--nm-bg-video-overscan)));
}

.nm-builder-skin-terra .nm-builder-hero__grad,
.nm-terra-hero__grad {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: var(
		--nm-style-overlay-background,
		linear-gradient(
			90deg,
			rgba(51, 47, 30, 0.86) 0%,
			rgba(51, 47, 30, 0.68) 34%,
			rgba(51, 47, 30, 0.22) 58%,
			rgba(51, 47, 30, 0.08) 100%
		)
	);
}

.nm-builder-skin-terra .nm-builder-hero__in,
.nm-terra-hero__in {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: var(--nm-style-inner-max-width, 1300px);
	padding-block-start: var(--nm-style-inner-padding-top, var(--nm-hero-pad-top, 0px));
	padding-block-end: var(--nm-style-inner-padding-bottom, var(--nm-hero-pad-bottom, 0px));
	/*
	 * Horizontal gutter is system-owned (Senita wrap + Header 1 pad).
	 * Design/Customizer inset vars must not wipe left/right safety pad
	 * (0 / unitless values made copy flush while full-bleed video still
	 * looked open on the right).
	 */
	padding-inline-start: max(
		var(--nm-terra-wrap-pad-inline, 40px),
		var(--nm-header-pad-inline, var(--nm-gutter, 1.25rem))
	);
	padding-inline-end: max(
		var(--nm-terra-wrap-pad-inline, 40px),
		var(--nm-header-pad-inline, var(--nm-gutter, 1.25rem))
	);
	box-sizing: border-box;
}

.nm-builder-skin-terra .nm-builder-hero__copy,
.nm-terra-hero__copy {
	max-width: var(--nm-style-heading-max-width, 44%);
	text-align: var(--nm-style-inner-text-align, var(--nm-style-inner-align, var(--nm-hero-copy-align, start)));
}

.nm-builder-skin-terra .nm-builder-hero--media .nm-builder-hero__eyebrow,
.nm-builder-skin-terra .nm-builder-hero--media .nm-builder-kicker,
.nm-terra-hero .nm-terra-kicker {
	font-family: var(--nm-style-eyebrow-font-family, var(--font-body));
	font-size: var(--nm-style-eyebrow-font-size, 11px);
	font-weight: var(--nm-style-eyebrow-font-weight, 600);
	letter-spacing: var(--nm-style-eyebrow-letter-spacing, 0.26em);
	line-height: var(--nm-style-eyebrow-line-height, normal);
	text-transform: var(--nm-style-eyebrow-text-transform, uppercase);
	color: var(--nm-style-eyebrow-color, var(--nm-hero-eyebrow-color, var(--sage-lt)));
	margin-top: var(--nm-style-eyebrow-margin-top, 0);
	margin-bottom: var(--nm-style-eyebrow-margin-bottom, 0);
}

.nm-builder-skin-terra .nm-builder-hero__heading,
.nm-terra-hero__heading {
	font-family: var(--nm-style-heading-font-family, var(--font-display));
	font-size: var(--nm-style-heading-font-size, clamp(30px, 4.2vw, 56px));
	font-weight: var(--nm-style-heading-font-weight, 700);
	letter-spacing: var(--nm-style-heading-letter-spacing, -0.005em);
	color: var(--nm-style-heading-color, var(--nm-hero-heading-color, var(--cream)));
	margin-top: var(--nm-style-heading-margin-top, 16px);
	margin-bottom: var(--nm-style-heading-margin-bottom, 0);
	line-height: var(--nm-style-heading-line-height, 1.06);
	text-transform: var(--nm-style-heading-text-transform, uppercase);
	max-width: var(--nm-style-heading-max-width, none);
}

.nm-builder-skin-terra .nm-builder-hero__text,
.nm-terra-hero__text {
	margin: var(--nm-style-lead-margin-top, 20px) 0 var(--nm-style-lead-margin-bottom, 0);
	font-family: var(--nm-style-lead-font-family, var(--font-body));
	font-size: var(--nm-style-lead-font-size, clamp(14.5px, 1.35vw, 17px));
	font-weight: var(--nm-style-lead-font-weight, 300);
	letter-spacing: var(--nm-style-lead-letter-spacing, normal);
	line-height: var(--nm-style-lead-line-height, 1.65);
	color: var(--nm-style-lead-color, var(--nm-hero-lead-color, rgba(252, 249, 237, 0.9)));
	max-width: var(--nm-style-lead-max-width, 44ch);
}

.nm-builder-skin-terra .nm-builder-hero__actions,
.nm-terra-btns {
	display: flex;
	gap: var(--nm-style-buttons-gap, 12px);
	margin-top: var(--nm-style-buttons-margin-top, 30px);
	flex-wrap: wrap;
	justify-content: var(--nm-style-buttons-align, var(--nm-hero-copy-justify, flex-start));
}

.nm-builder-skin-terra .nm-builder-hero__sound,
.nm-terra-sound {
	position: absolute;
	/* Keep control inside Hero (overflow:hidden): never flush to the bottom edge. */
	bottom: max(
		env(safe-area-inset-bottom, 0px),
		clamp(1.25rem, 2.5vh, 2.75rem)
	);
	right: max(1rem, clamp(1rem, 2.5vw, 2rem));
	z-index: 4;
	border: 1px solid rgba(252, 249, 237, 0.4);
	padding: 8px 14px;
	min-height: 44px;
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cream);
	background: rgba(51, 47, 30, 0.42);
	backdrop-filter: blur(6px);
	border-radius: 0;
	cursor: pointer;
	font-family: var(--font-body);
}

@media (max-width: 900px) {
	.nm-builder-skin-terra .nm-builder-hero--media,
	.nm-terra-hero {
		/* Keep a real media viewport so cover video can fill (not content-height letterbox). */
		height: calc(100svh - var(--nm-header-height, var(--nm-header-offset, 4.5rem)));
		min-height: 28rem;
		max-height: none;
		padding: 70px 0 62px;
		text-align: center;
	}

	.nm-builder-skin-terra .nm-builder-hero__video,
	.nm-terra-hero__video {
		object-position: var(
			--nm-style-video-object-position,
			var(--nad-hero-object-position-mobile, var(--nad-hero-object-position, center center))
		);
	}

	.nm-builder-skin-terra .nm-builder-hero__grad,
	.nm-terra-hero__grad {
		background: linear-gradient(180deg, rgba(51, 47, 30, 0.72) 0%, rgba(51, 47, 30, 0.82) 100%);
	}

	.nm-builder-skin-terra .nm-builder-hero__copy,
	.nm-terra-hero__copy {
		max-width: 100%;
		margin: 0 auto;
	}

	.nm-builder-skin-terra .nm-builder-hero__text,
	.nm-terra-hero__text {
		margin-left: auto;
		margin-right: auto;
	}

	.nm-builder-skin-terra .nm-builder-hero__actions,
	.nm-terra-btns {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.nm-builder-skin-terra .nm-builder-hero__sound,
	.nm-terra-sound {
		bottom: max(
			env(safe-area-inset-bottom, 0px),
			clamp(0.85rem, 2vh, 1.25rem)
		);
		right: max(0.75rem, 4vw);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nm-builder-skin-terra .nm-builder-hero__video,
	.nm-terra-hero__video {
		display: none;
	}

	.nm-builder-skin-terra .nm-builder-card__media img,
	.nm-terra-card__art img,
	.nm-builder-skin-terra .nm-builder-card__media:hover img,
	.nm-terra-card__art:hover img {
		transform: none;
		transition: none;
	}
}

/* —— Section shell (Senita .pad) —— */
.nm-builder-skin-terra .nm-builder-section,
.nm-builder-skin-terra .nm-builder-cards,
.nm-builder-skin-terra .nm-builder-accordion,
.nm-terra-pad {
	padding: 104px 0;
}

.nm-terra-pad[data-nm-block-id],
.nm-builder-skin-terra .nm-builder-cards[data-nm-block-id],
.nm-builder-skin-terra .nm-builder-accordion[data-nm-block-id],
.nm-builder-skin-terra .nm-builder-section[data-nm-block-id] {
	padding-top: var(--nm-style-section-padding-top, 104px);
	padding-bottom: var(--nm-style-section-padding-bottom, 104px);
}

.nm-terra-pad[data-nm-block-id] {
	background-color: var(--nm-style-section-background-color, var(--nm-style-section-background, transparent));
}

@media (max-width: 760px) {
	.nm-builder-skin-terra .nm-builder-section,
	.nm-builder-skin-terra .nm-builder-cards,
	.nm-builder-skin-terra .nm-builder-accordion,
	.nm-terra-pad {
		padding: 66px 0;
	}

	.nm-terra-pad[data-nm-block-id],
	.nm-builder-skin-terra .nm-builder-cards[data-nm-block-id],
	.nm-builder-skin-terra .nm-builder-accordion[data-nm-block-id],
	.nm-builder-skin-terra .nm-builder-section[data-nm-block-id] {
		padding-top: var(--nm-style-section-padding-top, 66px);
		padding-bottom: var(--nm-style-section-padding-bottom, 66px);
	}
}

.nm-builder-skin-terra .nm-builder-cards__head,
.nm-builder-skin-terra .nm-builder-accordion__head,
.nm-terra-head--mid {
	max-width: 660px;
	margin: 0 auto;
	text-align: center;
}

.nm-builder-skin-terra .nm-builder-cards__heading,
.nm-builder-skin-terra .nm-builder-accordion__head h2,
.nm-builder-skin-terra .nm-builder-section__heading {
	font-size: var(--nm-style-heading-font-size, clamp(25px, 3.5vw, 42px));
	margin-top: var(--nm-style-heading-margin-top, 15px);
}

.nm-builder-skin-terra .nm-builder-cards__lead,
.nm-builder-skin-terra .nm-builder-accordion__head p,
.nm-builder-skin-terra .nm-builder-section__lead,
.nm-terra-head p {
	margin: var(--nm-style-intro-margin-top, 18px) 0 0;
	font-size: var(--nm-style-intro-font-size, 16px);
	line-height: var(--nm-style-intro-line-height, 1.75);
	color: var(--nm-style-intro-color, var(--body));
	font-weight: var(--nm-style-intro-font-weight, 300);
}

/* —— Collections cards —— */
.nm-builder-skin-terra .nm-builder-cards--cards .nm-builder-cards__grid,
.nm-terra-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--nm-style-grid-gap, 26px);
	margin-top: var(--nm-style-grid-margin-top, 52px);
}

@media (max-width: 940px) {
	.nm-builder-skin-terra .nm-builder-cards--cards .nm-builder-cards__grid,
	.nm-terra-cards {
		grid-template-columns: 1fr;
		max-width: 460px;
		margin-left: auto;
		margin-right: auto;
	}
}

.nm-builder-skin-terra .nm-builder-card--cards,
.nm-terra-card {
	background: var(--nm-style-card-background-color, var(--white));
	border: var(--nm-style-card-border-width, 1px) solid var(--nm-style-card-border-color, var(--line));
	border-radius: var(--nm-style-card-border-radius, 0);
	display: flex;
	flex-direction: column;
	/* Card shell stays stationary — no lift/scale/shadow on card hover. */
	transform: none;
	overflow: hidden;
	box-shadow: none;
}

.nm-builder-skin-terra .nm-builder-card--cards:hover,
.nm-terra-card:hover {
	transform: none;
	box-shadow: none;
}

.nm-builder-skin-terra .nm-builder-card__media,
.nm-terra-card__art {
	background: var(--nm-style-card-art-background-color, var(--cream));
	padding: var(--nm-style-card-art-padding, 18px);
	overflow: hidden;
}

.nm-builder-skin-terra .nm-builder-card__media img,
.nm-terra-card__art img {
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: var(--nm-style-card-image-object-fit, cover);
	object-position: var(--nm-style-card-image-object-position, center);
	border-radius: var(--nm-style-card-image-border-radius, 0);
	transition: transform 0.55s cubic-bezier(0.2, 0, 0.2, 1), filter 0.35s ease;
}

/* Image hover only when the art area is hovered (inside overflow:hidden). */
.nm-builder-skin-terra .nm-builder-card__media:hover img,
.nm-terra-card__art:hover img {
	transform: scale(1.045);
}

.nm-builder-skin-terra .nm-builder-card--cards .nm-builder-card__body,
.nm-terra-card__body {
	padding: var(--nm-style-card-body-padding, 26px 26px 28px);
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 0;
}

.nm-builder-skin-terra .nm-builder-card--cards h3 {
	font-size: var(--nm-style-card-title-font-size, 28px);
}

.nm-builder-skin-terra .nm-builder-card__sub,
.nm-terra-card__for {
	margin-top: var(--nm-style-card-for-margin-top, 8px);
	font-size: var(--nm-style-card-for-font-size, 10.5px);
	font-weight: var(--nm-style-card-for-font-weight, 600);
	letter-spacing: var(--nm-style-card-for-letter-spacing, 0.22em);
	text-transform: var(--nm-style-card-for-text-transform, uppercase);
	color: var(--nm-style-card-for-color, var(--sage-dk));
}

.nm-builder-skin-terra .nm-builder-card--cards .nm-builder-card__body > p:not(.nm-builder-card__sub):not(.nm-builder-card__meta),
.nm-terra-card__body > p {
	margin-top: var(--nm-style-card-text-margin-top, 14px);
	font-size: var(--nm-style-card-text-font-size, 14px);
	line-height: var(--nm-style-card-text-line-height, 1.7);
	color: var(--nm-style-card-text-color, var(--body));
	font-weight: var(--nm-style-card-text-font-weight, 300);
	flex: 1;
}

.nm-terra-card__price {
	margin-top: var(--nm-style-card-price-margin-top, 20px);
	padding-top: var(--nm-style-card-price-padding-top, 18px);
	border-top: 1px solid var(--nm-style-card-price-border-color, var(--line, #e0dcc6));
	font-size: var(--nm-style-card-price-font-size, 12px);
	color: var(--nm-style-card-price-color, var(--sage-dk, #8e8f77));
	font-weight: var(--nm-style-card-price-font-weight, 600);
}

.nm-builder-skin-terra .nm-builder-card__meta b,
.nm-terra-card__price b {
	display: block;
	font-size: var(--nm-style-card-amount-font-size, 24px);
	color: var(--nm-style-card-amount-color, var(--olive, #45422b));
	font-weight: var(--nm-style-card-amount-font-weight, 700);
	margin-top: 4px;
	letter-spacing: var(--nm-style-card-amount-letter-spacing, -0.02em);
}

.nm-builder-skin-terra .nm-builder-card--cards a.nm-builder-btn,
.nm-builder-skin-terra .nm-builder-card--cards .nm-builder-btn,
.nm-builder-skin-terra .nm-terra-card__body a.nm-terra-btn,
.nm-terra-card__body .nm-terra-btn {
	margin-top: var(--nm-style-card-button-margin-top, 20px);
	align-self: stretch;
	background: var(--nm-style-card-button-background, var(--olive));
	color: var(--nm-style-card-button-color, var(--cream));
	border-color: var(--nm-style-card-button-border-color, var(--olive));
	border-width: var(--nm-style-card-button-border-width, 1.5px);
	border-radius: var(--nm-style-card-button-border-radius, 0);
	padding: var(--nm-style-card-button-padding, 16px 30px);
	font-size: var(--nm-style-card-button-font-size, 11.5px);
	font-weight: var(--nm-style-card-button-font-weight, 600);
	letter-spacing: var(--nm-style-card-button-letter-spacing, 0.18em);
	text-transform: var(--nm-style-card-button-text-transform, uppercase);
}

/* —— BuildView homepage launcher (not full app embed) —— */
.nm-terra-bv-launcher {
	background: var(--nm-style-section-background, var(--nm-style-section-background-color, var(--cream, #f7f4ea)));
	padding: 104px 0;
	text-align: center;
	padding-top: var(--nm-style-section-padding-top, 104px);
	padding-bottom: var(--nm-style-section-padding-bottom, 104px);
	color: var(--nm-style-section-color, inherit);
	max-width: var(--nm-style-section-max-width, none);
	border-radius: var(--nm-style-section-border-radius, 0);
}

.nm-terra-bv-launcher__inner {
	width: min(720px, calc(100% - 80px));
	margin: 0 auto;
}

.nm-terra-bv-launcher .nm-terra-head {
	margin-bottom: 28px;
}

.nm-terra-bv-launcher .nm-terra-head h2 {
	font-family: var(--nm-style-heading-font-family, inherit);
	font-size: var(--nm-style-heading-font-size, clamp(28px, 3.2vw, 40px));
	line-height: var(--nm-style-heading-line-height, 1.15);
	font-weight: var(--nm-style-heading-font-weight, 600);
	letter-spacing: var(--nm-style-heading-letter-spacing, normal);
	text-transform: var(--nm-style-heading-text-transform, none);
	color: var(--nm-style-heading-color, var(--ink, #332f1e));
	margin-top: var(--nm-style-heading-margin-top, 15px);
	margin-bottom: var(--nm-style-heading-margin-bottom, 0);
	max-width: var(--nm-style-heading-max-width, none);
	text-align: var(--nm-style-heading-text-align, center);
}

.nm-terra-bv-launcher .nm-terra-head p:not(.nm-terra-kicker) {
	margin: var(--nm-style-intro-margin-top, 18px) auto 0;
	max-width: var(--nm-style-intro-max-width, none);
	font-family: var(--nm-style-intro-font-family, inherit);
	font-size: var(--nm-style-intro-font-size, 16px);
	font-weight: var(--nm-style-intro-font-weight, 300);
	letter-spacing: var(--nm-style-intro-letter-spacing, normal);
	line-height: var(--nm-style-intro-line-height, 1.75);
	text-transform: var(--nm-style-intro-text-transform, none);
	color: var(--nm-style-intro-color, var(--body, #5c5848));
	text-align: var(--nm-style-intro-text-align, center);
}

.nm-terra-bv-launcher__art {
	margin: 0 auto 28px;
	background: var(--nm-style-art-background-color, #fff);
	padding: var(--nm-style-art-padding, 0);
	border-radius: var(--nm-style-art-border-radius, 0);
	border: 1px solid var(--line, #e0dcc6);
	box-shadow: 0 10px 28px rgba(69, 66, 43, 0.12);
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.nm-terra-bv-launcher__art img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: var(--nm-style-image-max-width, none);
	object-fit: var(--nm-style-image-object-fit, cover);
	object-position: var(--nm-style-image-object-position, center);
	border-radius: var(--nm-style-image-border-radius, 0);
}

.nm-terra-bv-launcher__actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--nm-style-actions-gap, 12px);
	margin-top: var(--nm-style-actions-margin-top, 0);
	justify-content: var(--nm-style-actions-align, stretch);
}

.nm-terra-bv-launcher__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: var(--nm-style-button-padding, 12px 16px);
	background: var(--nm-style-button-background, var(--sage, #acad95));
	color: var(--nm-style-button-color, #fff);
	text-decoration: none;
	font-family: var(--nm-style-button-font-family, inherit);
	font-size: var(--nm-style-button-font-size, 15px);
	font-weight: var(--nm-style-button-font-weight, 600);
	letter-spacing: var(--nm-style-button-letter-spacing, normal);
	line-height: var(--nm-style-button-line-height, normal);
	text-transform: var(--nm-style-button-text-transform, none);
	border: var(--nm-style-button-border-width, 1px) solid var(--nm-style-button-border-color, transparent);
	border-radius: var(--nm-style-button-border-radius, 0);
	margin-top: var(--nm-style-button-margin-top, 0);
	transition: background 0.2s ease, color 0.2s ease;
}

.nm-terra-bv-launcher__btn:hover,
.nm-terra-bv-launcher__btn:focus-visible {
	background: var(--nm-style-button-background-hover, var(--olive, #45422b));
	color: var(--nm-style-button-color-hover, #fff);
	border-color: var(--nm-style-button-border-color-hover, transparent);
}

.nm-terra-bv-launcher__btn:focus-visible {
	outline: 2px solid var(--olive, #45422b);
	outline-offset: 2px;
}

.nm-terra-bv-launcher__note {
	margin: 20px auto 0;
	max-width: var(--nm-style-note-max-width, 36rem);
	font-family: var(--nm-style-note-font-family, inherit);
	font-size: var(--nm-style-note-font-size, 13px);
	font-weight: var(--nm-style-note-font-weight, 400);
	letter-spacing: var(--nm-style-note-letter-spacing, normal);
	line-height: var(--nm-style-note-line-height, 1.55);
	text-transform: var(--nm-style-note-text-transform, none);
	color: var(--nm-style-note-color, var(--body, #5c5848));
	text-align: var(--nm-style-note-text-align, center);
	margin-top: var(--nm-style-note-margin-top, 20px);
	margin-bottom: var(--nm-style-note-margin-bottom, 0);
}

.nm-terra-bv-launcher__note a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

@media (max-width: 760px) {
	.nm-terra-bv-launcher {
		padding: 72px 0;
		padding-top: var(--nm-style-section-padding-top, 72px);
		padding-bottom: var(--nm-style-section-padding-bottom, 72px);
	}

	.nm-terra-bv-launcher__inner {
		width: calc(100% - 40px);
	}

	.nm-terra-bv-launcher__actions {
		grid-template-columns: 1fr;
	}
}

/* Legacy framed embed (only if older shortcode wrappers remain). */
.nm-builder-skin-terra .nm-builder-shortcode--buildview,
.nm-builder-skin-terra .nm-builder-bv-frame,
.nm-terra-bv__frame {
	margin-top: 44px;
	background: var(--cream);
	border: 1px solid rgba(252, 249, 237, 0.2);
	border-radius: 0;
	position: relative;
	min-height: 520px;
	overflow: hidden;
	padding: 0;
	max-width: 1300px;
	width: calc(100% - 80px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

@media (max-width: 760px) {
	.nm-builder-skin-terra .nm-builder-shortcode--buildview,
	.nm-builder-skin-terra .nm-builder-bv-frame,
	.nm-terra-bv__frame {
		width: calc(100% - 40px);
	}
}

.nm-terra-bv__note {
	margin-top: 20px;
	font-size: 12.5px;
	color: rgba(252, 249, 237, 0.62);
	text-align: center;
	font-weight: 300;
}

.nm-terra-bv__fallback {
	text-align: center;
	padding: 40px 24px;
}

/* —— Steps —— */
.nm-builder-skin-terra .nm-builder-cards--steps .nm-builder-cards__grid,
.nm-terra-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--nm-style-steps-gap, 24px);
	margin-top: var(--nm-style-steps-margin-top, 52px);
}

@media (max-width: 940px) {
	.nm-builder-skin-terra .nm-builder-cards--steps .nm-builder-cards__grid,
	.nm-terra-steps {
		grid-template-columns: 1fr 1fr;
		gap: var(--nm-style-steps-gap, 28px);
	}
}

@media (max-width: 560px) {
	.nm-builder-skin-terra .nm-builder-cards--steps .nm-builder-cards__grid,
	.nm-terra-steps {
		grid-template-columns: 1fr;
	}
}

.nm-builder-skin-terra .nm-builder-card--steps,
.nm-terra-step {
	background: var(--nm-style-step-background-color, transparent);
	border: var(--nm-style-step-border-width, 0) solid var(--nm-style-step-border-color, transparent);
	box-shadow: none;
	border-radius: var(--nm-style-step-border-radius, 0);
	padding: var(--nm-style-step-padding, 0);
}

.nm-builder-skin-terra .nm-builder-card__n,
.nm-terra-step__n {
	width: 38px;
	height: 38px;
	border-radius: var(--nm-style-step-number-border-radius, 50%);
	background: var(--nm-style-step-number-background-color, var(--sage));
	color: var(--nm-style-step-number-color, var(--cream));
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: var(--nm-style-step-number-font-weight, 700);
	font-size: var(--nm-style-step-number-font-size, 14px);
	margin-bottom: 16px;
}

.nm-builder-skin-terra .nm-builder-card--steps h3,
.nm-terra-step h3 {
	font-family: var(--nm-style-step-heading-font-family, var(--font-display));
	font-size: var(--nm-style-step-heading-font-size, 16.5px);
	font-weight: var(--nm-style-step-heading-font-weight, 700);
	letter-spacing: var(--nm-style-step-heading-letter-spacing, -0.015em);
	line-height: var(--nm-style-step-heading-line-height, 1.15);
	color: var(--nm-style-step-heading-color, var(--olive));
	text-transform: var(--nm-style-step-heading-text-transform, none);
	margin: 0;
	margin-top: var(--nm-style-step-heading-margin-top, 0);
	margin-bottom: var(--nm-style-step-heading-margin-bottom, 0);
}

.nm-builder-skin-terra .nm-builder-card--steps .nm-builder-card__body {
	padding: 0;
}

.nm-builder-skin-terra .nm-builder-card--steps p,
.nm-terra-step p {
	margin-top: var(--nm-style-step-text-margin-top, 9px);
	font-family: var(--nm-style-step-text-font-family, inherit);
	font-size: var(--nm-style-step-text-font-size, 14px);
	line-height: var(--nm-style-step-text-line-height, 1.7);
	color: var(--nm-style-step-text-color, var(--body));
	font-weight: var(--nm-style-step-text-font-weight, 300);
	letter-spacing: var(--nm-style-step-text-letter-spacing, normal);
	text-transform: var(--nm-style-step-text-text-transform, none);
}

/* —— Accordion / FAQ —— */
.nm-builder-skin-terra .nm-builder-accordion__list,
.nm-terra-acc {
	max-width: 820px;
	margin: 46px auto 0;
	border-top: 1px solid var(--line);
}

.nm-builder-skin-terra .nm-builder-accordion__item,
.nm-terra-acc__item {
	border-top: 0;
	border-bottom: 1px solid var(--line);
}

.nm-builder-skin-terra .nm-builder-accordion__heading,
.nm-terra-acc__heading {
	margin: 0;
	font-size: inherit;
}

.nm-builder-skin-terra .nm-builder-accordion__q,
.nm-terra-acc__q {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 22px 2px;
	min-height: 52px;
	text-align: left;
	font-family: var(--font-display);
	font-size: var(--nm-style-question-font-size, 16.5px);
	font-weight: var(--nm-style-question-font-weight, 700);
	color: var(--nm-style-question-color, var(--olive));
	border: 0;
	background: var(--nm-style-question-background-color, transparent);
	cursor: pointer;
	transition: color 0.2s;
}

.nm-builder-skin-terra .nm-builder-accordion__q:hover,
.nm-terra-acc__q:hover {
	color: var(--sage-dk);
}

.nm-builder-skin-terra .nm-builder-accordion__ic,
.nm-terra-acc__ic {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	position: relative;
	border: 0;
	transform: none;
}

.nm-builder-skin-terra .nm-builder-accordion__ic::before,
.nm-builder-skin-terra .nm-builder-accordion__ic::after,
.nm-terra-acc__ic::before,
.nm-terra-acc__ic::after {
	content: "";
	position: absolute;
	background: var(--sage-dk);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.3s ease;
}

.nm-builder-skin-terra .nm-builder-accordion__ic::before,
.nm-terra-acc__ic::before {
	width: 14px;
	height: 2px;
}

.nm-builder-skin-terra .nm-builder-accordion__ic::after,
.nm-terra-acc__ic::after {
	width: 2px;
	height: 14px;
}

.nm-builder-skin-terra .nm-builder-accordion__q[aria-expanded="true"] .nm-builder-accordion__ic::after,
.nm-terra-acc__q[aria-expanded="true"] .nm-terra-acc__ic::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.nm-builder-skin-terra .nm-builder-accordion__a,
.nm-terra-acc__a {
	padding: var(--nm-style-answer-padding, 0 2px 22px);
	font-size: var(--nm-style-answer-font-size, 14.5px);
	line-height: 1.8;
	color: var(--nm-style-answer-color, var(--body));
	font-weight: 300;
}

.nm-builder-skin-terra .nm-builder-accordion__a ul,
.nm-terra-acc__a ul {
	margin: 10px 0 0 18px;
	padding-left: 0;
}

/* —— Guide —— */
.nm-builder-skin-terra .nm-builder-section--guide,
.nm-builder-skin-terra .nm-builder-guide,
.nm-terra-guide {
	background: var(--cream-2);
}

.nm-terra-guide[data-nm-block-id] {
	background: var(--nm-style-section-background, var(--nm-style-section-background-color, var(--cream-2)));
}

.nm-builder-skin-terra .nm-builder-guide__grid,
.nm-terra-guide__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 52px;
	align-items: center;
}

@media (max-width: 860px) {
	.nm-builder-skin-terra .nm-builder-guide__grid,
	.nm-terra-guide__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

.nm-builder-skin-terra .nm-builder-guide__art,
.nm-terra-guide__art {
	box-shadow: var(--shadow-lg);
	background: var(--nm-style-art-background-color, transparent);
	border-radius: var(--nm-style-art-border-radius, 0);
	padding: var(--nm-style-art-padding, 0);
}

.nm-builder-skin-terra .nm-builder-guide__art img,
.nm-terra-guide__art img,
.nm-terra-guide__img {
	width: 100%;
	height: auto;
	max-width: var(--nm-style-image-max-width, none);
	border-radius: var(--nm-style-image-border-radius, 0);
	display: block;
	object-fit: var(--nm-style-image-object-fit, cover);
	object-position: var(--nm-style-image-object-position, center);
	box-shadow: var(--shadow-lg, 0 24px 60px rgba(69, 66, 43, 0.16));
}

.nm-builder-skin-terra .nm-builder-guide__copy h2,
.nm-terra-guide__copy h2 {
	font-size: var(--nm-style-heading-font-size, clamp(23px, 3.2vw, 36px));
	font-family: var(--nm-style-heading-font-family, var(--font-display));
	font-weight: var(--nm-style-heading-font-weight, 700);
	text-transform: var(--nm-style-heading-text-transform, uppercase);
	letter-spacing: var(--nm-style-heading-letter-spacing, normal);
	line-height: var(--nm-style-heading-line-height, 1.08);
	color: var(--nm-style-heading-color, var(--olive));
	margin: 0;
	margin-top: var(--nm-style-heading-margin-top, 0);
}

.nm-builder-skin-terra .nm-builder-guide__copy > p,
.nm-terra-guide__copy > p {
	margin-top: var(--nm-style-intro-margin-top, 16px);
	font-size: var(--nm-style-intro-font-size, 15.5px);
	line-height: var(--nm-style-intro-line-height, 1.75);
	color: var(--nm-style-intro-color, var(--body));
	font-weight: var(--nm-style-intro-font-weight, 300);
}

.nm-builder-skin-terra .nm-builder-guide__copy ul,
.nm-terra-guide__copy ul {
	margin: 18px 0 0;
	list-style: none;
	padding: 0;
	font-family: var(--nm-style-bullets-font-family, inherit);
	font-size: var(--nm-style-bullets-font-size, inherit);
	font-weight: var(--nm-style-bullets-font-weight, inherit);
	line-height: var(--nm-style-bullets-line-height, inherit);
	letter-spacing: var(--nm-style-bullets-letter-spacing, normal);
	color: var(--nm-style-bullets-color, inherit);
	text-transform: var(--nm-style-bullets-text-transform, none);
}

.nm-builder-skin-terra .nm-builder-guide__copy li,
.nm-terra-guide__copy li {
	display: flex;
	gap: 11px;
	font-size: var(--nm-style-bullets-font-size, 14.5px);
	color: var(--nm-style-bullets-color, var(--body));
	margin-bottom: 9px;
	font-weight: var(--nm-style-bullets-font-weight, 300);
}

.nm-builder-skin-terra .nm-builder-guide__copy li::before,
.nm-terra-guide__copy li::before {
	content: "—";
	color: var(--sage);
	font-weight: 700;
}

.nm-terra-guide__form,
.nm-terra-lead-form,
.nm-builder-lead-form.nm-terra-lead-form,
.nm-builder-skin-terra .nm-terra-lead-form,
.nm-builder-skin-terra .nm-builder-lead-form.nm-terra-lead-form {
	display: flex;
	gap: var(--nm-style-form-gap, 10px);
	margin-top: 26px;
	flex-wrap: wrap;
	background-color: var(--nm-style-form-background-color, transparent);
	border: var(--nm-style-form-border-width, 0) solid var(--nm-style-form-border-color, transparent);
	border-radius: var(--nm-style-form-border-radius, 0);
	padding: var(--nm-style-form-padding, 0);
}

.nm-terra-lead-form input,
.nm-builder-lead-form.nm-terra-lead-form input {
	flex: 1;
	min-width: 150px;
	border: var(--nm-style-field-input-border-width, 1.5px) solid var(--nm-style-field-input-border-color, var(--line, #e0dcc6));
	background: var(--nm-style-field-input-background-color, var(--white, #fff));
	padding: var(--nm-style-field-input-padding, 15px 16px);
	font-family: inherit;
	font-size: var(--nm-style-field-input-font-size, 14.5px);
	color: var(--nm-style-field-input-color, var(--ink, #332f1e));
	border-radius: var(--nm-style-field-input-border-radius, 0);
}

.nm-terra-lead-form input:focus,
.nm-builder-lead-form.nm-terra-lead-form input:focus {
	outline: none;
	border-color: var(--sage, #acad95);
}

.nm-builder-skin-terra .nm-terra-lead-form .nm-terra-btn,
.nm-builder-skin-terra .nm-builder-lead-form .nm-terra-btn,
.nm-builder-skin-terra .nm-terra-guide__form .nm-terra-btn,
.nm-terra-lead-form .nm-terra-btn,
.nm-builder-lead-form.nm-terra-lead-form .nm-terra-btn,
.nm-terra-guide__form .nm-terra-btn {
	flex-basis: 100%;
	width: 100%;
	background: var(--nm-style-submit-button-background, var(--olive));
	color: var(--nm-style-submit-button-color, var(--cream));
	border-color: var(--nm-style-submit-button-border-color, var(--olive));
	border-width: var(--nm-style-submit-button-border-width, 1.5px);
	border-radius: var(--nm-style-submit-button-border-radius, 0);
	padding: var(--nm-style-submit-button-padding, 16px 30px);
	font-size: var(--nm-style-submit-button-font-size, 11.5px);
	font-weight: var(--nm-style-submit-button-font-weight, 600);
	letter-spacing: var(--nm-style-submit-button-letter-spacing, 0.18em);
	text-transform: var(--nm-style-submit-button-text-transform, uppercase);
	font-family: var(--nm-style-submit-button-font-family, var(--font-body));
	margin-top: var(--nm-style-submit-button-margin-top, 0);
}

/* Terra Saved Block can override notice tokens via Design; generic defaults stay token-based. */
.nm-builder-skin-terra .nm-builder-form-success {
	--nm-builder-form-success-bg: var(--cream, #fcf9ed);
	--nm-builder-form-success-fg: var(--olive, #45422b);
	--nm-builder-form-success-border: rgba(69, 66, 43, 0.16);
	--nm-builder-form-success-shadow: 0 8px 20px rgba(69, 66, 43, 0.08);
	--nm-builder-form-notice-radius: 4px;
}

.nm-builder-skin-terra .nm-builder-guide__fine,
.nm-terra-guide__fine,
.nm-terra-guide__placeholder {
	font-family: var(--nm-style-fine-font-family, inherit);
	font-size: var(--nm-style-fine-font-size, 0.88rem);
	font-weight: var(--nm-style-fine-font-weight, inherit);
	line-height: var(--nm-style-fine-line-height, inherit);
	letter-spacing: var(--nm-style-fine-letter-spacing, normal);
	color: var(--nm-style-fine-color, var(--body));
	text-transform: var(--nm-style-fine-text-transform, none);
	margin-top: var(--nm-style-fine-margin-top, 12px);
	margin-bottom: var(--nm-style-fine-margin-bottom, 0);
}

/* —— Tiles —— */
.nm-builder-skin-terra .nm-builder-cards--tiles .nm-builder-cards__grid,
.nm-terra-tiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--nm-style-grid-gap, 24px);
	margin-top: var(--nm-style-grid-margin-top, 52px);
}

@media (max-width: 820px) {
	.nm-builder-skin-terra .nm-builder-cards--tiles .nm-builder-cards__grid,
	.nm-terra-tiles {
		grid-template-columns: 1fr;
	}
}

.nm-builder-skin-terra .nm-builder-card--tile,
.nm-terra-tile {
	position: relative;
	isolation: isolate;
	min-height: 340px;
	display: flex;
	align-items: flex-end;
	padding: 36px;
	overflow: hidden;
	background: var(--nm-style-tile-background-color, var(--olive));
	border-radius: var(--nm-style-tile-border-radius, 0);
	border: 0;
	box-shadow: none;
	text-decoration: none;
	color: var(--cream);
}

.nm-builder-skin-terra .nm-builder-card--tile img,
.nm-terra-tile img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: var(--nm-style-tile-image-object-fit, cover);
	object-position: var(--nm-style-tile-image-object-position, center);
	border-radius: var(--nm-style-tile-image-border-radius, 0);
	z-index: 0;
	transition: transform 0.7s cubic-bezier(0.2, 0, 0.2, 1);
}

.nm-builder-skin-terra .nm-builder-card--tile:hover img,
.nm-terra-tile:hover img {
	transform: scale(1.06);
}

.nm-builder-skin-terra .nm-builder-card__scrim,
.nm-terra-tile__sc {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--nm-style-tile-scrim-background, linear-gradient(0deg, rgba(51, 47, 30, 0.9) 0%, rgba(51, 47, 30, 0.25) 68%));
}

.nm-builder-skin-terra .nm-builder-card--tile .nm-builder-card__body,
.nm-terra-tile__in {
	position: relative;
	z-index: 2;
	left: auto;
	right: auto;
	bottom: auto;
	padding: 0;
	color: inherit;
}

.nm-builder-skin-terra .nm-builder-card--tile h3,
.nm-terra-tile__in h3 {
	color: var(--nm-style-tile-title-color, var(--cream));
	font-family: var(--nm-style-tile-title-font-family, inherit);
	font-size: var(--nm-style-tile-title-font-size, clamp(22px, 2.9vw, 31px));
	font-weight: var(--nm-style-tile-title-font-weight, inherit);
	letter-spacing: var(--nm-style-tile-title-letter-spacing, normal);
	line-height: var(--nm-style-tile-title-line-height, inherit);
	text-transform: var(--nm-style-tile-title-text-transform, none);
	margin: 0;
	margin-top: var(--nm-style-tile-title-margin-top, 0);
}

.nm-builder-skin-terra .nm-builder-card--tile p,
.nm-terra-tile__in p {
	margin-top: var(--nm-style-tile-text-margin-top, 10px);
	font-family: var(--nm-style-tile-text-font-family, inherit);
	font-size: var(--nm-style-tile-text-font-size, 14px);
	line-height: var(--nm-style-tile-text-line-height, 1.65);
	color: var(--nm-style-tile-text-color, rgba(252, 249, 237, 0.84));
	max-width: var(--nm-style-tile-text-max-width, 34ch);
	font-weight: var(--nm-style-tile-text-font-weight, 300);
	letter-spacing: var(--nm-style-tile-text-letter-spacing, normal);
	text-transform: var(--nm-style-tile-text-text-transform, none);
}

.nm-builder-skin-terra .nm-builder-card__link,
.nm-terra-tile__lnk {
	margin-top: var(--nm-style-tile-link-margin-top, 16px);
	display: inline-block;
	font-family: var(--nm-style-tile-link-font-family, inherit);
	font-size: var(--nm-style-tile-link-font-size, 10.5px);
	font-weight: var(--nm-style-tile-link-font-weight, 600);
	letter-spacing: var(--nm-style-tile-link-letter-spacing, 0.2em);
	text-transform: var(--nm-style-tile-link-text-transform, uppercase);
	color: var(--nm-style-tile-link-color, var(--cream));
	border-bottom: 2px solid var(--sage);
	padding-bottom: 5px;
	text-decoration: none;
}

/* —— CTA band (Senita .band = sage) —— */
.nm-builder-skin-terra .nm-builder-section--accent,
.nm-terra-band {
	background: var(--sage);
	color: var(--cream);
	text-align: center;
	max-width: none;
	width: 100%;
}

.nm-terra-band[data-nm-block-id] {
	background: var(--nm-style-section-background, var(--nm-style-section-background-color, var(--sage)));
	color: var(--nm-style-section-color, var(--cream));
	max-width: var(--nm-style-section-max-width, none);
	border-radius: var(--nm-style-section-border-radius, 0);
}

.nm-builder-skin-terra .nm-builder-section--accent .nm-builder-section__heading,
.nm-terra-band h2 {
	color: var(--nm-style-heading-color, var(--cream));
	font-family: var(--nm-style-heading-font-family, inherit);
	font-size: var(--nm-style-heading-font-size, clamp(25px, 3.9vw, 44px));
	font-weight: var(--nm-style-heading-font-weight, inherit);
	letter-spacing: var(--nm-style-heading-letter-spacing, normal);
	line-height: var(--nm-style-heading-line-height, inherit);
	text-transform: var(--nm-style-heading-text-transform, uppercase);
	margin-top: var(--nm-style-heading-margin-top, 0);
	max-width: var(--nm-style-heading-max-width, none);
}

.nm-builder-skin-terra .nm-builder-section--accent .nm-builder-section__lead,
.nm-terra-band p {
	margin: var(--nm-style-lead-margin-top, 18px) auto var(--nm-style-lead-margin-bottom, 0);
	max-width: var(--nm-style-lead-max-width, 500px);
	font-family: var(--nm-style-lead-font-family, inherit);
	font-size: var(--nm-style-lead-font-size, 16px);
	line-height: var(--nm-style-lead-line-height, 1.7);
	color: var(--nm-style-lead-color, rgba(252, 249, 237, 0.92));
	font-weight: var(--nm-style-lead-font-weight, 300);
	letter-spacing: var(--nm-style-lead-letter-spacing, normal);
	text-transform: var(--nm-style-lead-text-transform, none);
}

.nm-builder-skin-terra .nm-builder-section--accent .nm-builder-buttons,
.nm-builder-skin-terra .nm-builder-section--accent .nm-builder-section__body .nm-builder-buttons,
.nm-terra-band .nm-terra-btns {
	justify-content: var(--nm-style-buttons-align, center);
	margin-top: var(--nm-style-buttons-margin-top, 30px);
	display: flex;
	flex-wrap: wrap;
	gap: var(--nm-style-buttons-gap, 12px);
}

.nm-builder-skin-terra .nm-builder-section--accent a.nm-builder-btn--primary,
.nm-builder-skin-terra .nm-builder-section--accent .nm-builder-btn--primary {
	background: var(--nm-style-primary-button-background, var(--cream));
	color: var(--nm-style-primary-button-color, var(--olive));
	border-color: var(--nm-style-primary-button-border-color, var(--cream));
}

.nm-builder-skin-terra .nm-builder-section--accent a.nm-builder-btn--secondary,
.nm-builder-skin-terra .nm-builder-section--accent .nm-builder-btn--secondary {
	border-color: var(--nm-style-secondary-button-border-color, rgba(252, 249, 237, 0.65));
	color: var(--nm-style-secondary-button-color, var(--cream));
	background: var(--nm-style-secondary-button-background, transparent);
}
