/* Nextplora — Design tokens (Figma Nexplora 7 - 16092026) */
:root {
	--np-black: #000000;
	--np-dark: #050506;
	--np-text: #0b0c0d;
	--np-text-strong: #0d0f12;
	--np-white: #ffffff;
	--np-lime: #b7c600;
	--np-lime-deep: #8ca600;
	--np-cyan: #0b8db5;
	--np-cyan-deep: #086b8f;
	--np-shell: #eef0f4;
	--np-cream: #f6f4ec;
	--np-muted: #595e66;
	--np-muted-2: #6a6d72;
	--np-grey-text: rgba(11, 12, 13, 0.62);
	--np-container: 1296px;
	--np-container-wide: 1440px;
	--np-gutter: 72px;
	--np-inset: 70px;
	--np-spacing: clamp(1.5rem, 4vw, 4.5rem);
	--np-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--np-mobile-pad: 20px;
	--np-section-pad-mobile: 44px;
	--np-solution-border: rgba(5, 5, 6, 0.1);
	--np-solution-border-featured: rgba(255, 255, 255, 0.18);
	--np-solution-card-h: 252px;
	--np-solution-accent-h: 12px;
	--np-solution-gap-x: 32px;
	--np-solution-gap-y: 40px;
	--np-solution-card-w: 400px;
	--np-logo-w: 255px;
	--np-logo-h: 44px;
	--np-logo-img-scale: 126.9%;
	--np-logo-img-offset: 15.43%;
	/* Ritmo verticale unificato tra blocchi */
	--np-section-gap: 96px;
	--np-section-gap-sm: 64px;
	--np-section-pad-x: var(--np-gutter);
	--np-header-offset: 72px;
	--np-gap-hero-to-cta: 162px;
	--np-gap-cta-to-benefits: var(--np-section-gap);
	--np-gap-benefits-to-solutions: var(--np-section-gap);
	--np-gap-solutions-to-video: var(--np-section-gap);
	--np-gap-video-to-testimonials: var(--np-section-gap);
	--np-gap-testimonials-to-cta: var(--np-section-gap);
	--np-gap-cta-to-footer: var(--np-section-gap);
	--np-solutions-pad-top: var(--np-section-gap);
	--np-solutions-pad-bottom: var(--np-section-gap);
	--np-solutions-heading-gap: var(--np-section-gap);
	--np-solutions-cta-gap: var(--np-section-gap-sm);
}

.elementor-page .elementor-widget-wrap > .elementor-element {
	width: 100% !important;
}

.elementor-widget[class*='nextplora'] {
	font-family: var(--np-font);
}

.elementor-widget[class*='nextplora'] > .elementor-widget-container {
	padding: 0 !important;
	margin: 0 !important;
}

.elementor-page .elementor-section-wrap > .elementor-section > .elementor-container {
	max-width: none !important;
	padding: 0 !important;
}

/* ── Shared ──────────────────────────────────────────────── */

.np-logo-text {
	font-size: 1.375rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: var(--np-white);
	text-transform: uppercase;
}

.np-highlight {
	color: var(--np-lime);
}

.np-highlight--blue {
	color: var(--np-cyan);
}

.np-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 132px;
	height: 46px;
	padding: 0 1.75rem;
	font-family: var(--np-font);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 0;
	cursor: pointer;
	transition: opacity 0.2s ease, background-color 0.2s ease;
}

.np-btn:hover {
	opacity: 0.92;
}

.np-btn--primary {
	background-color: var(--np-lime);
	color: var(--np-dark);
	border-color: var(--np-lime);
}

.np-btn--ghost {
	background-color: transparent;
	color: var(--np-white);
	border-color: rgba(255, 255, 255, 0.95);
}

.np-btn--ghost:hover {
	background-color: rgba(255, 255, 255, 0.08);
}

/* ── Hero Visual ─────────────────────────────────────────── */

.np-hero-visual {
	position: relative;
	display: flex;
	align-items: flex-start;
	min-height: var(--np-min-height, 747px);
	height: var(--np-min-height, 747px);
	background-color: var(--np-black);
	overflow: hidden;
}

.np-hero-visual__media {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.np-hero-visual__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.np-hero-visual__bg--back {
	top: 1px;
}

.np-hero-visual__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, var(--np-overlay-opacity, 0.15));
	pointer-events: none;
}

.np-hero-visual__wash {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(11, 141, 181, 0.34) 0%,
		rgba(11, 141, 181, 0.09) 44%,
		rgba(0, 0, 0, 0.22) 100%
	);
	pointer-events: none;
}

.np-hero-visual__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--np-container-wide);
	margin: 0 auto;
	padding: clamp(180px, 22vw, 240px) 64px 56px;
}

.np-hero-visual__logo {
	display: none;
}

.np-hero-visual__heading {
	margin: 0;
	max-width: 877px;
	font-family: var(--np-font);
	font-size: clamp(2.5rem, 4.2vw, 61px);
	font-weight: 800;
	line-height: 1.148;
	color: var(--np-white);
	letter-spacing: -0.01em;
	text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.14);
}

.np-hero-visual--intro .np-hero-visual__inner {
	padding: calc(var(--np-header-offset) + 48px) 64px 64px;
}

.np-hero-visual__eyebrow {
	margin: 0 0 20px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.8);
	line-height: 15px;
}

.np-hero-visual--intro .np-hero-visual__heading {
	max-width: 928px;
	font-size: clamp(2rem, 3.8vw, 52px);
	line-height: 1.15;
}

.np-hero-visual__lead {
	margin: 24px 0 0;
	max-width: 660px;
	font-size: 18px;
	line-height: 27px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.78);
}

/* ── Hero Carousel (6 slide Home — Figma Groups 11–16) ───── */

.np-hero-carousel {
	position: relative;
	isolation: isolate;
	display: block;
	min-height: var(--np-min-height, 747px);
	height: var(--np-min-height, 747px);
	background: var(--np-black);
	overflow: hidden;
	font-family: var(--np-font);
}

.elementor-widget-nextplora-hero-carousel {
	margin-bottom: 0 !important;
}

.np-hero-carousel__track {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.np-hero-carousel__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.7s ease, visibility 0.7s ease;
}

.np-hero-carousel__slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}

.np-hero-carousel__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 27vw);
	align-items: center;
	gap: 48px;
	box-sizing: border-box;
	width: 100%;
	max-width: 1440px;
	height: 100%;
	margin: 0 auto;
	padding: 34px clamp(24px, 8vw, 258px) 34px clamp(24px, 4vw, 64px);
}

.np-hero-carousel__copy {
	position: relative;
	z-index: 1;
	max-width: 664px;
}

.np-hero-carousel__heading {
	margin: 0;
	font-family: var(--np-font);
	font-size: 61px;
	font-weight: 800;
	line-height: 1.148;
	letter-spacing: -0.01em;
	color: var(--np-white);
}

.np-hero-carousel__heading .np-highlight {
	color: var(--np-lime, #b7c600);
}

.np-hero-carousel__lead {
	margin: 24px 0 0;
	max-width: 660px;
	font-size: 18px;
	line-height: 27px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.78);
}

.np-hero-carousel__media {
	position: relative;
	width: min(390px, 100%);
	max-width: 100%;
	height: 679px;
	max-height: calc(100% - 24px);
	border-radius: 0;
	overflow: hidden;
	justify-self: end;
	background: #111;
}

.np-hero-carousel__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.np-hero-carousel__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.np-hero-carousel__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	height: 48px !important;
	min-width: 40px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: 0 !important;
	cursor: pointer;
	transform: translateY(-50%);
	transition: color 0.2s ease, opacity 0.2s ease;
	appearance: none !important;
	-webkit-appearance: none !important;
	opacity: 0.92;
}

.np-hero-carousel__arrow--prev {
	left: 28px;
}

.np-hero-carousel__arrow--next {
	right: 28px;
}

.np-hero-carousel__chevron {
	display: block;
	width: 10px;
	height: 18px;
	pointer-events: none;
}

.np-hero-carousel__arrow:hover,
.np-hero-carousel__arrow:focus-visible {
	background: transparent !important;
	border: 0 !important;
	color: var(--np-lime, #b7c600) !important;
	opacity: 1;
	outline: none !important;
}

.np-hero-carousel__arrow:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.55) !important;
	outline-offset: 4px;
}

.np-hero-carousel__dots {
	position: absolute;
	left: 96px;
	bottom: 40px;
	z-index: 3;
	display: flex;
	gap: 10px;
	align-items: center;
}

.np-hero-carousel__dot {
	box-sizing: border-box !important;
	width: 8px !important;
	height: 8px !important;
	min-width: 8px !important;
	min-height: 8px !important;
	max-width: 8px !important;
	max-height: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.35) !important;
	background-image: none !important;
	box-shadow: none !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px !important;
	overflow: hidden !important;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.25s ease;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.np-hero-carousel__dot.is-active {
	background: #ffffff !important;
	transform: scale(1.15);
}

.np-hero-carousel__dot:focus-visible {
	outline: 2px solid #ffffff !important;
	outline-offset: 3px;
}

@media (max-width: 1100px) {
	.np-hero-carousel__layout {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 34vw);
		gap: 32px;
		padding: 64px 72px 64px 64px;
	}

	.np-hero-carousel__heading {
		font-size: clamp(2.25rem, 4vw, 52px);
	}

	.np-hero-carousel__media {
		width: min(390px, 34vw);
		height: auto;
		aspect-ratio: 390 / 679;
		max-height: calc(100% - 24px);
	}

	.np-hero-carousel__dots {
		left: 64px;
	}
}

/* Figma home mobile/tablet — hero stacked, widths fluid */
@media (max-width: 1024px) {
	.np-hero-carousel {
		box-sizing: border-box;
		padding-top: 72px;
		height: auto;
		min-height: 0;
	}

	.np-hero-carousel__track {
		height: auto;
		min-height: 0;
	}

	.np-hero-carousel__slide {
		position: absolute;
		inset: 0;
	}

	.np-hero-carousel__layout {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		grid-template-columns: none;
		grid-template-rows: none;
		gap: 20px;
		width: 100%;
		max-width: none;
		height: 100%;
		margin: 0;
		padding: 0 var(--np-mobile-pad, 20px) 24px;
		box-sizing: border-box;
	}

	.np-hero-carousel__copy {
		order: 2;
		width: 100%;
		max-width: none;
		align-self: stretch;
		margin: 0;
		box-sizing: border-box;
	}

	.np-hero-carousel__media {
		order: 1;
		width: 100%;
		max-width: none;
		height: auto;
		max-height: none;
		aspect-ratio: 316 / 310;
		flex-shrink: 0;
		align-self: stretch;
		background: #111;
	}

	.np-hero-carousel__image {
		object-fit: cover;
		object-position: center;
	}

	.np-hero-carousel__heading {
		font-size: clamp(1.75rem, 5vw, 34px);
		line-height: 1.06;
		letter-spacing: 0;
		text-align: left;
		max-width: none;
	}

	.np-hero-carousel__lead {
		margin-top: 12px;
		font-size: 15px;
		line-height: 22px;
		max-width: none;
	}

	.np-hero-carousel__arrow {
		top: calc(72px + 40%);
		box-sizing: content-box !important;
		width: 10px !important;
		height: 18px !important;
		min-width: 10px !important;
		min-height: 18px !important;
		padding: 12px !important;
		margin: -12px 0 !important;
		transform: none;
	}

	.np-hero-carousel__chevron {
		width: 10px;
		height: 18px;
	}

	.np-hero-carousel__arrow--prev {
		left: var(--np-mobile-pad, 20px);
	}

	.np-hero-carousel__arrow--next {
		left: auto;
		right: var(--np-mobile-pad, 20px);
		top: calc(72px + 40%);
	}

	.np-hero-carousel__dots {
		left: var(--np-mobile-pad, 20px);
		bottom: 24px;
		gap: 5px;
	}

	.np-hero-carousel__dot {
		width: 7px !important;
		height: 7px !important;
		min-width: 7px !important;
		min-height: 7px !important;
		max-width: 7px !important;
		max-height: 7px !important;
	}

	.np-hero-carousel__dot.is-active {
		transform: none;
		background: #ffffff !important;
	}
}

/* ── Hero CTA ────────────────────────────────────────────── */

.np-hero-cta {
	background: var(--np-white);
	padding: 0 var(--np-gutter);
}

.np-hero-cta--card.np-hero-cta--intro {
	padding: var(--np-gap-hero-to-cta) var(--np-gutter) 0;
}

.np-hero-cta--card.np-hero-cta--final {
	padding: var(--np-gap-testimonials-to-cta) var(--np-gutter) var(--np-gap-cta-to-footer);
}

.np-hero-cta__card {
	position: relative;
	max-width: var(--np-container);
	margin: 0 auto;
	min-height: var(--np-min-height, 720px);
	background-color: var(--np-dark);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border: 1px solid rgba(255, 255, 255, 0.62);
	border-radius: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.np-hero-cta:not(.np-hero-cta--card) .np-hero-cta__card {
	border-color: rgba(255, 255, 255, 0.42);
}

.np-hero-cta__overlay {
	position: absolute;
	inset: 0;
	background: rgba(5, 5, 6, var(--np-overlay-opacity, 0.72));
	pointer-events: none;
}

.np-hero-cta__wash {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(11, 141, 181, 0.34) 0%,
		rgba(11, 141, 181, 0.09) 44%,
		rgba(0, 0, 0, 0.22) 100%
	);
	pointer-events: none;
}

.np-hero-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	box-sizing: border-box;
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
	padding: 56px 46px 40px;
}

.np-hero-cta__eyebrow {
	margin: 0 0 48px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.8);
	line-height: 15px;
}

.np-hero-cta__heading {
	margin: 0 0 24px;
	max-width: 928px;
	font-family: var(--np-font);
	font-size: clamp(2.25rem, 4.5vw, 61px);
	font-weight: 800;
	line-height: 1.15;
	color: var(--np-white);
	letter-spacing: -0.01em;
}

.np-hero-cta--final .np-hero-cta__heading {
	margin-bottom: 24px;
	font-size: clamp(2.5rem, 4.5vw, 66px);
	line-height: 1.15;
	max-width: 783px;
}

.np-hero-cta__description {
	margin: 0;
	max-width: 660px;
	font-size: 18px;
	line-height: 27px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.78);
}

.np-hero-cta--final .np-hero-cta__description {
	max-width: 620px;
	color: rgba(255, 255, 255, 0.76);
}

.np-hero-cta__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: auto;
	padding-top: 40px;
}

.np-hero-cta .np-btn--primary {
	background-color: var(--np-lime);
	color: var(--np-dark);
	border-color: var(--np-lime);
}

.np-hero-cta .np-btn--primary:hover {
	background-color: var(--np-lime);
	opacity: 0.92;
}

.np-hero-cta .np-btn--ghost {
	background-color: transparent;
	color: var(--np-white);
	border-color: var(--np-white);
}

.np-hero-cta .np-btn--ghost:hover {
	background-color: rgba(255, 255, 255, 0.12);
	opacity: 1;
}

.np-hero-cta--intro .np-btn--primary {
	min-width: 184px;
}

.np-hero-cta--intro .np-btn--ghost {
	min-width: 132px;
}

.np-hero-cta--final .np-btn--primary {
	min-width: 160px;
}

.np-hero-cta--final .np-btn--ghost {
	min-width: 196px;
}

/* ── Benefits Split ──────────────────────────────────────── */

.np-benefits {
	background: var(--np-white);
	padding: var(--np-gap-cta-to-benefits) var(--np-gutter) var(--np-gap-benefits-to-solutions);
}

.np-benefits__shell {
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	max-width: 1296px;
	height: 522px;
	min-height: 522px;
	margin: 0 auto;
	background: var(--np-shell);
	border-radius: 6px;
	overflow: hidden;
}

.np-benefits__top-bar {
	flex-shrink: 0;
	height: 6px;
	background: var(--np-lime);
}

.np-testimonials__top-bar {
	flex-shrink: 0;
	height: 8px;
	background: var(--np-lime);
}

.np-benefits__inner {
	display: grid;
	grid-template-columns: auto 394px;
	column-gap: 180px;
	row-gap: 0;
	flex: 1;
	min-height: 0;
	padding: 40px;
	align-items: start;
	justify-content: start;
	box-sizing: border-box;
}

.np-benefits__eyebrow {
	margin: 0 0 145px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(11, 12, 13, 0.55);
	line-height: 15px;
}

.np-benefits__title {
	margin: 0;
	max-width: none;
	font-family: var(--np-font);
	font-size: 48px;
	font-weight: 800;
	line-height: 50px;
	color: var(--np-text);
	letter-spacing: 0;
	white-space: nowrap;
}

.np-benefits__right {
	padding-left: 0;
	padding-top: 0;
	width: 394px;
	max-width: 100%;
	align-self: center;
}

.np-benefits__block {
	padding-bottom: 30px;
	margin-bottom: 0;
}

.np-benefits__block:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

.np-benefits__accent {
	width: 100%;
	max-width: 394px;
	height: 3px;
	background: var(--np-lime);
	margin-bottom: 17px;
}

