/*
 * Android-safe site font.
 *
 * Use a dedicated family name so obsolete parent-theme @font-face rules cannot
 * win font matching. Each static WOFF2 is registered at exact weights instead
 * of variable ranges, which keeps older Android Chrome/WebView builds on the
 * same Kalameh files. Digits intentionally stay in Kalameh as well.
 */
@font-face { font-family: "KalamehSite"; src: url("../fonts/KalamehWeb-Light.woff2") format("woff2"); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "KalamehSite"; src: url("../fonts/KalamehWeb-Light.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "KalamehSite"; src: url("../fonts/KalamehWeb-Medium.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "KalamehSite"; src: url("../fonts/KalamehWeb-Medium.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "KalamehSite"; src: url("../fonts/KalamehWeb-Medium.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "KalamehSite"; src: url("../fonts/KalamehWeb-ExtraBold.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "KalamehSite"; src: url("../fonts/KalamehWeb-ExtraBold.woff2") format("woff2"); font-style: normal; font-weight: 900; font-display: swap; }

:root {
	--np-font: "KalamehSite", Tahoma, Arial, sans-serif;
	--np-font-family: "KalamehSite", Tahoma, Arial, sans-serif;
}

/*
 * Interaction geometry contract.
 * Hover/focus may change colour, border and shadow, but never the footprint of
 * an icon control or the icon inside it.
 */

/*
 * Global typography contract.
 *
 * KalamehSite is defined above with Android-safe exact static weights. All copy
 * and digits use the same Kalameh family.
 * Only text-bearing elements are targeted so icon-font glyphs keep their own
 * families. This final stylesheet also wins over legacy Arial/monospace labels.
 */
body:not(.wp-admin).np-v2-skin,
body:not(.wp-admin).np-v2-skin :where(
	h1, h2, h3, h4, h5, h6,
	p, a, button, input, textarea, select, option, label,
	span, small, strong, b, em, time,
	li, dt, dd, th, td, caption, blockquote, figcaption, code, pre
) {
	font-family: var(--np-font) !important;
}

/*
 * Site-wide heading rhythm.
 * Prominent headings stay readable in one or two balanced lines instead of
 * becoming oversized, narrow multi-line blocks. Editorial text is untouched.
 */
body:not(.wp-admin).np-v2-skin main :where(h1, h2, h3),
body:not(.wp-admin).np-v2-skin footer :where(h2, h3) {
	max-inline-size: 100%;
	text-wrap: balance;
	word-break: normal;
	overflow-wrap: normal;
}

body.np-v2-skin :is(
	.npv2-landing-hero h1,
	.npv2-hero h1,
	.npv2-content-hero h1,
	.npv2-article-heading h1,
	.np-page-hero-card h1,
	.np-archive-hero-card h1,
	.np-hpe-guide-hero__copy h1
) {
	font-size: clamp(28px, 3.0vw, 40px) !important;
	line-height: 1.12 !important;
	letter-spacing: -.025em !important;
}

body:not(.wp-admin).np-v2-skin main .np-hpe-guide-hero__copy h1 {
	font-size: clamp(34px, 3.2vw, 42px) !important;
	line-height: 1.18 !important;
}

body.np-v2-skin :is(
	.npv2-section-head h2,
	.np-section-head h2,
	.section-head h2,
	.npv2-landing-section__head h2,
	.npv2-landing-catalog__head h2,
	.npv2-landing-process > header h2,
	.npv2-landing-final h2,
	.npv2-security-copy h2,
	.npv2-contact-intro h2,
	.np-hpe-guide-heading h2,
	.np-hpe-guide-intro h2,
	.np-hpe-guide-products__head h2,
	.np-hpe-guide-checklist header h2
) {
	font-size: clamp(30px, 3.6vw, 48px) !important;
	line-height: 1.2 !important;
	letter-spacing: -.02em !important;
}

body.np-v2-skin main :is(
	.npv2-product-card h3,
	.npv2-landing-card h3,
	.npv2-story h3,
	.npv2-featured-post h2,
	.npv2-post-card h2,
	.npv2-post-card h3,
	.npv2-solution-grid h3,
	.npv2-flow-grid h3,
	.woocommerce-loop-product__title
) {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

@media (min-width: 861px) {
	body.np-v2-skin .npv2-landing-process {
		grid-template-columns: minmax(350px, .9fr) minmax(0, 1.1fr);
	}

	body.np-v2-skin .npv2-landing-process > header h2 {
		font-size: clamp(32px, 3.2vw, 42px) !important;
	}
}

@media (max-width: 600px) {
	body.np-v2-skin :is(
		.npv2-landing-hero h1,
		.npv2-hero h1,
		.npv2-content-hero h1,
		.npv2-article-heading h1,
		.np-page-hero-card h1,
		.np-archive-hero-card h1,
		.np-hpe-guide-hero__copy h1
	) {
		font-size: clamp(26px, 7.4vw, 34px) !important;
		line-height: 1.18 !important;
	}

	body.np-v2-skin :is(
		.npv2-section-head h2,
		.np-section-head h2,
		.section-head h2,
		.npv2-landing-section__head h2,
		.npv2-landing-catalog__head h2,
		.npv2-landing-process > header h2,
		.npv2-landing-final h2,
		.npv2-security-copy h2,
		.npv2-contact-intro h2,
		.np-hpe-guide-heading h2,
		.np-hpe-guide-intro h2,
		.np-hpe-guide-products__head h2,
		.np-hpe-guide-checklist header h2
	) {
		font-size: clamp(28px, 8vw, 36px) !important;
		line-height: 1.25 !important;
	}

	body:not(.wp-admin).np-v2-skin main :is(
		.npv2-section-head h2,
		.np-section-head h2,
		.section-head h2,
		.npv2-landing-section__head h2,
		.npv2-landing-catalog__head h2,
		.npv2-landing-process > header h2,
		.npv2-security-copy h2,
		.npv2-contact-intro h2,
		.np-hpe-guide-heading h2,
		.np-hpe-guide-intro h2,
		.np-hpe-guide-products__head h2,
		.np-hpe-guide-checklist header h2
	) {
		font-size: clamp(25px, 6.4vw, 30px) !important;
		line-height: 1.25 !important;
	}

	body:not(.wp-admin).np-v2-skin main .npv2-landing-final h2 {
		font-size: clamp(23px, 6vw, 28px) !important;
		line-height: 1.3 !important;
	}

	body:not(.wp-admin).np-v2-skin main .npv2-hero h1 {
		font-size: clamp(24px, 6.4vw, 28px) !important;
		line-height: 1.22 !important;
	}

	body:not(.wp-admin).np-v2-skin main .np-hpe-guide-hero__copy h1 {
		font-size: clamp(21px, 5.8vw, 24px) !important;
		line-height: 1.3 !important;
		letter-spacing: -.035em !important;
	}

	body:not(.wp-admin).np-v2-skin main .npv2-cta h2 {
		font-size: clamp(22px, 6.2vw, 25px) !important;
		line-height: 1.3 !important;
	}

	body:not(.wp-admin).np-v2-skin main .np-hpe-guide-sources h2 {
		font-size: clamp(20px, 5.7vw, 23px) !important;
		line-height: 1.32 !important;
	}
}

/* Final homepage destination: keep the data-center tour out of the product
 * category grid and present it as one distinct closing action. */
body.home.np-v2-skin .npv2-tour-final {
	padding-block: 24px 80px;
	background: #fff;
}

body.home.np-v2-skin .npv2-tour-final-card {
	min-height: 180px;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(20px, 3vw, 44px);
	padding: clamp(24px, 3vw, 42px);
	border: 1px solid color-mix(in srgb, var(--npv2-primary) 24%, transparent);
	border-radius: 18px;
	background:
		radial-gradient(circle at 12% 20%, rgb(0 112 99 / 10%), transparent 32%),
		linear-gradient(145deg, #fff 0%, #f1f8f6 100%);
	color: var(--npv2-ink);
	text-decoration: none;
	box-shadow: 0 18px 45px rgb(5 69 61 / 8%);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.home.np-v2-skin .npv2-tour-final-card:hover,
body.home.np-v2-skin .npv2-tour-final-card:focus-visible {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--npv2-primary) 48%, transparent);
	box-shadow: 0 22px 54px rgb(5 69 61 / 13%);
}

body.home.np-v2-skin .npv2-tour-final-card__icon {
	width: 72px;
	height: 72px;
	display: grid;
	place-items: center;
	border-radius: 16px;
	background: var(--npv2-primary);
	color: #fff;
}

body.home.np-v2-skin .npv2-tour-final-card__icon svg {
	width: 36px;
	height: 36px;
	stroke-width: 1.5;
}

body.home.np-v2-skin .npv2-tour-final-card__copy {
	min-width: 0;
	display: block;
}

body.home.np-v2-skin .npv2-tour-final-card__copy small {
	display: block;
	margin-bottom: 7px;
	color: var(--npv2-primary);
	font-size: 12px;
	font-weight: 400;
}

body:not(.wp-admin).home.np-v2-skin main .npv2-tour-final-card__copy h2 {
	margin: 0 0 8px;
	color: var(--npv2-primary);
	font-size: clamp(25px, 2.3vw, 34px) !important;
	font-weight: 500;
	line-height: 1.35 !important;
	text-align: right !important;
}

body.home.np-v2-skin .npv2-tour-final-card__copy p {
	max-width: 720px;
	margin: 0;
	color: var(--npv2-muted);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.9;
}

body.home.np-v2-skin .npv2-tour-final-card__action {
	min-width: 142px;
	padding: 14px 20px;
	border-radius: 10px;
	background: var(--npv2-primary);
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
}

@media (max-width: 700px) {
	body.home.np-v2-skin .npv2-tour-final {
		padding-block: 16px 64px;
	}

	body.home.np-v2-skin .npv2-tour-final-card {
		min-height: 0;
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 18px;
		padding: 26px 20px 22px;
		border-radius: 14px;
		text-align: center;
	}

	body.home.np-v2-skin .npv2-tour-final-card__icon {
		width: 62px;
		height: 62px;
		border-radius: 14px;
	}

	body:not(.wp-admin).home.np-v2-skin main .npv2-tour-final-card__copy h2,
	body.home.np-v2-skin .npv2-tour-final-card__copy p {
		text-align: center !important;
		text-align-last: center;
	}

	body.home.np-v2-skin .npv2-tour-final-card__copy p {
		font-size: 14px;
		line-height: 1.85;
	}

	body.home.np-v2-skin .npv2-tour-final-card__action {
		width: 100%;
		min-width: 0;
	}
}

/* International reach separators.
 * Draw the rules independently from item borders so each rule stays centered
 * on the column boundary and keeps equal breathing room on both sides. */
body.home.np-v2-skin .npv2-reach-list li {
	position: relative;
	box-sizing: border-box;
	border-inline: 0 !important;
}

body.home.np-v2-skin .npv2-reach-list li::after {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 0;
	width: 2px;
	height: 54px;
	border-radius: 999px;
	background: rgb(255 255 255 / 76%);
	transform: translateY(-50%);
	pointer-events: none;
}

@media (min-width: 821px) {
	body.home.np-v2-skin .npv2-reach-list {
		gap: 28px;
	}

	body.home.np-v2-skin .npv2-reach-list li {
		display: flex;
		min-height: 72px;
		padding-inline: 26px 10px;
		flex-direction: column;
		justify-content: center;
	}
}

@media (max-width: 820px) {
	body.home.np-v2-skin .npv2-reach-globe {
		margin-block-start: 18px;
	}

	body.home.np-v2-skin .npv2-reach-list {
		gap: 0;
	}

	body.home.np-v2-skin .npv2-reach-list li {
		display: flex;
		min-height: 72px;
		padding-inline: 10px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	body.home.np-v2-skin .npv2-reach-list li::after {
		height: 48px;
	}
}

@media (max-width: 400px) {
	body.home.np-v2-skin .npv2-reach-list li {
		padding-inline: 7px;
	}

	body.home.np-v2-skin .npv2-reach-list strong {
		font-size: 13px;
	}

	body.home.np-v2-skin .npv2-reach-list span {
		font-size: 9px;
		letter-spacing: 0;
	}
}

/* All front-end modal backdrops share one matte-glass treatment. The compare
   focus mode keeps its authored green frame while gaining the same blur. */
body:not(.wp-admin).np-v2-skin :is(.np-modal-backdrop, .modal-backdrop) {
	-webkit-backdrop-filter: blur(18px) saturate(118%) brightness(88%) !important;
	backdrop-filter: blur(18px) saturate(118%) brightness(88%) !important;
}

body:not(.wp-admin).np-v2-skin :is(.np-modal-backdrop, .modal-backdrop):not(.np-v2-compare-modal) {
	background: linear-gradient(145deg, rgb(0 83 74 / 28%), rgb(13 38 36 / 34%)) !important;
}

body.np-v2-skin .np-v2-header__actions > :is(.np-v2-search-link, .np-v2-compare-link) {
	box-sizing: border-box !important;
	width: 42px !important;
	min-width: 42px !important;
	max-width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	flex: 0 0 42px;
	padding: 0 !important;
	border-radius: 6px !important;
}

/* Keep the comparison mark visible inside its white header control. Lucide
   inherits `currentColor`, so an explicit branded stroke prevents late cache
   bundles from leaving the icon dark or visually empty. */
body.np-v2-skin .np-v2-header__actions > .np-v2-compare-link > svg {
	display: block !important;
	width: 19px !important;
	min-width: 19px !important;
	height: 19px !important;
	color: var(--np-primary) !important;
	stroke: currentColor !important;
	opacity: 1 !important;
}

/* The compact unauthenticated login control is icon-only in the header. Keep
   its accessible name on the button while preventing the Persian label from
   being clipped into an apparently empty white box at narrower widths. */
body.np-v2-skin .np-v2-header__actions > .np-v2-login-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 46px !important;
	min-width: 46px !important;
	max-width: 46px !important;
	padding: 0 !important;
}

body.np-v2-skin .np-v2-header__actions > .np-v2-login-btn > svg {
	display: block !important;
	width: 20px !important;
	min-width: 20px !important;
	height: 20px !important;
	color: var(--np-primary) !important;
	stroke: currentColor !important;
	opacity: 1 !important;
}

body.np-v2-skin .np-v2-header__actions > .np-v2-login-btn > span {
	display: none !important;
}

body.np-v2-skin .np-v2-header__actions > .np-v2-account-link {
	box-sizing: border-box !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	padding: 7px 10px !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

body.np-v2-skin .np-v2-header__actions > :is(.np-v2-search-link, .np-v2-compare-link, .np-v2-account-link):hover,
body.np-v2-skin .np-v2-header__actions > :is(.np-v2-search-link, .np-v2-compare-link, .np-v2-account-link):focus-visible {
	transform: none !important;
	scale: 1 !important;
}

/* Component-scoped icons keep their authored dimensions in every state. */
body.np-v2-skin :is(
	.icon-btn,
	.np-v2-account-link,
	.np-v2-drawer__head > button,
	.mega-panel-head > button,
	.np-v2-command__panel header > button,
	.np-v2-utility-head > button,
	.np-v2-consult-options header > button,
	.npv2-card-tools button,
	.np-portal-password-toggle,
	.np-cookie-settings
) :is(svg, i) {
	flex-shrink: 0;
	scale: 1 !important;
}

body.np-v2-skin :is(
	.icon-btn,
	.np-v2-account-link,
	.np-v2-drawer__head > button,
	.mega-panel-head > button,
	.np-v2-command__panel header > button,
	.np-v2-utility-head > button,
	.np-v2-consult-options header > button,
	.npv2-card-tools button,
	.np-portal-password-toggle,
	.np-cookie-settings
):hover :is(svg, i),
body.np-v2-skin :is(
	.icon-btn,
	.np-v2-account-link,
	.np-v2-drawer__head > button,
	.mega-panel-head > button,
	.np-v2-command__panel header > button,
	.np-v2-utility-head > button,
	.np-v2-consult-options header > button,
	.npv2-card-tools button,
	.np-portal-password-toggle,
	.np-cookie-settings
):focus-visible :is(svg, i) {
	transform: none !important;
	scale: 1 !important;
}

/* Compare modal close control must not inherit the generic white button pill. */
body.np-v2-skin .np-v2-compare-head > button[data-np-modal-close] {
	box-sizing: border-box !important;
	width: 42px !important;
	min-width: 42px !important;
	max-width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	flex: 0 0 42px !important;
	padding: 0 !important;
	display: grid !important;
	place-items: center !important;
	color: #fff !important;
	background: rgb(255 255 255 / 12%) !important;
	border: 1px solid rgb(255 255 255 / 28%) !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	line-height: 1 !important;
	transform: none !important;
}

body.np-v2-skin .np-v2-compare-head > button[data-np-modal-close] > :is(svg, i) {
	box-sizing: border-box !important;
	width: 20px !important;
	min-width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	min-height: 20px !important;
	max-height: 20px !important;
	flex: 0 0 20px !important;
	color: #fff !important;
	stroke: #fff !important;
	opacity: 1 !important;
	transform: none !important;
}

body.np-v2-skin .np-v2-compare-head > button[data-np-modal-close]:is(:hover, :focus, :focus-visible, :active) {
	color: #fff !important;
	background: rgb(255 255 255 / 22%) !important;
	border-color: rgb(255 255 255 / 46%) !important;
	transform: none !important;
}

/* On mobile PDPs the compare shortcut sits centered above the sticky inquiry
   bar instead of overlapping its price button. */
@media (max-width: 820px) {
	body.single-product.np-v2-skin .np-v2-compare-dock {
		right: auto;
		bottom: calc(92px + env(safe-area-inset-bottom));
		left: 50%;
		transform: translateX(-50%);
	}
}

/*
 * Global solid-action colour contract.
 *
 * A solid NetPardaz-green control always keeps white copy and icons, including
 * hover/focus/active states. This sits in the final front-end stylesheet so
 * page-level link hover rules cannot reduce the contrast of a primary CTA.
 * Geometry remains owned by each component.
 */
body.np-v2-skin :is(
	.np-btn--primary,
	.btn-primary,
	.btn.primary,
	.button.alt,
	button.alt,
	.npv2-btn--primary,
	.npv2-button-primary,
	.npv2-card-compare.is-active,
	.np-v2-mega-side-cta,
	.search-form button,
	.np-search-modal-field button,
	.np-v2-product-search button,
	.npv2-content-search button,
	.npv2-article-content .np-article-product-cta a,
	.npv2-article-content .np-article-official-source,
	.np-v2-global-search button,
	.np-v2-account-form button[type="submit"],
	.np-v2-compare-live__item a,
	.np-v2-compare-dock button,
	.np-v2-command__toggle,
	.np-cookie-settings,
	.np-portal-auth-submit,
	.gform_wrapper .gform_button,
	.gform_wrapper .gform_next_button,
	.gform_wrapper input[type="submit"],
	.gform_wrapper button[type="submit"]
) {
	color: #fff !important;
}

body.np-v2-skin :is(
	.np-btn--primary,
	.btn-primary,
	.btn.primary,
	.button.alt,
	button.alt,
	.npv2-btn--primary,
	.npv2-button-primary,
	.npv2-card-compare.is-active,
	.np-v2-mega-side-cta,
	.search-form button,
	.np-search-modal-field button,
	.np-v2-product-search button,
	.npv2-content-search button,
	.npv2-article-content .np-article-product-cta a,
	.npv2-article-content .np-article-official-source,
	.np-v2-global-search button,
	.np-v2-account-form button[type="submit"],
	.np-v2-compare-live__item a,
	.np-v2-compare-dock button,
	.np-v2-command__toggle,
	.np-cookie-settings,
	.np-portal-auth-submit,
	.gform_wrapper .gform_button,
	.gform_wrapper .gform_next_button,
	.gform_wrapper input[type="submit"],
	.gform_wrapper button[type="submit"]
):is(:hover, :focus, :focus-visible, :active) {
	color: #fff !important;
	background-color: var(--np-primary-strong) !important;
}

body.np-v2-skin :is(
	.np-btn--primary,
	.btn-primary,
	.btn.primary,
	.button.alt,
	button.alt,
	.npv2-btn--primary,
	.npv2-button-primary,
	.npv2-card-compare.is-active,
	.np-v2-mega-side-cta,
	.search-form button,
	.np-search-modal-field button,
	.np-v2-product-search button,
	.npv2-content-search button,
	.npv2-article-content .np-article-product-cta a,
	.npv2-article-content .np-article-official-source,
	.np-v2-global-search button,
	.np-v2-account-form button[type="submit"],
	.np-v2-compare-live__item a,
	.np-v2-compare-dock button,
	.np-v2-command__toggle,
	.np-cookie-settings,
	.np-portal-auth-submit,
	.gform_wrapper .gform_button,
	.gform_wrapper .gform_next_button,
	.gform_wrapper button[type="submit"]
) :is(svg, i) {
	color: #fff !important;
	stroke: #fff;
}

/* Secondary controls that become solid green only while hovered. */
body.np-v2-skin :is(
	.npv2-promo-slide__cta,
	.np-footer-cta .btn.secondary
):is(:hover, :focus-visible, :active) {
	color: #fff !important;
}

/* Homepage hero: match the product CTA to the gold hero title. */
body.np-v2-skin .npv2-hero .npv2-button-primary.npv2-button-gold {
	border-color: #cfae80;
	background: #cfae80 !important;
	color: #fff !important;
	box-shadow: 0 12px 28px rgba(207, 174, 128, 0.28);
}

body.np-v2-skin .npv2-hero .npv2-button-primary.npv2-button-gold:is(:hover, :focus, :focus-visible, :active) {
	border-color: #bd9660;
	background: #bd9660 !important;
	color: #fff !important;
}

/* Homepage statement hero — rebuilt from the approved visual reference.
 * This block is intentionally scoped to the active homepage template so the
 * product, landing and editorial heroes retain their existing geometry. */
body.home.np-v2-skin .npv2-hero.npv2-hero--statement {
	min-height: clamp(470px, 42vw, 610px);
	display: block;
	padding: clamp(72px, 7vw, 100px) 0 clamp(96px, 10vw, 140px);
	background: #fff !important;
}

body.home.np-v2-skin .npv2-hero--statement .npv2-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
	gap: clamp(28px, 4vw, 60px);
	align-items: center;
}

body.home.np-v2-skin .npv2-hero--statement .npv2-hero-visual {
	min-height: clamp(350px, 34vw, 500px);
}

body.home.np-v2-skin .npv2-hero--statement .npv2-hero-mark {
	width: min(100%, 520px);
}

body.home.np-v2-skin .npv2-hero--statement .npv2-hero-copy {
	width: min(100%, 960px);
	margin-inline: auto;
	padding-inline: 26px 12px;
	direction: rtl;
	text-align: right;
}

body:not(.wp-admin).home.np-v2-skin main .npv2-hero--statement h1 {
	max-width: none;
	margin: 0 0 clamp(16px, 2.2vw, 24px);
	color: #cfae80 !important;
	font-size: clamp(35.5px, 3.25vw, 44px) !important;
	font-weight: 500;
	line-height: 1.25 !important;
	letter-spacing: -.025em !important;
	text-align: right;
}

body.home.np-v2-skin .npv2-hero--statement .npv2-hero-copy > p {
	max-width: none;
	margin: 0;
	color: #4c566b;
	font-size: clamp(18px, 1.75vw, 23px);
	font-weight: 400;
	line-height: 1.62;
	text-align: justify !important;
	text-align-last: right;
}

body.home.np-v2-skin .npv2-hero--statement .npv2-actions {
	justify-content: flex-start;
	margin-top: clamp(26px, 3vw, 34px);
}

body.home.np-v2-skin .npv2-hero--statement .npv2-hero-consultation {
	min-width: 112px;
	min-height: 48px;
	padding: 10px 22px;
	border: 1px solid #cfae80;
	border-radius: 9px !important;
	background: #cfae80 !important;
	box-shadow: none;
	color: #fff !important;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
}

body.home.np-v2-skin .npv2-hero--statement .npv2-hero-consultation:is(:hover, :focus, :focus-visible, :active) {
	border-color: #bd9660;
	background: #bd9660 !important;
	box-shadow: none;
	color: #fff !important;
}

@media (max-width: 820px) {
	body.home.np-v2-skin .npv2-hero--statement .npv2-hero-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	body.home.np-v2-skin .npv2-hero--statement .npv2-hero-visual {
		width: 100%;
		min-height: 0;
		order: 1;
	}

	body.home.np-v2-skin .npv2-hero--statement .npv2-hero-mark {
		width: min(78vw, 390px);
	}

	body.home.np-v2-skin .npv2-hero--statement .npv2-hero-copy {
		order: 2;
	}
}

@media (max-width: 600px) {
	body.home.np-v2-skin .npv2-hero.npv2-hero--statement {
		min-height: 0;
		padding: 24px 0 72px;
	}

	body.home.np-v2-skin .npv2-hero--statement .npv2-hero-copy {
		padding-inline: 10px;
	}

	body.home.np-v2-skin .npv2-hero--statement .npv2-hero-mark {
		width: min(82vw, 340px);
	}

	body:not(.wp-admin).home.np-v2-skin main .npv2-hero--statement h1 {
		font-size: clamp(28px, 6.35vw, 35.5px) !important;
		line-height: 1.25 !important;
		text-align: center;
	}

	body.home.np-v2-skin .npv2-hero--statement .npv2-hero-copy > p {
		font-size: clamp(17px, 3.85vw, 21.5px);
		line-height: 1.62;
		text-align: justify !important;
		text-align-last: right;
	}

	body.home.np-v2-skin .npv2-hero--statement .npv2-actions {
		justify-content: flex-start;
	}
}

@media (min-width: 1024.01px) and (max-width: 1240px) {
	body.np-v2-skin .np-v2-header__actions > .np-v2-account-link {
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		flex: 0 0 42px;
		padding: 0 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.np-v2-skin :is(.icon-btn, .np-v2-account-link) {
		transition: color 0.01ms, background 0.01ms, border-color 0.01ms !important;
	}
}

/* Homepage typography rhythm.
 * Keep only section-level titles and their introductory copy on this shared
 * scale; card titles retain their authored hierarchy. */
body.home.np-v2-skin .npv2-home {
	font-synthesis: none;
}

body:not(.wp-admin).home.np-v2-skin main .npv2-hero--statement h1 {
	font-size: clamp(34px, 3.05vw, 44px) !important;
	font-weight: 500;
	line-height: 1.25 !important;
	text-align: center !important;
}

body.home.np-v2-skin .npv2-hero--statement .npv2-hero-copy,
body.home.np-v2-skin .npv2-hero--statement .npv2-hero-copy > p {
	text-align: center !important;
	text-align-last: center;
}

body.home.np-v2-skin .npv2-hero--statement .npv2-actions {
	justify-content: center;
}

body.home.np-v2-skin main :is(
	.npv2-cap-head,
	.npv2-newest-head,
	.npv2-reach-head,
	.npv2-logos-head,
	.npv2-security-copy,
	.npv2-contact-intro,
	.npv2-faq-layout > div:first-child,
	.npv2-section-head
) {
	text-align: center !important;
}

body.home.np-v2-skin main .npv2-section-head {
	align-items: center;
	flex-direction: column;
}

body.home.np-v2-skin main .npv2-section-head > div:first-child {
	width: 100%;
}

body:not(.wp-admin).home.np-v2-skin main :is(
	.npv2-cap-head,
	.npv2-newest-head,
	.npv2-reach-head,
	.npv2-logos-head,
	.npv2-security-copy,
	.npv2-contact-intro,
	.npv2-faq-layout > div:first-child,
	.npv2-section-head
) h2 {
	max-width: 900px;
	margin-inline: auto;
	font-size: clamp(30px, 2.75vw, 40px) !important;
	font-weight: 500;
	line-height: 1.3 !important;
	letter-spacing: -.015em !important;
	text-align: center !important;
}

body.home.np-v2-skin main :is(
	.npv2-newest-head,
	.npv2-reach-head,
	.npv2-logos-head,
	.npv2-security-copy,
	.npv2-contact-intro,
	.npv2-faq-layout > div:first-child,
	.npv2-section-head > div:first-child
) > p {
	max-width: 760px;
	margin-inline: auto;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.9;
	text-align: center !important;
	text-align-last: center;
}

body:not(.wp-admin).home.np-v2-skin main .npv2-consult-copy h2 {
	font-size: clamp(24px, 2vw, 30px) !important;
	font-weight: 800;
	line-height: 1.5 !important;
	text-align: center !important;
}

body.home.np-v2-skin main .npv2-consult-copy,
body.home.np-v2-skin main .npv2-consult-copy > p {
	text-align: center !important;
	text-align-last: center;
}

@media (max-width: 600px) {
	body:not(.wp-admin).home.np-v2-skin main .npv2-hero--statement h1 {
		font-size: clamp(27px, 7.2vw, 30px) !important;
		line-height: 1.3 !important;
	}

	body.home.np-v2-skin .npv2-hero--statement .npv2-hero-copy > p {
		font-size: 16px;
		line-height: 1.85;
	}

	body:not(.wp-admin).home.np-v2-skin main :is(
		.npv2-cap-head,
		.npv2-newest-head,
		.npv2-reach-head,
		.npv2-logos-head,
		.npv2-security-copy,
		.npv2-contact-intro,
		.npv2-faq-layout > div:first-child,
		.npv2-section-head
	) h2 {
		font-size: clamp(25px, 6.8vw, 28px) !important;
		line-height: 1.38 !important;
	}

	body:not(.wp-admin).home.np-v2-skin main .npv2-consult-copy h2 {
		font-size: 22px !important;
	}

	body.home.np-v2-skin main :is(
		.npv2-newest-head,
		.npv2-reach-head,
		.npv2-logos-head,
		.npv2-security-copy,
		.npv2-contact-intro,
		.npv2-faq-layout > div:first-child,
		.npv2-section-head > div:first-child
	) > p {
		font-size: 15px;
		line-height: 1.85;
	}
}


/* Homepage globe pins: 15% larger while preserving the mobile proportions. */
body.home.np-v2-skin .npv2-pin--secondary {
	width: 23px;
	height: 23px;
}
body.home.np-v2-skin .npv2-pin--primary {
	width: 34.5px;
	height: 34.5px;
}
@media (max-width: 820px) {
	body.home.np-v2-skin .npv2-pin--secondary {
		width: 19.55px;
		height: 19.55px;
	}
	body.home.np-v2-skin .npv2-pin--primary {
		width: 24.15px;
		height: 24.15px;
	}
}


/* Enforce the approved 15% pin enlargement over later theme rules. */
body.home.np-v2-skin .npv2-pin--secondary { width:23px!important; height:23px!important; }
body.home.np-v2-skin .npv2-pin--primary { width:34.5px!important; height:34.5px!important; }
@media (max-width:820px) {
	body.home.np-v2-skin .npv2-pin--secondary { width:19.55px!important; height:19.55px!important; }
	body.home.np-v2-skin .npv2-pin--primary { width:24.15px!important; height:24.15px!important; }
}
