@font-face {
	font-family: "NRS Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../../fonts/inter-variable.woff2") format("woff2");
}

@font-face {
	font-family: "NRS Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../../fonts/manrope-variable.woff2") format("woff2");
}

/*
 * QMS service page.
 * Exact endpoints: desktop 263:4213 (1440px) and mobile 278:3000 (393px).
 */

body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) .avada-page-titlebar-wrapper {
	display: none !important;
}

body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) #main,
body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) #main > .fusion-row,
body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) #content,
body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) #content > article,
body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) #content .post-content {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.nrs-page-qms.nrs-route-legacy,
body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) #main,
body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) #wrapper,
body.nrs-page-qms.nrs-route-legacy:not(.fusion-builder-live) .fusion-wrapper {
	background: #fff !important;
}

.nrs-qms-hero,
.nrs-qms-capability,
.nrs-qms-diagram,
.nrs-qms-implementation,
.nrs-qms-questions,
.nrs-qms-cta {
	width: 100%;
	max-width: none;
	font-family: "NRS Inter", Inter, var(--body_typography-font-family, Arial, sans-serif);
}

.nrs-qms-hero *,
.nrs-qms-hero *::before,
.nrs-qms-hero *::after,
.nrs-qms-capability *,
.nrs-qms-capability *::before,
.nrs-qms-capability *::after,
.nrs-qms-implementation *,
.nrs-qms-implementation *::before,
.nrs-qms-implementation *::after {
	box-sizing: border-box;
}

.nrs-qms-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 164px;
	height: 48px;
	padding: 10px 20px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50px;
	color: #fbfbfb;
	font-family: "NRS Inter", Inter, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
	gap: 6px;
}

.nrs-qms-button:hover,
.nrs-qms-button:focus {
	text-decoration: none;
}

.nrs-qms-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.nrs-qms-button img {
	display: block;
	width: 20px;
	height: 20px;
	max-width: none;
	flex: 0 0 20px;
}

.nrs-qms-button--light {
	background: #fff;
	box-shadow: inset 0 2px 8px rgba(255, 255, 255, 0.25);
	color: #000;
}

.nrs-qms-button--light img {
	filter: brightness(0);
}

.nrs-qms-button--glass {
	background: rgba(255, 255, 255, 0.08);
	box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.25);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	color: #fbfbfb;
}

.nrs-qms-button--blue {
	background: #1f5d8d;
	box-shadow: inset 0 2px 8px rgba(255, 255, 255, 0.25);
	color: #fff;
}

/* Hero: 268:2981 desktop, 278:3381 mobile. */
.nrs-qms-hero {
	--nrs-qms-section-gap: clamp(72px, calc(53.98px + 4.59vw), 120px);
	--nrs-qms-hero-ellipse-height: clamp(563px, calc(542.73px + 5.158vw), 617px);
	position: relative;
	z-index: 1;
	height: 634px;
	min-height: 634px;
	margin: 0 0 var(--nrs-qms-section-gap);
	overflow: visible;
	background: #233250;
	color: #fff;
	isolation: isolate;
}