.np-benefits__block-title {
	margin: 0 0 32px;
	font-size: 18px;
	font-weight: 700;
	line-height: 22px;
	color: var(--np-text);
}

.np-benefits__block-text {
	margin: 0;
	font-size: 12px;
	line-height: 16px;
	color: var(--np-grey-text);
	max-width: 388px;
}

/* ── Solutions Grid ──────────────────────────────────────── */

.np-solutions {
	background: var(--np-black);
	padding: var(--np-solutions-pad-top) 0 var(--np-solutions-pad-bottom);
	margin-bottom: var(--np-gap-solutions-to-video);
	color: var(--np-white);
}

.np-solutions__inner {
	max-width: var(--np-container-wide);
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 41px);
	box-sizing: border-box;
}

.np-solutions__eyebrow {
	margin: 0 0 38px;
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
	line-height: 15px;
}

.np-solutions__heading {
	display: block;
	max-width: 673px;
	margin: 0 auto var(--np-solutions-heading-gap);
	text-align: center;
	font-family: var(--np-font);
	font-size: clamp(2rem, 3.75vw, 54px);
	font-weight: 800;
	line-height: 1.28;
	color: var(--np-white);
	letter-spacing: -0.02em;
}

.np-solutions__heading-line {
	display: block;
}

.np-solutions__group {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding: 40px clamp(16px, 3vw, 47px) 56px;
	background: #eef0f4;
	border-radius: 0;
}

.np-solutions__group + .np-solutions__group {
	margin-top: 40px;
}

.np-solutions__group-title {
	margin: 0 auto 24px;
	max-width: 673px;
	text-align: center;
	font-family: var(--np-font);
	font-size: clamp(1.75rem, 3.2vw, 48px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--np-text);
	text-transform: uppercase;
}

.np-solutions__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-content: stretch;
	column-gap: var(--np-solution-gap-x);
	row-gap: var(--np-solution-gap-y);
	width: 100%;
}

.np-solutions__card {
	position: relative;
	background: #ffffff;
	color: var(--np-text);
	padding: 24px 28px 20px;
	height: var(--np-solution-card-h);
	min-height: var(--np-solution-card-h);
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	border: none;
	border-radius: 0;
	overflow: hidden;
}

.np-solutions__card::after {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid var(--np-solution-border);
	pointer-events: none;
	z-index: 2;
	box-sizing: border-box;
}

.np-solutions__card--featured::after {
	top: 1px;
	border-color: var(--np-solution-border);
}

.np-solutions__card-accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--np-solution-accent-h);
	background: var(--np-cyan);
	border: none;
	border-radius: 0;
	z-index: 1;
}

.np-solutions__card--accent-lime .np-solutions__card-accent {
	background: var(--np-lime);
}

.np-solutions__card--accent-cyan .np-solutions__card-accent {
	background: var(--np-cyan);
}

.np-solutions__number,
.np-solutions__number--cyan,
.np-solutions__number--muted,
.np-solutions__number--dark {
	display: block;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 34px;
	line-height: 20px;
	color: var(--np-text);
	transition: color 0.25s ease;
}

.np-solutions__card--accent-lime:hover .np-solutions__number,
.np-solutions__card--accent-lime:focus-visible .np-solutions__number,
.np-solutions__card--accent-lime:focus-within .np-solutions__number {
	color: var(--np-lime);
}

.np-solutions__card--accent-cyan:hover .np-solutions__number,
.np-solutions__card--accent-cyan:focus-visible .np-solutions__number,
.np-solutions__card--accent-cyan:focus-within .np-solutions__number {
	color: var(--np-cyan);
}


.np-solutions__card-title {
	margin: 0 0 16px;
	font-size: 24px;
	font-weight: 800;
	line-height: 31px;
	color: var(--np-text);
}

.np-solutions__card--logo .np-solutions__number {
	margin-bottom: 18px;
}

.np-solutions__card-logo {
	display: block;
	max-height: 25px;
	width: auto;
	margin: 0 0 25px;
	object-fit: contain;
	object-position: left center;
}

.np-solutions__card-text {
	margin: 0 0 16px;
	flex: 1;
	font-size: 14px;
	line-height: 20px;
	color: rgba(11, 12, 13, 0.64);
}

.np-solutions__card--logo .np-solutions__card-text {
	margin-top: 0;
}

.np-solutions__card--link,
.np-news-list__card--link {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.np-solutions__card--link:focus-visible,
.np-news-list__card--link:focus-visible {
	outline: 2px solid var(--np-cyan);
	outline-offset: 3px;
}

.np-solutions__card--link:hover,
.np-news-list__card--link:hover {
	transform: translateY(-2px);
}

.np-solutions__link,
.np-news-list__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	color: var(--np-text);
	margin-top: auto;
	line-height: 17px;
}

.np-solutions__link-group {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.np-solutions__link-mark {
	display: inline-block;
	width: 38px;
	height: 3px;
	background: var(--np-lime);
	border-radius: 2px;
}

.np-solutions__card--accent-lime .np-solutions__link-mark {
	background: var(--np-lime);
}

.np-solutions__card--accent-cyan .np-solutions__link-mark {
	background: var(--np-cyan);
}

.np-solutions__arrow {
	color: rgba(11, 12, 13, 0.76);
	font-size: 1.3125rem;
	font-weight: 500;
	transition: transform 0.2s ease, color 0.25s ease;
}

.np-solutions__card--link:hover .np-solutions__arrow,
.np-news-list__card--link:hover .np-news-list__arrow {
	color: var(--np-lime);
	transform: translateX(4px);
}

.np-solutions__card--accent-lime.np-solutions__card--link:hover .np-solutions__arrow {
	color: var(--np-lime);
}

.np-solutions__card--accent-cyan.np-solutions__card--link:hover .np-solutions__arrow {
	color: var(--np-cyan);
}

.np-solutions__cta-wrap {
	text-align: center;
	margin-top: var(--np-solutions-cta-gap);
}

.np-solutions__cta-wrap .np-btn {
	min-width: 0;
	height: 48px;
}

/* ── Video Quote ─────────────────────────────────────────── */

.np-video-quote {
	background: var(--np-white);
	padding: 0 var(--np-inset) var(--np-gap-video-to-testimonials);
}

.elementor-widget-nextplora-video-quote,
.elementor-widget-nextplora-video-quote > .elementor-widget-container {
	width: 100%;
	max-width: 100%;
}

.np-video-quote__frame {
	position: relative;
	width: 100%;
	max-width: var(--np-container);
	margin: 0 auto;
	aspect-ratio: 1024 / 412;
	min-height: 360px;
	background-color: var(--np-black);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	overflow: hidden;
}

.np-video-quote__label {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: var(--np-black);
	padding: 40px 32px;
	min-width: 286px;
	min-height: 112px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 3;
}

.np-video-quote__text {
	margin: 0;
	font-family: var(--np-font);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	color: var(--np-white);
	border: none;
	padding: 0;
	text-transform: lowercase;
	letter-spacing: -0.02em;
}

.np-video-quote__stage {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.np-video-quote__play,
.np-video-fs__pp,
.np-video-fs__close {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--np-white);
	box-shadow: none;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: transparent;
	cursor: pointer;
	line-height: 0;
	font: inherit;
}

.np-video-quote__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 128px;
	height: 128px;
	pointer-events: auto;
}

.np-video-quote__play-svg {
	display: block;
	width: 128px;
	height: 128px;
}

.np-video-quote__play-circle {
	transition: fill 0.2s ease;
}

.np-video-quote__play:hover .np-video-quote__play-circle,
.np-video-quote__play:focus-visible .np-video-quote__play-circle {
	fill: rgba(255, 255, 255, 0.08);
}

.elementor-widget-nextplora-video-quote .np-video-quote__play,
.elementor-widget-nextplora-video-quote .np-video-quote__play:hover,
.elementor-widget-nextplora-video-quote .np-video-quote__play:focus,
.elementor-widget-nextplora-video-quote .np-video-quote__play:active {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.elementor-widget-nextplora-video-quote .np-video-quote__play,
.elementor-widget-nextplora-video-quote .np-video-fs__pp,
.elementor-widget-nextplora-video-quote .np-video-fs__close,
.elementor-widget-nextplora-video-quote .np-video-quote__play:hover,
.elementor-widget-nextplora-video-quote .np-video-quote__play:focus,
.elementor-widget-nextplora-video-quote .np-video-quote__play:active,
.elementor-widget-nextplora-video-quote .np-video-fs__pp:hover,
.elementor-widget-nextplora-video-quote .np-video-fs__pp:focus,
.elementor-widget-nextplora-video-quote .np-video-fs__pp:active,
.elementor-widget-nextplora-video-quote .np-video-fs__close:hover,
.elementor-widget-nextplora-video-quote .np-video-fs__close:focus,
.elementor-widget-nextplora-video-quote .np-video-fs__close:active {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--np-white) !important;
	outline: none !important;
}

/* ── Video fullscreen player ───────────────────────────────── */

.np-video-fs {
	position: fixed;
	inset: 0;
	z-index: 3000;
	display: none;
}

.np-video-fs.is-open {
	display: block;
}

.np-video-fs__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 5, 6, 0.96);
}

.np-video-fs__stage {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--np-black);
}

.np-video-fs__embed {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.np-video-fs__embed iframe,
.np-video-fs__embed video {
	width: 100%;
	height: 100%;
	max-width: 100vw;
	max-height: 100vh;
	border: 0;
	object-fit: contain;
	background: var(--np-black);
}

.np-video-fs__close {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
}

.np-video-fs__close svg {
	display: block;
}

.np-video-fs__close:hover,
.np-video-fs__close:focus-visible {
	opacity: 0.85;
}

.np-video-fs__pp {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	width: 72px;
	height: 72px;
}

.np-video-fs__pp-svg {
	display: block;
	width: 72px;
	height: 72px;
}

.np-video-fs__pp circle {
	transition: fill 0.2s ease;
}

.np-video-fs__pp:hover circle,
.np-video-fs__pp:focus-visible circle {
	fill: rgba(255, 255, 255, 0.08);
}

.np-video-fs__pp-play {
	display: block;
}

.np-video-fs__pp-pause {
	display: none;
}

.np-video-fs__pp.is-playing .np-video-fs__pp-play {
	display: none;
}

.np-video-fs__pp.is-playing .np-video-fs__pp-pause {
	display: block;
}

html.np-video-open {
	overflow: hidden;
}

/* ── Testimonials ────────────────────────────────────────── */

.np-testimonials {
	background: var(--np-white);
	padding: 0 var(--np-inset) var(--np-gap-testimonials-to-cta);
}

.np-testimonials__shell {
	position: relative;
	max-width: var(--np-container);
	margin: 0 auto;
	background: var(--np-shell);
	overflow: hidden;
	min-height: 720px;
}

.np-testimonials__inner {
	display: grid;
	grid-template-columns: 462px 1fr;
	min-height: 720px;
}

.np-testimonials__image {
	background-size: cover;
	background-position: center center;
	min-height: 100%;
}

.np-testimonials__content {
	padding: 80px 46px 56px 46px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.np-testimonials__eyebrow {
	margin: 0 0 22px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(11, 12, 13, 0.48);
	line-height: 15px;
}

.np-testimonials__heading {
	margin: 0 0 58px;
	font-family: var(--np-font);
	font-size: clamp(2rem, 3.5vw, 48px);
	font-weight: 800;
	line-height: 1.27;
	color: var(--np-text);
	letter-spacing: -0.02em;
}

.np-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 198px));
	gap: 48px;
	align-items: stretch;
}

.np-testimonials__item {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-height: 100%;
}

.np-testimonials__item-accent {
	width: 190px;
	max-width: 100%;
	height: 3px;
	background: var(--np-lime);
	border: none;
	margin: 0 0 33px;
	flex-shrink: 0;
}

/* Figma 04: Quote text full, then ≥92px to meta; role/brand pinned to shared baseline */
.np-testimonials__quote {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
	color: var(--np-text);
	white-space: pre-line;
}

.np-testimonials__meta {
	margin-top: auto;
	padding-top: 92px;
	flex-shrink: 0;
}

.np-testimonials__role {
	box-sizing: border-box;
	width: 100%;
	max-width: 188px;
	min-height: 50px;
	margin: 0 0 3px;
	font-size: 13px;
	font-weight: 600;
	line-height: 18px;
	color: rgba(11, 12, 13, 0.58);
	font-style: normal;
	white-space: pre-line;
}

.np-testimonials__brand,
.np-testimonials__author {
	display: block;
	box-sizing: border-box;
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	font-style: normal;
	line-height: 19px;
	color: var(--np-text);
}

/* Chi siamo — testimonial cards grid */
.np-testimonials--cards {
	padding-left: var(--np-inset);
	padding-right: var(--np-inset);
}

.np-testimonials--cards .np-testimonials__shell {
	min-height: 0;
	background: var(--np-dark);
	border-radius: 8px;
}

.np-testimonials--cards .np-testimonials__top-bar {
	background: var(--np-cyan);
	height: 6px;
}

.np-testimonials--cards .np-testimonials__inner {
	display: block;
	min-height: 0;
}

.np-testimonials--cards .np-testimonials__content {
	padding: 56px 46px;
}

.np-testimonials--cards .np-testimonials__eyebrow {
	color: rgba(255, 255, 255, 0.65);
}

.np-testimonials--cards .np-testimonials__heading {
	color: var(--np-white);
	font-size: clamp(1.75rem, 3vw, 48px);
}

.np-testimonials--cards .np-testimonials__heading .np-highlight {
	color: inherit;
}

.np-testimonials--cards .np-testimonials__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px 24px;
	align-items: stretch;
}

.np-testimonials--cards .np-testimonials__item {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 470px;
	min-width: 0;
	padding: 0 0 24px;
	background: var(--np-shell);
	border: 1px solid #d1d6de;
	overflow: hidden;
}

.np-testimonials--cards .np-testimonials__item-accent {
	width: 100%;
	height: 10px;
	margin: 0 0 24px;
	background: var(--np-cyan);
}

.np-testimonials--cards .np-testimonials__quote {
	flex: 1 1 auto;
	box-sizing: border-box;
	width: auto;
	max-width: 100%;
	min-height: 0;
	min-width: 0;
	margin: 0 24px 24px;
	font-size: 11px;
	font-weight: 500;
	line-height: 20px;
	white-space: pre-line;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.np-testimonials--cards .np-testimonials__meta {
	margin-top: auto;
	padding: 0 24px;
	padding-top: 0;
	min-width: 0;
}

.np-testimonials--cards .np-testimonials__role {
	display: block;
	min-height: 0;
	max-width: none;
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 18px;
	color: #3d424a;
	overflow-wrap: anywhere;
}

.np-testimonials--cards .np-testimonials__brand {
	color: var(--np-cyan);
}

.np-testimonials--cards .np-testimonials__load-more {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}

.np-testimonials--cards .np-testimonials__load-more-btn.np-btn {
	min-width: 0;
	height: 48px;
	padding: 0 2rem;
	background-color: var(--np-lime);
	color: var(--np-dark);
	border: 1px solid var(--np-lime);
	border-radius: 0;
	box-shadow: none;
	font-family: var(--np-font);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: none;
}

.np-testimonials--cards .np-testimonials__load-more-btn.np-btn:hover,
.np-testimonials--cards .np-testimonials__load-more-btn.np-btn:focus {
	background-color: var(--np-lime);
	color: var(--np-dark);
	border-color: var(--np-lime);
	opacity: 0.92;
}

@media (max-width: 1100px) {
	.np-testimonials--cards .np-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.np-testimonials--cards {
		padding-left: 0;
		padding-right: 0;
	}

	.np-testimonials--cards .np-testimonials__shell {
		border-radius: 0;
	}

	.np-testimonials--cards .np-testimonials__content {
		padding: 44px var(--np-gutter) 2rem;
	}

	.np-testimonials--cards .np-testimonials__heading {
		margin-bottom: 1.75rem;
		font-size: 28px;
		line-height: 1.15;
	}

	.np-testimonials--cards .np-testimonials__grid {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.np-testimonials--cards .np-testimonials__item {
		min-height: 0;
		width: 100%;
		max-width: none;
		border-radius: 0;
		border: 1px solid rgba(255, 255, 255, 0.13);
	}

	.np-testimonials--cards .np-testimonials__item-accent {
		height: 8px;
	}

	.np-testimonials--cards .np-testimonials__quote {
		font-size: 11px;
		line-height: 20px;
	}

	.np-testimonials--cards .np-testimonials__role {
		display: block;
		font-size: 13px;
		line-height: 18px;
	}

	.np-testimonials--cards .np-testimonials__brand {
		display: block;
		font-size: 15px;
		font-weight: 700;
		color: var(--np-cyan);
	}

	.np-testimonials--cards .np-testimonials__load-more-btn.np-btn {
		width: 100%;
		max-width: none;
		height: 48px;
		padding: 0;
	}
}

/* ── Site shell (header/footer globali) ──────────────────── */

.np-site-part--header,
.np-site-part--footer {
	width: 100%;
}

.np-site-part--header > .elementor-element,
.np-site-part--footer > .elementor-element {
	width: 100% !important;
}

.np-site-part--header .elementor-widget-container,
.np-site-part--footer .elementor-widget-container {
	padding: 0 !important;
	margin: 0 !important;
}

/* ── Header Menu ─────────────────────────────────────────── */

.np-header {
	position: relative;
	z-index: 1000;
}

.np-brand-logo {
	position: relative;
	display: block;
	width: 248px;
	height: auto;
	overflow: visible;
	flex-shrink: 0;
	line-height: 0;
}

.np-brand-logo img {
	position: static;
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

.np-header__bar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	height: auto;
	min-height: auto;
	overflow: visible;
	z-index: 1003;
	pointer-events: none;
	transition: min-height 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
}

.np-header__bar::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(5, 5, 6, 0.42) 0%, rgba(5, 5, 6, 0.12) 55%, transparent 100%);
	opacity: 1;
	transition: opacity 0.35s ease;
	pointer-events: none;
}

