/* Wireframe fidelity layer. Desktop measurements use the 1748-wide reference.
 * All type and layout scales stay fluid; small-screen overrides favor reading. */
@media screen {
	html.nsc-site-document {
		/* Keep normal screens at the reader's default; grow rem-based type, cards,
		 * forms and spacing together on wide screens. The relative term preserves
		 * text enlargement instead of making the scale depend on viewport alone. */
		font-size:clamp(100%,calc(50% + .4576659vw),175%);
	}
}
body.nsc-v2       {
	/* Keep the standard block presets in step with the public-site type scale. */
	--wp--preset--font-size--small:.8125rem;
	--wp--preset--font-size--medium:1.25rem;
	--wp--preset--font-size--large:2.25rem;
	--wp--preset--font-size--x-large:2.625rem;
	--nsc-space:clamp(3rem,3.66vw,4.5rem);
	--nsc-gap:clamp(1.25rem,1.83vw,2rem);
	--nsc-muted:#787878;
	--nsc-radius:1rem;
	--nsc-shadow:0 .35rem 1rem #0000000d;
	font-size:clamp(.9375rem,.915vw,1.0625rem);
	line-height:1.65;
	color:#333;
}
/* This retained article block originally supplied a fixed 22px button. */
body.nsc-v2 .nsc-article-content .wp-block-uagb-buttons .uagb-block-91b7310f .uagb-buttons-repeater,
body.nsc-v2 .nsc-article-content .wp-block-uagb-buttons .uagb-block-91b7310f .uagb-buttons-repeater .uagb-button__link {
	font-size:1.375rem;
}
.nsc-v2 :where(h1,h2,h3,h4,h5,h6)       {
	letter-spacing:0;
	line-height:1.45;
}
.nsc-v2 h1       {
	font-size:clamp(1.8rem,3.2vw,3.5rem);
}
.nsc-v2 h2       {
	font-size:clamp(1.65rem,2.29vw,2.75rem);
}
.nsc-v2 h3       {
	font-size:clamp(1.2rem,1.83vw,2rem);
}
.nsc-shell       {
	width:min(100% - 2.5rem,68.65vw,75rem);
}
.nsc-heading       {
	max-width:none;
	margin-bottom:clamp(1.6rem,1.83vw,2.25rem);
}
.nsc-heading h2       {
	margin-bottom:clamp(.8rem,1.37vw,1.5rem);
}
.nsc-heading p       {
	font-size:clamp(.9375rem,1.145vw,1.25rem);
	line-height:1.6;
}
.nsc-page-intro h1       {
	line-height:1.2;
	margin-bottom:2rem;
}
.nsc-page-intro p       {
	font-size:clamp(1rem,1.145vw,1.25rem);
	line-height:1.4;
}
.nsc-actions       {
	gap:1rem;
	margin-top:clamp(1.8rem,2.29vw,2.5rem);
}
.nsc-v2 .nsc-button       {
	gap:.4em;
	min-height:0;
	padding:.65em 1.35em;
	font-size:clamp(.875rem,.915vw,1rem);
	line-height:1.6;
	box-shadow:0 .18rem .18rem #0003;
	transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.nsc-button .nsc-icon       {
	width:1em;
	height:1em;
}
.nsc-v2 .nsc-button:hover       {
	transform:translateY(-.1rem);
	filter:brightness(.98);
	box-shadow:0 .25rem .3rem #0002;
}
.nsc-v2 .nsc-button--blue       {
	color:#071522;
}
.nsc-v2 .nsc-button--line       {
	width:clamp(18rem,27.5vw,30rem);
	min-width:0;
	max-width:100%;
	padding:.55em 1em;
	font-size:clamp(1rem,1.37vw,1.5rem);
	font-weight:500;
	background:linear-gradient(180deg,#00c64a 0%,#3fbd77 100%);
	border:.0625rem solid #00bd4b;
	box-shadow:none;
}
.nsc-button--line .nsc-icon       {
	width:.9em;
	height:.9em;
}
.nsc-v2 .nsc-button--text       {
	background:none;
	box-shadow:none;
	filter:none;
	border:none;
	border-radius:0;
	padding:0;
	color:#787878;
	font-weight:400;
	text-decoration:underline;
	text-decoration-thickness:.0625em;
	text-underline-offset:.25em;
	min-height:0;
	transition:color .18s ease,text-decoration-color .18s ease;
}
.nsc-v2 .nsc-button--text:hover       {
	transform:none;
	color:#333;
	background:none;
	box-shadow:none;
	filter:none;
}
.nsc-v2 .nsc-button--text .nsc-icon       {
	width:1.25em;
	height:1.25em;
}
/* Header: compact single row, with the original red HTML wordmark. */
.nsc-header-inner       {
	width:min(100% - 2.5rem,78.15vw,85.375rem);
	min-height:5.25rem;
	padding-block:.625rem;
	gap:1rem;
}
.nsc-header-inner .nsc-brand       {
	width:clamp(10rem,10.98vw,12rem);
	gap:.3rem;
}
.nsc-header-inner .nsc-brand img       {
	width:72%;
}
.nsc-brand-name       {
	font-weight:400;
	color:#ed280e;
	font-size:clamp(.75rem,.915vw,1rem);
	line-height:1.05;
	white-space:nowrap;
}
.nsc-navigation       {
	flex:1;
	justify-content:flex-end;
	gap:clamp(2rem,12vw,13rem);
}
.nsc-nav-list       {
	font-size:clamp(.78rem,.915vw,1rem);
	font-weight:400;
	gap:clamp(1rem,1.6vw,1.75rem);
}
.nsc-nav-list>li>a,.nsc-nav-dropdown summary       {
	padding:1.1rem 0;
}
.nsc-navigation>.nsc-button       {
	min-width:clamp(10rem,11.8vw,13rem);
	font-size:clamp(1rem,1.145vw,1.25rem);
	padding:.55em 1.5em;
	background:linear-gradient(#b5d3ec,#8acaf6);
}
.nsc-header-mobile-cta,.nsc-mobile-line-cta       {
	display:none;
}
/* Main visual. Copy remains HTML; the curve is SVG and badges use transparent PNGs. */
.nsc-hero-content       {
	width:min(100% - 2.5rem,91.3vw,99.75rem);
	min-height:clamp(34rem,38.56vw,42.125rem);
	padding-block:clamp(3rem,3.89vw,4.25rem) 3rem;
}
.nsc-hero-copy       {
	width:56%;
	max-width:55rem;
}
.nsc-hero-family       {
	width:65%;
	object-position:left 33%;
}
.nsc-hero-eyebrow       {
	font-size:clamp(.875rem,1.145vw,1.25rem);
	font-weight:400;
	letter-spacing:0;
	margin-bottom:clamp(.8rem,1vw,1.1rem)!important;
}
.nsc-hero h1       {
	font-size:clamp(1.3rem,2.06vw,2.25rem);
	line-height:1.35;
	margin:0 0 clamp(1rem,1.15vw,1.25rem);
	font-weight:400;
}
.nsc-hero-prefix       {
	display:block;
	line-height:1;
}
.nsc-hero-prefix b       {
	font-size:1.15em;
	font-weight:800;
}
.nsc-hero h1 strong       {
	font-size:clamp(2.1rem,6.065vw,6.625rem);
	font-weight:800;
	line-height:1.1;
	letter-spacing:-.045em;
	margin:-.04em 0 0;
}
.nsc-hero-suffix       {
	display:block;
	text-align:right;
	font-size:clamp(1.1rem,1.72vw,1.875rem);
	line-height:1.55;
	margin-top:0;
}
.nsc-v2 .nsc-hero-lead       {
	font-size:clamp(1rem,1.545vw,1.6875rem);
	font-weight:400;
	line-height:2.3;
	margin-bottom:0;
	white-space:nowrap;
}
.nsc-hero-lead span       {
	padding:.07em .08em;
	box-shadow:.3rem 0 #fff,-.15rem 0 #fff;
	background:#fff;
}
.nsc-shields       {
	gap:clamp(1rem,1.831vw,2rem);
	margin:clamp(1rem,1.6vw,1.75rem) 0 0 clamp(1rem,3.43vw,3.75rem);
}
.nsc-shield       {
	display:block;
	position:relative;
	width:clamp(5.32rem,6.405vw,7rem);
	aspect-ratio:1;
	height:auto;
	padding:0;
	background:none;
	clip-path:none;
	border:0;
	filter:none;
}
.nsc-shield::before,.nsc-shield::after       {
	content:none;
}
.nsc-shield>img       {
	display:block;
	width:100%;
	height:auto;
}
.nsc-shield-shine {
	display:none;
}
.nsc-hero-band       {
	position:relative;
	background:var(--nsc-red);
	padding:clamp(1.6rem,2.06vw,2.25rem) 0 clamp(1.6rem,1.95vw,2.125rem);
}
.nsc-hero-band::before       {
	content:none;
}
.nsc-hero-wave      {
	--nsc-wave-height:min(1.545vw,3.6svh,1.6875rem);
	position:absolute;
	left:0;
	top:calc(1px - var(--nsc-wave-height));
	width:100%;
	height:var(--nsc-wave-height);
	color:var(--nsc-red);
	pointer-events:none;
}
.nsc-hero-band .nsc-actions       {
	width:min(100% - 2.5rem,84.3vw,92.125rem);
	justify-content:flex-start;
	margin:0 auto;
	gap:1rem;
}
.nsc-hero-band .nsc-button       {
	min-width:0;
	font-size:clamp(.875rem,1.145vw,1.25rem);
	padding:.42em 1.2em;
}
.nsc-v2 .nsc-hero-band .nsc-button--white       {
	color:var(--nsc-red);
}
/* Keep the two hero CTAs stationary, including their icons and hover state. */
.nsc-v2 .nsc-hero-band .nsc-button,
.nsc-v2 .nsc-hero-band .nsc-button .nsc-icon {
	animation:none;
	transition:none;
}
.nsc-v2 .nsc-hero-band .nsc-button:hover {
	transform:none;
}
/* Home services, features and the unified five-step panel. */
.nsc-home-services .nsc-heading       {
	width:120%;
	max-width:calc(100vw - 2.5rem);
	margin-left:50%;
	transform:translateX(-50%);
}
.nsc-home-services .nsc-heading p       {
	font-size:clamp(.9375rem,1.03vw,1.125rem);
}
.nsc-home-services .nsc-service-card       {
	padding:clamp(1.1rem,1.37vw,1.5rem);
	border-radius:1rem;
	box-shadow:0 .3rem .8rem #00000012;
}
.nsc-home-services .nsc-service-card>img       {
	width:100%;
	height:auto;
	aspect-ratio:336/225;
	object-fit:cover;
	border-radius:0;
}
.nsc-home-services .nsc-service-body       {
	padding:clamp(1rem,1.37vw,1.5rem) 0 0;
}
.nsc-v2 .nsc-home-services .nsc-service-body h3       {
	font-size:clamp(1.25rem,1.83vw,2rem);
	line-height:1.45;
	font-weight:600;
	text-wrap:wrap;
	margin-bottom:1.25rem;
}
.nsc-home-services .nsc-service-body p       {
	font-size:clamp(.9375rem,.915vw,1rem);
	line-height:1.6;
}
.nsc-home-services .nsc-service-body .nsc-button       {
	margin-top:auto;
	width:100%;
}
.nsc-home-services .nsc-service-body       {
	min-height:clamp(14rem,14.64vw,16rem);
}
.nsc-home-services .nsc-actions       {
	margin-top:2rem;
}
.nsc-home-properties>.nsc-shell       {
	width:min(100% - 2.5rem,72.8vw,79.5rem);
}
.nsc-features-section .nsc-heading       {
	margin-bottom:2rem;
}
.nsc-feature-icon       {
	width:clamp(3rem,3.43vw,3.75rem);
	height:clamp(3rem,3.43vw,3.75rem);
	margin-bottom:clamp(1rem,1.6vw,1.75rem);
	background:#7eae8c;
}
.nsc-features .nsc-feature-icon       {
	color:#fff;
}
.nsc-features article:nth-child(2) .nsc-feature-icon       {
	background:#80a1bb;
	color:#fff;
}
.nsc-features article:nth-child(3) .nsc-feature-icon       {
	background:#b44646;
	color:#fff;
}
.nsc-feature-icon .nsc-icon       {
	width:55%;
	height:55%;
}
.nsc-v2 .nsc-features h3       {
	font-size:clamp(1.3rem,2.06vw,2.25rem);
	font-weight:400;
	line-height:1.4;
	margin-bottom:1.5rem;
	text-wrap:wrap;
}
.nsc-features p       {
	font-size:clamp(.9375rem,.915vw,1rem);
	line-height:1.65;
	text-align:left;
}
.nsc-features-section .nsc-actions       {
	margin-top:2rem;
}
.nsc-steps       {
	background:#fff;
	border-radius:.5rem;
	padding:clamp(2rem,3.66vw,4rem) clamp(1.5rem,9.6vw,10.5rem)!important;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	column-gap:clamp(1rem,1.37vw,1.5rem);
	row-gap:clamp(1.25rem,1.6vw,1.75rem);
}
.nsc-steps li       {
	flex:0 0 calc((100% - 3rem)/3);
	padding:0;
	background:none;
	border:0;
	box-shadow:none;
	min-width:0;
}
.nsc-steps li:nth-child(n)       {
	grid-column:auto;
}
.nsc-steps li::before,.nsc-steps li::after       {
	content:none;
}
.nsc-v2 .nsc-steps h3       {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	font-size:clamp(.9375rem,1.145vw,1.25rem);
	font-weight:500;
	margin:0 0 .35rem;
	white-space:nowrap;
}
.nsc-steps .nsc-number       {
	position:static;
	display:inline-grid;
	place-items:center;
	width:clamp(2rem,2.63vw,2.875rem);
	height:clamp(2rem,2.63vw,2.875rem);
	border-radius:50%;
	background:#80a1bb;
	color:#fff;
	font-size:clamp(1rem,1.145vw,1.25rem);
	margin:0;
	flex:none;
}
.nsc-steps .nsc-image       {
	width:clamp(7rem,10.3vw,11.25rem);
	height:clamp(6rem,7.32vw,8rem);
	object-fit:contain;
	margin:0 auto .2rem;
}
.nsc-steps p       {
	font-size:clamp(.875rem,.915vw,1rem);
	line-height:1.6;
	color:#787878;
	margin:0;
}
/* Supporters: reference paragraphs, small gaps and a marker behind the lead. */
.nsc-supporters-section .nsc-heading       {
	margin-bottom:clamp(2.5rem,3.43vw,3.75rem);
}
.nsc-supporters-section .nsc-heading p       {
	display:inline;
	color:#111;
	background:linear-gradient(transparent 42%,#ffffb8 42%,#ffffb8 89%,transparent 89%);
	background-position:left top;
	background-repeat:no-repeat;
	background-size:100% 100%;
	font-style:italic;
	font-size:clamp(.9375rem,1.03vw,1.125rem);
	padding-inline:3rem;
}
@media screen and (prefers-reduced-motion:no-preference) {
	/* CSS fallback also draws the marker after the text, even if deferred JS
	 * never loads. Observer ownership replaces it before off-screen entry. */
	@supports (translate:0 1rem) {
		.nsc-js .nsc-content-motion .nsc-supporters-section .nsc-heading[data-nsc-reveal="early"]:not(.nsc-reveal-target) p {
			animation:nsc-supporter-marker-prepaint .65s cubic-bezier(.65,0,.35,1) .7s 1 both;
		}
		@keyframes nsc-supporter-marker-prepaint {
			from { background-size:0 100%; }
			to { background-size:100% 100%; }
		}
	}
	.nsc-v2 .nsc-supporters-section .nsc-heading.nsc-reveal-pending p       {
		background-size:0 100%;
	}
	.nsc-v2 .nsc-supporters-section .nsc-heading p.nsc-supporter-marker-running       {
		animation:nsc-supporter-marker-reveal .65s cubic-bezier(.65,0,.35,1) 1 both;
	}
	@keyframes nsc-supporter-marker-reveal {
		from { background-size:0 100%; }
		to { background-size:100% 100%; }
	}
}
.nsc-staff       {
	padding:clamp(1.1rem,1.37vw,1.5rem);
	background:#f0f8ff;
	border-radius:1rem;
	box-shadow:0 .3rem .8rem #00000010;
}
.nsc-staff>.nsc-image       {
	width:100%;
	height:auto;
	aspect-ratio:540/360;
	border-radius:1.25rem;
	object-fit:cover;
}
.nsc-staff-body       {
	padding:clamp(1.2rem,1.6vw,1.75rem) 1rem 1.5rem;
}
.nsc-v2 .nsc-staff h3       {
	font-size:clamp(1.5rem,1.95vw,2.125rem);
	text-align:center;
	margin-bottom:clamp(2.1rem,2.75vw,3rem);
}
.nsc-staff-body p       {
	font-size:clamp(.9375rem,.915vw,1rem);
	line-height:1.65;
	margin-bottom:clamp(1.5rem,2.29vw,2.5rem);
}
.nsc-staff-body p:last-child       {
	margin-bottom:0;
}
.nsc-supporters-section .nsc-actions       {
	margin-top:clamp(2.5rem,3.66vw,4rem);
}
/* Testimonials: same compact cards and explicit controls, no library or autoplay. */
.nsc-reviews-section .nsc-heading p       {
	font-style:italic;
}
.nsc-reviews-section .nsc-heading       {
	margin-bottom:clamp(3rem,4.8vw,5.25rem);
}
.nsc-review-carousel       {
	position:relative;
	width:min(100%,58.6vw,64rem);
	margin:auto;
}
.nsc-reviews       {
	display:flex;
	gap:clamp(1.2rem,1.83vw,2rem);
	align-items:stretch;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	scrollbar-width:none;
	padding:0 0 .2rem;
	outline-offset:.4rem;
}
.nsc-reviews::-webkit-scrollbar       {
	display:none;
}
.nsc-review       {
	display:flex;
	flex-direction:column;
	flex:0 0 calc((100% - 4rem)/3);
	min-width:0;
	background:#fff;
	border-radius:1rem;
	padding:clamp(1.2rem,1.37vw,1.5rem);
	box-shadow:0 .12rem .1rem #00000012;
	border:0;
	scroll-snap-align:start;
}
.nsc-review>p       {
	font-size:clamp(.875rem,.915vw,1rem);
	font-style:normal;
	line-height:1.35;
	line-break:strict;
	word-break:auto-phrase;
	text-wrap:pretty;
	color:#787878;
	margin:0 0 1.5rem;
}
.nsc-review-stars       {
	display:block;
	color:#ffd000;
	font-size:clamp(1rem,1.145vw,1.25rem);
	line-height:1.25;
	letter-spacing:-.1em;
}
.nsc-review footer       {
	display:flex;
	align-items:center;
	gap:1rem;
	padding:0;
	margin:auto 0 0;
	border:0;
	font-size:clamp(.75rem,.743vw,.8125rem);
	line-height:1.3;
	color:#787878;
}
.nsc-review footer strong       {
	display:block;
	font-weight:400;
}
.nsc-review footer small       {
	display:block;
	font-size:.9em;
}
.nsc-review-avatar       {
	display:grid;
	place-items:center;
	width:clamp(2.5rem,2.75vw,3rem);
	height:clamp(2.5rem,2.75vw,3rem);
	border-radius:50%;
	flex:none;
	background:#80a1bb;
	color:#fff;
}
.nsc-review-avatar .nsc-icon       {
	width:60%;
	height:60%;
}
.nsc-review-avatar .nsc-image       {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:35% center;
	border-radius:inherit;
}
.nsc-review-arrow       {
	display:none;
	position:absolute;
	top:45%;
	width:2.375rem;
	height:2.375rem;
	padding:.5rem;
	border:0;
	border-radius:50%;
	background:#fff;
	color:#8b8b8b;
	box-shadow:0 .1rem .15rem #0001;
}
.nsc-js .nsc-review-arrow       {
	display:grid;
	place-items:center;
}
.nsc-review-arrow .nsc-icon       {
	width:1.1rem;
	height:1.1rem;
}
.nsc-review-arrow--prev       {
	left:-3.75rem;
}
.nsc-review-arrow--prev .nsc-icon       {
	transform:rotate(90deg);
}
.nsc-review-arrow--next       {
	right:-3.75rem;
}
.nsc-review-arrow--next .nsc-icon       {
	transform:rotate(-90deg);
}
.nsc-review-dots       {
	display:none;
	justify-content:center;
	gap:.5rem;
	margin-top:2rem;
}
.nsc-js .nsc-review-dots       {
	display:flex;
}
.nsc-review-dots button       {
	position:relative;
	width:.6rem;
	height:.6rem;
	padding:0;
	border:0;
	border-radius:50%;
	background:#c5c3c1;
}
@media (min-width:52.001rem)       {
	.nsc-js .nsc-review-carousel--static-desktop .nsc-review-arrow,
	.nsc-js .nsc-review-carousel--static-desktop .nsc-review-dots       {
		display:none;
	}
	.nsc-review-carousel--static-desktop .nsc-reviews       {
		overflow-x:visible;
		scroll-snap-type:none;
	}
	.nsc-review-carousel--static-desktop .nsc-review       {
		flex:1 1 0;
		scroll-snap-align:none;
	}
}
.nsc-review-dots button::after       {
	content:"";
	position:absolute;
	inset:-.5rem;
}
.nsc-review-dots button[aria-current=true]       {
	background:#666;
}
.nsc-home-columns .nsc-heading p,.nsc-home-experiences .nsc-heading p,.nsc-home-faq .nsc-heading p       {
	font-size:clamp(.9375rem,.915vw,1rem);
}
.nsc-home-faq .nsc-faq-list       {
	gap:.625rem;
}
.nsc-home-faq .nsc-faq       {
	border-radius:0;
	border:.0625rem solid #ccc;
	box-shadow:none;
	margin:0;
	background:var(--nsc-sand);
}
.nsc-home-faq .nsc-faq summary       {
	gap:.7rem;
	padding:1.25rem .9rem;
	font-size:clamp(.9375rem,.915vw,1rem);
	line-height:1.8;
}
.nsc-home-faq .nsc-faq-q       {
	font-size:0;
	background:none;
	width:.65rem;
	height:auto;
	color:#333;
}
.nsc-home-faq .nsc-faq-q::before       {
	content:"+";
	font-size:1rem;
}
.nsc-home-faq .nsc-faq[open] .nsc-faq-q::before       {
	content:"−";
}
.nsc-home-faq .nsc-faq summary>.nsc-icon       {
	display:none;
}
.nsc-home-faq .nsc-faq-answer       {
	padding:0 .95rem 1.5rem;
	color:#333;
	font-size:clamp(.9375rem,.915vw,1rem);
}
.nsc-home-faq .nsc-actions       {
	margin-top:4rem;
}
.nsc-home-faq .nsc-button       {
	font-size:clamp(1rem,1.145vw,1.25rem);
	padding:.7em 2.1em;
}
/* Full-width picture CTA and the two footer levels. */
.nsc-cta       {
	padding:0;
	min-height:clamp(17rem,18.88vw,20.625rem);
	display:grid;
	align-items:center;
	background:#417785;
}
.nsc-cta::after       {
	background:#40758266;
}
.nsc-cta-image       {
	object-fit:cover;
	object-position:left center;
}
.nsc-cta-content       {
	padding-block:clamp(3rem,4.12vw,4.5rem);
}
.nsc-v2 .nsc-cta h2       {
	font-size:clamp(1.6rem,2.29vw,2.5rem);
	margin-bottom:1.5rem;
	line-height:1.45;
}
.nsc-cta p       {
	font-size:clamp(.875rem,.915vw,1rem);
	line-height:1.5;
	max-width:none;
}
.nsc-cta .nsc-actions       {
	margin-top:1.5rem;
	gap:1.5rem;
}
.nsc-v2 .nsc-cta .nsc-button       {
	border-radius:.2rem;
	box-shadow:none;
	font-size:clamp(.875rem,.915vw,1rem);
	padding:.7em 1.9em;
}
.nsc-v2 .nsc-cta .nsc-button--white-line       {
	border-color:#06c755;
	color:#06b745!important;
}
.page-id-2816 .nsc-cta .nsc-button       {
	width:min(100%,30rem);
}
.nsc-site-footer       {
	padding:0;
	background:#fff;
}
.nsc-site-footer>.nsc-shell       {
	width:min(100% - 2.5rem,57.8vw,63.125rem);
}
.nsc-footer-top       {
	display:grid;
	grid-template-columns:1fr 1.6fr 1.75fr 1.5fr;
	gap:clamp(2rem,3.66vw,4rem);
	padding-block:clamp(3rem,4.23vw,4.625rem) clamp(2.5rem,2.98vw,3.25rem);
	border:0;
}
.nsc-footer-top>.nsc-brand-link       {
	margin-top:1.4rem;
	align-self:start;
}
.nsc-v2 .nsc-footer-top h2       {
	font-size:clamp(.875rem,1.03vw,1.125rem);
	font-weight:400;
	margin:0 0 2rem;
	white-space:nowrap;
}
.nsc-footer-top ul       {
	padding:0;
	list-style:none;
}
.nsc-footer-top li       {
	margin-bottom:1.15rem;
	font-size:clamp(.8125rem,.915vw,1rem);
	line-height:1.8;
	color:#787878;
	white-space:nowrap;
}
.nsc-footer-top li:last-child       {
	margin-bottom:0;
}
.nsc-footer-bottom       {
	padding:0;
	border-top:.0625rem solid #ddd;
	display:block;
}
.nsc-footer-bottom>.nsc-shell       {
	width:min(100% - 2.5rem,61.2vw,66.875rem);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1.5rem;
	padding-top:2rem;
	padding-bottom:6.75rem;
}
.nsc-footer-bottom small       {
	font-size:clamp(.6rem,.572vw,.625rem);
	white-space:nowrap;
	color:#333;
}
.nsc-footer-bottom>.nsc-shell>a       {
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	font-size:clamp(.8125rem,.915vw,1rem);
	color:#787878;
}
.nsc-footer-social       {
	display:flex;
	align-items:center;
	gap:.9rem;
}
.nsc-footer-social>a:not(.nsc-footer-contact)       {
	display:inline-flex;
	color:#000;
}
.nsc-footer-social .nsc-icon       {
	width:1.5rem;
	height:1.5rem;
	stroke-width:2;
}
.nsc-mobile-floating-consultation       {
	display:none;
}
.nsc-back-to-top       {
	position:fixed;
	right:clamp(.875rem,1.5vw,1.5rem);
	bottom:clamp(.875rem,1.5vw,1.5rem);
	z-index:1000;
	display:grid;
	place-items:center;
	width:2.5rem;
	height:2.5rem;
	padding:0;
	border:.0625rem solid #7399b5;
	border-radius:.15rem;
	color:#fff;
	background:#86abc6;
	box-shadow:0 .2rem .6rem #0e223226;
	opacity:0;
	visibility:hidden;
	translate:0 .45rem;
	pointer-events:none;
	cursor:pointer;
	transition:opacity .18s ease,translate .18s ease,background-color .18s ease,visibility 0s linear .18s;
}
.nsc-back-to-top.is-visible       {
	opacity:1;
	visibility:visible;
	translate:0 0;
	pointer-events:auto;
	transition-delay:0s;
}
.nsc-back-to-top:hover       {
	background:#6f96b4;
}
.nsc-back-to-top:focus-visible       {
	outline:.18rem solid #0b64a0;
	outline-offset:.2rem;
}
.nsc-back-to-top .nsc-icon       {
	width:1.05rem;
	height:1.05rem;
	transform:rotate(180deg);
	stroke-width:2.25;
}
.nsc-v2 .nsc-footer-contact       {
	border:.0625rem solid #7a7a7a;
	border-radius:.2rem;
	padding:.3em 1.2em;
	font-size:clamp(.75rem,.686vw,.8125rem);
	line-height:1.6;
	white-space:nowrap;
	color:#333;
}
.nsc-brand--arc       {
	position:relative;
	display:block;
	aspect-ratio:1.72;
	width:8.5rem;
}
.nsc-brand--arc>img       {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:auto;
}
.nsc-brand-arc       {
	position:absolute;
	inset:0;
	font-size:.57rem;
	line-height:1;
	font-weight:600;
	color:#f82b14;
}
.nsc-brand-arc>span       {
	position:absolute;
	left:50%;
	top:86%;
	transform:translateX(-50%) rotate(var(--nsc-letter-angle));
	transform-origin:50% -8em;
}
.nsc-brand--large       {
	width:100%;
	max-width:none;
}
.nsc-brand--large .nsc-brand-arc       {
	font-size:clamp(1.1rem,1.5vw,1.65rem);
}
@media (min-width:74.001rem)       {
	.nsc-footer-bottom>.nsc-shell       {
		transform:translateX(clamp(1.5rem,1.83vw,2rem));
	}
	.nsc-footer-bottom>.nsc-shell>a       {
		left:calc(50% + 1.5rem);
	}
}
@media (max-width:74rem) and (min-width:52.001rem)       {
	.nsc-shell       {
		width:calc(100% - 4rem);
	}
	.nsc-header-inner       {
		width:calc(100% - 3rem);
	}
	.nsc-navigation       {
		gap:2rem;
	}
	.nsc-nav-list       {
		gap:1rem;
	}
	.nsc-navigation>.nsc-button       {
		min-width:8rem;
	}
	.nsc-footer-top       {
		gap:2rem;
	}
	.nsc-site-footer>.nsc-shell,.nsc-footer-bottom>.nsc-shell       {
		width:calc(100% - 5rem);
	}
	.nsc-review-carousel       {
		width:calc(100% - 6rem);
	}
	.nsc-v2 .nsc-hero-lead       {
		white-space:normal;
	}
}
@media (max-width:52rem)       {
	body.nsc-v2       {
		font-size:1rem;
		line-height:1.8;
	}
	.nsc-shell,.nsc-home-properties>.nsc-shell,.nsc-site-footer>.nsc-shell,.nsc-footer-bottom>.nsc-shell       {
		width:calc(100% - 2.5rem);
	}
	.nsc-header-inner       {
		width:calc(100% - 2rem);
		display:grid;
		grid-template-columns:minmax(0,1fr) auto 2.75rem;
		grid-template-rows:5rem auto;
		align-items:center;
		column-gap:.5rem;
		row-gap:0;
		min-height:5rem;
		padding-block:0;
	}
	.nsc-header-inner .nsc-brand       {
		width:8.75rem;
	}
	.nsc-brand-name       {
		font-size:.68rem;
	}
	.nsc-header-mobile-cta       {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		min-width:5.5rem;
		min-height:2.5rem;
		padding:.5rem 1rem;
		border-radius:100vmax;
		background:linear-gradient(180deg,#b5d3ec 0%,#8acaf6 100%);
		box-shadow:0 .18rem .25rem #0003;
		color:#071522!important;
		font-size:.875rem;
		font-weight:600;
		line-height:1;
		white-space:nowrap;
	}
	.nsc-js .nsc-v2 .nsc-menu-toggle       {
		display:grid;
		place-items:center;
		width:2.75rem;
		height:2.75rem;
		padding:0;
		border:0;
		border-radius:0;
		background:transparent;
		color:var(--nsc-ink);
		flex:none;
	}
	.nsc-menu-bars,.nsc-menu-bars::before,.nsc-menu-bars::after       {
		display:block;
		width:1.45rem;
		height:.125rem;
		border:0;
		background:currentColor;
		transition:transform .24s ease,top .24s ease,background-color .12s linear;
	}
	.nsc-menu-bars       {
		position:relative;
	}
	.nsc-menu-bars::before,.nsc-menu-bars::after       {
		content:'';
		position:absolute;
		left:0;
	}
	.nsc-menu-bars::before       {
		top:-.45rem;
	}
	.nsc-menu-bars::after       {
		top:.45rem;
	}
	.nsc-menu-toggle[aria-expanded="true"] .nsc-menu-bars       {
		background:transparent;
	}
	.nsc-menu-toggle[aria-expanded="true"] .nsc-menu-bars::before       {
		top:0;
		transform:rotate(45deg);
	}
	.nsc-menu-toggle[aria-expanded="true"] .nsc-menu-bars::after       {
		top:0;
		transform:rotate(-45deg);
	}
	.nsc-navigation       {
		grid-column:1/-1;
		width:auto;
		margin-inline:-1rem;
		padding:1rem 0 0;
		gap:0;
		background:#fff;
	}
	.nsc-mobile-line-cta       {
		display:flex;
		align-items:center;
		gap:.75rem;
		min-height:4.2rem;
		margin:0 .875rem 1rem;
		padding:.65rem .9rem;
		border-radius:.85rem;
		background:#06c755;
		color:#fff!important;
		line-height:1.25;
	}
	.nsc-mobile-line-mark       {
		display:grid;
		place-items:center;
		flex:0 0 auto;
		width:2.25rem;
		height:2.25rem;
		border:0;
		border-radius:0;
		background:transparent;
		color:#fff;
	}
	.nsc-mobile-line-mark .nsc-icon       {
		width:1.55rem;
		height:1.55rem;
	}
	.nsc-mobile-line-copy       {
		display:grid;
		min-width:0;
	}
	.nsc-mobile-line-copy strong,.nsc-mobile-line-copy small       {
		display:block;
	}
	.nsc-mobile-line-copy strong       {
		font-size:1rem;
		font-weight:700;
	}
	.nsc-mobile-line-copy small       {
		margin-top:.18rem;
		font-size:.7rem;
		font-weight:600;
	}
	.nsc-mobile-line-arrow       {
		display:block;
		flex:0 0 auto;
		width:1.75rem;
		height:1.75rem;
		margin-left:auto;
		color:#fff;
		line-height:0;
	}
	.nsc-mobile-line-arrow .nsc-icon       {
		display:block;
		width:100%;
		height:100%;
	}
	.nsc-nav-list       {
		width:100%;
		border-top:.0625rem solid #e4e9ee;
		font-size:1rem;
	}
	.nsc-nav-list>li       {
		margin:0;
	}
	.nsc-nav-list>li>a,.nsc-nav-dropdown summary       {
		padding:.65rem 1.15rem;
		font-size:.9375rem;
		line-height:1.4;
	}
	.nsc-navigation>.nsc-button       {
		display:none;
	}
	.nsc-hero-content       {
		width:calc(100% - 2.5rem);
		min-height:41rem;
		padding:2.1rem 0 18rem;
	}
	.nsc-hero-copy       {
		width:100%;
		max-width:none;
	}
	.nsc-hero-eyebrow       {
		font-size:.78rem;
	}
	.nsc-hero h1       {
		font-size:1.15rem;
		margin-bottom:1.5rem;
	}
	.nsc-hero h1 strong       {
		font-size:clamp(1.75rem,7.35vw,3.6rem);
		letter-spacing:-.04em;
	}
	.nsc-hero-suffix       {
		text-align:left;
		font-size:1rem;
		margin-top:.4rem;
	}
	.nsc-v2 .nsc-hero-lead       {
		font-size:.9rem;
		line-height:2;
		white-space:normal;
	}
	.nsc-hero-family       {
		top:auto;
		right:0;
		bottom:0;
		width:84%;
		height:17.5rem!important;
		object-fit:cover;
	}
	.nsc-shields       {
		position:absolute;
		bottom:2rem;
		left:0;
		display:flex;
		flex-direction:column;
		gap:.4rem;
		margin:0;
	}
	.nsc-shield       {
		width:4rem;
	}
	.nsc-hero-band       {
		padding:1.5rem 0;
	}
	.nsc-hero-band .nsc-actions       {
		width:calc(100% - 2.5rem);
		gap:.8rem;
	}
	.nsc-hero-band .nsc-button       {
		width:100%;
		font-size:.95rem;
		padding:.75em 1em;
	}
	.nsc-home-services .nsc-heading       {
		width:100%;
		max-width:none;
	}
	.nsc-home-services .nsc-service-body       {
		min-height:0;
	}
	.nsc-home-services .nsc-service-body .nsc-button       {
		margin-top:1.5rem;
	}
	.nsc-home-services .nsc-service-body h3       {
		font-size:1.5rem;
	}
	.nsc-features h3       {
		font-size:1.5rem!important;
	}
	.nsc-features p       {
		font-size:1rem;
	}
	.nsc-steps       {
		padding:2rem 1rem!important;
		gap:2rem;
	}
	.nsc-steps li       {
		flex-basis:100%;
	}
	.nsc-steps h3       {
		font-size:1rem!important;
	}
	.nsc-steps .nsc-image       {
		width:10rem;
		height:7rem;
	}
	.nsc-steps p       {
		font-size:.95rem;
	}
	.nsc-supporters-section .nsc-heading p       {
		padding-inline:.15rem;
		font-size:.95rem;
	}
	.nsc-staff-body       {
		padding:1.5rem .3rem .5rem;
	}
	.nsc-staff-body p       {
		font-size:.95rem;
		margin-bottom:1.5rem;
	}
	.nsc-review-carousel       {
		width:100%;
	}
	.nsc-review       {
		flex-basis:100%;
		padding:1.5rem;
	}
	.nsc-review>p       {
		font-size:1rem;
		line-height:1.65;
	}
	.nsc-review footer       {
		font-size:.875rem;
	}
	.nsc-review-arrow       {
		top:auto;
		bottom:-.8rem;
		width:2.5rem;
		height:2.5rem;
	}
	.nsc-review-arrow--prev       {
		left:0;
	}
	.nsc-review-arrow--next       {
		right:0;
	}
	.nsc-review-dots       {
		margin-top:1.8rem;
	}
	.nsc-review-dots button       {
		width:.65rem;
		height:.65rem;
	}
	.nsc-home-faq .nsc-faq summary       {
		font-size:.95rem;
		padding:1rem .75rem;
	}
	.nsc-home-faq .nsc-faq-answer       {
		font-size:.95rem;
	}
	.nsc-home-faq .nsc-actions       {
		margin-top:2rem;
	}
	.nsc-home-faq .nsc-button       {
		font-size:.9rem;
		padding:1em;
	}
	.nsc-cta       {
		min-height:20rem;
	}
	.nsc-cta-content       {
		padding-block:3rem;
	}
	.nsc-cta .nsc-actions       {
		gap:.8rem;
	}
	.nsc-cta .nsc-button       {
		width:100%;
	}
	.nsc-footer-top       {
		grid-template-columns:1fr 1fr;
		gap:2rem 1rem;
		padding-block:2.5rem;
	}
	.nsc-footer-top>.nsc-brand-link       {
		grid-column:1/-1;
		justify-self:center;
		margin:0 0 .5rem;
	}
	.nsc-footer-top h2       {
		font-size:1rem!important;
		margin-bottom:1rem;
	}
	.nsc-footer-top li       {
		white-space:normal;
		font-size:.875rem;
		margin-bottom:.8rem;
	}
	.nsc-footer-bottom>.nsc-shell       {
		flex-direction:column;
		gap:1.5rem;
		padding-block:2rem calc(7.5rem + env(safe-area-inset-bottom));
	}
	.nsc-footer-bottom>.nsc-shell>a       {
		position:static;
		transform:none;
	}
	.nsc-footer-bottom small       {
		white-space:normal;
		text-align:center;
		font-size:.625rem;
	}
	.nsc-footer-social       {
		gap:1rem;
	}
	.nsc-footer-social .nsc-icon       {
		width:1.4rem;
		height:1.4rem;
	}
	.nsc-brand--large .nsc-brand-arc       {
		font-size:clamp(.8rem,2.8vw,1.3rem);
	}
	.nsc-mobile-floating-consultation       {
		position:fixed;
		left:1rem;
		right:1rem;
		bottom:calc(1rem + env(safe-area-inset-bottom));
		z-index:995;
		display:flex;
		align-items:center;
		justify-content:center;
		gap:.875rem;
		min-height:4.875rem;
		padding:.625rem 1rem;
		border:0;
		border-radius:1rem;
		background:#82a0b9;
		box-shadow:0 -.25rem 1rem #0000002e;
		color:#fff!important;
		font-size:1.0625rem;
		font-weight:700;
		line-height:1.4;
		text-decoration:none!important;
		opacity:0;
		visibility:hidden;
		translate:0 .45rem;
		pointer-events:none;
		transition:opacity .18s ease,translate .18s ease,box-shadow .18s ease,visibility 0s linear .18s;
	}
	.nsc-mobile-floating-consultation.is-visible       {
		opacity:1;
		visibility:visible;
		translate:0 0;
		pointer-events:auto;
		transition-delay:0s;
	}
	.nsc-mobile-floating-consultation:hover       {
		box-shadow:0 -.25rem 1rem #0000002e;
		background:#82a0b9;
		color:#fff!important;
		filter:none;
	}
	.nsc-mobile-floating-consultation:focus-visible       {
		outline:.2rem solid #0b64a0;
		outline-offset:.2rem;
	}
	.nsc-mobile-floating-consultation-badge       {
		position:relative;
		flex:0 0 auto;
		width:3.625rem;
		height:3.625rem;
		filter:drop-shadow(.3125rem .375rem 0 #00000040);
		color:#172334;
		font-size:.8125rem;
		font-weight:800;
		line-height:1;
	}
	.nsc-mobile-floating-consultation-badge svg       {
		display:block;
		width:100%;
		height:100%;
		fill:#ffde59;
	}
	.nsc-mobile-floating-consultation-badge span       {
		position:absolute;
		inset:0;
		display:grid;
		place-items:center;
	}
	.nsc-mobile-floating-consultation-label       {
		white-space:nowrap;
	}
	.nsc-back-to-top       {
		bottom:calc(6.75rem + env(safe-area-inset-bottom));
	}
}
@media (prefers-reduced-motion:reduce)       {
	.nsc-v2 .nsc-button       {
		transition:none;
	}
	.nsc-v2 .nsc-button:hover       {
		transform:none;
	}
	.nsc-reviews       {
		scroll-behavior:auto;
	}
	.nsc-back-to-top       {
		translate:none;
		transition:none;
	}
	.nsc-menu-bars,.nsc-menu-bars::before,.nsc-menu-bars::after       {
		transition:none;
	}
	.nsc-mobile-floating-consultation       {
		translate:none;
		transition:none;
	}
}
/* First view fills the current viewport after reserving header + toolbar space.
 * No height cap: the red band's bottom stays at the viewport's bottom. */
body.nsc-v2      {
	--nsc-toolbar-height:0px;
	--nsc-first-view-top:calc(5.25rem + var(--nsc-toolbar-height));
}
body.nsc-v2.admin-bar      {
	--nsc-toolbar-height:32px;
}
.nsc-home-first-view      {
	height:calc(100vh - var(--nsc-first-view-top));
	height:calc(100svh - var(--nsc-first-view-top));
	height:calc(100dvh - var(--nsc-first-view-top));
	display:grid;
	grid-template-rows:minmax(0,1fr) auto;
}
.nsc-home-first-view .nsc-hero      {
	min-height:0;
	container-type:size;
	container-name:nsc-hero;
}
.nsc-home-first-view .nsc-hero-family      {
	top:0;
	right:0;
	bottom:auto;
	width:min(64cqw,190cqh);
	height:auto!important;
	object-fit:contain;
	object-position:right top;
	/* Preserve the source width (both faces). Like the desktop wireframe, the
	 * lower body can extend behind the band rather than shrinking to a postcard. */
	transform:translateY(-8%);
}
.nsc-home-first-view .nsc-hero-content      {
	width:calc(100% - clamp(2.5rem,8vw,16rem));
	height:100%;
	min-height:0;
	display:flex;
	align-items:center;
	padding-block:min(3.89vw,8cqh,4.25rem) min(2.75vw,7cqh,3rem);
}
.nsc-home-first-view .nsc-hero-copy      {
	width:60%;
	max-width:none;
}
.nsc-home-first-view .nsc-hero-eyebrow      {
	font-size:min(clamp(1rem,1.1vw,1.75rem),3.4cqh);
	margin-bottom:min(1vw,2.6cqh,1.1rem)!important;
}
.nsc-home-first-view .nsc-hero h1      {
	width:max-content;
	max-width:100%;
	font-size:min(clamp(1.5rem,2vw,3rem),5.8cqh);
	margin-bottom:min(1.15vw,3cqh,1.25rem);
}
.nsc-home-first-view .nsc-hero h1 strong      {
	font-size:min(clamp(3.75rem,6vw,9rem),17cqh);
}
.nsc-home-first-view .nsc-hero-suffix      {
	font-size:min(clamp(1.25rem,1.7vw,2.5rem),4.8cqh);
}
.nsc-home-first-view .nsc-hero-lead      {
	font-size:min(clamp(1.125rem,.25rem + 1.3vw,2.25rem),4.6cqh);
	line-height:1.8;
	white-space:normal;
	word-break:keep-all;
	overflow-wrap:anywhere;
}
.nsc-home-first-view .nsc-hero-lead span      {
	padding:.18em .42em;
	box-shadow:none;
	-webkit-box-decoration-break:clone;
	box-decoration-break:clone;
}
.nsc-home-first-view .nsc-shields      {
	gap:min(1.831vw,4.75cqh,2rem);
	margin-top:min(1.6vw,4.16cqh,1.75rem);
}
.nsc-home-first-view .nsc-shield      {
	width:min(6.405vw,16.61cqh,7rem);
	flex:none;
}
.nsc-home-first-view .nsc-hero-band      {
	padding-block:min(2.06vw,4svh,2.25rem) min(1.95vw,3.8svh,2.125rem);
}
.nsc-home-first-view .nsc-hero-band .nsc-button      {
	font-size:min(clamp(1rem,1.1vw,1.5rem),3svh);
}
@media (max-width:52rem)      {
	.nsc-home-first-view .nsc-hero-content      {
		align-items:flex-start;
		padding-block:min(1.5rem,4cqh) 0;
	}
	.nsc-home-first-view .nsc-hero-copy      {
		width:100%;
	}
	.nsc-home-first-view .nsc-hero-eyebrow      {
		font-size:min(3vw,2.7cqh,.8125rem);
		margin-bottom:min(.8rem,2cqh)!important;
	}
	.nsc-home-first-view .nsc-hero h1      {
		font-size:min(4.7vw,4cqh,1.4rem);
		margin-bottom:min(1rem,2.5cqh);
	}
	.nsc-home-first-view .nsc-hero h1 strong      {
		font-size:min(7.35vw,7.8cqh,3.6rem);
	}
	.nsc-home-first-view .nsc-hero-suffix      {
		font-size:min(4vw,3.5cqh,1.15rem);
		margin-top:min(.4rem,1cqh);
	}
	.nsc-home-first-view .nsc-hero-lead      {
		font-size:min(3.6vw,3.2cqh,1rem);
		line-height:1.9;
		white-space:normal;
	}
	.nsc-home-first-view .nsc-hero-family      {
		top:auto;
		bottom:0;
		width:100%;
		height:54%!important;
		object-fit:contain;
		object-position:right bottom;
		transform:none;
	}
	.nsc-home-first-view .nsc-shields      {
		left:1.25rem;
		bottom:min(1rem,3cqh);
		flex-direction:row;
		gap:min(.75rem,3vw);
		margin:0;
	}
	.nsc-home-first-view .nsc-shield      {
		width:min(4.48rem,20.16cqh);
	}
	.nsc-home-first-view .nsc-hero-band      {
		padding-block:min(1rem,2.5svh);
	}
	.nsc-home-first-view .nsc-hero-band .nsc-actions      {
		gap:min(.625rem,1.4svh);
	}
	.nsc-home-first-view .nsc-hero-band .nsc-button      {
		font-size:min(.95rem,2.6svh,3.8vw);
		padding:.55em 1em;
	}
}
/* Use the available hero proportions, not just device width. A tall tablet or
 * desktop needs a top-copy/bottom-photo composition rather than a narrow crop. */
@container nsc-hero (min-width:52.001rem) and (max-aspect-ratio:8/5)      {
	.nsc-home-first-view .nsc-hero-content      {
		align-items:flex-start;
		padding-block:min(3rem,4cqh) 0;
	}
	.nsc-home-first-view .nsc-hero-copy      {
		width:85%;
	}
	.nsc-home-first-view .nsc-hero-eyebrow      {
		font-size:clamp(1rem,1.45cqw,1.375rem);
	}
	.nsc-home-first-view .nsc-hero h1      {
		font-size:clamp(1.65rem,2.6cqw,2.5rem);
	}
	.nsc-home-first-view .nsc-hero h1 strong      {
		font-size:clamp(4rem,7.4cqw,7rem);
	}
	.nsc-home-first-view .nsc-hero-suffix      {
		font-size:clamp(1.375rem,2.1cqw,2rem);
	}
	.nsc-home-first-view .nsc-hero-lead      {
		max-width:min(65cqw,46rem);
		font-size:clamp(1.25rem,1.65cqw,1.625rem);
	}
	.nsc-home-first-view .nsc-hero-family      {
		top:auto;
		bottom:0;
		width:78%;
		height:72%!important;
		object-position:right bottom;
		transform:none;
	}
	.nsc-home-first-view .nsc-shield      {
		width:clamp(5.25rem,7cqw,7rem);
	}
}
@container nsc-hero (min-width:52.001rem) and (max-aspect-ratio:11/10)      {
	.nsc-home-first-view .nsc-hero-copy      {
		width:100%;
	}
	.nsc-home-first-view .nsc-hero-lead      {
		max-width:100%;
		font-size:clamp(1.25rem,2.2cqw,1.625rem);
	}
	.nsc-home-first-view .nsc-hero-family      {
		width:100%;
		height:62%!important;
	}
	.nsc-home-first-view .nsc-shields      {
		position:absolute;
		left:4cqw;
		bottom:1rem;
		margin:0;
	}
}
@media (max-width:782px)      {
	body.nsc-v2.admin-bar      {
		--nsc-toolbar-height:46px;
	}
}
/* Short landscape screens use the desktop composition and a single CTA row. */
@media (max-height:32rem) and (min-aspect-ratio:6/5)      {
	.nsc-home-first-view .nsc-hero-content      {
		align-items:center;
		padding-block:3cqh;
	}
	.nsc-home-first-view .nsc-hero-copy      {
		width:65%;
	}
	.nsc-home-first-view .nsc-hero-eyebrow      {
		font-size:min(1.5vw,4cqh,.875rem);
		margin-bottom:2cqh!important;
	}
	.nsc-home-first-view .nsc-hero h1      {
		font-size:min(2.4vw,7cqh,1.4rem);
		margin-bottom:2cqh;
	}
	.nsc-home-first-view .nsc-hero h1 strong      {
		font-size:min(5.8vw,18cqh,4.5rem);
	}
	.nsc-home-first-view .nsc-hero-suffix      {
		font-size:min(1.8vw,5.1cqh,1rem);
	}
	.nsc-home-first-view .nsc-hero-lead      {
		font-size:min(1.6vw,4.8cqh,.875rem);
		line-height:1.8;
	}
	.nsc-home-first-view .nsc-hero-family      {
		top:0;
		bottom:auto;
		width:min(62cqw,190cqh);
		height:auto!important;
		object-position:right top;
		transform:translateY(-8%);
	}
	.nsc-home-first-view .nsc-shields      {
		position:static;
		flex-direction:row;
		margin:2cqh 0 0;
		gap:2vw;
	}
	.nsc-home-first-view .nsc-shield      {
		width:min(4.48rem,19.04cqh);
	}
	.nsc-home-first-view .nsc-hero-band      {
		padding-block:2.8svh;
	}
	.nsc-home-first-view .nsc-hero-band .nsc-actions      {
		flex-wrap:nowrap;
		gap:1rem;
	}
	.nsc-home-first-view .nsc-hero-band .nsc-button      {
		width:auto;
		font-size:min(1rem,3.1svh);
		padding:.45em 1em;
	}
}
/* With scripting disabled, expanded navigation must not squeeze out the copy. */
@media (max-width:52rem)      {
	html:not(.nsc-js) .nsc-home-first-view      {
		height:auto;
		grid-template-rows:auto auto;
	}
	html:not(.nsc-js) .nsc-home-first-view .nsc-hero      {
		height:35rem;
	}
}

/* Home entrance: one short sequence, with no hidden copy or loading gate.
 * Individual transforms preserve the photo's responsive translateY(-8%).
 * Never animate the copy wrapper: mobile badges use the hero as their anchor. */
@media screen and (prefers-reduced-motion:no-preference) {
	@supports (translate:0 1rem) and (scale:1.02) {
		html.nsc-js .nsc-home-first-view {
			--nsc-hero-ease:cubic-bezier(.22,.61,.36,1);
			/* Chain the stages so changing the highlight duration keeps them ordered. */
			--nsc-hero-highlight-start:.85s;
			--nsc-hero-highlight-step:.2s;
			--nsc-hero-highlight-duration:.95s;
			/* Keep the sheen timeline independent of the early intro. */
			--nsc-hero-shine-start:calc(var(--nsc-hero-highlight-start) + var(--nsc-hero-highlight-step) + var(--nsc-hero-highlight-duration) + .42s);
			--nsc-hero-shine-step:.16s;
			--nsc-hero-shine-duration:.3s;
			--nsc-hero-button-shine-start:calc(var(--nsc-hero-shine-start) + var(--nsc-hero-shine-duration) - .3s);
		}
		html.nsc-js .nsc-home-first-view .nsc-hero-city {
			animation:nsc-hero-city-settle 3.2s var(--nsc-hero-ease) 1 backwards;
		}
		html.nsc-js .nsc-home-first-view .nsc-hero-family {
			transform-origin:right 60%;
			animation:nsc-hero-photo-settle 2.6s var(--nsc-hero-ease) 1 backwards;
		}
		html.nsc-js .nsc-home-first-view :where(.nsc-hero-word,.nsc-hero-suffix) {
			animation:nsc-hero-caption-arrive 1.1s var(--nsc-hero-ease) var(--nsc-hero-delay,0s) 1 backwards;
		}
		/* These five elements are visible in their final positions from the start. */
		html.nsc-js .nsc-home-first-view :is(.nsc-hero-eyebrow,.nsc-hero-prefix,.nsc-shield) {
			animation:none;
		}
		/* The words are real HTML with real spaces, not duplicated visual text. */
		html.nsc-js .nsc-home-first-view .nsc-hero-word {
			display:inline-block;
			animation-name:nsc-hero-word-arrive;
			animation-duration:1.15s;
		}
		html.nsc-js .nsc-home-first-view .nsc-hero-word:nth-child(1) { --nsc-hero-delay:.18s; }
		html.nsc-js .nsc-home-first-view .nsc-hero-word:nth-child(2) { --nsc-hero-delay:.42s; }
		html.nsc-js .nsc-home-first-view .nsc-hero-word:nth-child(3) { --nsc-hero-delay:.66s; }
		html.nsc-js .nsc-home-first-view .nsc-hero-suffix { --nsc-hero-delay:.8s; }
		/* Keep inline fragments/cloned line backgrounds, including mobile wraps.
		 * Only these two small backgrounds repaint; their text and layout stay still. */
		html.nsc-js .nsc-home-first-view .nsc-hero-lead>span {
			background-color:transparent;
			background-image:linear-gradient(#fff,#fff);
			background-position:left center;
			background-repeat:no-repeat;
			background-size:100% 100%;
			animation:nsc-hero-highlight var(--nsc-hero-highlight-duration) var(--nsc-hero-ease) var(--nsc-hero-highlight-start) 1 backwards;
		}
		html.nsc-js .nsc-home-first-view .nsc-hero-lead>span:nth-of-type(2) {
			animation-delay:calc(var(--nsc-hero-highlight-start) + var(--nsc-hero-highlight-step));
		}
		html.nsc-js .nsc-home-first-view .nsc-shield {
			--nsc-hero-shine-delay:var(--nsc-hero-shine-start);
		}
		html.nsc-js .nsc-home-first-view .nsc-shield:nth-child(2) {
			--nsc-hero-shine-delay:calc(var(--nsc-hero-shine-start) + var(--nsc-hero-shine-step));
		}
		html.nsc-js .nsc-home-first-view .nsc-shield:nth-child(3) {
			--nsc-hero-shine-delay:calc(var(--nsc-hero-shine-start) + var(--nsc-hero-shine-step) + var(--nsc-hero-shine-step));
		}
		/* Restore only the former button sheen; the CTAs themselves stay still. */
		html.nsc-js .nsc-home-first-view .nsc-hero-band .nsc-button {
			--nsc-hero-button-shine-delay:var(--nsc-hero-button-shine-start);
			--nsc-hero-glint:#ffffff85;
			position:relative;
			isolation:isolate;
			overflow:hidden;
		}
		html.nsc-js .nsc-home-first-view .nsc-hero-band .nsc-button:nth-child(2) {
			--nsc-hero-button-shine-delay:calc(var(--nsc-hero-button-shine-start) + .15s);
		}
		html.nsc-js .nsc-home-first-view .nsc-hero-band .nsc-button--white {
			--nsc-hero-glint:#b0444445;
		}
		html.nsc-js .nsc-home-first-view .nsc-hero-band .nsc-button>:is(span,svg) {
			position:relative;
			z-index:1;
		}
		html.nsc-js .nsc-home-first-view .nsc-hero-band .nsc-button::after {
			content:"";
			position:absolute;
			inset-block:0;
			left:0;
			width:45%;
			z-index:0;
			pointer-events:none;
			background:linear-gradient(110deg,transparent 15%,var(--nsc-hero-glint) 50%,transparent 85%);
			opacity:0;
			animation:nsc-hero-button-glint 1.4s ease var(--nsc-hero-button-shine-delay) 1 backwards;
		}
		/* Keep the alpha mask stationary. Only its inner light strip moves, so no
		 * light can escape into the badge's already-transparent exterior. */
		@supports (mask-image:linear-gradient(#000,#000)) or (-webkit-mask-image:linear-gradient(#000,#000)) {
			html.nsc-js .nsc-home-first-view .nsc-shield-shine {
				display:block;
				position:absolute;
				inset:0;
				pointer-events:none;
				-webkit-mask-image:var(--nsc-shield-mask);
				mask-image:var(--nsc-shield-mask);
				mask-mode:alpha;
				-webkit-mask-size:100% 100%;
				mask-size:100% 100%;
				-webkit-mask-position:center;
				mask-position:center;
				-webkit-mask-repeat:no-repeat;
				mask-repeat:no-repeat;
			}
			html.nsc-js .nsc-home-first-view .nsc-shield-shine::before {
				content:"";
				position:absolute;
				inset-block:0;
				left:0;
				width:45%;
				pointer-events:none;
				opacity:0;
				background:linear-gradient(110deg,transparent 10%,#fff9 50%,transparent 90%);
				/* A constant-speed strip passes from the left badge to the right. */
				animation:nsc-hero-badge-glint var(--nsc-hero-shine-duration) linear var(--nsc-hero-shine-delay) 1 backwards;
			}
		}
		/* Keyboard interaction takes precedence over the entrance sequence. */
		html.nsc-js .nsc-home-first-view:is(:focus-within,.nsc-hero-motion-complete) :is(.nsc-hero-city,.nsc-hero-family,.nsc-hero-eyebrow,.nsc-hero-prefix,.nsc-hero-word,.nsc-hero-suffix,.nsc-hero-lead>span,.nsc-shield),
		html.nsc-js .nsc-home-first-view:is(:focus-within,.nsc-hero-motion-complete) .nsc-hero-band .nsc-button::after,
		html.nsc-js .nsc-home-first-view:is(:focus-within,.nsc-hero-motion-complete) .nsc-shield-shine::before {
			animation:none;
		}
		@keyframes nsc-hero-city-settle {
			from { scale:1.065; }
			to { scale:1; }
		}
		@keyframes nsc-hero-photo-settle {
			from { scale:1.08; }
			to { scale:1; }
		}
		@keyframes nsc-hero-caption-arrive {
			from { opacity:.3; }
			to { opacity:1; }
		}
		@keyframes nsc-hero-word-arrive {
			from { opacity:.18; translate:0 min(.3em,1.5rem,3svh); }
			to { opacity:1; translate:0 0; }
		}
		@keyframes nsc-hero-highlight {
			from { background-size:0% 100%; }
			/* Restore the original tiny overhanging white edges only at the end. */
			0%,99.9% { box-shadow:.3rem 0 #fff0,-.15rem 0 #fff0; }
			to { background-size:100% 100%; box-shadow:.3rem 0 #fff,-.15rem 0 #fff; }
		}
		@keyframes nsc-hero-badge-glint {
			from { opacity:0; translate:-150% 0; }
			20%,65% { opacity:1; }
			to { opacity:0; translate:350% 0; }
		}
		@keyframes nsc-hero-button-glint {
			from { opacity:0; translate:-150% 0; }
			20%,65% { opacity:1; }
			to { opacity:0; translate:350% 0; }
		}
	}
}