.nrs-qms-hero__visual {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.nrs-qms-hero__picture,
.nrs-qms-hero__ellipse {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.nrs-qms-hero__picture {
	z-index: 0;
}

.nrs-qms-hero__ellipse {
	z-index: 1;
	height: var(--nrs-qms-hero-ellipse-height);
	mix-blend-mode: overlay;
}

.nrs-qms-hero__image,
.nrs-qms-hero__ellipse img {
	display: block;
	width: 100%;
	max-width: none;
}

.nrs-qms-hero__image {
	height: 100%;
	object-fit: fill;
	object-position: center center;
}

.nrs-qms-hero__ellipse img {
	height: 100%;
	object-fit: fill;
}

.nrs-qms-hero__breadcrumb {
	position: absolute;
	top: 153px;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 212px;
	height: 19px;
	margin: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 19px;
	transform: translateX(-50%);
}

.nrs-qms-hero__breadcrumb a,
.nrs-qms-hero__breadcrumb span {
	color: #fff;
	text-decoration: none;
}

.nrs-qms-hero__breadcrumb a:hover,
.nrs-qms-hero__breadcrumb a:focus {
	color: #fff;
	text-decoration: underline;
}

.nrs-qms-hero__breadcrumb img {
	display: block;
	width: 16px;
	height: 16px;
	max-width: none;
	margin: 0 8px;
	flex: 0 0 16px;
}

.nrs-qms-hero__content {
	position: absolute;
	top: 192px;
	left: 50%;
	z-index: 2;
	width: 828px;
	height: 368px;
	max-width: calc(100% - 48px);
	text-align: center;
	transform: translateX(-50%);
}

.nrs-qms-hero__copy {
	width: 100%;
	height: 268px;
}

.nrs-qms-hero .nrs-qms-hero__title {
	width: 805px;
	max-width: 100%;
	height: 172px;
	margin: 0 auto;
	padding: 0;
	color: #fbfbfb;
	font-family: "NRS Manrope", Manrope, sans-serif;
	font-size: 72px !important;
	font-weight: 600;
	line-height: 86.4px !important;
	letter-spacing: -0.02em;
	text-align: center;
}

.nrs-qms-hero__title-mobile {
	display: none;
}

p.nrs-qms-hero__description {
	width: 828px;
	max-width: 100%;
	height: 64px;
	margin: 32px auto 0 !important;
	color: #fff;
	font-size: 24px;
	font-weight: 400;
	line-height: 32px;
	text-align: center;
}

.nrs-qms-hero__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 374px;
	height: 48px;
	margin: 52px auto 0;
	gap: 16px;
}

.nrs-qms-hero__actions .nrs-qms-button {
	width: 179px;
	flex: 0 0 179px;
}

.nrs-qms-hero__actions--mobile {
	display: none;
}

/* Standard and Vigilance: identical 472px desktop sections. */
.nrs-qms-capability {
	position: relative;
	z-index: 0;
	height: 472px;
	margin: 0 0 120px;
	overflow: hidden;
	background: #fff;
	color: #111827;
}

.nrs-qms-capability__glow {
	position: absolute;
	top: 94px;
	left: 50%;
	width: 1483px;
	height: 378px;
	border-radius: 50%;
	background: #d3ebff;
	filter: blur(260px);
	transform: translateX(-50%);
	pointer-events: none;
}

.nrs-qms-capability::before,
.nrs-qms-capability::after {
	position: absolute;
	right: 0;
	left: 0;
	z-index: 1;
	height: 74px;
	content: "";
	pointer-events: none;
}

.nrs-qms-capability::before {
	top: 0;
	background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.nrs-qms-capability::after {
	bottom: 0;
	background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.nrs-qms-capability__content {
	position: relative;
	z-index: 2;
	width: 1068px;
	height: 273px;
	max-width: calc(100% - 160px);
	margin: 94px auto 0;
	text-align: center;
}

p.nrs-qms-capability__eyebrow,
p.nrs-qms-capability__statement {
	margin: 0;
	padding: 0;
	text-align: center;
}

p.nrs-qms-capability__eyebrow {
	height: 24px;
	color: #0d0503;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
}

p.nrs-qms-capability__statement {
	width: 1089px;
	max-width: calc(100% + 21px);
	height: 135px;
	margin: 16px 0 0 -10.5px;
	color: #111827;
	font-family: "NRS Manrope", Manrope, sans-serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 44.8px;
	letter-spacing: -0.02em;
}

.nrs-qms-capability .nrs-qms-button {
	margin-top: 50px;
}

.nrs-qms-diagram {
	display: block;
	width: 800px;
	height: 407px;
	margin: 0 auto 120px;
	overflow: hidden;
	border-radius: 24px;
}

.nrs-qms-diagram img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

/* Implementation: 278:2874 desktop, 278:3450 mobile. */
.nrs-qms-implementation {
	position: relative;
	height: 745px;
	margin: 0 0 120px;
	padding: 40px 64px;
	background: #fff;
	color: #0d0503;
}

.nrs-qms-implementation__header {
	width: 768px;
	height: 214px;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}

p.nrs-qms-implementation__eyebrow,
.nrs-qms-implementation .nrs-qms-implementation__title,
p.nrs-qms-implementation__description,
.nrs-qms-card .nrs-qms-card__title,
p.nrs-qms-card__description {
	margin: 0;
	padding: 0;
}

p.nrs-qms-implementation__eyebrow {
	height: 24px;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	text-align: center;
}

.nrs-qms-implementation .nrs-qms-implementation__title {
	width: 622px;
	height: 96px;
	margin: 16px auto 0;
	color: #0d0503;
	font-family: "NRS Manrope", Manrope, sans-serif;
	font-size: 48px !important;
	font-weight: 500;
	line-height: 48px !important;
	letter-spacing: -0.02em;
	text-align: center;
}

p.nrs-qms-implementation__description {
	width: 768px;
	height: 54px;
	margin-top: 24px;
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
	text-align: center;
}

.nrs-qms-implementation__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 408px));
	justify-content: center;
	width: 1256px;
	height: 371px;
	max-width: 100%;
	margin: 80px auto 0;
	gap: 16px;
}