.np-header--scrolled .np-header__bar {
	min-height: 72px;
	background: rgba(5, 5, 6, 0.94);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.np-header--open .np-header__bar {
	background: var(--np-dark);
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.np-header--scrolled .np-header__bar::before,
.np-header--open .np-header__bar::before,
.np-header--solid .np-header__bar::before {
	opacity: 0;
}

.np-header--solid .np-header__bar {
	min-height: var(--np-header-offset);
	background: rgba(5, 5, 6, 0.94);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.np-header--solid .np-header__inner {
	align-items: center;
	padding: 14px 73px 14px 36px;
}

.np-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: var(--np-container-wide);
	margin: 0 auto;
	padding: 24px 73px 24px 36px;
	pointer-events: auto;
	transition: padding 0.35s ease, align-items 0.35s ease;
}

.np-header--scrolled .np-header__inner {
	align-items: center;
	padding: 14px 73px 14px 36px;
}

.np-header__logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	overflow: visible;
}

.np-header__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--np-white);
	box-shadow: none;
	line-height: 0;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.np-header__toggle:hover,
.np-header__toggle:focus,
.np-header__toggle:active,
.np-header__toggle:focus-visible {
	background: transparent;
	color: var(--np-white);
	border: 0;
	box-shadow: none;
	outline: none;
}

.np-header__toggle:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.45);
	outline-offset: 3px;
}

.elementor-widget-nextplora-header-menu .np-header__toggle,
.elementor-widget-nextplora-header-menu .np-header__toggle:hover,
.elementor-widget-nextplora-header-menu .np-header__toggle:focus,
.elementor-widget-nextplora-header-menu .np-header__toggle:active,
.elementor-widget-nextplora-header-menu .np-header__toggle:focus-visible {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	color: var(--np-white) !important;
	border: 0 !important;
	box-shadow: none !important;
}

.np-header--scrolled .np-header__toggle,
.np-header--open .np-header__toggle,
.np-header--solid .np-header__toggle {
	margin: 0;
}

.np-header__toggle-icon {
	display: block;
	width: 29px;
	height: 18px;
	line-height: 0;
}

.np-header__burger {
	display: block;
	position: relative;
	width: 29px;
	height: 18px;
}

.np-header__burger span {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: var(--np-white);
	transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease, background-color 0.2s ease;
}

.np-header__toggle:hover .np-header__burger span,
.np-header__toggle:focus .np-header__burger span,
.np-header__toggle:active .np-header__burger span,
.np-header--open .np-header__toggle .np-header__burger span {
	background-color: var(--np-white);
}

.np-header__burger span:nth-child(1) {
	top: 0;
}

.np-header__burger span:nth-child(2) {
	top: 8px;
}

.np-header__burger span:nth-child(3) {
	top: 16px;
}

.np-header--open .np-header__burger span:nth-child(1) {
	top: 8px;
	transform: rotate(45deg);
}

.np-header--open .np-header__burger span:nth-child(2) {
	opacity: 0;
}

.np-header--open .np-header__burger span:nth-child(3) {
	top: 8px;
	transform: rotate(-45deg);
}

.np-header__line {
	display: none;
}

.np-menu-overlay {
	position: fixed;
	inset: 0;
	z-index: 1002;
	pointer-events: none;
	visibility: hidden;
}

.np-header--open .np-menu-overlay {
	pointer-events: auto;
	visibility: visible;
}

.np-menu-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: var(--np-dark);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.np-header--open .np-menu-overlay__backdrop {
	opacity: 0.92;
}

.np-menu-overlay__panel {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	padding: 88px 72px 56px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
	overflow-y: auto;
}

.np-header--open .np-menu-overlay__panel {
	opacity: 1;
	visibility: visible;
	justify-content: center;
}

.np-menu-overlay__accent {
	display: none;
}

.np-menu-overlay__list {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 1266px;
}

.np-menu-overlay__link {
	position: relative;
	display: block;
	padding: 18px 0 24px;
	font-size: clamp(2rem, 5vw, 67px);
	font-weight: 800;
	line-height: 1;
	color: var(--np-white);
	text-decoration: none;
	text-align: center;
	letter-spacing: -0.02em;
	transform: translateY(20px);
	opacity: 0;
	transition: color 0.2s ease, transform 0.45s ease, opacity 0.45s ease;
}

.np-menu-overlay__link::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 8px;
	width: min(315px, 48%);
	height: 6px;
	background: var(--np-lime);
	transform: translateX(-50%) scaleX(0);
	transform-origin: center;
	transition: transform 0.25s ease;
}

.np-header--open .np-menu-overlay__link {
	transform: translateY(0);
	opacity: 1;
}

.np-header--open .np-menu-overlay__list li:nth-child(1) .np-menu-overlay__link { transition-delay: 0.08s; }
.np-header--open .np-menu-overlay__list li:nth-child(2) .np-menu-overlay__link { transition-delay: 0.14s; }
.np-header--open .np-menu-overlay__list li:nth-child(3) .np-menu-overlay__link { transition-delay: 0.2s; }
.np-header--open .np-menu-overlay__list li:nth-child(4) .np-menu-overlay__link { transition-delay: 0.26s; }
.np-header--open .np-menu-overlay__list li:nth-child(5) .np-menu-overlay__link { transition-delay: 0.32s; }

.np-menu-overlay__link:hover,
.np-menu-overlay__link:focus-visible {
	color: var(--np-white);
}

.np-menu-overlay__link:hover::after,
.np-menu-overlay__link:focus-visible::after {
	transform: translateX(-50%) scaleX(1);
}

/* Figma `menu desktop fullscreen` 1440×747 — ExtraBold 67/60, step 97, accent 315×6, overlay 0.75 */
@media (min-width: 1025px) {
	.np-menu-overlay__backdrop {
		background: #000;
	}

	.np-header--open .np-menu-overlay__backdrop {
		opacity: 0.75;
	}

	.np-menu-overlay__panel {
		padding: 157px 72px 48px;
		justify-content: flex-start;
		align-items: center;
	}

	.np-menu-overlay__list {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}

	.np-menu-overlay__link {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 67px;
		padding: 0;
		font-size: 67px;
		font-weight: 800;
		line-height: 60px;
		letter-spacing: -0.02em;
	}

	.np-menu-overlay__link::after {
		width: 315px;
		height: 6px;
		bottom: -3px;
	}

	.np-lang-switch {
		margin: 36px auto 0;
	}
}


/* Scrollbar brand + track sempre presente (niente salto layout a menu aperto) */
html {
	overflow-y: scroll;
	scrollbar-width: thin;
	scrollbar-color: var(--np-lime) var(--np-dark);
}

html::-webkit-scrollbar {
	width: 10px;
}

html::-webkit-scrollbar-track {
	background: var(--np-dark);
}

html::-webkit-scrollbar-thumb {
	background: var(--np-lime);
	border: 2px solid var(--np-dark);
}

html::-webkit-scrollbar-thumb:hover {
	background: var(--np-lime-deep);
}

html.np-menu-open {
	overscroll-behavior: none;
}

.elementor-widget-nextplora-header-menu {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: 0;
	overflow: visible;
	pointer-events: none;
}

.elementor-widget-nextplora-header-menu > .elementor-widget-container {
	pointer-events: none;
}

/* Header — tablet e mobile */
@media (max-width: 1024px) {
	.np-header__bar {
		min-height: 64px;
		background: rgba(5, 5, 6, 0.96);
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
	}

	.np-has-hero .np-header:not(.np-header--scrolled):not(.np-header--open) .np-header__bar {
		background: transparent;
		box-shadow: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.np-has-hero .np-header:not(.np-header--scrolled):not(.np-header--open) .np-header__bar::before {
		opacity: 1;
		background: linear-gradient(180deg, rgba(5, 5, 6, 0.72) 0%, rgba(5, 5, 6, 0.28) 55%, transparent 100%);
	}

	.np-header__bar::before {
		opacity: 0;
	}

	.np-header__inner {
		align-items: center;
		padding: 12px 24px;
	}

	.np-header--scrolled .np-header__inner {
		padding: 12px 24px;
	}

	.np-header--open .np-header__inner {
		padding: 12px 24px;
	}

	.np-header__toggle {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
		margin: 0;
	}

	.np-header__logo .np-brand-logo {
		width: 196px;
		min-width: 0;
		max-width: 52vw;
		height: auto;
		overflow: visible;
	}

	.np-header__logo .np-brand-logo img {
		position: static;
		display: block;
		width: 100%;
		height: auto;
		max-width: 100%;
		object-fit: contain;
		object-position: left center;
		filter: none;
	}

	.np-menu-overlay__panel {
		padding: 96px 40px 48px;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.np-menu-overlay__accent {
		display: none;
	}

	.np-menu-overlay__link {
		font-size: clamp(1.75rem, 6vw, 2.5rem);
		padding: 16px 0 22px;
	}

	.np-menu-overlay__link::after {
		width: min(181px, 55%);
		height: 3px;
		bottom: 6px;
	}

	.np-lang-switch {
		margin: 32px auto 0;
		align-self: center;
	}

	.np-lang-switch__btn {
		min-height: 48px;
	}
}

@media (max-width: 767px) {
	.np-header__bar,
	.np-header--scrolled .np-header__bar {
		min-height: 56px;
	}

	.np-header--open .np-header__bar {
		min-height: 56px;
	}

	.np-header__inner,
	.np-header--scrolled .np-header__inner,
	.np-header--open .np-header__inner {
		padding: 8px 16px;
	}

	.np-header__logo .np-brand-logo {
		width: 168px;
		max-width: 58vw;
		height: auto;
	}

	.np-header__toggle {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		margin: 0;
	}

	.np-header__bar {
		z-index: 1003;
	}

	.np-menu-overlay {
		z-index: 1002;
	}

	/* Menu mobile — Figma `menu mobile fullscreen` 390px: Inter ExtraBold 37/60, accent 181×3 */
	.np-menu-overlay__backdrop {
		background: #000;
	}

	.np-header--open .np-menu-overlay__backdrop {
		opacity: 0.8;
	}

	.np-menu-overlay__panel {
		padding: 100px 20px 32px;
		align-items: center;
		justify-content: flex-start;
		text-align: center;
	}

	.np-menu-overlay__accent {
		display: none;
	}

	.np-menu-overlay__link {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 61px;
		padding: 0;
		font-size: 37px;
		font-weight: 800;
		line-height: 60px;
		letter-spacing: -0.02em;
	}

	.np-menu-overlay__link::after {
		width: 181px;
		height: 3px;
		bottom: 7px;
	}

	.np-lang-switch {
		margin: 28px auto 0;
		align-self: center;
	}

	.np-lang-switch__btn {
		min-width: 52px;
		padding: 12px 16px;
		font-size: 12px;
	}
}

/* ── Footer ──────────────────────────────────────────────── */

.np-footer {
	background: var(--np-dark);
	color: var(--np-white);
	font-family: var(--np-font);
	height: 347px;
	box-sizing: border-box;
}

.np-footer__wrap {
	max-width: var(--np-container-wide);
	height: 100%;
	margin: 0 auto;
	padding: 38px var(--np-gutter) 0;
	box-sizing: border-box;
}

.np-footer__rule {
	display: none;
}

.np-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr));
	justify-content: space-between;
	align-items: start;
	gap: 1.5rem;
	max-width: var(--np-container);
	margin: 0 auto;
}

.np-footer__brand {
	margin-left: -10px;
}

.np-footer__brand .np-brand-logo {
	width: 280px;
	height: auto;
	margin: 0 0 28px;
}

.np-footer__logo-text {
	display: block;
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin: 0 0 44px;
}

.np-footer__desc {
	margin: 0;
	font-size: 17px;
	line-height: 25px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.72);
	max-width: 330px;
}

.np-footer__column-title {
	margin: 10px 0 40px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--np-white);
	line-height: 17px;
}

.np-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.np-footer__links li {
	margin: 0;
}

.np-footer__links a,
.np-footer__links span {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	font-size: 16px;
	line-height: 34px;
}

.np-footer__links a:hover {
	color: var(--np-lime);
}

.np-footer__legal {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	max-width: var(--np-container);
	margin-left: auto;
	margin-right: auto;
}

.np-footer__legal-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.np-footer__legal-list a,
.np-footer__legal-btn {
	font-size: 13px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	font-family: inherit;
}

.np-footer__legal-list a:hover,
.np-footer__legal-btn:hover {
	color: var(--np-lime);
}

/* ── Inner pages ───────────────────────────────────────────── */

/* Figma: Rectangle 6 1440×378 #000 + End title Inter Extra Bold 84, CENTER */
.np-page-banner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 378px;
	height: 378px;
	padding: 0 var(--np-gutter);
	background: var(--np-black);
	overflow: hidden;
}

.np-page-banner__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1266px;
	margin: 0 auto;
	text-align: center;
}

.np-page-banner__title {
	display: inline-block;
	margin: 0;
	padding-bottom: 19px;
	border-bottom: 6px solid var(--np-lime);
	font-family: var(--np-font);
	font-size: 84px;
	font-weight: 800;
	line-height: 60px;
	letter-spacing: -0.02em;
	color: var(--np-white);
	text-align: center;
}

.np-page-banner__lead {
	display: none;
}

.np-content-sections {
	background: var(--np-white);
	padding: var(--np-section-gap-sm) var(--np-section-pad-x) var(--np-section-gap);
}

.np-hero-visual + .np-content-sections,
.np-hero-cta + .np-content-sections {
	padding-top: var(--np-section-gap-sm);
}

.np-content-sections__inner {
	max-width: var(--np-container);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--np-section-gap-sm);
}

.np-content-section {
	padding-bottom: var(--np-section-gap);
	border-bottom: 1px solid rgba(11, 12, 13, 0.08);
}

.np-content-section:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.np-content-section__eyebrow {
	margin: 0 0 1rem;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(11, 12, 13, 0.55);
}

.np-content-section__title {
	margin: 0 0 0.75rem;
	font-family: var(--np-font);
	font-size: 54px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--np-text);
}

.np-content-section__body {
	margin: 0;
	font-family: var(--np-font);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--np-text);
}

.np-content-section__body p {
	margin: 0 0 1rem;
}

.np-content-section__body p:last-child {
	margin-bottom: 0;
}

.np-content-section--legal {
	padding-bottom: 0;
	border-bottom: 0;
}

.np-content-section--legal + .np-content-section--legal {
	padding-top: 0.5rem;
}

.np-content-section--legal .np-content-section__title {
	margin: 0 0 0.75rem;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--np-text);
}

.np-content-section--legal .np-content-section__body {
	font-size: 15px;
	line-height: 1.7;
}

.np-content-section--legal .np-content-section__body ul {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.np-content-section--legal .np-content-section__body li {
	margin-bottom: 0.35rem;
}

.np-content-section--legal .np-content-section__body a {
	color: var(--np-cyan);
}

.np-content-sections--pillars .np-content-sections__inner {
	gap: 2rem;
}

.np-content-section--pillar {
	padding-bottom: 0;
	border-bottom: 0;
}

.np-content-section--pillar .np-content-section__card {
	position: relative;
	background: var(--np-shell);
	padding: 2rem 2.25rem 2.25rem;
	overflow: hidden;
}

.np-content-section--pillar .np-content-section__card::after {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid rgba(11, 12, 13, 0.08);
	pointer-events: none;
}

.np-content-section--pillar .np-content-section__card-accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--np-solution-accent-h);
	background: var(--np-cyan);
}

.np-content-section--pillar.np-content-section--accent-cyan .np-content-section__card-accent {
	background: var(--np-cyan);
}

.np-content-section--pillar.np-content-section--accent-lime .np-content-section__card-accent {
	background: var(--np-lime);
}

.np-content-section--pillar.np-content-section--accent-dark .np-content-section__card-accent {
	background: var(--np-text);
}

.np-content-section--pillar.np-content-section--accent-cyan .np-content-section__eyebrow,
.np-content-section--pillar.np-content-section--accent-cyan .np-content-section__subtitle {
	color: var(--np-cyan);
}

.np-content-section--pillar.np-content-section--accent-lime .np-content-section__eyebrow,
.np-content-section--pillar.np-content-section--accent-lime .np-content-section__subtitle {
	color: #7a8400;
}

.np-content-section--pillar.np-content-section--accent-dark .np-content-section__eyebrow {
	color: rgba(11, 12, 13, 0.55);
}

.np-content-section--pillar.np-content-section--accent-dark .np-content-section__subtitle {
	color: var(--np-text);
}

.np-content-section--pillar .np-content-section__eyebrow {
	margin-top: 0.5rem;
}

.np-content-section__number {
	display: block;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 34px;
	line-height: 20px;
}

.np-content-section__number--cyan {
	color: var(--np-cyan);
}

.np-content-section__number--muted {
	color: rgba(11, 12, 13, 0.86);
}

.np-content-section__number--dark {
	color: var(--np-text);
}

.np-content-section--has-logo .np-content-section__number {
	margin-bottom: 18px;
}

.np-content-section__logo {
	display: block;
	max-height: 32px;
	width: auto;
	max-width: 100%;
	margin: 0 0 20px;
	object-fit: contain;
	object-position: left center;
}

.np-content-section--has-logo .np-content-section__eyebrow {
	margin-top: 0;
}

.np-content-section--has-logo .np-content-section__title {
	display: none;
}

.np-content-section--pillar .np-content-section__tag {
	background: rgba(255, 255, 255, 0.72);
}

.np-content-section--pillar.np-content-section--accent-cyan .np-content-section__bullets li::before {
	background: var(--np-cyan);
}

.np-content-section--pillar.np-content-section--accent-lime .np-content-section__bullets li::before {
	background: var(--np-lime);
}

.np-content-section--pillar.np-content-section--accent-dark .np-content-section__bullets li::before {
	background: var(--np-text);
}

.np-content-section__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.np-content-section__tag {
	padding: 0.35rem 0.75rem;
	border-radius: 4px;
	background: var(--np-shell);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--np-text);
}

.np-content-section__bullets {
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.np-content-section__bullets li {
	position: relative;
	padding-left: 1.25rem;
	font-size: 15px;
	line-height: 1.55;
	color: var(--np-grey-text);
}

.np-content-section__bullets li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--np-lime);
}

.np-content-section--stats .np-content-section__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.np-content-section__stat {
	padding: 1.5rem;
	background: var(--np-shell);
	border-radius: 6px;
}

.np-content-section__stat-label {
	margin: 0 0 0.5rem;
	font-size: 14px;
	font-weight: 600;
	color: var(--np-text);
}

.np-content-section__stat-value {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--np-grey-text);
}

.np-content-section--features .np-content-section__features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.np-content-section__feature {
	padding: 1.25rem 0 0;
	border-top: 2px solid var(--np-lime);
}

.np-content-section__feature-title {
	margin: 0 0 0.5rem;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--np-text);
}

.np-content-section__feature-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--np-grey-text);
}

/* Chi siamo — Figma layouts */
.np-content-section--lede {
	padding-bottom: var(--np-section-gap);
	border-bottom: 0;
}

.np-content-section--lede .np-content-section__body {
	max-width: 1058px;
	margin: 0 auto;
	text-align: center;
	font-size: clamp(1.25rem, 2.4vw, 33px);
	font-weight: 700;
	line-height: 1.27;
	color: var(--np-text);
}

.np-content-section--lede .np-content-section__body p {
	margin: 0;
}

.np-content-section--outcomes,
.np-content-section--cs,
.np-content-section--cert,
.np-content-section--split {
	padding-bottom: 0;
	border-bottom: 0;
}

.np-content-section__shell {
	background: var(--np-shell);
	overflow: hidden;
	border: 0;
	border-radius: 0;
}

.np-content-section__shell-bar {
	height: 6px;
	background: var(--np-lime);
	border: 0;
	border-radius: 0;
}

.np-content-section__shell-rail {
	width: 6px;
	background: var(--np-lime);
	border: 0;
	border-radius: 0;
	flex-shrink: 0;
}

.np-content-section__shell-inner {
	padding: 40px;
}

.np-content-section--outcomes .np-content-section__shell {
	min-height: 669px;
}

.np-content-section--outcomes .np-content-section__title {
	margin: 0 0 48px;
	font-size: clamp(1.25rem, 2vw, 24px);
	font-weight: 800;
	line-height: 1.2;
}

.np-content-section__features--outcomes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 50px;
	margin-top: 0;
}

.np-content-section__features--outcomes .np-content-section__feature {
	box-sizing: border-box;
	width: 100%;
	max-width: 360px;
	min-height: 360px;
	padding: 30px 28px;
	border: 1px solid rgba(11, 12, 13, 0.08);
	border-radius: 8px;
	border-top: 1px solid rgba(11, 12, 13, 0.08);
	background: var(--np-white);
}

.np-content-section__feature-num {
	display: block;
	margin: 0 0 28px;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	color: var(--np-lime);
}

.np-content-section__features--outcomes .np-content-section__feature-num {
	color: var(--np-cyan);
}

.np-content-section__features--outcomes .np-content-section__feature-title {
	margin: 0 0 28px;
	font-size: clamp(1rem, 1.5vw, 22px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--np-text);
}

.np-content-section__features--outcomes .np-content-section__feature-text {
	font-size: 15px;
	line-height: 1.45;
	color: var(--np-text);
}

.np-content-section__split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 560px;
	overflow: hidden;
	border-top: 6px solid transparent;
}

.np-content-section__split-head {
	margin: 0 0 40px;
}

.np-content-section__split-head .np-content-section__eyebrow {
	margin: 0 0 22px;
}

.np-content-section__split-head .np-content-section__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 54px);
	line-height: 1.1;
}

/* Desktop dark split — Figma 10007:1806: 720 | 576, title above */
.np-content-section--split-dark .np-content-section__split {
	grid-template-columns: minmax(0, 720fr) minmax(0, 576fr);
	border-top-color: var(--np-cyan);
	min-height: 560px;
}

.np-content-section--split-dark .np-content-section__split-head .np-content-section__eyebrow {
	color: rgba(11, 12, 13, 0.55);
}

.np-content-section--split-dark .np-content-section__split-head .np-content-section__title {
	color: var(--np-text);
}

.np-content-section--split-dark .np-content-section__split-copy {
	background: var(--np-dark);
	color: var(--np-white);
	justify-content: flex-start;
	padding: 40px 46px;
}

.np-content-section--split-dark .np-content-section__split-copy .np-content-section__body {
	color: rgba(255, 255, 255, 0.9);
	font-size: 20px;
	font-weight: 500;
	line-height: 31px;
}

.np-content-section--split-dark .np-content-section__split-media {
	min-height: 560px;
	height: 560px;
}

/* Desktop light split — Figma: 581 | 715 */
.np-content-section--split-light .np-content-section__split {
	grid-template-columns: minmax(0, 581fr) minmax(0, 715fr);
	border-top-color: transparent;
	min-height: 691px;
	align-items: stretch;
}

.np-content-section--split-light .np-content-section__split-media {
	min-height: 697px;
	height: 100%;
}

.np-content-section--split-light .np-content-section__split-copy {
	background: var(--np-shell);
	border-top: 6px solid var(--np-lime);
	padding: 60px 46px 52px;
}

.np-content-section--split-image-left .np-content-section__split-media {
	order: -1;
}

.np-content-section--split-dark .np-content-section__split-copy .np-content-section__eyebrow {
	color: rgba(255, 255, 255, 0.7);
}

.np-content-section--split-dark .np-content-section__split-copy .np-content-section__title,
.np-content-section--split-dark .np-content-section__split-copy .np-content-section__body {
	color: var(--np-white);
}

.np-content-section--split-light .np-content-section__split-copy {
	background: var(--np-shell);
}