.nrs-qms-card {
	position: relative;
	width: 408px;
	height: 371px;
	overflow: hidden;
	border-radius: 20px;
	background: #f6f9fa;
}

.nrs-qms-card__pattern {
	position: absolute;
	top: -351px;
	left: -106px;
	z-index: 0;
	display: block;
	width: 590px;
	height: 578px;
	max-width: none;
	pointer-events: none;
}

.nrs-qms-card--training .nrs-qms-card__pattern {
	top: -364px;
}

.nrs-qms-card__icon {
	position: absolute;
	top: 40px;
	left: 40px;
	z-index: 1;
	display: block;
	width: 58px;
	height: 58px;
	max-width: none;
}

.nrs-qms-card__copy {
	position: absolute;
	top: 163px;
	left: 40px;
	z-index: 1;
	width: 328px;
	text-align: left;
}

.nrs-qms-card--system-development .nrs-qms-card__copy {
	top: 139px;
}

.nrs-qms-card .nrs-qms-card__title {
	width: 328px;
	min-height: 80px;
	color: #000;
	font-family: "NRS Manrope", Manrope, sans-serif;
	font-size: 32px !important;
	font-weight: 600;
	line-height: 40px !important;
	letter-spacing: -0.02em;
	text-align: left;
}

p.nrs-qms-card__description {
	width: 328px;
	margin-top: 16px;
	color: #1f2937;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: -0.02em;
	text-align: left;
}

/* Questions reuse the proven Contact accordion geometry with QMS copy. */
body.nrs-page-qms .nrs-qms-questions.nrs-contact-questions {
	margin-bottom: 120px;
}

body.nrs-page-qms .nrs-qms-questions p.nrs-contact-questions__text {
	white-space: nowrap;
}

/* The QMS CTA uses the shared exact Contact/Services CTA component. */
body.nrs-page-qms .nrs-qms-cta.nrs-contact-cta.nrs-home-cta {
	padding-bottom: 120px;
}

/* Missing tablet and narrow-desktop frames: interpolate from both endpoints. */
@media (min-width: 901px) and (max-width: 1200px) {
	.nrs-qms-hero__content {
		width: min(828px, calc(100% - 96px));
	}

	.nrs-qms-hero .nrs-qms-hero__title {
		font-size: 62px !important;
		line-height: 74px !important;
	}

	p.nrs-qms-hero__description {
		font-size: 21px;
		line-height: 30px;
	}

	.nrs-qms-capability__content {
		max-width: calc(100% - 96px);
	}

	p.nrs-qms-capability__statement {
		height: auto;
		font-size: 25px;
		line-height: 42px;
	}

	.nrs-qms-implementation {
		height: auto;
		min-height: 700px;
		padding-right: 48px;
		padding-left: 48px;
	}

	.nrs-qms-implementation__cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
		height: auto;
	}

	.nrs-qms-card {
		width: 100%;
		height: 360px;
	}

	.nrs-qms-card__copy,
	.nrs-qms-card--system-development .nrs-qms-card__copy {
		top: 145px;
		left: 32px;
		width: calc(100% - 64px);
	}

	.nrs-qms-card .nrs-qms-card__title,
	p.nrs-qms-card__description {
		width: 100%;
	}

	.nrs-qms-card .nrs-qms-card__title {
		height: auto;
		min-height: 68px;
		font-size: 27px !important;
		line-height: 34px !important;
	}
}