.np-content-section__split-copy {
	box-sizing: border-box;
	padding: 40px 46px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.np-content-section__split-copy .np-content-section__title {
	margin-bottom: 28px;
	font-size: clamp(1.75rem, 3vw, 54px);
}

.np-content-section__split-copy .np-content-section__body {
	font-size: 20px;
	line-height: 1.45;
}

.np-content-section--split-dark .np-content-section__split-copy .np-content-section__body {
	font-weight: 500;
}

.np-content-section__split-media {
	min-height: 560px;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.np-content-section__shell--cs {
	background: #eef0f4;
}

.np-content-section__shell-inner--cs {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 40px;
	align-items: start;
}

.np-content-section--cs .np-content-section__title {
	margin-bottom: 24px;
	font-size: clamp(1.75rem, 3vw, 48px);
	max-width: 700px;
}

.np-content-section__stats--scores {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
	margin-top: 0;
}

.np-content-section__stats--scores .np-content-section__stat {
	box-sizing: border-box;
	min-height: 204px;
	padding: 36px 24px;
	background: var(--np-white);
	border: 1px solid rgba(11, 12, 13, 0.08);
	border-radius: 8px;
	text-align: center;
}

.np-content-section__stats--scores .np-content-section__stat-label {
	margin: 0 0 20px;
	font-size: 17px;
	font-weight: 600;
	color: var(--np-text);
}

.np-content-section__stats--scores .np-content-section__stat-value {
	margin: 0;
	font-size: clamp(2.5rem, 4vw, 64px);
	font-weight: 800;
	line-height: 1;
	color: var(--np-text);
}

.np-content-section__stats--scores .np-content-section__stat-value--cyan {
	color: var(--np-cyan);
}

.np-content-section__stats--scores .np-content-section__stat-value--lime {
	color: var(--np-lime);
}

.np-content-section__shell--cert {
	display: flex;
	background: var(--np-shell);
	min-height: 780px;
}

.np-content-section__shell--cert .np-content-section__shell-rail {
	background: var(--np-cyan);
}

.np-content-section__shell-inner--cert {
	flex: 1;
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 40px;
	align-items: center;
	padding: 56px 46px;
}

.np-content-section--cert .np-content-section__title {
	margin-bottom: 36px;
	font-size: clamp(1.75rem, 3vw, 54px);
}

.np-content-section__badges {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 36px;
	align-items: stretch;
	padding-top: 0;
	align-self: center;
}

.np-content-section__badge {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 128px;
	padding: 24px;
	background: var(--np-white);
	border: 1px solid rgba(11, 12, 13, 0.12);
	border-radius: 8px;
	text-align: center;
	font-size: clamp(1.75rem, 2.5vw, 41px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--np-text);
	white-space: pre-line;
}

.np-content-section__badge--cyan {
	color: var(--np-cyan);
}

.np-content-section__badge--lime {
	color: var(--np-lime);
}

.np-content-section__body--mobile {
	display: none;
}

@media (max-width: 1024px) {
	:root {
		--np-gutter: 24px;
		--np-inset: 24px;
		--np-mobile-pad: 20px;
	}

	.np-content-sections {
		padding-left: 24px;
		padding-right: 24px;
	}

	/* Home tablet: fluid stack, no locked card widths/heights */
	.np-hero-cta--card.np-hero-cta--intro,
	.np-hero-cta--card.np-hero-cta--final,
	.np-hero-cta {
		padding-left: var(--np-mobile-pad);
		padding-right: var(--np-mobile-pad);
	}

	.np-hero-cta__card {
		width: 100%;
		max-width: none;
		height: auto;
		min-height: 0;
	}

	.np-hero-cta--card.np-hero-cta--intro .np-hero-cta__heading,
	.np-hero-cta--card.np-hero-cta--final .np-hero-cta__heading,
	.np-hero-cta--card.np-hero-cta--intro .np-hero-cta__description,
	.np-hero-cta--card.np-hero-cta--final .np-hero-cta__description {
		max-width: none;
		width: 100%;
	}

	.np-benefits__right,
	.np-benefits__accent {
		width: 100%;
		max-width: none;
	}

	.np-solutions__inner {
		width: 100%;
		max-width: none;
		padding: 0;
		box-sizing: border-box;
	}

	.np-solutions__eyebrow,
	.np-solutions__heading {
		text-align: left;
		max-width: none;
		margin-left: var(--np-mobile-pad, 20px);
		margin-right: var(--np-mobile-pad, 20px);
	}

	.np-solutions__group,
	.np-solutions__group + .np-solutions__group {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding: 28px var(--np-mobile-pad, 20px) 32px;
		box-sizing: border-box;
	}

	.np-solutions__grid {
		grid-template-columns: 1fr;
		width: 100%;
	}

	.np-solutions__card {
		width: 100%;
		max-width: none;
		height: auto;
		min-height: 0;
	}

	.np-solutions__cta-wrap {
		padding-left: var(--np-mobile-pad, 20px);
		padding-right: var(--np-mobile-pad, 20px);
		width: 100%;
		box-sizing: border-box;
	}

	.np-solutions__cta-wrap .np-btn {
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__inner {
		display: flex;
		flex-direction: column;
		padding: 0 var(--np-mobile-pad, 20px);
		box-sizing: border-box;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__image {
		display: block;
		order: 2;
		width: 100%;
		max-width: none;
		height: auto;
		min-height: 0;
		aspect-ratio: 350 / 376;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__content {
		order: 1;
		width: 100%;
		max-width: none;
		padding-left: 0;
		padding-right: 0;
	}
}

@media (max-width: 900px) {
	.np-content-sections {
		padding-left: 24px;
		padding-right: 24px;
	}

	/* Override desktop ratio grids (higher specificity than base .np-content-section__split) */
	.np-content-section__features--outcomes,
	.np-content-section__split,
	.np-content-section--split-dark .np-content-section__split,
	.np-content-section--split-light .np-content-section__split,
	.np-content-section__shell-inner--cs,
	.np-content-section__shell-inner--cert {
		grid-template-columns: 1fr;
	}

	.np-content-section--split-dark .np-content-section__split,
	.np-content-section--split-light .np-content-section__split {
		display: flex;
		flex-direction: column;
		min-height: 0;
		align-items: stretch;
	}

	/* Dark: title (head) → media → body */
	.np-content-section--split-dark .np-content-section__split-media {
		order: -1;
		width: 100%;
		height: auto;
		min-height: 280px;
		aspect-ratio: 390 / 260;
	}

	.np-content-section--split-light .np-content-section__split-media {
		order: -1;
		width: 100%;
		height: auto;
		min-height: 280px;
		aspect-ratio: 390 / 250;
	}

	.np-content-section--split-dark .np-content-section__split-copy,
	.np-content-section--split-light .np-content-section__split-copy {
		width: 100%;
	}

	.np-content-section__features--outcomes .np-content-section__feature {
		min-height: 0;
		max-width: none;
		width: 100%;
	}

	.np-content-section__shell-inner,
	.np-content-section__split-copy,
	.np-content-section__shell-inner--cert {
		padding: 1.75rem 1.25rem;
	}

	.np-content-section__shell--cert {
		min-height: 0;
		flex-direction: column;
	}

	.np-content-section__shell-rail {
		width: 100%;
		height: 6px;
	}

	.np-content-section__badges {
		padding-top: 0;
	}
}

/* Chi siamo — outcomes: mobile Figma (no cards, lime rules, full-bleed shell) */
@media (max-width: 767px) {
	/* Chi siamo lede — Figma 10007:1046: 18px / 1.35 */
	.np-content-section--lede {
		padding: 44px var(--np-gutter) 2.75rem;
	}

	.np-content-section--lede .np-content-section__body {
		max-width: none;
		width: 100%;
		font-size: 18px;
		line-height: 1.35;
	}

	.np-content-section--outcomes {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}

	.np-content-section--outcomes .np-content-section__shell {
		min-height: 0;
		border-radius: 0;
	}

	.np-content-section--outcomes .np-content-section__shell-bar {
		height: 6px;
	}

	.np-content-section--outcomes .np-content-section__shell-inner {
		padding: 44px var(--np-gutter) 2rem;
	}

	.np-content-section--outcomes .np-content-section__eyebrow {
		margin: 0 0 0.5rem;
		font-size: 12px;
		letter-spacing: 0.08em;
	}

	.np-content-section--outcomes .np-content-section__title {
		margin: 0 0 1.25rem;
		font-size: 28px;
		line-height: 32px;
	}

	.np-content-section--outcomes .np-content-section__features--outcomes {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.np-content-section--outcomes .np-content-section__features--outcomes .np-content-section__feature {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		width: 100%;
		max-width: none;
		min-height: 0;
		margin: 0;
		padding: 20px 20px 18px;
		border: 0;
		border-radius: 4px;
		background: var(--np-white);
		box-shadow: none;
	}

	.np-content-section--outcomes .np-content-section__features--outcomes .np-content-section__feature::before {
		content: '';
		display: block;
		width: 100%;
		height: 4px;
		margin: 0 0 14px;
		flex-shrink: 0;
		background: var(--np-lime);
	}

	.np-content-section--outcomes .np-content-section__feature-num {
		display: none;
	}

	.np-content-section--outcomes .np-content-section__features--outcomes .np-content-section__feature-title {
		margin: 0 0 12px;
		font-size: 19px;
		line-height: 1.25;
		letter-spacing: 0;
		text-transform: none;
	}

	.np-content-section--outcomes .np-content-section__features--outcomes .np-content-section__feature-text {
		margin: 0;
		font-size: 12px;
		line-height: 16px;
		color: rgba(11, 12, 13, 0.62);
	}

	/* Split mobile: eyebrow+title → media → body card (Figma 10007:1065) */
	.np-content-section--split {
		display: flex;
		flex-direction: column;
	}

	.np-content-section--split .np-content-section__split-head {
		display: contents;
	}

	.np-content-section--split .np-content-section__split {
		display: contents;
		border-top: 0;
		min-height: 0;
		gap: 0;
	}

	.np-content-section--split .np-content-section__split-copy {
		display: contents;
	}

	.np-content-section--split .np-content-section__eyebrow,
	.np-content-section--split-dark .np-content-section__eyebrow,
	.np-content-section--split-light .np-content-section__eyebrow,
	.np-content-section--split-dark .np-content-section__split-head .np-content-section__eyebrow {
		order: 1;
		margin: 0 var(--np-gutter) 24px;
		padding: 0;
		font-size: 10px;
		font-weight: 600;
		letter-spacing: 0;
		color: #6a6d72;
	}

	.np-content-section--split .np-content-section__title,
	.np-content-section--split-dark .np-content-section__title,
	.np-content-section--split-light .np-content-section__title,
	.np-content-section--split-dark .np-content-section__split-head .np-content-section__title {
		order: 2;
		margin: 0 var(--np-gutter) 24px;
		padding: 0;
		font-size: 28px;
		line-height: 1.15;
		color: var(--np-text);
	}

	.np-content-section--split .np-content-section__split-media {
		order: 3;
		width: 100%;
		max-width: none;
		min-height: 260px;
		height: 260px;
		aspect-ratio: auto;
		margin: 0;
	}

	.np-content-section--split .np-content-section__body {
		order: 4;
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 37px var(--np-gutter) 20px;
		font-size: 14px;
		font-weight: 500;
		line-height: 21px;
	}

	.np-content-section--split-dark .np-content-section__body {
		background: #131416;
		border: 1px solid rgba(255, 255, 255, 0.13);
		border-top: 8px solid var(--np-cyan);
		color: rgba(255, 255, 255, 0.9);
		min-height: 457px;
	}

	.np-content-section--split-dark .np-content-section__body p {
		margin: 0 0 1em;
		color: rgba(255, 255, 255, 0.9);
	}

	.np-content-section--split-dark .np-content-section__body p:last-child {
		margin-bottom: 0;
	}

	/* 43px white gap before research photo (Figma 10007:1065 card→photo) */
	.np-content-section--split-dark {
		padding-top: 44px;
		padding-bottom: 43px;
		display: flex;
		flex-direction: column;
	}

	/* Light split: research photo + Beyond numbers card (Figma 10007:1072) */
	.np-content-section--split-light {
		margin-left: 0;
		margin-right: 0;
		width: auto;
		padding-top: 0;
		padding-bottom: 0;
	}

	.np-content-section--split-light .np-content-section__split {
		align-items: stretch;
		padding: 0;
		gap: 0;
		min-height: 0;
		border-top: 0;
	}

	.np-content-section--split-light .np-content-section__split-media {
		display: block;
		order: 0;
		width: 100%;
		max-width: none;
		height: 250px;
		min-height: 250px;
		margin: 0;
		background-position: center center;
	}

	.np-content-section--split-light .np-content-section__split-copy {
		display: flex;
		flex-direction: column;
		order: 1;
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0 var(--np-gutter) 52px;
		background: var(--np-shell);
		border-top: 6px solid var(--np-lime);
	}

	.np-content-section--split-light .np-content-section__eyebrow,
	.np-content-section--split-light .np-content-section__title {
		order: unset;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.np-content-section--split-light .np-content-section__eyebrow {
		margin: 51px 0 24px;
	}

	.np-content-section--split-light .np-content-section__title {
		margin: 0 0 24px;
	}

	.np-content-section--split-light .np-content-section__body {
		order: unset;
		background: transparent;
		border-top: 0;
		max-width: none;
		width: 100%;
		min-height: 0;
		padding: 0;
		font-size: 14px;
		font-weight: 400;
		line-height: 21px;
		color: rgba(11, 12, 13, 0.74);
	}

	.np-content-section--split-light .np-content-section__body p {
		margin: 0 0 1em;
	}

	.np-content-section--split-light .np-content-section__body p:last-child {
		margin-bottom: 0;
	}

	.np-content-section--cs .np-content-section__body--desktop {
		display: none;
	}

	.np-content-section--cs .np-content-section__body--mobile {
		display: block;
	}

	/* Customer satisfaction: full-bleed shell + score cards */
	.np-content-section--cs {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}

	.np-content-section--cs .np-content-section__shell {
		border-radius: 0;
	}

	.np-content-section--cs .np-content-section__shell-bar {
		height: 6px;
	}

	.np-content-section--cs .np-content-section__shell-inner--cs {
		padding: 44px var(--np-gutter) 2rem;
		gap: 1.5rem;
	}

	.np-content-section--cs .np-content-section__title {
		font-size: 28px;
		line-height: 1.15;
	}

	.np-content-section--cs .np-content-section__stats--scores {
		gap: 24px;
	}

	.np-content-section--cs .np-content-section__stats--scores .np-content-section__stat {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		height: 129px;
		min-height: 129px;
		padding: 19px 20px 16px;
		border: 1px solid #d7dbe0;
		border-radius: 4px;
		border-top: 1px solid #d7dbe0;
		background: var(--np-white);
	}

	.np-content-section--cs .np-content-section__stats--scores .np-content-section__stat::before {
		content: '';
		display: block;
		width: 100%;
		height: 4px;
		margin: 0 0 14px;
		flex-shrink: 0;
		background: var(--np-lime);
	}

	.np-content-section--cs .np-content-section__stats--scores .np-content-section__stat-label {
		margin: 0 0 8px;
		font-size: 13px;
		font-weight: 600;
		line-height: 1.2;
		text-align: center;
	}

	.np-content-section--cs .np-content-section__stats--scores .np-content-section__stat-value {
		font-size: 34px;
		line-height: 1;
		text-align: center;
	}

	/* Certificazioni: short mobile copy, full-bleed */
	.np-content-section--cert {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}

	.np-content-section--cert .np-content-section__shell {
		border-radius: 0;
	}

	.np-content-section--cert .np-content-section__shell-bar {
		height: 8px;
		background: var(--np-cyan);
	}

	.np-content-section--cert .np-content-section__body--desktop {
		display: none;
	}

	.np-content-section--cert .np-content-section__body--mobile {
		display: block;
	}

	.np-content-section--cert .np-content-section__shell-inner--cert {
		padding: 44px var(--np-gutter) 2rem;
		gap: 1.5rem;
	}

	.np-content-section--cert .np-content-section__title {
		font-size: 28px;
		line-height: 1.15;
	}

	.np-content-section--cert .np-content-section__badges {
		align-items: center;
		gap: 24px;
		padding-top: 0;
	}

	.np-content-section--cert .np-content-section__badge {
		width: 100%;
		max-width: none;
		height: 89px;
		min-height: 89px;
		padding: 12px 20px;
		border: 1px solid #d7dbe0;
		border-radius: 4px;
		font-size: 26px;
		line-height: 1.1;
		white-space: nowrap;
	}
}

/* ── Single news article ─────────────────────────────────── */

.np-single-news {
	background: var(--np-white);
}

.np-article {
	background: var(--np-white);
	padding: var(--np-section-gap) var(--np-section-pad-x);
}

.np-article__inner {
	max-width: var(--np-container);
	margin: 0 auto;
}

.np-article__header {
	margin-bottom: var(--np-section-gap-sm);
	padding-bottom: var(--np-section-gap-sm);
	border-bottom: 1px solid rgba(11, 12, 13, 0.08);
}

.np-article__eyebrow {
	margin: 0 0 1rem;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(11, 12, 13, 0.55);
}

.np-article__title {
	margin: 0 0 1rem;
	font-family: var(--np-font);
	font-size: clamp(1.75rem, 3.5vw, 42px);
	font-weight: 800;
	line-height: 1.15;
	color: var(--np-text);
}

.np-article__meta {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: rgba(11, 12, 13, 0.55);
}

.np-article__content {
	font-size: 16px;
	line-height: 1.65;
	color: var(--np-grey-text);
}

.np-article__content > *:first-child {
	margin-top: 0;
}

.np-article__content h2,
.np-article__content h3,
.np-article__content h4 {
	margin: 2rem 0 0.75rem;
	font-family: var(--np-font);
	font-weight: 800;
	line-height: 1.2;
	color: var(--np-text);
}

.np-article__content h2 {
	font-size: clamp(1.375rem, 2.5vw, 28px);
}

.np-article__content h3 {
	font-size: clamp(1.25rem, 2vw, 22px);
}

.np-article__content h4 {
	font-size: 1.125rem;
}

.np-article__content p {
	margin: 0 0 1rem;
}

.np-article__content ul,
.np-article__content ol {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.np-article__content li {
	margin-bottom: 0.5rem;
}

.np-article__content a {
	color: var(--np-cyan);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.np-article__content a:hover {
	color: var(--np-text);
}

.np-article__content img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 1.5rem 0;
	border-radius: 4px;
}

.np-article__content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	border-left: 3px solid var(--np-lime);
	background: var(--np-shell);
	font-style: italic;
}

.np-article__content table {
	width: 100%;
	margin: 1.5rem 0;
	border-collapse: collapse;
	font-size: 15px;
}

.np-article__content th,
.np-article__content td {
	padding: 0.75rem 1rem;
	border: 1px solid rgba(11, 12, 13, 0.1);
	text-align: left;
}

.np-hero-cta--intro + .np-article {
	padding-top: 0;
}

/* ── News List (blocchi come soluzioni) ─────────────────── */

body.np-page-news .elementor-widget:not(:last-child) {
	margin-block-end: 0 !important;
}

.np-news-list {
	background: var(--np-black);
	padding: 0 84px var(--np-section-gap);
	color: var(--np-white);
}

.np-news-list__inner {
	max-width: var(--np-container-wide);
	margin: 0 auto;
}

.np-news-list__grid {
	display: grid;
	grid-template-columns: repeat(3, var(--np-solution-card-w));
	justify-content: center;
	column-gap: var(--np-solution-gap-x);
	row-gap: var(--np-solution-gap-y);
}

.np-news-list__card {
	position: relative;
	background: var(--np-shell);
	color: var(--np-text);
	padding: 24px 28px 20px;
	min-height: var(--np-solution-card-h);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	border: none;
	border-radius: 0;
	overflow: hidden;
}

.np-news-list__card::after {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid var(--np-solution-border);
	pointer-events: none;
	z-index: 2;
	box-sizing: border-box;
}

.np-news-list__card--featured::after {
	top: 1px;
	border-color: var(--np-solution-border-featured);
}

.np-news-list__card-accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--np-solution-accent-h);
	background: var(--np-cyan);
	border: none;
	border-radius: 0;
	z-index: 1;
}

.np-news-list__date {
	margin: 0 0 34px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 20px;
	transition: color 0.25s ease;
}

.np-news-list__date--cyan {
	color: var(--np-cyan);
}

.np-news-list__date--muted {
	color: rgba(11, 12, 13, 0.86);
}

.np-news-list__date--dark {
	color: var(--np-text);
}

.np-news-list__card--link:hover .np-news-list__date {
	color: var(--np-lime);
}

.np-news-list__title {
	margin: 0 0 16px;
	flex: 1;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.35;
	color: var(--np-text);
}

.np-news-list__link-mark {
	display: inline-block;
	width: 38px;
	height: 3px;
	background: var(--np-lime);
	border-radius: 2px;
}

.np-news-list__skeleton {
	position: relative;
	min-height: var(--np-solution-card-h);
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.04) 100%);
	background-size: 200% 100%;
	animation: np-skeleton-shimmer 1.2s ease-in-out infinite;
	border: 1px solid var(--np-solution-border);
}

.np-news-list__grid--loading {
	min-height: 200px;
}

.np-news-list__error {
	margin: 0;
	padding: 2rem 0;
	text-align: center;
	color: rgba(255, 255, 255, 0.72);
	font-size: 15px;
}

@keyframes np-skeleton-shimmer {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

/* ── Language switcher (dizionario Languages) ───────────── */

.np-lang-switch {
	display: inline-flex;
	align-items: stretch;
	align-self: center;
	margin: 48px auto 0;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: rgba(5, 5, 6, 0.35);
	backdrop-filter: blur(6px);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.45s ease 0.32s, transform 0.45s ease 0.32s, border-color 0.2s ease;
}

.np-header--open .np-lang-switch {
	opacity: 1;
	transform: translateY(0);
}

.np-lang-switch__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	padding: 12px 18px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.72);
	transition: color 0.2s ease, background 0.2s ease;
}

.np-lang-switch__btn + .np-lang-switch__btn {
	border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.np-lang-switch__btn:hover {
	color: var(--np-lime);
}

.np-lang-switch__btn--active {
	color: var(--np-black);
	background: var(--np-lime);
	cursor: default;
}

.np-hero-cta--intro + .np-contact-block,
.np-hero-cta--card + .np-contact-block {
	padding-top: 0;
}

/* Figma Contatti: 100px titolo→shell, 79px shell→footer */
.np-contact-block {
	background: var(--np-white);
	padding: 100px var(--np-section-pad-x) 79px;
}

.np-page-banner + .np-contact-block {
	padding-top: 100px;
}

.np-contact-block__shell {
	box-sizing: border-box;
	max-width: var(--np-container);
	margin: 0 auto;
	background: var(--np-shell);
	border: 0;
	border-radius: 0;
	overflow: hidden;
}

.np-contact-block__accent {
	display: block;
	width: 100%;
	height: 6px;
	background: var(--np-lime);
	border: 0;
	border-radius: 0;
	flex-shrink: 0;
}

.np-contact-block__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 1px 500px;
	column-gap: 59px;
	align-items: start;
	padding: 95px 40px 80px;
}

.np-contact-block__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: 560px;
	padding-top: 0;
}

.np-contact-block__eyebrow {
	margin: 0 0 34px;
	font-size: 12px;
	font-weight: 600;
	line-height: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(11, 12, 13, 0.55);
}

.np-contact-block__heading {
	margin: 0 0 144px;
	font-size: 54px;
	font-weight: 800;
	line-height: 1.15;
	color: var(--np-text);
}

.np-contact-block__company {
	margin: 0 0 22px;
	font-size: 26px;
	font-weight: 800;
	line-height: 32px;
	color: var(--np-text);
}

.np-contact-block__address,
.np-contact-block__phone {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 30px;
	color: rgba(11, 12, 13, 0.72);
}

.np-contact-block__phone a {
	color: inherit;
	text-decoration: none;
	font-weight: 400;
}

.np-contact-block__phone a:hover {
	color: var(--np-cyan-deep);
}

.np-contact-block__info-rule {
	width: 360px;
	max-width: 100%;
	height: 2px;
	margin: 40px 0;
	background: var(--np-lime);
	flex-shrink: 0;
}

.np-contact-block__note {
	margin: 0;
	max-width: 420px;
	font-size: 16px;
	font-weight: 400;
	line-height: 25px;
	color: rgba(11, 12, 13, 0.62);
}

.np-contact-block__split {
	width: 1px;
	min-height: 780px;
	align-self: stretch;
	background: rgba(11, 12, 13, 0.16);
	justify-self: center;
}

.np-contact-block__form-card {
	box-sizing: border-box;
	width: 500px;
	min-height: 780px;
	padding: 56px 40px 40px;
	background: var(--np-white);
	border: 1px solid rgba(5, 5, 6, 0.1);
	border-radius: 6px;
}

.np-contact-block__form {
	margin: 0;
}

.np-contact-block__details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
	padding-top: 0.5rem;
	border-top: 1px solid rgba(11, 12, 13, 0.08);
}

.np-contact-block__map {
	margin: var(--np-section-gap-sm) calc(-1 * var(--np-section-pad-x)) 0;
}

.np-contact-block__map iframe {
	display: block;
	width: 100%;
	height: 550px;
	border: 0;
}

.np-contact-block__detail-label {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--np-text);
}

.np-contact-block__detail-value {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--np-grey-text);
}

.np-contact-block__detail-value a {
	color: var(--np-cyan);
	text-decoration: none;
	font-weight: 600;
}

.np-contact-block__detail-value a:hover {
	color: var(--np-lime);
}

.np-contact-block__form-fallback {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--np-grey-text);
}

/* Contact Form 7 */
.np-contact-block__form .wpcf7 {
	margin: 0;
}

.np-contact-block__form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.np-contact-block__form .wpcf7-inline-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.np-contact-block__form .wpcf7-inline-field {
	margin: 0;
}

.np-contact-block__form label,
.np-contact-block__form .wpcf7-form p > label,
.np-contact-block__form .wpcf7-inline-field > label {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(11, 12, 13, 0.55);
}

.np-contact-block__form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
	width: 100%;
	height: 64px;
	padding: 0 1rem;
	border: 1px solid rgba(5, 5, 6, 0.12);
	border-radius: 4px;
	background: var(--np-white);
	font: inherit;
	font-size: 15px;
	color: var(--np-text);
	box-sizing: border-box;
}

.np-contact-block__form textarea.wpcf7-form-control {
	height: 180px;
	min-height: 180px;
	padding: 1rem;
	resize: vertical;
}

.np-contact-block__form .wpcf7-form-control:focus {
	outline: none;
	border-color: var(--np-cyan);
	box-shadow: none;
}

.np-contact-block__form .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.np-contact-block__form .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(11, 12, 13, 0.62);
	cursor: pointer;
}

.np-contact-block__form .wpcf7-acceptance input {
	margin-top: 0.15rem;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	accent-color: var(--np-lime);
	opacity: 1;
	border: 1px solid rgba(5, 5, 6, 0.22);
}

.np-contact-block__form .wpcf7-acceptance a {
	color: var(--np-cyan);
}

.np-contact-block__form .wpcf7-quiz-label {
	display: inline-block;
	margin-right: 0.5rem;
	font-weight: 600;
	color: var(--np-text);
}

.np-contact-block__form .wpcf7-submit {
	width: 160px;
	min-width: 160px;
	height: 48px;
	min-height: 48px;
	cursor: pointer;
	background-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
	border: 1px solid var(--np-lime) !important;
	border-radius: 0;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.np-contact-block__form .wpcf7-submit:hover {
	background-color: var(--np-lime) !important;
	border-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
	opacity: 0.92;
}

.np-contact-block__form .wpcf7-not-valid-tip {
	font-size: 12px;
	color: #c0392b;
	margin-top: 0.35rem;
}

.np-contact-block__form .wpcf7-response-output {
	margin: 0.5rem 0 0;
	padding: 0.75rem 1rem;
	border-radius: 0;
	font-size: 14px;
}

/* ── Responsive ──────────────────────────────────────────── */

@media (max-width: 1320px) {
	.np-solutions__grid,
	.np-news-list__grid {
		grid-template-columns: repeat(2, minmax(0, 400px));
	}

	.np-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem;
	}
}

@media (max-width: 1200px) {
	.np-testimonials__inner {
		grid-template-columns: 38% 1fr;
	}
}