@media (min-width: 601px) and (max-width: 900px) {
	.nrs-qms-hero {
		height: 600px;
		min-height: 600px;
	}

	.nrs-qms-hero__breadcrumb {
		top: 126px;
	}

	.nrs-qms-hero__content {
		top: 165px;
		width: calc(100% - 64px);
	}

	.nrs-qms-hero .nrs-qms-hero__title {
		height: auto;
		font-size: 54px !important;
		line-height: 65px !important;
	}

	p.nrs-qms-hero__description {
		width: 680px;
		height: auto;
		font-size: 20px;
		line-height: 30px;
	}

	.nrs-qms-hero__actions {
		margin-top: 38px;
	}

	.nrs-qms-capability {
		height: auto;
		min-height: 450px;
		padding: 72px 40px;
	}

	.nrs-qms-capability__content {
		width: 100%;
		height: auto;
		max-width: 720px;
		margin-top: 0;
	}

	p.nrs-qms-capability__statement {
		width: 100%;
		max-width: 100%;
		height: auto;
		margin-left: 0;
		font-size: 23px;
		line-height: 39px;
	}

	.nrs-qms-capability .nrs-qms-button {
		margin-top: 40px;
	}

	.nrs-qms-diagram {
		width: min(800px, calc(100% - 80px));
		height: auto;
		aspect-ratio: 800 / 407;
	}

	.nrs-qms-implementation {
		height: auto;
		padding: 40px;
	}

	.nrs-qms-implementation__header,
	.nrs-qms-implementation .nrs-qms-implementation__title,
	p.nrs-qms-implementation__description {
		width: 100%;
		height: auto;
	}

	.nrs-qms-implementation__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
		height: auto;
		gap: 24px;
	}

	.nrs-qms-card {
		width: 100%;
		height: 350px;
	}

	.nrs-qms-card--training {
		grid-column: 1 / -1;
		width: calc(50% - 12px);
		margin: 0 auto;
	}

	.nrs-qms-card__copy,
	.nrs-qms-card--system-development .nrs-qms-card__copy {
		top: 140px;
		left: 32px;
		width: calc(100% - 64px);
	}

	.nrs-qms-card .nrs-qms-card__title,
	p.nrs-qms-card__description {
		width: 100%;
	}

	.nrs-qms-card .nrs-qms-card__title {
		height: auto;
		min-height: 68px;
		font-size: 27px !important;
		line-height: 34px !important;
	}
}