@media (max-width: 900px) {
	.np-benefits__inner,
	.np-testimonials__inner {
		grid-template-columns: 1fr;
	}

	.np-benefits__shell {
		height: auto;
		min-height: auto;
	}

	.np-benefits__title {
		white-space: normal;
	}

	.np-benefits__right {
		padding-left: 0;
		width: 100%;
	}

	.np-hero-cta--card.np-hero-cta--intro {
		padding-top: clamp(72px, 11vw, var(--np-gap-hero-to-cta));
		padding-bottom: 0;
	}

	.np-hero-cta--card.np-hero-cta--final {
		padding-top: clamp(64px, 10vw, var(--np-gap-testimonials-to-cta));
		padding-bottom: clamp(56px, 9vw, var(--np-gap-cta-to-footer));
	}

	.np-benefits {
		padding-top: clamp(64px, 10vw, var(--np-gap-cta-to-benefits));
		padding-bottom: clamp(56px, 8vw, var(--np-gap-benefits-to-solutions));
	}

	.np-solutions {
		padding-top: clamp(64px, 9vw, var(--np-solutions-pad-top));
		padding-bottom: clamp(56px, 9vw, var(--np-solutions-pad-bottom));
		margin-bottom: clamp(64px, 11vw, var(--np-gap-solutions-to-video));
	}

	.np-solutions__heading {
		margin-bottom: clamp(40px, 9vw, var(--np-solutions-heading-gap));
	}

	.np-solutions__cta-wrap {
		margin-top: clamp(40px, 5vw, var(--np-solutions-cta-gap));
	}

	.np-video-quote {
		padding-bottom: clamp(56px, 9vw, var(--np-gap-video-to-testimonials));
	}

	.np-testimonials {
		padding-bottom: clamp(64px, 10vw, var(--np-gap-testimonials-to-cta));
	}

	.np-hero-visual__inner {
		padding: 8rem 1.5rem 3rem;
	}

	.np-testimonials__image {
		min-height: 320px;
		order: 2;
	}

	.np-testimonials__content {
		order: 1;
	}

	.np-hero-visual__logo {
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 2rem;
	}

	.np-solutions__inner {
		padding: 0 1.25rem;
	}

	.np-solutions__heading {
		line-height: 1.28;
		max-width: 100%;
	}

	.np-solutions__grid {
		grid-template-columns: 1fr;
	}

	.np-solutions__card {
		width: 100%;
		max-width: none;
		margin: 0;
		border-radius: 0;
	}

	.np-footer__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.np-testimonials__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.np-hero-cta__eyebrow {
		margin-bottom: 2rem;
	}

	.np-hero-cta__heading {
		margin-bottom: 2rem;
	}

	.np-hero-cta__inner {
		padding: 3rem 1.5rem 2rem;
	}

	.np-hero-cta__card {
		min-height: auto;
	}

	.np-hero-visual {
		min-height: min(62vh, 520px);
		height: auto;
	}

	.np-benefits__shell,
	.np-testimonials__shell,
	.np-testimonials__inner {
		min-height: auto;
	}

	.np-benefits__eyebrow {
		margin-bottom: 2.5rem;
	}

	.np-benefits__inner {
		padding: 2.5rem 1.5rem 2rem;
	}

	.np-testimonials {
		padding-left: 0;
		padding-right: 0;
	}

	.np-video-quote {
		padding-left: var(--np-gutter);
		padding-right: var(--np-gutter);
		overflow: hidden;
	}

	.np-video-quote__frame {
		width: 100%;
		max-width: 100%;
		min-height: 0;
	}

	.np-testimonials__content {
		padding: 2.5rem 1.5rem 2rem;
	}

	.np-testimonials__quote {
		height: auto;
		margin-bottom: 2rem;
		overflow: visible;
	}

	.np-testimonials__meta {
		margin-top: 0;
		padding-top: 0;
	}

	.np-testimonials__role {
		height: auto;
		min-height: 0;
		overflow: visible;
	}

	.np-footer {
		height: auto;
		padding-bottom: 2.5rem;
	}

	.np-content-section--features .np-content-section__features,
	.np-content-section--stats .np-content-section__stats {
		grid-template-columns: 1fr;
	}

	.np-contact-block__details {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.np-contact-block__body {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 40px;
		padding: 48px 28px 56px;
	}

	.np-contact-block__split {
		display: none;
	}

	.np-contact-block__form-card {
		width: 100%;
		min-height: 0;
		padding: 36px 28px;
	}

	.np-contact-block__heading {
		margin-bottom: 48px;
		font-size: 34px;
	}

	.np-contact-block__form .wpcf7-inline-wrapper {
		grid-template-columns: 1fr;
	}

	.np-contact-block__map iframe {
		height: 400px;
	}
}

@media (max-width: 767px) {
	:root {
		--np-gutter: 1.25rem;
		--np-inset: 1.25rem;
		--np-section-gap: 3rem;
		--np-section-gap-sm: 1.75rem;
		--np-header-offset: 56px;
		--np-gap-hero-to-cta: 2.5rem;
		--np-gap-cta-to-benefits: 2.5rem;
		--np-gap-benefits-to-solutions: 2.5rem;
		--np-gap-solutions-to-video: 2.5rem;
		--np-gap-video-to-testimonials: 2.5rem;
		--np-gap-testimonials-to-cta: 2.5rem;
		--np-gap-cta-to-footer: 2.5rem;
		--np-solutions-pad-top: 2.5rem;
		--np-solutions-pad-bottom: 2.5rem;
		--np-solutions-heading-gap: 2rem;
		--np-solutions-cta-gap: 1.75rem;
	}

	body.elementor-template-canvas {
		overflow-x: hidden;
	}

	/* Hero */
	.np-hero-visual {
		min-height: min(58vh, 440px);
		height: auto;
	}

	.np-hero-visual__inner {
		padding: calc(var(--np-header-offset) + 1.5rem) var(--np-gutter) 2rem;
	}

	.np-hero-visual__heading {
		font-size: clamp(1.625rem, 7.5vw, 2.25rem);
		line-height: 1.2;
		max-width: 100%;
	}

	/* Hero CTA — fluid, no locked widths */
	.np-hero-cta--card.np-hero-cta--intro {
		padding: 44px var(--np-mobile-pad) 0;
	}

	.np-hero-cta--card.np-hero-cta--final {
		padding: 44px var(--np-mobile-pad);
	}

	.np-hero-cta__card {
		width: 100%;
		max-width: none;
		min-height: 0;
		height: auto;
		border-radius: 0;
	}

	.np-hero-cta--card.np-hero-cta--intro .np-hero-cta__inner {
		flex: 1 1 auto;
		padding: 44px 24px 50px;
	}

	.np-hero-cta--card.np-hero-cta--final .np-hero-cta__inner {
		flex: 1 1 auto;
		padding: 44px 24px 50px;
	}

	.np-hero-cta--card.np-hero-cta--intro .np-hero-cta__eyebrow {
		margin: 0 0 16px;
		font-size: 10px;
		font-weight: 600;
		letter-spacing: 0;
		line-height: normal;
		color: #fff;
	}

	.np-hero-cta--card.np-hero-cta--final .np-hero-cta__eyebrow {
		margin: 0 0 16px;
		font-size: 10px;
	}

	.np-hero-cta--card.np-hero-cta--intro .np-hero-cta__heading {
		margin: 0 0 32px;
		max-width: none;
		width: 100%;
		font-size: clamp(1.75rem, 5vw, 34px);
		font-weight: 800;
		line-height: normal;
		letter-spacing: 0;
		white-space: normal;
	}

	.np-hero-cta--card.np-hero-cta--intro .np-hero-cta__heading br {
		display: none;
	}

	.np-hero-cta--card.np-hero-cta--final .np-hero-cta__heading {
		margin: 0 0 24px;
		max-width: none;
		width: 100%;
		font-size: clamp(1.75rem, 5vw, 34px);
		font-weight: 800;
		line-height: normal;
		letter-spacing: 0;
	}

	.np-hero-cta--card.np-hero-cta--intro .np-hero-cta__description {
		margin: 0;
		max-width: none;
		width: 100%;
		font-size: 14px;
		font-weight: 400;
		line-height: 19px;
		color: rgba(255, 255, 255, 0.78) !important;
	}

	.np-hero-cta--card.np-hero-cta--final .np-hero-cta__description {
		margin: 0;
		max-width: none;
		width: 100%;
		font-size: 14px;
		line-height: 19px;
		color: rgba(255, 255, 255, 0.76) !important;
	}

	.np-hero-cta__buttons {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: auto;
		padding-top: 1.5rem;
		width: 100%;
	}

	.np-hero-cta--card.np-hero-cta--intro .np-btn,
	.np-hero-cta--card.np-hero-cta--final .np-btn {
		flex: 1 1 auto;
		box-sizing: border-box;
		width: auto;
		min-width: 0;
		max-width: none;
		min-height: 42px;
		height: 42px;
		padding: 0 17px;
		font-size: 12px;
		font-weight: 600;
		line-height: normal;
	}

	.np-hero-cta--card.np-hero-cta--final .np-btn--primary,
	.np-hero-cta--card.np-hero-cta--final .np-btn--ghost {
		min-width: 0;
		width: auto;
		flex: 1 1 auto;
	}

	.np-btn {
		width: 100%;
		min-height: 48px;
	}

	/* Benefits — Figma Capabilities `10007:1954` (390×598) */
	.np-benefits {
		padding: 0;
	}

	.np-benefits__shell {
		height: auto;
		min-height: auto;
		max-width: none;
		border-radius: 0;
	}

	.np-benefits__inner {
		padding: 38px var(--np-mobile-pad) 44px;
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 0;
	}

	.np-benefits__eyebrow {
		margin: 0 0 24px;
		font-size: 10px;
		font-weight: 600;
		letter-spacing: 0;
		line-height: normal;
		color: #6a6d72;
	}

	.np-benefits__title {
		margin: 0 0 24px;
		font-size: 28px;
		font-weight: 800;
		line-height: normal;
		white-space: normal;
	}

	.np-benefits__left {
		margin: 0;
	}

	.np-benefits__right {
		width: 100%;
		max-width: none;
		padding-top: 0;
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.np-benefits__block {
		box-sizing: border-box;
		padding: 20px;
		margin: 0;
	}

	.np-benefits__block:last-child {
		padding-bottom: 20px;
		margin-bottom: 0;
	}

	.np-benefits__accent {
		width: 100%;
		max-width: none;
		height: 4px;
		margin: 0 0 14px;
	}

	.np-benefits__block-title {
		margin: 0 0 14px;
		font-size: 19px;
		font-weight: 800;
		line-height: normal;
	}

	.np-benefits__block-text {
		margin: 0;
		font-size: 12px;
		line-height: 16px;
		color: rgba(11, 12, 13, 0.62);
		max-width: none;
	}

	/* Solutions — fluid full-width */
	.np-solutions {
		padding-top: var(--np-section-pad-mobile);
		padding-bottom: 48px;
		margin-bottom: 0;
	}

	.np-solutions__inner {
		padding: 0;
		width: 100%;
		max-width: none;
		box-sizing: border-box;
	}

	.np-solutions__eyebrow {
		margin: 0 var(--np-mobile-pad) 16px;
		text-align: left;
		font-size: 10px;
		letter-spacing: 0;
		line-height: normal;
	}

	.np-solutions__heading {
		margin: 0 var(--np-mobile-pad) 48px;
		text-align: left;
		font-size: clamp(1.75rem, 5vw, 34px);
		line-height: 1.15;
		letter-spacing: -0.02em;
		max-width: none;
		width: auto;
	}

	.np-solutions__heading-line {
		display: inline;
		line-height: 1.15;
	}

	.np-solutions__group {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		padding: 29px var(--np-mobile-pad) 32px;
		border-radius: 0;
		box-sizing: border-box;
	}

	.np-solutions__group + .np-solutions__group {
		margin-top: 24px;
		max-width: none;
	}

	.np-solutions__group-title {
		margin: 0 0 28px;
		font-size: clamp(1.25rem, 4vw, 25px);
		font-weight: 800;
		line-height: 1.2;
		text-align: center;
		color: var(--np-text-strong);
	}

	.np-solutions__grid {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 0;
		width: 100%;
	}

	.np-solutions__card {
		width: 100%;
		max-width: none;
		min-height: 0;
		height: auto;
		margin: 0;
		padding: 19px 19px 24px;
		border: 1px solid #d7dbe0;
		border-radius: 4px;
	}

	.np-solutions__number,
	.np-solutions__number--cyan,
	.np-solutions__number--muted,
	.np-solutions__number--dark {
		margin-bottom: 12px;
		font-size: 11px;
		font-weight: 700;
		line-height: normal;
		color: var(--np-muted-2);
	}

	.np-solutions__card-title {
		margin: 0 0 12px;
		font-size: clamp(1rem, 3vw, 19px);
		line-height: normal;
	}

	.np-solutions__card-text {
		margin: 0 0 16px;
		font-size: 13px;
		line-height: 1.45;
	}

	.np-solutions__link {
		font-size: 12px;
	}

	.np-solutions__cta-wrap {
		margin-top: 48px;
		padding-left: var(--np-mobile-pad);
		padding-right: var(--np-mobile-pad);
		display: flex;
		justify-content: stretch;
		box-sizing: border-box;
		width: 100%;
	}

	.np-solutions__cta-wrap .np-btn {
		width: 100%;
		max-width: none;
		min-width: 0;
		height: 48px;
		font-size: 14px;
	}

	/* Video — inset from horizontal edges */
	.np-video-quote {
		padding-left: var(--np-gutter);
		padding-right: var(--np-gutter);
		padding-bottom: var(--np-section-gap);
		overflow: hidden;
	}

	.np-video-quote__frame {
		width: 100%;
		max-width: 100%;
		min-height: 0;
	}

	.np-video-quote__play {
		width: 88px;
		height: 88px;
	}

	.np-video-quote__play-svg {
		width: 88px;
		height: 88px;
	}

	/* Testimonials home — Figma `Testimonials` 390×1056 (cards, no image) */
	.np-testimonials:not(.np-testimonials--cards) {
		background: var(--np-shell);
		padding: 0;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__shell {
		max-width: none;
		border-radius: 0;
		background: var(--np-shell);
		min-height: 0;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__top-bar {
		display: none;
	}

	/* Figma — photo under testimonial cards, fluid */
	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__image {
		display: block;
		order: 2;
		width: 100%;
		max-width: none;
		height: auto;
		min-height: 0;
		aspect-ratio: 350 / 376;
		margin: 24px 0 48px;
		background-size: cover;
		background-position: center center;
		box-sizing: border-box;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__inner {
		display: flex;
		flex-direction: column;
		min-height: 0;
		padding: 0 var(--np-mobile-pad);
		box-sizing: border-box;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__content {
		padding: 44px 0 0;
		order: 1;
		width: 100%;
		max-width: none;
		box-sizing: border-box;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__eyebrow {
		margin: 0 0 24px;
		font-size: 10px;
		font-weight: 600;
		letter-spacing: 0;
		line-height: normal;
		color: var(--np-muted-2);
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__heading {
		margin: 0 0 24px;
		font-size: 28px;
		font-weight: 800;
		line-height: 1.21;
		letter-spacing: -0.02em;
		color: var(--np-black);
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__heading .np-highlight {
		display: block;
		color: inherit;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__item {
		box-sizing: border-box;
		min-height: 133px;
		padding: 20px;
		background: var(--np-white);
		border: 1px solid #d7dbe0;
		border-radius: 4px;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__item-accent {
		width: 100%;
		max-width: none;
		height: 4px;
		margin: 0 0 14px;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__quote {
		height: auto;
		margin: 0 0 14px;
		overflow: visible;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.5;
		white-space: normal;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__meta {
		margin-top: auto;
		padding-top: 0;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__role {
		display: none;
	}

	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__brand,
	.np-testimonials:not(.np-testimonials--cards) .np-testimonials__author {
		height: auto;
		overflow: visible;
		font-size: 12px;
		font-weight: 800;
		line-height: normal;
	}

	/* Footer mobile — Figma `Footer` 390×393: logo 234×67, claim 12/1.5, colonne 10/12 */
	.np-footer {
		height: auto;
		min-height: 393px;
		padding-bottom: 28px;
	}

	.np-footer__wrap {
		padding: 41px 22px 0;
	}

	.np-footer__grid {
		display: grid;
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.1fr) minmax(0, 1.5fr);
		column-gap: 20px;
		row-gap: 0;
		justify-content: space-between;
		align-items: start;
		max-width: none;
		margin: 0;
	}

	.np-footer__brand {
		grid-column: 1 / -1;
		margin: 0 0 48px;
	}

	.np-footer__brand .np-brand-logo {
		width: 234px;
		max-width: 100%;
		height: auto;
		margin: 0 0 22px;
	}

	.np-footer__brand .np-brand-logo img {
		width: 100%;
		height: auto;
		object-fit: contain;
		object-position: left center;
	}

	.np-footer__logo-text {
		margin: 0 0 22px;
		font-size: 1.25rem;
	}

	.np-footer__desc {
		max-width: 345px;
		font-size: 12px;
		line-height: 1.5;
		font-weight: 400;
		color: rgba(255, 255, 255, 0.72);
	}

	.np-footer__column-title {
		margin: 0 0 20px;
		font-size: 10px;
		font-weight: 700;
		letter-spacing: 0.04em;
		line-height: 1.2;
	}

	.np-footer__links a,
	.np-footer__links span {
		font-size: 12px;
		line-height: 1.8;
		font-weight: 400;
	}

	.np-footer__legal {
		margin-top: 1.75rem;
		padding-top: 1rem;
	}

	/* Inner pages — mobile Figma Title 42 Extra Bold + accent 150×3 */
	.np-page-banner {
		min-height: 180px;
		height: 180px;
		padding: 0 var(--np-mobile-pad);
	}

	.np-page-banner__title {
		padding-bottom: 0;
		border-bottom: 0;
		font-size: 42px;
		line-height: normal;
	}

	.np-page-banner__title::after {
		content: '';
		display: block;
		width: 150px;
		height: 3px;
		margin: 10px auto 0;
		background: var(--np-lime);
	}

	.np-content-sections {
		/* Full-bleed page like Figma mobile; sections pad themselves */
		padding: 0;
	}

	.np-content-sections__inner {
		gap: 0;
		max-width: none;
		width: 100%;
	}

	.np-content-section {
		padding-bottom: 0;
	}

	.np-content-section--lede {
		padding: 44px var(--np-gutter) 2.75rem;
	}

	.np-content-section--split-dark {
		padding: 44px 0 43px;
	}

	.np-content-section--split-light {
		padding-top: 0;
		padding-bottom: 0;
	}

	.np-article {
		padding: var(--np-section-gap) var(--np-gutter);
	}

	.np-article__title {
		font-size: clamp(1.5rem, 6vw, 2rem);
	}

	.np-article__content {
		font-size: 15px;
	}

	.np-news-list {
		padding: 0 var(--np-gutter) var(--np-section-gap);
	}

	.np-news-list__grid {
		grid-template-columns: 1fr;
	}

	.np-news-list__card {
		min-height: 220px;
		padding: 1.75rem 1.5rem 1.5rem;
	}

	.np-news-list__title {
		font-size: 1.125rem;
	}
}

/* ── Solutions Tabs (Figma tabbed v2) ─────────────────────── */

.np-solutions-tabs {
	background: var(--np-white);
	padding: var(--np-section-gap) var(--np-section-pad-x);
}

.np-solutions-tabs__inner {
	max-width: var(--np-container);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 130px;
}

.np-solutions-tabs__module {
	box-sizing: border-box;
	background: var(--np-shell);
	padding: 40px;
	scroll-margin-top: calc(var(--np-header-offset) + 16px);
}

/* Desktop: wrapper is transparent so layout stays unchanged */
.np-solutions-tabs__card {
	display: contents;
}

.np-solutions-tabs__accent {
	display: block;
	width: 100%;
	height: 6px;
	flex-shrink: 0;
	background: var(--np-lime);
}

.np-solutions-tabs__module--cyan .np-solutions-tabs__accent {
	background: var(--np-cyan);
}

.np-solutions-tabs__accent--top {
	margin: 0 0 24px;
}

.np-solutions-tabs__heading {
	margin: 0 0 24px;
	font-family: var(--np-font);
	font-size: 44px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--np-text-strong);
	text-transform: uppercase;
}

.np-solutions-tabs__tablist {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 8px;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}

.np-solutions-tabs button.np-solutions-tabs__tab {
	scroll-margin-top: calc(var(--np-header-offset) + 24px);
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 0;
	width: 100%;
	min-height: 64px;
	margin: 0;
	padding: 0 0 16px;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	border-bottom: 2px solid rgba(13, 15, 18, 0.18) !important;
	box-shadow: none !important;
	font-family: var(--np-font) !important;
	font-size: 27px !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.01em !important;
	text-transform: uppercase !important;
	text-align: left !important;
	text-decoration: none !important;
	color: var(--np-muted) !important;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, border-bottom-width 0.2s ease;
}

.np-solutions-tabs__tab-label {
	display: block;
}

.np-solutions-tabs button.np-solutions-tabs__tab:hover,
.np-solutions-tabs button.np-solutions-tabs__tab:focus,
.np-solutions-tabs button.np-solutions-tabs__tab:focus-visible {
	color: var(--np-text-strong) !important;
	background: transparent !important;
	outline: none;
	box-shadow: none !important;
}

.np-solutions-tabs button.np-solutions-tabs__tab.is-active {
	color: var(--np-text-strong) !important;
	border-bottom-width: 5px !important;
	padding-bottom: 13px;
}

.np-solutions-tabs__module--lime button.np-solutions-tabs__tab.is-active {
	border-bottom-color: var(--np-lime) !important;
}

.np-solutions-tabs__module--cyan button.np-solutions-tabs__tab.is-active {
	border-bottom-color: var(--np-cyan) !important;
}

.np-solutions-tabs__panel {
	display: none;
}

.np-solutions-tabs__panel.is-active {
	display: block;
}

.np-solutions-tabs__panel-grid {
	display: grid;
	grid-template-columns: minmax(0, 540px) minmax(0, 644px);
	gap: 32px;
	align-items: start;
}

.np-solutions-tabs__left {
	box-sizing: border-box;
	width: 100%;
	max-width: 540px;
	background: #ffffff;
	padding: 40px;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.np-solutions-tabs__module--cyan .np-solutions-tabs__left {
	padding: 32px 40px 40px;
}

.np-solutions-tabs__index {
	margin: 0;
	font-family: var(--np-font);
	font-size: 12px;
	font-weight: 800;
	line-height: 16px;
}

.np-solutions-tabs__module--lime .np-solutions-tabs__index {
	color: var(--np-lime-deep);
}

.np-solutions-tabs__module--cyan .np-solutions-tabs__index {
	color: var(--np-cyan);
}

.np-solutions-tabs__title {
	margin: 0;
	font-family: var(--np-font);
	font-size: 36px;
	font-weight: 800;
	line-height: 42px;
	text-transform: uppercase;
	color: var(--np-text-strong);
}

.np-solutions-tabs__promise {
	margin: 0;
	font-family: var(--np-font);
	font-size: 30px;
	font-weight: 500;
	line-height: 38px;
	color: var(--np-text-strong);
}

.np-solutions-tabs__divider {
	width: 96px;
	height: 3px;
	margin: 0;
	flex-shrink: 0;
	background: var(--np-lime);
}

.np-solutions-tabs__module--cyan .np-solutions-tabs__divider {
	background: var(--np-cyan);
}

.np-solutions-tabs__eyebrow {
	margin: 0;
	font-family: var(--np-font);
	font-size: 21px;
	font-weight: 800;
	line-height: 15px;
	text-transform: uppercase;
	color: #5c6169;
}

.np-solutions-tabs__questions {
	margin: 0;
	font-family: var(--np-font);
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
	color: var(--np-text-strong);
}

.np-solutions-tabs__services {
	margin: 0;
	font-family: var(--np-font);
	font-size: 18px;
	font-weight: 500;
	line-height: 25px;
	text-transform: uppercase;
	color: var(--np-cyan-deep);
}

.np-solutions-tabs__body {
	font-family: var(--np-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 27px;
	color: #24262b;
}

.np-solutions-tabs__body p {
	margin: 0 0 22px;
}

.np-solutions-tabs__body p:last-child {
	margin-bottom: 0;
}

/* ── Resource Cards (Eventi / Materiali) ──────────────────── */

.np-resource-cards__inner {
	max-width: var(--np-container);
	margin: 0 auto;
	padding: 0 var(--np-section-pad-x);
}

.np-resource-cards__band {
	padding: var(--np-section-gap) 0;
}

.np-resource-cards--events {
	background: var(--np-white);
}

.np-resource-cards__band--meetings {
	background: var(--np-white);
	padding-left: var(--np-section-pad-x);
	padding-right: var(--np-section-pad-x);
}

.np-resource-cards__band--meetings .np-resource-cards__inner {
	padding-left: 0;
	padding-right: 0;
}

.np-resource-cards__meetings-shell {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: var(--np-container);
	margin: 0 auto;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 6px;
	overflow: hidden;
	background: var(--np-shell);
}

.np-resource-cards__meetings-accent {
	display: block;
	width: 100%;
	height: 6px;
	margin: 0;
	background: var(--np-lime);
	flex-shrink: 0;
}

.np-resource-cards__meetings-module {
	box-sizing: border-box;
	background: var(--np-shell);
	padding: 123px 40px 83px;
}

.np-resource-cards__band--news {
	background: var(--np-shell);
}

.np-resource-cards--materials .np-resource-cards__band--news {
	box-sizing: border-box;
	width: auto;
	max-width: none;
	margin: 147px var(--np-inset) 97px;
	padding: 160px 0 53px;
	background: var(--np-dark);
	color: var(--np-white);
}

.np-resource-cards--materials .np-resource-cards__band--news .np-resource-cards__inner {
	padding: 0 40px;
}

.np-resource-cards--materials .np-resource-cards__band--news .np-resource-cards__section-title {
	margin: 0 0 122px;
	color: var(--np-white);
}

.np-resource-cards--materials .np-resource-cards__grid--news {
	display: grid;
	grid-template-columns: repeat(3, 368px);
	gap: 48px 32px;
	justify-content: space-between;
}

.np-resource-cards--materials .np-resource-cards__card--news {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 368px;
	min-width: 368px;
	max-width: 368px;
	height: 340px;
	min-height: 340px;
	max-height: 340px;
	padding: 20px 24px 24px;
	background: var(--np-white);
	color: var(--np-text-strong);
	border: 0;
	border-top: 12px solid var(--np-cyan);
	overflow: hidden;
}

.np-resource-cards--materials .np-resource-cards__card--news:nth-child(3n + 2),
.np-resource-cards--materials .np-resource-cards__card--news:nth-child(3n) {
	border-top-color: var(--np-cyan);
}

.np-resource-cards--materials .np-resource-cards__band--news .np-resource-cards__number {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0;
	color: var(--np-cyan);
}

.np-resource-cards--materials .np-resource-cards__band--news .np-resource-cards__title {
	margin: 0 0 16px;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--np-text-strong);
}

.np-resource-cards__news-btn.np-btn {
	flex: 0 0 auto;
	align-self: flex-start;
	margin-top: auto;
	width: 156px;
	min-width: 156px;
	height: 42px;
	min-height: 42px;
	padding: 0 1rem;
	gap: 0.5rem;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-transform: none;
	background-color: var(--np-lime) !important;
	border-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__news-btn.np-btn:hover,
.np-resource-cards__news-btn.np-btn:focus {
	opacity: 0.92;
	background-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__news-btn .np-resource-cards__cta-arrow {
	font-size: 21px;
	font-weight: 500;
	line-height: 1;
}

.np-resource-cards__news-more {
	display: flex;
	justify-content: center;
	margin-top: 106px;
}

.np-resource-cards__news-more-btn.np-btn {
	min-width: 156px;
	height: 42px;
	min-height: 42px;
	padding: 0 1.5rem;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-transform: none;
	background-color: var(--np-lime) !important;
	border-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__news-more-btn.np-btn:hover,
.np-resource-cards__news-more-btn.np-btn:focus {
	opacity: 0.92;
	background-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__eyebrow {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--np-lime);
}

.np-resource-cards__section-title {
	margin: 0 0 40px;
	font-family: var(--np-font);
	font-size: 54px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: inherit;
}

.np-resource-cards__band--meetings .np-resource-cards__section-title {
	margin: 0 0 100px;
	font-size: 48px;
	color: var(--np-text-strong);
}

.np-resource-cards__band--interventi {
	background: var(--np-dark);
	color: var(--np-white);
	padding: 128px 0 0;
	margin-bottom: 81px;
}

.np-resource-cards__band--interventi .np-resource-cards__eyebrow {
	display: block;
	text-align: center;
	margin: 0 0 50px;
	font-size: 12px;
	font-weight: 600;
	line-height: 15px;
	letter-spacing: 0.08em;
	color: var(--np-lime);
}

.np-resource-cards__band--interventi .np-resource-cards__section-title {
	color: var(--np-white);
	text-align: center;
	font-size: 54px;
	font-weight: 800;
	line-height: 68px;
	margin: 0 0 50px;
	white-space: pre-line;
}

.np-resource-cards__meetings {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.np-resource-cards__meeting {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: var(--np-white);
	padding: 0 28px 28px;
	min-height: 0;
	min-width: 0;
}

.np-resource-cards__meeting-rule {
	width: calc(100% + 56px);
	margin: 0 -28px 4px;
	height: 12px;
	flex-shrink: 0;
	background: var(--np-cyan);
}

.np-resource-cards__media-ph,
.np-resource-cards__preview {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	background: rgba(11, 12, 13, 0.06);
	border: 1px dashed rgba(11, 12, 13, 0.18);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--np-muted);
	text-align: center;
	padding: 1rem;
}

.np-resource-cards__meeting .np-resource-cards__media-ph {
	flex: 0 0 auto;
	width: 100%;
	height: 263px;
	min-height: 263px;
	max-height: 263px;
	background: var(--np-shell);
	border: 0;
}

.np-resource-cards__meeting-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--np-text-strong);
}

.np-resource-cards__meeting-btn.np-btn {
	align-self: flex-start;
	width: 156px;
	min-width: 156px;
	height: 42px;
	padding: 0 1rem;
	gap: 0.5rem;
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	background-color: var(--np-lime) !important;
	border-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__meeting-btn.np-btn:hover,
.np-resource-cards__meeting-btn.np-btn:focus {
	opacity: 0.92;
	background-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__grid--events {
	display: grid;
	grid-template-columns: repeat(3, 400px);
	gap: 48px 32px;
	justify-content: space-between;
	padding-bottom: 80px;
}

.np-resource-cards__event-item {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 400px;
	height: 439px;
	min-width: 400px;
	max-width: 400px;
}

.np-resource-cards__event-item .np-resource-cards__card-rule {
	width: 100%;
	height: 12px;
	margin: 0;
	flex-shrink: 0;
	background: var(--np-cyan);
}

.np-resource-cards__card--event {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 400px;
	height: 427px;
	min-height: 427px;
	max-height: 427px;
	padding: 20px 28px 24px;
	background: var(--np-white);
	border: 0;
	color: var(--np-text-strong);
	overflow: hidden;
}

.np-resource-cards__number {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--np-lime);
}

.np-resource-cards__number--accent {
	color: var(--np-cyan);
}

.np-resource-cards__band--interventi .np-resource-cards__number {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0;
	color: var(--np-cyan);
}

.np-resource-cards__title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	color: inherit;
}

.np-resource-cards__band--interventi .np-resource-cards__title {
	margin: 0 0 14px;
	font-size: 24px;
	font-weight: 800;
	line-height: 31px;
	color: var(--np-text-strong);
}

.np-resource-cards__desc,
.np-resource-cards__meta {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.72);
}

.np-resource-cards__band--interventi .np-resource-cards__desc {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: var(--np-text-strong);
}

.np-resource-cards__band--interventi .np-resource-cards__meta {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	color: rgba(13, 15, 18, 0.78);
}

.np-resource-cards__meta {
	margin-top: auto;
	white-space: pre-line;
}

.np-resource-cards__cta-rule {
	width: 100%;
	height: 2px;
	margin: auto 0 16px;
	background: var(--np-lime);
	flex-shrink: 0;
}

.np-resource-cards__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--np-lime);
}

.np-resource-cards__cta:hover {
	opacity: 0.85;
}

.np-resource-cards__band--meetings .np-resource-cards__cta,
.np-resource-cards--materials .np-resource-cards__cta {
	color: var(--np-cyan-deep);
}

.np-resource-cards__band--interventi .np-resource-cards__cta--doc {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin-top: 0;
	color: var(--np-text-strong);
}

.np-resource-cards__cta-label {
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0;
	text-transform: uppercase;
}

.np-resource-cards__cta-arrow {
	flex-shrink: 0;
	font-size: 21px;
	font-weight: 500;
	line-height: 27px;
}

.np-resource-cards__grid--cases {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px 40px;
}

.np-resource-cards__card--case {
	display: grid;
	grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.np-resource-cards__case-body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.np-resource-cards--materials .np-resource-cards__title {
	color: var(--np-text-strong);
}

.np-resource-cards--materials .np-resource-cards__desc,
.np-resource-cards--materials .np-resource-cards__meta {
	color: var(--np-muted);
}

.np-resource-cards--materials {
	background: var(--np-white);
}

.np-resource-cards__band--cases {
	box-sizing: border-box;
	width: 100%;
	margin-top: 100px;
	padding: 87px 0 106px;
	background: var(--np-shell);
}

/* La fascia è già a tutta pagina: il padding dell'inner raddoppiava il gutter e spostava le card. */
.np-resource-cards--materials .np-resource-cards__band--cases .np-resource-cards__inner {
	padding-left: 0;
	padding-right: 0;
}

.np-resource-cards__band--cases .np-resource-cards__section-title {
	margin: 0 0 100px;
	font-size: 54px;
	font-weight: 800;
	line-height: 1.15;
	color: var(--np-text-strong);
}

.np-resource-cards__cases-more {
	display: flex;
	justify-content: center;
	margin-top: 83px;
}

.np-resource-cards__cases-more [hidden],
.np-resource-cards__news-more [hidden],
.np-resource-cards__grid--cases > [hidden],
.np-resource-cards__grid--news > [hidden] {
	display: none !important;
}

.np-resource-cards__cases-more-btn.np-btn {
	min-width: 156px;
	height: 42px;
	min-height: 42px;
	padding: 0 1.5rem;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-transform: none;
	background-color: var(--np-lime) !important;
	border-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__cases-more-btn.np-btn:hover,
.np-resource-cards__cases-more-btn.np-btn:focus {
	opacity: 0.92;
	background-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards--materials .np-resource-cards__grid--cases {
	display: grid;
	grid-template-columns: repeat(3, 400px);
	gap: 83px 48px;
	justify-content: center;
}

.np-resource-cards__case-item {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 400px;
	min-width: 400px;
	max-width: 400px;
}

.np-resource-cards__case-rule {
	display: none;
}

.np-resource-cards--materials .np-resource-cards__card--case {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 400px;
	height: 662px;
	min-height: 662px;
	max-height: 662px;
	padding: 0 0 24px;
	background: var(--np-white);
	border: 0;
	border-top: 12px solid var(--np-cyan);
	overflow: hidden;
}

.np-resource-cards--materials .np-resource-cards__preview {
	box-sizing: border-box;
	flex: 0 0 auto;
	flex-shrink: 0;
	width: 352px;
	min-width: 352px;
	max-width: 352px;
	height: 198px;
	min-height: 198px;
	max-height: 198px;
	margin: 20px 24px 20px;
	padding: 0;
	background: rgba(11, 12, 13, 0.06);
	border: 0;
}

.np-resource-cards--materials .np-resource-cards__preview--image {
	display: block;
	overflow: hidden;
	padding: 0;
}

.np-resource-cards--materials .np-resource-cards__preview--image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.np-resource-cards--materials .np-resource-cards__case-copy {
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
}

.np-resource-cards--materials .np-resource-cards__number {
	flex-shrink: 0;
	margin: 0 24px 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: 0;
	color: var(--np-cyan);
}

.np-resource-cards--materials .np-resource-cards__title {
	flex-shrink: 0;
	margin: 0 24px 12px;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--np-text-strong);
}

.np-resource-cards--materials .np-resource-cards__desc {
	flex-shrink: 0;
	margin: 0 24px 16px;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: var(--np-text-strong);
}

.np-resource-cards--materials .np-resource-cards__card--case > .np-resource-cards__cta-rule {
	flex-shrink: 0;
	width: calc(100% - 48px);
	margin: 12px 24px 16px;
}

.np-resource-cards--materials .np-resource-cards__meta {
	flex-shrink: 0;
	margin: 0 24px 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	color: rgba(13, 15, 18, 0.78);
}

.np-resource-cards__case-btn.np-btn {
	flex: 0 0 auto;
	flex-shrink: 0;
	align-self: flex-start;
	margin-top: 20px;
	margin-left: 24px;
	width: 156px;
	min-width: 156px;
	height: 42px;
	min-height: 42px;
	padding: 0 1rem;
	gap: 0.5rem;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	text-transform: none;
	background-color: var(--np-lime) !important;
	border-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__case-btn.np-btn:hover,
.np-resource-cards__case-btn.np-btn:focus {
	opacity: 0.92;
	background-color: var(--np-lime) !important;
	color: var(--np-dark) !important;
}

.np-resource-cards__case-btn .np-resource-cards__cta-arrow {
	font-size: 21px;
	font-weight: 500;
	line-height: 1;
}

.np-resource-cards__grid--news {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.np-resource-cards__card--news {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 12px;
	border-top: 12px solid var(--np-lime);
}

.np-resource-cards__card--news:nth-child(3n + 2) {
	border-top-color: var(--np-cyan);
}

.np-resource-cards__card--news:nth-child(3n) {
	border-top-color: var(--np-text-strong);
}

@media (max-width: 1100px) {
	.np-solutions-tabs__panel-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.np-resource-cards__grid--events,
	.np-resource-cards__meetings,
	.np-resource-cards__grid--news {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-content: stretch;
	}
}

@media (max-width: 767px) {
	.np-solutions-tabs {
		padding: var(--np-section-pad-mobile, 2.75rem) 0;
	}

	.np-solutions-tabs__inner {
		gap: 56px;
	}

	.np-solutions-tabs__module {
		padding: var(--np-gutter);
		background: #edf0f5;
	}

	.np-solutions-tabs__card {
		display: block;
		box-sizing: border-box;
		width: 100%;
		background: #ffffff;
		padding: 28px var(--np-gutter);
	}

	.np-solutions-tabs__accent--top {
		margin-bottom: 20px;
	}

	.np-solutions-tabs__heading {
		margin-bottom: 20px;
		font-size: 28px;
	}

	.np-solutions-tabs__tablist {
		grid-template-columns: 1fr;
		gap: 0;
		margin-bottom: 24px;
	}

	.np-solutions-tabs__left,
	.np-solutions-tabs__module--cyan .np-solutions-tabs__left {
		max-width: none;
		gap: 36px;
		padding: 0;
		background: transparent;
	}

	.np-solutions-tabs__panel-grid {
		gap: 24px;
	}

	.np-solutions-tabs button.np-solutions-tabs__tab {
		min-height: 0;
		padding: 14px 0;
		font-size: 16px !important;
		border-bottom-width: 1px !important;
	}

	.np-solutions-tabs button.np-solutions-tabs__tab.is-active {
		border-bottom-width: 5px !important;
		padding-bottom: 11px;
	}

	.np-solutions-tabs__index {
		font-size: 12px;
	}

	.np-solutions-tabs__title {
		font-size: 28px;
	}

	.np-solutions-tabs__promise {
		font-size: 22px;
	}

	.np-solutions-tabs__eyebrow {
		font-size: 16px;
	}

	.np-resource-cards__section-title,
	.np-resource-cards__band--meetings .np-resource-cards__section-title,
	.np-resource-cards__band--interventi .np-resource-cards__section-title {
		font-size: 34px;
	}

	.np-content-section__title {
		font-size: 28px;
	}

	.np-resource-cards__inner {
		padding: 0 var(--np-mobile-pad);
	}

	.np-resource-cards__band {
		padding: var(--np-section-pad-mobile) 0;
	}

	.np-resource-cards__meetings-module {
		padding: 48px var(--np-mobile-pad) 28px;
	}

	.np-resource-cards__band--meetings .np-resource-cards__section-title {
		margin-bottom: 40px;
	}

	.np-resource-cards__meeting {
		min-height: 0;
		padding: 0 20px 20px;
	}

	.np-resource-cards__meeting-rule {
		width: calc(100% + 40px);
		margin: 0 -20px 4px;
	}

	.np-resource-cards__meeting .np-resource-cards__media-ph {
		height: 200px;
		min-height: 200px;
		max-height: 200px;
	}

	.np-resource-cards__meetings,
	.np-resource-cards__grid--events,
	.np-resource-cards__grid--cases,
	.np-resource-cards__grid--news {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.np-resource-cards__event-item,
	.np-resource-cards__card--event {
		width: 100%;
		min-width: 0;
		max-width: none;
		height: auto;
		min-height: 0;
		max-height: none;
	}

	.np-resource-cards__band--cases {
		margin-top: 48px;
		padding: 40px 0 48px;
	}

	.np-resource-cards--materials .np-resource-cards__band--cases .np-resource-cards__inner {
		padding-left: var(--np-mobile-pad);
		padding-right: var(--np-mobile-pad);
	}

	.np-resource-cards__band--cases .np-resource-cards__section-title {
		margin-bottom: 40px;
		font-size: 34px;
	}

	.np-resource-cards--materials .np-resource-cards__grid--cases {
		grid-template-columns: 1fr;
		gap: 28px;
		justify-content: stretch;
	}

	.np-resource-cards__case-item,
	.np-resource-cards--materials .np-resource-cards__card--case {
		width: 100%;
		min-width: 0;
		max-width: none;
		height: auto;
		min-height: 0;
		max-height: none;
	}

	.np-resource-cards--materials .np-resource-cards__preview {
		width: calc(100% - 48px);
		min-width: 0;
		max-width: none;
		height: auto;
		min-height: 0;
		max-height: none;
		aspect-ratio: 352 / 198;
		margin: 20px 24px;
	}

	.np-resource-cards--materials .np-resource-cards__case-copy {
		flex: none;
		overflow: visible;
	}

	.np-resource-cards--materials .np-resource-cards__band--news {
		margin: 64px var(--np-mobile-pad) 48px;
		padding: 48px 0 48px;
	}

	.np-resource-cards--materials .np-resource-cards__band--news .np-resource-cards__inner {
		padding: 0 var(--np-mobile-pad);
	}

	.np-resource-cards--materials .np-resource-cards__band--news .np-resource-cards__section-title {
		margin-bottom: 40px;
		font-size: 34px;
	}

	.np-resource-cards--materials .np-resource-cards__grid--news {
		grid-template-columns: 1fr;
		justify-content: stretch;
		gap: 28px;
	}

	.np-resource-cards--materials .np-resource-cards__card--news {
		width: 100%;
		min-width: 0;
		max-width: none;
		height: auto;
		min-height: 0;
		max-height: none;
	}

	.np-resource-cards__card--case {
		grid-template-columns: 1fr;
	}

	.np-resource-cards__preview,
	.np-resource-cards__media-ph {
		min-height: 180px;
	}

	.np-contact-block {
		padding: 48px 0 var(--np-section-pad-mobile, 2.75rem);
	}

	.np-contact-block__shell {
		max-width: none;
		width: 100%;
	}

	.np-contact-block__accent {
		height: 8px;
	}

	.np-contact-block__body {
		padding: 36px var(--np-gutter) 0;
	}

	.np-contact-block__heading {
		font-size: 28px;
		margin-bottom: 40px;
	}

	.np-contact-block__company {
		font-size: 22px;
	}

	.np-contact-block__info-rule {
		width: 84px;
		max-width: 84px;
		height: 4px;
		margin: 28px 0;
	}

	.np-contact-block__form-card {
		box-sizing: border-box;
		width: calc(100% + 2 * var(--np-gutter));
		max-width: none;
		margin-left: calc(-1 * var(--np-gutter));
		margin-right: calc(-1 * var(--np-gutter));
		padding: 28px var(--np-gutter) 36px;
		border-top: 8px solid var(--np-cyan);
	}

	.np-contact-block__form .wpcf7-submit {
		width: 100%;
	}
}

.np-resource-cards__event-item,
.np-resource-cards__card--event {
	height: auto;
	max-height: none;
	min-height: 427px;
}

.np-resource-cards__cover {
	display: block;
	width: 100%;
	height: 263px;
	object-fit: cover;
	background: var(--np-shell);
}

.np-resource-cards__media-ph--logos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	align-content: stretch;
	align-items: stretch;
	justify-items: stretch;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	height: 263px;
	min-height: 263px;
	max-height: 263px;
	padding: 10px;
	overflow: hidden;
	background: var(--np-white);
	border: 3px solid var(--np-cyan);
}

.np-resource-cards__logo-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	padding: 8px;
	overflow: hidden;
	border-radius: 2px;
	background: var(--np-white);
}

.np-resource-cards__meeting .np-resource-cards__media-ph--logos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	align-content: stretch;
	align-items: stretch;
	justify-items: stretch;
	gap: 8px;
	box-sizing: border-box;
	padding: 10px;
	overflow: hidden;
	background: var(--np-white);
	border: 3px solid var(--np-cyan);
}

/* 7th logo (2025 Loacker) centered like Figma */
.np-resource-cards__meeting .np-resource-cards__media-ph--logos .np-resource-cards__logo-tile:nth-child(7):last-child {
	grid-column: 2;
}

.np-resource-cards__media-ph--logos .np-resource-cards__logo-tile img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	/* Lift the dark marks a little; UniSalute is white and would disappear. */
	filter: grayscale(1) contrast(0.78) brightness(1.28);
}

.np-resource-cards__media-ph--logos .np-resource-cards__logo-tile img[src*="unisalute"] {
	filter: grayscale(1) brightness(0.45);
}

.np-resource-cards__cta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 16px;
	margin-top: auto;
	flex-shrink: 0;
}

.np-resource-cards__cta-row .np-resource-cards__cta {
	margin-top: 0;
}

.np-resource-cards__photo-btn {
	border: 0;
	background: transparent;
	padding: 0;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--np-cyan-deep);
	cursor: pointer;
}

.np-resource-cards--materials .np-resource-cards__card--case:has(.np-resource-cards__abstract) {
	height: auto;
	max-height: none;
	min-height: 662px;
}

.np-resource-cards--materials .np-resource-cards__abstract {
	box-sizing: border-box;
	flex: 0 0 auto;
	min-height: 72px;
	margin: 16px 24px 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: var(--np-text-strong);
}

.np-resource-cards__case-btn.np-btn {
	width: auto;
	min-width: 0;
	max-width: calc(100% - 48px);
	height: auto;
	min-height: 42px;
	padding: 8px 14px;
	white-space: normal;
	text-align: left;
	line-height: 1.25;
}

.np-event-dialog {
	box-sizing: border-box;
	width: min(960px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	padding: 0;
	border: 0;
	background: var(--np-white);
	color: var(--np-text-strong);
}

.np-event-dialog::backdrop {
	background: rgba(11, 12, 13, 0.62);
}

.np-event-dialog__bar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	border-top: 12px solid var(--np-cyan);
}

.np-event-dialog__title {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
}

.np-event-dialog__close {
	border: 0;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: var(--np-text-strong);
}

.np-event-dialog__body {
	overflow: auto;
	max-height: calc(100vh - 140px);
	padding: 0 24px 28px;
}

.np-event-dialog__video {
	display: block;
	width: 100%;
	max-height: 420px;
	margin-bottom: 20px;
	background: #000;
}

.np-event-dialog__photos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}

.np-event-dialog__photos img {
	display: block;
	width: 100%;
	height: 140px;
	object-fit: cover;
}

.np-event-dialog__label {
	margin: 8px 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--np-cyan-deep);
}

.np-event-dialog__logos {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.np-event-dialog__logo-row {
	display: flex;
	align-items: center;
	gap: 18px;
	height: 50px;
}

.np-event-dialog__logos img {
	display: block;
	flex: 0 0 160px;
	width: 160px !important;
	/* height: 48px !important; */
	/* max-width: 160px !important; */
	object-fit: contain !important;
	object-position: center center;
}

.np-event-dialog__logos a {
	flex: 1;
	min-width: 0;
	color: var(--np-cyan);
	font-weight: 600;
	line-height: 1.35;
}

.np-event-dialog__logos a:hover {
	color: var(--np-cyan-deep);
}

.np-event-dialog__logos img[src*="unisalute"] {
	filter: brightness(0.45);
}

.np-event-dialog__files {
	margin: 0 0 16px;
	padding-left: 1.1rem;
}

.np-event-dialog__files a {
	color: var(--np-text-strong);
	font-weight: 600;
}

@media (max-width: 767px) {
	.np-resource-cards__event-item,
	.np-resource-cards__card--event {
		min-height: 0;
	}

	.np-resource-cards__cover {
		height: 200px;
	}

	.np-resource-cards--materials .np-resource-cards__card--case {
		min-height: 0;
	}

	.np-event-dialog__logo-row {
		display: flex;
		align-items: center;
		gap: 18px;
		height: 100px;
	}
}