/* Exact 393px mobile endpoint. */
@media (max-width: 600px) {
	.nrs-qms-hero {
		height: 563px;
		min-height: 563px;
		margin-bottom: 72px;
	}

	.nrs-qms-hero__image {
		width: 100%;
		object-fit: fill;
		object-position: center;
	}

	.nrs-qms-hero__breadcrumb {
		display: none;
	}

	.nrs-qms-hero__ellipse {
		width: 100%;
		height: 563px;
	}

	.nrs-qms-hero__ellipse img {
		width: 100%;
		height: 563px;
		object-fit: fill;
	}

	.nrs-qms-hero__content {
		top: 90px;
		width: min(344px, calc(100% - 48px));
		height: 355px;
	}

	.nrs-qms-hero__copy {
		height: 260px;
	}

	.nrs-qms-hero .nrs-qms-hero__title {
		width: 344px;
		max-width: 100%;
		height: 168px;
		font-family: "NRS Inter", Inter, sans-serif;
		font-size: 40px !important;
		font-weight: 600;
		line-height: 56px !important;
	}

	.nrs-qms-hero__title-desktop {
		display: none;
	}

	.nrs-qms-hero__title-mobile {
		display: inline;
	}

	p.nrs-qms-hero__description {
		width: 344px;
		max-width: 100%;
		height: 72px;
		margin-top: 20px !important;
		font-size: 16px;
		line-height: 24px;
	}

	.nrs-qms-hero__actions--desktop {
		display: none;
	}

	.nrs-qms-hero__actions--mobile {
		display: flex;
		width: 344px;
		max-width: 100%;
		height: 96px;
		margin-top: 55px;
		flex-direction: column;
		gap: 16px;
	}

	.nrs-qms-hero__actions .nrs-qms-button {
		width: 100%;
		height: 40px;
		padding: 10px 20px;
		flex: 0 0 40px;
	}

	.nrs-qms-capability {
		height: 449px;
		min-height: 449px;
		margin-bottom: 72px;
		padding: 24px;
	}

	.nrs-qms-capability__glow {
		top: 87px;
		width: 753px;
		height: 366px;
		filter: blur(150px);
	}

	.nrs-qms-capability::before,
	.nrs-qms-capability::after {
		height: 54px;
	}

	.nrs-qms-capability__content {
		width: 345px;
		height: 401px;
		max-width: 100%;
		margin: 0 auto;
	}

	p.nrs-qms-capability__statement {
		width: 345px;
		max-width: 100%;
		height: 280px;
		margin: 16px auto 0;
		font-family: "NRS Inter", Inter, sans-serif;
		font-size: 20px;
		font-weight: 400;
		line-height: 40px;
		letter-spacing: -0.04em;
	}

	.nrs-qms-capability .nrs-qms-button {
		width: 345px;
		max-width: 100%;
		height: 40px;
		margin-top: 41px;
		padding: 10px 20px;
	}

	.nrs-qms-diagram {
		display: none;
	}

	.nrs-qms-implementation {
		height: 1239px;
		margin-bottom: 72px;
		padding: 24px;
	}

	.nrs-qms-implementation__header {
		width: 345px;
		height: 308px;
		max-width: 100%;
	}

	.nrs-qms-implementation .nrs-qms-implementation__title {
		width: 345px;
		max-width: 100%;
		height: 80px;
		margin-top: 16px;
		color: #111827;
		font-size: 32px !important;
		line-height: 40px !important;
		letter-spacing: -0.04em;
	}

	p.nrs-qms-implementation__description {
		width: 345px;
		max-width: 100%;
		height: 128px;
		margin-top: 42px;
		color: #1f2937;
		font-size: 16px;
		font-weight: 500;
		line-height: 32px;
		letter-spacing: -0.03em;
	}

	.nrs-qms-implementation__cards {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 240px 264px 240px;
		width: 345px;
		height: 852px;
		max-width: 100%;
		margin-top: 31px;
		padding-bottom: 24px;
		gap: 42px;
	}

	.nrs-qms-card,
	.nrs-qms-card--training {
		width: 345px;
		height: 240px;
		max-width: 100%;
		margin: 0;
	}

	.nrs-qms-card--system-development {
		height: 264px;
	}

	.nrs-qms-card__pattern,
	.nrs-qms-card--training .nrs-qms-card__pattern {
		top: -354px;
		left: 50%;
		transform: translateX(-50%);
	}

	.nrs-qms-card--system-development .nrs-qms-card__pattern,
	.nrs-qms-card--training .nrs-qms-card__pattern {
		top: -351px;
	}

	.nrs-qms-card__icon {
		top: 24px;
		left: 50%;
		transform: translateX(-50%);
	}

	.nrs-qms-card__copy,
	.nrs-qms-card--system-development .nrs-qms-card__copy {
		top: 98px;
		left: 40px;
		width: 265px;
		text-align: center;
	}

	.nrs-qms-card .nrs-qms-card__title {
		width: 265px;
		min-height: 62px;
		font-size: 24px !important;
		line-height: 31.2px !important;
		text-align: center;
	}

	p.nrs-qms-card__description {
		width: 298px;
		margin-top: 8px;
		margin-left: 50%;
		font-size: 13px;
		line-height: 24px;
		text-align: center;
		transform: translateX(-50%);
	}

	body.nrs-page-qms .nrs-qms-questions.nrs-contact-questions {
		margin-bottom: 72px;
	}

	body.nrs-page-qms .nrs-qms-questions p.nrs-contact-questions__text {
		white-space: normal;
	}

	body.nrs-page-qms .nrs-qms-cta.nrs-contact-cta.nrs-home-cta {
		padding-bottom: 72px;
	}
}

@media (max-width: 374px) {
	.nrs-qms-hero__content {
		width: calc(100% - 40px);
	}

	.nrs-qms-hero .nrs-qms-hero__title {
		font-size: 36px !important;
		line-height: 50px !important;
	}

	p.nrs-qms-hero__description {
		font-size: 14px;
		line-height: 22px;
	}

	.nrs-qms-capability {
		height: auto;
		min-height: 449px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.nrs-qms-capability__content,
	p.nrs-qms-capability__statement,
	.nrs-qms-implementation__header,
	.nrs-qms-implementation .nrs-qms-implementation__title,
	p.nrs-qms-implementation__description,
	.nrs-qms-implementation__cards,
	.nrs-qms-card,
	.nrs-qms-card--training {
		width: 100%;
	}

	p.nrs-qms-capability__statement {
		height: auto;
		font-size: 18px;
		line-height: 36px;
	}

	.nrs-qms-implementation {
		height: auto;
		min-height: 1239px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.nrs-qms-card__copy,
	.nrs-qms-card--system-development .nrs-qms-card__copy {
		left: 32px;
		width: calc(100% - 64px);
	}

	.nrs-qms-card .nrs-qms-card__title {
		width: 100%;
	}
}
