/* ver02: shared tokens, fluid typography, semantic layouts; no external font dependency. */
body.nsc-v2 {
	--nsc-ink:#1e293b;
	--nsc-muted:#526174;
	--nsc-blue:#b5d3ec;
	--nsc-red:#b44646;
	--nsc-sand:#f5f1eb;
	--nsc-line:#087e40;
	--nsc-radius:1.15rem;
	--nsc-shadow:0 .25rem 1rem #1e293b0c;
	--nsc-gap:clamp(1.25rem,2.25vw,2rem);
	--nsc-space:clamp(3.5rem,5vw,5.5rem);
	margin:0;
	background:#fff;
	color:var(--nsc-ink);
	font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
	font-size:clamp(1rem,.94rem + .16vw,1.125rem);
	line-height:1.9;
	overflow-wrap:anywhere
}
.nsc-v2 *,.nsc-v2 *:before,.nsc-v2 *:after {
	box-sizing:border-box
}
.nsc-v2 [hidden] {
	display:none!important
}
.nsc-v2 img {
	max-width:100%;
	height:auto;
	vertical-align:middle
}
.nsc-v2 a {
	color:inherit;
	text-decoration:none
}
.nsc-v2 a:hover {
	color:#215577
}
.nsc-v2 button,.nsc-v2 input,.nsc-v2 select,.nsc-v2 textarea {
	font:inherit
}
.nsc-v2 button,.nsc-v2 summary {
	cursor:pointer
}
.nsc-v2 :focus-visible {
	outline:.18rem solid #236ca1;
	outline-offset:.3rem
}
.nsc-v2 :where(h1,h2,h3,h4,h5,h6) {
	color:var(--nsc-ink);
	font-family:inherit;
	font-weight:700;
	line-height:1.55;
	letter-spacing:.025em;
	text-wrap:balance;
	margin:0 0 1rem
}
.nsc-v2 h1 {
	font-size:clamp(1.85rem,1.2rem + 2vw,3.3rem)
}
.nsc-v2 h2 {
	font-size:clamp(1.55rem,1.08rem + 1.25vw,2.5rem)
}
.nsc-v2 h3 {
	font-size:clamp(1.15rem,.98rem + .6vw,1.6rem)
}
.nsc-v2 h4 {
	font-size:clamp(1.05rem,.95rem + .3vw,1.3rem)
}
.nsc-v2 p {
	margin:0 0 1.1em
}
.nsc-v2 p:last-child {
	margin-bottom:0
}
.nsc-v2 :where(ul,ol) {
	margin:0;
	padding-left:1.5em
}
.nsc-v2 :where(figure,blockquote) {
	margin:0
}
.nsc-v2 main {
	min-height:55vh
}
.nsc-v2 [id] {
	scroll-margin-top:6rem
}
.nsc-shell {
	width:min(100% - clamp(2.5rem,7vw,8rem),75rem);
	margin-inline:auto
}
.nsc-shell--narrow {
	max-width:58rem
}
.nsc-section {
	padding-block:var(--nsc-space)
}
.nsc-section--sand {
	background:var(--nsc-sand)
}
.nsc-heading {
	text-align:center;
	max-width:56rem;
	margin:0 auto clamp(2rem,3vw,3.3rem)
}
.nsc-heading h2 {
	margin-bottom:.65rem
}
.nsc-heading p,.nsc-page-intro p {
	color:var(--nsc-muted)
}
.nsc-kicker {
	font-size:clamp(.8rem,.73rem + .22vw,1rem);
	letter-spacing:.13em;
	color:#637589;
	font-weight:600
}
.nsc-heading .nsc-kicker {
	color:#6c839a
}
.nsc-note {
	font-size:clamp(.85rem,.78rem + .2vw,1rem);
	color:var(--nsc-muted)
}
.nsc-grid {
	display:grid;
	gap:var(--nsc-gap);
	grid-auto-rows:1fr;
	align-items:stretch
}
.nsc-grid--2 {
	grid-template-columns:repeat(2,minmax(0,1fr))
}
.nsc-grid--3 {
	grid-template-columns:repeat(3,minmax(0,1fr))
}
.nsc-card {
	background:#fff;
	border-radius:var(--nsc-radius);
	box-shadow:var(--nsc-shadow);
	padding:clamp(1.4rem,2.5vw,2.5rem);
	min-width:0
}
.nsc-grid>.nsc-card {
	display:flex;
	flex-direction:column;
	height:100%
}
.nsc-card h3 {
	margin-bottom:.75rem
}
.nsc-icon {
	display:inline-block;
	width:1.4em;
	height:1.4em;
	flex:none;
	vertical-align:middle
}
.nsc-actions {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	justify-content:center;
	margin-top:clamp(2rem,3vw,3rem)
}
.nsc-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:1.2em;
	min-height:3.25rem;
	padding:.7em 1.85em;
	border:.0625rem solid transparent;
	border-radius:10rem;
	font-weight:700;
	font-size:clamp(.92rem,.87rem + .18vw,1.05rem);
	line-height:1.6;
	text-align:center;
	transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease
}
.nsc-button .nsc-icon {
	width:1.2em;
	height:1.2em
}
.nsc-button--blue {
	background:var(--nsc-blue);
	color:#142d44
}
.nsc-button--red {
	background:var(--nsc-red);
	color:#fff!important;
	border-radius:.45rem
}
.nsc-button--white {
	background:#fff;
	color:var(--nsc-ink)
}
.nsc-button--line {
	background:var(--nsc-line);
	color:#fff!important;
	min-width:17rem
}
.nsc-button--white-line {
	background:#fff;
	color:var(--nsc-line)!important;
	border-radius:.45rem
}
.nsc-button--outline {
	border-color:#94a3b8;
	background:transparent
}
.nsc-button--white-outline {
	border-color:#fff;
	color:#fff!important;
	background:transparent
}
.nsc-skip {
	position:fixed;
	top:-10rem;
	left:1rem;
	padding:.7rem 1.2rem;
	background:#fff;
	z-index:100000
}
.nsc-skip:focus {
	top:1rem
}
.nsc-site-header {
	position:relative;
	z-index:100;
	background:#fff;
	box-shadow:0 .15rem .65rem #0e223211
}
.nsc-header-inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1.2rem;
	min-height:5.1rem
}
.nsc-brand-link {
	display:inline-flex;
	flex:none
}
.nsc-brand {
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	width:12rem;
	line-height:1
}
.nsc-brand>img {
	width:73%;
	height:auto
}
.nsc-brand-name {
	color:#c53626;
	font-size:clamp(.75rem,.65rem + .2vw,.95rem);
	font-weight:700;
	line-height:1.12
}
.nsc-brand--large {
	width:100%;
	justify-content:center
}
.nsc-brand--large>img {
	width:100%
}
.nsc-brand--large .nsc-brand-name {
	display:none
}
.nsc-navigation {
	display:flex;
	align-items:center;
	gap:clamp(1rem,2vw,2rem)
}
.nsc-nav-list {
	display:flex;
	align-items:center;
	gap:clamp(1rem,1.8vw,2rem);
	list-style:none;
	padding:0!important;
	font-size:clamp(.82rem,.76rem + .16vw,.96rem);
	font-weight:600
}
.nsc-nav-list>li {
	position:relative
}
.nsc-nav-list>li>a {
	display:block;
	padding:1.7rem 0
}
.nsc-nav-dropdown summary {
	display:flex;
	gap:.25rem;
	align-items:center;
	list-style:none;
	padding:1.7rem 0;
	white-space:nowrap
}
.nsc-nav-dropdown summary::-webkit-details-marker {
	display:none
}
.nsc-nav-dropdown summary .nsc-icon {
	width:1em;
	height:1em
}
.nsc-nav-dropdown>ul {
	position:absolute;
	left:-1.2rem;
	top:100%;
	list-style:none;
	min-width:16rem;
	margin:0;
	padding:.7rem;
	background:white;
	border:.0625rem solid #e3e8ed;
	border-radius:.7rem;
	box-shadow:var(--nsc-shadow)
}
.nsc-nav-dropdown>ul a {
	display:block;
	padding:.6rem .7rem;
	border-radius:.35rem
}
.nsc-nav-dropdown a:hover {
	background:var(--nsc-sand)
}
.nsc-menu-toggle {
	display:none;
	background:#fff;
	color:var(--nsc-ink);
	border:.0625rem solid #c7d2df;
	border-radius:.5rem;
	padding:.5rem .75rem;
	font-size:.9rem
}
.nsc-breadcrumb {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.65rem;
	font-size:clamp(.75rem,.71rem + .15vw,.9rem);
	padding-block:1.5rem .25rem;
	color:#5e6c7b
}
.nsc-breadcrumb a {
	color:#397ca4
}
.nsc-page-intro {
	text-align:center;
	padding-block:clamp(2rem,3vw,3rem) clamp(3rem,4vw,4.5rem)
}
.nsc-page-intro h1 {
	margin-bottom:.7rem
}
.nsc-page-intro p {
	max-width:52rem;
	margin-inline:auto
}
.nsc-hero {
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background:#f6f7f5
}
.nsc-hero-city {
	position:absolute;
	inset:0;
	width:100%;
	height:100%!important;
	object-fit:cover;
	z-index:-2
}
.nsc-hero-family {
	position:absolute;
	right:0;
	bottom:0;
	top:0;
	width:57%;
	height:100%!important;
	object-fit:cover;
	object-position:left center;
	z-index:-1
}
.nsc-hero-content {
	padding-block:clamp(3rem,5.5vw,6.5rem) clamp(2rem,3vw,4rem);
	min-height:clamp(35rem,41vw,46rem)
}
.nsc-hero-copy {
	width:64%;
	max-width:51rem
}
.nsc-hero-eyebrow {
	font-size:clamp(.85rem,.65rem + .5vw,1.25rem);
	font-weight:700;
	letter-spacing:.06em
}
.nsc-hero h1 {
	font-size:clamp(1.4rem,1rem + 1.2vw,2.45rem);
	line-height:1.7;
	letter-spacing:0;
	margin-bottom:1.6rem
}
.nsc-hero h1 strong {
	display:block;
	color:var(--nsc-red);
	font-size:clamp(2.1rem,1rem + 3vw,4.4rem);
	line-height:1.4;
	letter-spacing:-.045em;
	white-space:nowrap
}
.nsc-hero-lead {
	font-size:clamp(1rem,.86rem + .35vw,1.35rem);
	font-weight:600;
	line-height:2.2
}
.nsc-hero-lead span {
	background:#ffffffd9;
	box-shadow:.3rem 0 #ffffffd9,-.3rem 0 #ffffffd9
}
.nsc-shields {
	display:flex;
	gap:clamp(.5rem,1.2vw,1.2rem);
	margin-top:1.6rem
}
.nsc-shield {
	width:clamp(5rem,8vw,9rem);
	aspect-ratio:1.03;
	display:grid;
	place-items:center;
	position:relative;
	color:#765a17;
	text-align:center;
	font-size:clamp(.7rem,.56rem + .4vw,1.15rem);
	font-weight:700;
	line-height:1.5;
	background:linear-gradient(125deg,#f6e6a6,#fff9d8 40%,#d7b853);
	clip-path:polygon(9% 0,91% 0,96% 10%,90% 74%,50% 100%,10% 74%,4% 10%);
	padding:.6rem .3rem 1rem;
	border-top:.25rem solid #ad8930
}
.nsc-shield strong {
	font-size:1.5em
}
.nsc-hero-band {
	background:var(--nsc-red);
	padding:1.5rem 0
}
.nsc-hero-band .nsc-actions {
	margin:0;
	gap:2rem
}
.nsc-hero-band .nsc-button {
	min-width:20rem
}
.nsc-service-card {
	background:#f0f8ff;
	padding:0;
	overflow:hidden;
	display:flex;
	flex-direction:column
}
.nsc-service-card>.nsc-image {
	width:100%;
	aspect-ratio:1.58;
	object-fit:cover
}
.nsc-service-body {
	padding:1.6rem;
	display:flex;
	flex-direction:column;
	flex:1;
	text-align:center
}
.nsc-service-body p {
	font-size:.95em
}
.nsc-service-body .nsc-button {
	margin-top:auto;
	align-self:center
}
.nsc-features {
	text-align:center;
	gap:clamp(2rem,4vw,4rem)
}
.nsc-feature-icon {
	display:grid;
	place-items:center;
	width:5rem;
	height:5rem;
	border-radius:50%;
	background:#deecff;
	color:#2663b4;
	margin:0 auto 1.4rem
}
.nsc-feature-icon .nsc-icon {
	width:2.5rem;
	height:2.5rem
}
.nsc-features article:nth-child(2) .nsc-feature-icon {
	background:#dcf7e7;
	color:#21844b
}
.nsc-features article:nth-child(3) .nsc-feature-icon {
	background:#f8e7ef;
	color:#aa547a
}
.nsc-features p {
	text-align:left;
	font-size:.96em
}
.nsc-steps {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:2.7rem 5%;
	list-style:none;
	padding:clamp(2rem,3vw,3rem)!important;
	border-radius:var(--nsc-radius);
	background:#fff;
	text-align:center
}
.nsc-steps li {
	width:30%
}
.nsc-number {
	display:inline-grid;
	place-items:center;
	width:2.4rem;
	height:2.4rem;
	background:var(--nsc-blue);
	border-radius:50%;
	font-weight:700;
	line-height:1;
	margin-bottom:.8rem;
	font-size:1.05em
}
.nsc-steps .nsc-image {
	display:block;
	width:13.5rem;
	aspect-ratio:1.5;
	object-fit:contain;
	margin:.6rem auto 1.1rem
}
.nsc-steps h3 {
	font-size:clamp(1rem,.92rem + .3vw,1.3rem)
}
.nsc-steps p {
	font-size:.9em
}
.nsc-staff {
	border-radius:var(--nsc-radius);
	background:#f0f8ff;
	overflow:hidden
}
.nsc-staff>.nsc-image {
	width:100%;
	aspect-ratio:1.55;
	object-fit:cover
}
.nsc-staff-body {
	padding:clamp(1.4rem,2.5vw,2.5rem);
	font-size:.94em
}
.nsc-staff-body h3 {
	text-align:center;
	margin-bottom:.25rem
}
.nsc-staff-body>.nsc-kicker {
	text-align:center;
	margin-bottom:1.3rem
}
.nsc-staff-body .nsc-note {
	margin-top:1.4rem
}
.nsc-reviews {
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:calc((100% - 2 * var(--nsc-gap))/3);
	gap:var(--nsc-gap);
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	padding:.4rem .1rem 1.1rem
}
.nsc-review {
	scroll-snap-align:start;
	background:#fff;
	padding:1.7rem;
	border-radius:var(--nsc-radius);
	box-shadow:var(--nsc-shadow)
}
.nsc-review>.nsc-icon {
	color:#abc9db;
	margin-bottom:1rem;
	width:2.3rem;
	height:2.3rem
}
.nsc-review p {
	font-size:.92em
}
.nsc-review footer {
	border-top:.0625rem solid #e4e8ed;
	margin-top:1.4rem;
	padding-top:1rem;
	font-size:.9em
}
.nsc-review footer strong {
	display:block
}
.nsc-split {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:clamp(2rem,4vw,5rem);
	align-items:center
}
.nsc-media {
	width:100%;
	border-radius:var(--nsc-radius);
	overflow:hidden
}
.nsc-media>.nsc-image {
	width:100%;
	object-fit:cover
}
.nsc-split>.nsc-image {
	border-radius:var(--nsc-radius);
	width:100%
}
.nsc-prose {
	line-height:2
}
.nsc-prose :where(a) {
	text-decoration:underline;
	text-underline-offset:.2em;
	color:#246289
}
.nsc-prose :where(h2) {
	margin-top:2.5rem
}
.nsc-prose :where(h3) {
	margin-top:1.8rem
}
.nsc-prose :where(ul,ol) {
	margin-bottom:1.5rem
}
.nsc-prose :where(table) {
	width:100%;
	border-collapse:collapse
}
.nsc-prose :where(th,td) {
	padding:1rem;
	border:.0625rem solid #cbd5df;
	text-align:left
}
.nsc-prose :where(blockquote) {
	border-left:.25rem solid var(--nsc-blue);
	padding:1.25rem;
	background:#f6f9fb;
	margin-block:1.5rem
}
.nsc-prose :where(iframe) {
	max-width:100%
}
.nsc-prose :where(img) {
	height:auto
}
.nsc-prose :where(pre) {
	overflow:auto;
	max-width:100%
}
.nsc-faq-list {
	display:grid;
	gap:1rem
}
.nsc-faq {
	border-radius:.8rem;
	background:var(--nsc-sand);
	overflow:hidden
}
.nsc-section--sand .nsc-faq {
	background:#fff
}
.nsc-faq summary {
	display:flex;
	gap:1.05rem;
	align-items:center;
	padding:1.35rem 1.5rem;
	list-style:none;
	font-weight:600;
	line-height:1.7
}
.nsc-faq summary::-webkit-details-marker {
	display:none
}
.nsc-faq-q {
	color:#397aa4;
	font-weight:800;
	font-size:1.25em
}
.nsc-faq summary>.nsc-icon {
	margin-left:auto;
	width:1.05em;
	transition:transform .2s
}
.nsc-faq[open] summary>.nsc-icon {
	transform:rotate(180deg)
}
.nsc-faq-answer {
	padding:0 1.5rem 1.5rem 3.9rem;
	color:#45556a;
	font-size:.95em
}
.nsc-faq-group+.nsc-faq-group {
	margin-top:3rem
}
.nsc-faq-group>h2 {
	font-size:clamp(1.3rem,1rem + .7vw,1.85rem);
	margin-bottom:1.3rem
}
.nsc-cta {
	position:relative;
	isolation:isolate;
	background:#123e60;
	overflow:hidden;
	color:#fff;
	text-align:center;
	padding:clamp(3.5rem,6vw,6rem) 0
}
.nsc-cta-image {
	position:absolute;
	z-index:-2;
	inset:0;
	width:100%;
	height:100%!important;
	object-fit:cover
}
.nsc-cta:after {
	content:"";
	position:absolute;
	inset:0;
	background:#0936568c;
	z-index:-1
}
.nsc-cta h2 {
	color:#fff;
	max-width:58rem;
	margin:0 auto 1rem
}
.nsc-cta p {
	max-width:52rem;
	margin-inline:auto
}
.nsc-cta .nsc-actions {
	margin-top:2rem
}
.nsc-site-footer {
	padding:clamp(3rem,5vw,5.5rem) 0 1.5rem;
	background:#fff
}
.nsc-footer-top {
	display:grid;
	grid-template-columns:1.25fr repeat(3,1fr);
	gap:2rem;
	padding-bottom:3rem
}
.nsc-footer-top>.nsc-brand-link {
	align-self:start;
	margin-top:.4rem
}
.nsc-footer-top h2 {
	font-size:clamp(.95rem,.85rem + .25vw,1.15rem);
	margin-bottom:.9rem
}
.nsc-footer-top ul {
	list-style:none;
	padding:0!important;
	font-size:clamp(.83rem,.76rem + .2vw,.98rem)
}
.nsc-footer-top li+li {
	margin-top:.6rem
}
.nsc-footer-bottom {
	border-top:.0625rem solid #dce1e6;
	padding-top:1.5rem;
	display:flex;
	align-items:center;
	gap:1.5rem;
	font-size:clamp(.72rem,.67rem + .15vw,.85rem);
	color:#596678
}
.nsc-footer-bottom small {
	font-size:inherit;
	margin-right:auto
}
.nsc-footer-bottom .nsc-button {
	font-size:inherit;
	min-height:2.8rem;
	padding:.5rem 1.4rem;
	border-radius:.4rem
}
/* Forms are the original Contact Form 7 forms, styled without replacing controls. */
.nsc-contact-layout {
	display:grid;
	grid-template-columns:minmax(0,1.8fr) minmax(16rem,1fr);
	gap:2rem;
	align-items:start
}
.nsc-form-card {
	background:#fff;
	border-radius:var(--nsc-radius);
	padding:clamp(1.5rem,3.5vw,3.5rem);
	box-shadow:var(--nsc-shadow)
}
.nsc-form-card .wpcf7 {
	max-width:none
}
.nsc-form-card form p {
	margin-bottom:1.4rem
}
.nsc-form-card label {
	font-size:.95em;
	font-weight:600;
	display:block
}
.nsc-form-card :where(input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
	display:block;
	width:100%;
	max-width:100%;
	border:.0625rem solid #b9c6d2;
	border-radius:.5rem;
	padding:.75rem 1rem;
	color:var(--nsc-ink);
	background:#fff;
	box-shadow:none;
	min-height:3.1rem;
	margin-top:.5rem;
	font-weight:400
}
.nsc-form-card textarea {
	min-height:11rem;
	resize:vertical
}
.nsc-form-card input[type=submit] {
	display:block;
	width:min(100%,25rem);
	margin:2rem auto 0;
	border:0;
	border-radius:10rem;
	min-height:3.4rem;
	background:var(--nsc-blue);
	color:#142d44;
	font-weight:700;
	cursor:pointer;
	padding:.8rem 2rem
}
.nsc-form-card input[type=checkbox],.nsc-form-card input[type=radio] {
	width:1.2em;
	height:1.2em;
	accent-color:#316b94;
	vertical-align:middle
}
.nsc-form-card :where(.wpcf7-list-item) {
	margin:.5rem 1rem .5rem 0
}
.nsc-form-card .wpcf7-not-valid-tip {
	font-size:.85em
}
.nsc-contact-aside {
	background:white;
	border-radius:var(--nsc-radius);
	padding:2rem
}
.nsc-contact-aside h2 {
	font-size:1.3em
}
.nsc-contact-aside h3 {
	font-size:1em;
	margin-top:1.5rem
}
.nsc-contact-aside .nsc-button {
	width:100%;
	min-width:0;
	padding-inline:1rem
}
.nsc-process .nsc-card {
	text-align:center
}
.nsc-process .nsc-icon {
	width:3rem;
	height:3rem;
	color:#3779ad;
	margin:1rem auto
}
.nsc-payment-card {
	text-align:center
}
.nsc-payment-card>.nsc-icon {
	width:3rem;
	height:3rem;
	color:#4383b0;
	margin-bottom:1.2rem
}
.nsc-payment-brands {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:1rem;
	font-size:1.2em;
	font-weight:700;
	margin-block:1.5rem
}
.nsc-company-table {
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	border-radius:.65rem;
	overflow:hidden
}
.nsc-company-table th,.nsc-company-table td {
	text-align:left;
	padding:1.2rem 1.6rem;
	border-bottom:.0625rem solid #dce4eb;
	vertical-align:top
}
.nsc-company-table th {
	background:var(--nsc-blue);
	width:25%;
	font-weight:600
}
.nsc-company-table td {
	background:#fff
}
.nsc-company-table tr:last-child>* {
	border:0
}
.nsc-roadmap {
	counter-reset:roadmap;
	list-style:none;
	padding:0!important
}
.nsc-roadmap .nsc-card {
	background:#f0f8ff
}
.nsc-roadmap p {
	font-size:.95em
}
/* Services */
.nsc-journey {
	align-items:start;
	text-align:center
}
.nsc-journey .nsc-image {
	width:100%;
	height:12rem;
	object-fit:contain
}
.nsc-journey h2 {
	font-size:clamp(1.1rem,.95rem + .5vw,1.6rem);
	border-radius:.5rem;
	background:#b5d3ec;
	padding:.8rem;
	margin:1rem 0
}
.nsc-journey article:nth-child(2) h2 {
	background:#c1dcca
}
.nsc-journey article:nth-child(3) h2 {
	background:#ecd0cd
}
.nsc-checklist {
	padding:0!important;
	list-style:none;
	display:grid;
	gap:.6rem
}
.nsc-checklist li {
	display:flex;
	gap:.7rem;
	align-items:baseline;
	text-align:left
}
.nsc-checklist .nsc-icon {
	width:1.05em;
	height:1.05em;
	color:#427356
}
.nsc-comparison {
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	font-size:.95em
}
.nsc-comparison th {
	background:#ecf4fb;
	padding:1.2rem;
	font-size:1.15em
}
.nsc-comparison thead th:last-child {
	background:#dbeedf
}
.nsc-comparison tbody th {
	width:14%;
	font-size:1em;
	vertical-align:middle
}
.nsc-comparison td {
	width:43%;
	padding:1.3rem 1.5rem;
	border-bottom:.0625rem solid #dce3e9
}
.nsc-comparison-problem {
	display:flex;
	align-items:center;
	gap:1.2rem
}
.nsc-comparison-problem .nsc-image {
	width:7rem;
	max-height:8rem;
	object-fit:contain;
	flex:none
}
.nsc-comparison-support {
	display:flex;
	align-items:center;
	gap:1rem
}
.nsc-comparison-support figure {
	width:5rem;
	flex:none;
	text-align:center;
	font-size:.8em
}
.nsc-comparison-support .nsc-image {
	width:5rem;
	height:5rem;
	object-fit:contain
}
.nsc-comparison-support>p {
	background:#e9f2e8;
	border-radius:1rem;
	padding:1.15rem;
	margin:0;
	position:relative
}
.nsc-comparison-support>p:before {
	content:"";
	position:absolute;
	left:-.55rem;
	top:45%;
	border-top:.6rem solid transparent;
	border-bottom:.6rem solid transparent;
	border-right:.6rem solid #e9f2e8
}
.nsc-plan {
	border:.0625rem solid #d6e0e7;
	display:flex;
	flex-direction:column;
	position:relative
}
.nsc-plan--featured {
	border:.15rem solid #d1b050
}
.nsc-plan-label {
	position:absolute;
	top:-1rem;
	left:50%;
	transform:translateX(-50%);
	background:#ddbd61;
	border-radius:5rem;
	padding:.25rem 1.3rem;
	white-space:nowrap;
	font-size:.85em;
	font-weight:700
}
.nsc-plan h3 {
	font-size:clamp(1.15rem,.95rem + .4vw,1.45rem)
}
.nsc-plan p {
	font-size:.92em
}
.nsc-plan>.nsc-button {
	margin:1rem 0 1.7rem;
	padding-inline:1rem
}
.nsc-plan .nsc-checklist {
	border-top:.0625rem solid #e0e5e9;
	padding-top:1.5rem!important;
	font-size:.87em
}
.nsc-plan .nsc-checklist .is-excluded {
	color:#76818e
}
.nsc-plan .is-excluded span {
	text-decoration:line-through
}
.nsc-plan-price {
	color:var(--nsc-red);
	text-align:center;
	margin-bottom:2.5rem;
	font-weight:700;
	font-size:clamp(1.2rem,1rem + .5vw,1.65rem)
}
.nsc-support-group+.nsc-support-group {
	margin-top:3rem
}
.nsc-support-group>h3 {
	display:flex;
	gap:1rem;
	align-items:center
}
.nsc-support-group .nsc-number {
	margin:0
}
.nsc-support-group .nsc-card {
	padding:1.5rem
}
.nsc-support-group h4 {
	font-size:clamp(1rem,.92rem + .25vw,1.2rem)
}
.nsc-support-group p {
	font-size:.91em
}
.nsc-support-group .nsc-tag {
	font-size:.75em
}
/* Dynamic listings and article layout; images remain WordPress attachments. */
.nsc-list-panel {
	background:#fff;
	border-radius:var(--nsc-radius);
	padding:clamp(1.3rem,2.8vw,3rem);
	box-shadow:var(--nsc-shadow)
}
.nsc-property-grid,.nsc-post-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	grid-auto-rows:1fr;
	gap:var(--nsc-gap)
}
.nsc-property-grid>.nsc-property-card,.nsc-post-grid>.nsc-post-card {
	height:100%
}
.nsc-property-card,.nsc-post-card {
	border-radius:.9rem;
	background:#fff;
	box-shadow:0 .2rem .9rem #1e293b10;
	overflow:hidden;
	min-width:0;
	display:flex;
	flex-direction:column;
	border:.0625rem solid #e7ebed
}
.nsc-property-card img,.nsc-post-card img {
	width:100%;
	aspect-ratio:1.5;
	object-fit:cover
}
.nsc-property-card :where(h2,h3),.nsc-post-card :where(h2,h3) {
	font-size:clamp(1.05rem,.91rem + .35vw,1.4rem);
	margin:0 0 .8rem
}
.nsc-property-card-body,.nsc-post-card-body {
	padding:1.3rem;
	display:flex;
	flex-direction:column;
	flex:1
}
.nsc-property-card .nsc-button,.nsc-post-card .nsc-button {
	width:100%;
	margin-top:auto;
	padding-inline:1rem
}
.nsc-post-card :where(p) {
	font-size:.9em
}
.nsc-post-card :where(time) {
	font-size:.8em;
	color:#687887
}
.nsc-tags {
	display:flex;
	gap:.4rem;
	flex-wrap:wrap;
	margin-block:.6rem 1.1rem
}
.nsc-tag {
	display:inline-block;
	background:#f3eee8;
	color:#56616e;
	border-radius:.3rem;
	padding:.2em .65em;
	font-size:.78em
}
.nsc-facts {
	display:flex;
	gap:1rem;
	flex-wrap:wrap;
	padding-block:.8rem;
	font-size:.85em
}
.nsc-facts .nsc-icon {
	margin-right:.3rem
}
.nsc-property-price {
	font-weight:700;
	font-size:clamp(1.25rem,1rem + .7vw,1.8rem);
	margin:.5rem 0;
	color:var(--nsc-ink)
}
.nsc-property-location {
	font-size:.83em;
	color:var(--nsc-muted)
}
.nsc-pagination {
	display:flex;
	gap:.6rem;
	flex-wrap:wrap;
	justify-content:center;
	margin-top:2.4rem
}
.nsc-pagination :where(a,span) {
	display:grid;
	place-items:center;
	min-width:2.6rem;
	min-height:2.6rem;
	border:.0625rem solid #cbd7e0;
	border-radius:.45rem;
	padding:.35rem .65rem;
	font-size:.9em
}
.nsc-pagination .current {
	background:var(--nsc-blue);
	border-color:var(--nsc-blue);
	font-weight:700
}
.nsc-filter {
	border:.0625rem solid #d4dee7;
	border-radius:.7rem;
	margin-bottom:2.3rem;
	overflow:hidden
}
.nsc-filter summary {
	list-style:none;
	padding:1rem 1.4rem;
	font-weight:600;
	background:#eef5fa
}
.nsc-filter summary::-webkit-details-marker {
	display:none
}
.nsc-filter form {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:1rem;
	padding:1.4rem
}
.nsc-filter label {
	display:block;
	font-size:.85em;
	font-weight:600
}
.nsc-filter select {
	display:block;
	width:100%;
	border:.0625rem solid #bdcad5;
	border-radius:.4rem;
	background:#fff;
	color:var(--nsc-ink);
	padding:.7rem;
	margin-top:.4rem
}
.nsc-filter .nsc-actions {
	grid-column:1/-1;
	margin-top:.6rem
}
.nsc-filter button {
	border:0
}
.nsc-article {
	background:#fff;
	border-radius:var(--nsc-radius);
	padding:clamp(1.5rem,4vw,4.5rem);
	max-width:66rem;
	margin-inline:auto
}
.nsc-article-header {
	text-align:center;
	margin-bottom:2rem
}
.nsc-article-header h1 {
	font-size:clamp(1.65rem,1.1rem + 1.55vw,2.85rem);
	text-align:left
}
.nsc-article-meta {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	font-size:.85em;
	color:#607185
}
.nsc-article-featured {
	margin-block:1.8rem 2.8rem;
	border-radius:.8rem;
	overflow:hidden
}
.nsc-article-featured img {
	width:100%;
	max-height:38rem;
	object-fit:cover
}
.nsc-article .nsc-prose>h2 {
	border-left:.35rem solid var(--nsc-blue);
	padding-left:1rem;
	font-size:clamp(1.45rem,1.1rem + 1vw,2.1rem)
}
.nsc-toc {
	background:#f7f6f2;
	border-radius:.65rem;
	padding:1.5rem 2rem;
	margin-bottom:2.5rem
}
.nsc-toc>h2 {
	font-size:1.15em;
	margin:0 0 1rem
}
.nsc-toc ul {
	font-size:.95em
}
.nsc-toc a {
	color:#325f7e
}
.nsc-supervisor {
	margin-top:3rem;
	padding-top:2.5rem;
	border-top:.0625rem solid #d9e2e9
}
.nsc-supervisor-body {
	display:grid;
	grid-template-columns:8rem 1fr;
	gap:1.8rem
}
.nsc-supervisor img {
	width:8rem;
	border-radius:.75rem
}
.nsc-supervisor p {
	font-size:.9em
}
.nsc-property-detail .nsc-gallery {
	margin-top:0
}
.nsc-gallery {
	max-width:64rem;
	margin:0 auto 3rem
}
.nsc-gallery-main {
	position:relative;
	border-radius:1rem;
	overflow:hidden;
	background:#edf2f6
}
.nsc-gallery-main [data-nsc-slide] img {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:1.7;
	object-fit:cover
}
.nsc-gallery [data-nsc-prev],.nsc-gallery [data-nsc-next] {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	z-index:2;
	border:0;
	border-radius:50%;
	width:2.8rem;
	height:2.8rem;
	background:#fffef2ed;
	display:grid;
	place-items:center;
	padding:.65rem;
	color:#223c53
}
.nsc-gallery [data-nsc-prev] {
	left:1rem
}
.nsc-gallery [data-nsc-next] {
	right:1rem
}
.nsc-gallery-thumbs {
	display:flex;
	gap:.6rem;
	overflow-x:auto;
	padding:1rem .2rem;
	scroll-snap-type:x proximity
}
.nsc-gallery [data-nsc-thumb] {
	width:5.7rem;
	flex:none;
	border:.15rem solid transparent;
	padding:0;
	border-radius:.45rem;
	overflow:hidden;
	background:transparent;
	opacity:.66;
	scroll-snap-align:center
}
.nsc-gallery [data-nsc-thumb][aria-current=true] {
	border-color:#538cba;
	opacity:1
}
.nsc-gallery-thumbs img {
	width:100%;
	aspect-ratio:1.4;
	object-fit:cover
}
.nsc-property-panel {
	padding:clamp(1.5rem,3vw,2.75rem);
	background:#fff;
	border-radius:var(--nsc-radius);
	margin-bottom:1.5rem
}
.nsc-property-panel h2 {
	font-size:clamp(1.3rem,1.05rem + .7vw,1.8rem)
}
.nsc-property-amenities {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1rem
}
.nsc-property-stat {
	background:var(--nsc-sand);
	padding:1.5rem;
	border-radius:.65rem;
	text-align:center
}
.nsc-property-stat .nsc-icon {
	display:block;
	margin:0 auto .7rem;
	width:2rem;
	height:2rem
}
.nsc-property-amenities>div {
	display:flex;
	gap:1rem;
	align-items:center;
	background:var(--nsc-sand);
	padding:1.25rem;
	border-radius:.65rem
}
.nsc-table-wrap {
	overflow:auto;
	width:100%
}
.nsc-empty {
	text-align:center;
	padding:3rem 1.5rem;
	color:var(--nsc-muted)
}
/* Component contracts shared with live WordPress renderers. */
.nsc-v2 .screen-reader-text {
	position:absolute!important;
	clip:rect(1px,1px,1px,1px);
	clip-path:inset(50%);
	width:1px!important;
	height:1px!important;
	padding:0!important;
	margin:-1px!important;
	overflow:hidden;
	white-space:nowrap;
	border:0!important
}
.nsc-listing-panel {
	background:#fff;
	border-radius:var(--nsc-radius);
	padding:clamp(1.3rem,2.8vw,3rem);
	box-shadow:var(--nsc-shadow)
}
.nsc-button--pale {
	background:#eef5fb;
	color:#284760
}
.nsc-property-card-image,.nsc-post-card-image {
	display:block;
	position:relative
}
.nsc-property-card-image img,.nsc-post-card-image img {
	display:block
}
.nsc-property-closed {
	position:absolute;
	inset:0;
	display:grid;
	place-items:center;
	background:#152a4275;
	color:#fff;
	font-size:1.4em;
	font-weight:700;
	letter-spacing:.1em
}
.nsc-property-unavailable {
	background:#edf0f2;
	border-radius:.4rem;
	text-align:center;
	padding:.75rem;
	font-size:.9em;
	color:#607080;
	margin-top:auto!important
}
.nsc-property-area {
	font-size:.86em;
	color:var(--nsc-muted);
	margin-bottom:.4rem!important
}
.nsc-property-area .nsc-icon {
	width:1.05em;
	margin-right:.4rem
}
.nsc-property-price>span {
	font-weight:400;
	font-size:.6em
}
.nsc-post-category {
	align-self:start;
	padding:.12rem .7rem;
	font-size:.74em!important;
	background:var(--nsc-sand);
	border-radius:.3rem
}
.nsc-post-excerpt {
	margin-top:.8rem!important;
	color:var(--nsc-muted)
}
.nsc-image-placeholder {
	width:100%;
	aspect-ratio:1.5;
	display:grid;
	place-items:center;
	background:#ecf2f7;
	color:#92a7ba
}
.nsc-image-placeholder .nsc-icon {
	width:3.2rem;
	height:3.2rem
}
.nsc-filter form {
	display:block
}
.nsc-filter-fields {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:1rem
}
.nsc-filter summary {
	display:flex;
	align-items:center;
	gap:.7rem
}
.nsc-filter summary>.nsc-icon:last-child {
	margin-left:auto
}
.nsc-filter-reset {
	text-decoration:underline!important;
	text-underline-offset:.25rem;
	align-self:center;
	font-size:.9em
}
.nsc-pagination :where(a,span) {
	display:inline;
	min-width:0;
	min-height:0;
	border:0;
	padding:0;
	border-radius:0
}
.nsc-pagination>ul {
	display:flex;
	flex-wrap:wrap;
	gap:.6rem;
	list-style:none;
	padding:0
}
.nsc-pagination>ul>li>a,.nsc-pagination>ul>li>span {
	display:grid;
	place-items:center;
	min-width:2.6rem;
	min-height:2.6rem;
	border:.0625rem solid #cbd7e0;
	border-radius:.45rem;
	padding:.35rem .65rem
}
.nsc-pagination .current {
	background:var(--nsc-blue)
}
.nsc-facts {
	margin:0 0 1rem;
	gap:.85rem;
	justify-content:space-between
}
.nsc-facts>div {
	display:flex;
	align-items:center;
	gap:.2rem
}
.nsc-facts dd {
	margin:0
}
.nsc-facts dd span {
	font-size:.85em
}
.nsc-facts--large {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1rem;
	font-size:1em;
	padding-top:1.5rem;
	border-top:.0625rem solid #e1e6e9;
	margin:1.5rem 0 0
}
.nsc-facts--large>div {
	display:block;
	text-align:center;
	background:var(--nsc-sand);
	padding:1.4rem .8rem;
	border-radius:.7rem
}
.nsc-facts--large dt {
	font-size:.85em
}
.nsc-facts--large dt .nsc-icon {
	display:block;
	margin:0 auto .5rem;
	width:2rem;
	height:2rem
}
.nsc-facts--large dd {
	font-size:1.35em;
	font-weight:700;
	margin-top:.3rem
}
.nsc-property-overview {
	padding-top:1.5rem
}
.nsc-property-header {
	text-align:center;
	max-width:64rem;
	margin:0 auto 2rem;
	display:flex;
	flex-direction:column;
	align-items:center
}
.nsc-property-header h1 {
	font-size:clamp(1.7rem,1.1rem + 1.6vw,2.8rem)
}
.nsc-property-status {
	font-size:.85em;
	border-radius:10rem;
	padding:.25rem 1rem;
	order:-1
}
.nsc-property-status--available {
	background:#d9efe1;
	color:#22613b
}
.nsc-property-status--reviewing {
	background:#fcf0ce;
	color:#775820
}
.nsc-property-status--closed {
	background:#e6e9ed;
	color:#576575
}
.nsc-property-header .nsc-property-area {
	margin-top:1rem
}
.nsc-property-price--large {
	text-align:center;
	font-size:clamp(1.4rem,1.1rem + 1vw,2.3rem)
}
.nsc-property-features {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1rem;
	margin:0
}
.nsc-property-features>div {
	background:var(--nsc-sand);
	padding:1.2rem 1.5rem;
	border-radius:.7rem
}
.nsc-property-features dt {
	display:flex;
	align-items:center;
	gap:.8rem;
	font-size:.95em
}
.nsc-property-features dd {
	margin:.45rem 0 0 2.1rem;
	font-size:.9em;
	color:#456452
}
.nsc-property-features .is-unavailable dd {
	color:#677381
}
.nsc-property-contact {
	text-align:center
}
.nsc-property-contact .nsc-actions {
	margin-top:1.5rem
}
.nsc-article-image {
	margin:1.8rem 0 2.8rem;
	border-radius:.8rem;
	overflow:hidden
}
.nsc-article-image img {
	width:100%;
	max-height:38rem;
	object-fit:cover
}
.nsc-supervisor-inner {
	display:grid;
	grid-template-columns:8rem 1fr;
	gap:1.8rem
}
.nsc-supervisor-image img {
	width:8rem;
	border-radius:.7rem
}
.nsc-toc-title {
	font-weight:700;
	font-size:1.15em
}
.nsc-toc-level-3 {
	margin-left:1.3rem;
	font-size:.94em
}
.nsc-article-content {
	--ast-global-color-0:#b5d3ec;
	--ast-global-color-1:#537c9e;
	--ast-global-color-2:#1e293b;
	--ast-global-color-3:#526174;
	--ast-global-color-4:#fff;
	--ast-global-color-5:#f5f1eb;
	--ast-global-color-6:#526174;
	--ast-global-color-7:#b44646;
	--ast-global-color-8:#527456
}
.nsc-v2 .nsc-prose :where(p,li) {
	font-size:inherit
}
.nsc-v2 .nsc-prose :where(h2) {
	font-size:clamp(1.45rem,1.1rem + 1vw,2.1rem)
}
.nsc-v2 .nsc-prose :where(h3) {
	font-size:clamp(1.2rem,1rem + .5vw,1.6rem)
}
.nsc-v2 .nsc-prose :where(h4,h5,h6) {
	font-size:clamp(1.05rem,.95rem + .3vw,1.3rem)
}
.nsc-company-intro {
	margin-bottom:3rem
}
.nsc-company-intro h2 {
	color:var(--nsc-red)
}
.nsc-privacy>h2:first-child {
	margin-top:0
}
.nsc-process,.nsc-payment-brands {
	list-style:none;
	padding:0!important
}
.nsc-program-details {
	margin-top:2rem;
	padding:1.5rem 2rem;
	border:.0625rem solid #d4dfe7;
	border-radius:.8rem;
	background:#fff
}
.nsc-program-details>summary {
	font-weight:700;
	color:#315979
}
.nsc-program-details[open]>summary {
	margin-bottom:1.5rem
}
.nsc-plan-note {
	margin:3rem auto 0
}
.nsc-support-group {
	margin-top:2rem
}
@media(max-width:52rem) {
	.nsc-filter-fields {
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
}
@media(max-width:40rem) {
	.nsc-filter-fields {
		grid-template-columns:1fr
	}
	.nsc-facts--large {
		gap:.5rem
	}
	.nsc-facts--large>div {
		padding:1rem .4rem
	}
	.nsc-facts--large dt {
		font-size:.73em
	}
	.nsc-facts--large dd {
		font-size:1.1em
	}
	.nsc-property-features {
		grid-template-columns:1fr
	}
	.nsc-supervisor-inner {
		grid-template-columns:1fr
	}
	.nsc-program-details {
		padding:1.3rem
	}
	.nsc-listing-panel {
		padding:1rem
	}
}
/* Final visual alignment to the supplied desktop wireframes. */
.nsc-v2 .nsc-button--white {
	color:var(--nsc-ink)
}
.nsc-brand-name {
	white-space:nowrap
}
.nsc-brand {
	width:12.6rem
}
.nsc-brand>img {
	width:70%
}
.nsc-header-inner {
	width:min(100% - 3rem,84rem)
}
.nsc-v2 #ast-scroll-top {
	display:none!important
}
.nsc-hero-content {
	width:min(100% - clamp(2.5rem,8vw,9rem),100rem);
	min-height:clamp(32rem,38vw,43rem);
	padding-top:clamp(2.75rem,3.5vw,4.5rem)
}
.nsc-hero-copy {
	width:67%;
	max-width:59rem
}
.nsc-hero h1 strong {
	font-size:clamp(2.2rem,5.4vw,6.5rem)
}
.nsc-hero h1 {
	max-width:58rem
}
.nsc-hero-suffix {
	display:block;
	text-align:right;
	font-weight:500;
	font-size:.8em
}
.nsc-hero-lead {
	font-size:clamp(1rem,.85rem + .6vw,1.4rem);
	line-height:2.3;
	font-weight:400
}
.nsc-hero-lead b {
	color:var(--nsc-red)
}
.nsc-hero-lead em {
	font-style:normal;
	font-weight:700;
	color:#327caf
}
.nsc-hero-lead strong {
	color:#397b4e
}
.nsc-shields {
	margin-left:2rem
}
.nsc-hero-band .nsc-actions {
	width:min(100% - clamp(2.5rem,8vw,9rem),100rem);
	justify-content:flex-start
}
.nsc-service-card {
	padding:1.4rem
}
.nsc-service-card>.nsc-image {
	border-radius:.4rem
}
.nsc-service-body {
	padding:1.3rem 0 0;
	text-align:left
}
.nsc-service-body .nsc-button {
	align-self:stretch
}
.nsc-service-body h3 {
	font-size:clamp(1.3rem,1.05rem + .75vw,1.85rem);
	line-height:1.5
}
.nsc-service-body p {
	margin-bottom:2rem
}
.nsc-actions>.nsc-button--line {
	min-width:min(100%,25rem)
}
@media(max-width:72rem) and (min-width:40.01rem) {
	.nsc-hero-copy {
		width:70%
	}
	.nsc-hero-lead {
		max-width:35rem
	}
	.nsc-hero h1 strong {
		font-size:5.1vw
	}
}
@media(max-width:40rem) {
	.nsc-brand {
		width:10.5rem
	}
	.nsc-hero-content {
		width:calc(100% - 2.5rem);
		min-height:0;
		padding-top:2rem
	}
	.nsc-hero-copy {
		width:100%
	}
	.nsc-hero h1 strong {
		font-size:clamp(1.8rem,.6rem + 5.3vw,2.85rem)
	}
	.nsc-hero-suffix {
		text-align:left
	}
	.nsc-hero-lead {
		font-size:.95rem;
		line-height:2
	}
	.nsc-shields {
		margin-left:0
	}
	.nsc-hero-band .nsc-actions {
		width:calc(100% - 2.5rem)
	}
	.nsc-service-card {
		padding:1.2rem
	}
	.nsc-service-body h3 {
		font-size:1.4rem
	}
}
.nsc-hero-band .nsc-actions {
	margin-inline:auto
}
.nsc-property-overview {
	padding-bottom:1.5rem
}
.nsc-property-overview .nsc-gallery {
	margin-bottom:0
}
/* Preserve the active TOC plugin's anchors without rendering a second table of contents. */
.nsc-article-content #toc_container {
	width:100%;
	max-width:100%;
	background:#f7f6f2;
	border:0;
	border-radius:.65rem;
	padding:clamp(1.2rem,2vw,2rem);
	margin:1.5rem 0 2.5rem;
}
.nsc-article-content #toc_container .toc_title {
	font-weight:700;
	margin:0 0 .8rem;
}
.nsc-article-content #toc_container ul {
	font-size:.95em;
	margin-bottom:0;
}
.nsc-article-content #toc_container a {
	color:#325f7e;
}
.nsc-comments {
	margin-top:3rem;
	border-top:.0625rem solid #d9e2e9;
	padding-top:2rem;
}
.nsc-comment-list {
	list-style:none;
	padding:0!important;
}
.nsc-comment-list .comment-body {
	padding:1.4rem;
	background:var(--nsc-sand);
	border-radius:.7rem;
	margin-bottom:1rem;
}
.nsc-comment-list .comment-author img {
	border-radius:50%;
	margin-right:.7rem;
}
.nsc-comment-list .comment-meta {
	font-size:.82em;
	margin-bottom:1rem;
}
.nsc-comments .comment-respond {
	margin-top:2rem;
}
/* Only off-screen content is prepared. Match the first frame before entry and
 * retain the last frame until cleanup, preserving existing layout transforms. */
@media screen and (prefers-reduced-motion:no-preference) {
	@supports (translate:0 1rem) {
		/* Start with CSS on first paint, before deferred JavaScript can run. */
		.nsc-js .nsc-page-entrance:not(.nsc-page-entrance-complete) main :is(.nsc-page-intro,.nsc-article-header) {
			animation:nsc-page-entrance .7s cubic-bezier(.22,.61,.36,1) 1 both
		}
		@keyframes nsc-page-entrance {
			from { opacity:.22; translate:0 min(1.25rem,3svh) }
			to { opacity:1; translate:0 0 }
		}
		/* First-screen content starts before JS. Off-screen blocks are handed to
		 * the observer; without JS this animation still completes on its own. */
		.nsc-js .nsc-content-motion [data-nsc-reveal="early"]:not(.nsc-reveal-target) {
			animation:nsc-content-prepaint .7s cubic-bezier(.22,.61,.36,1) 1 both
		}
		@keyframes nsc-content-prepaint {
			from { opacity:.22; translate:0 min(1.25rem,3svh) }
			to { opacity:1; translate:0 0 }
		}
		.nsc-v2 .nsc-reveal-pending {
			opacity:.22;
			translate:0 min(1.25rem,3svh)
		}
		.nsc-v2 .nsc-reveal-running {
			animation:nsc-content-reveal .7s cubic-bezier(.22,.61,.36,1) var(--nsc-reveal-delay,0ms) 1 both
		}
		@keyframes nsc-content-reveal {
			from { opacity:.22; translate:0 min(1.25rem,3svh) }
			to { opacity:1; translate:0 0 }
		}
	}
	.nsc-v2 {
		scroll-behavior:smooth
	}
}
@media(hover:hover) and (pointer:fine) {
	.nsc-button:hover {
		transform:translateY(-.15rem);
		box-shadow:0 .35rem .9rem #1d39521c
	}
	.nsc-button--blue:hover {
		background:#a1c6e4
	}
	.nsc-property-card,.nsc-post-card {
		transition:transform .2s ease,box-shadow .2s ease
	}
	.nsc-property-card:hover,.nsc-post-card:hover {
		transform:translateY(-.2rem);
		box-shadow:0 .5rem 1.6rem #1e293b17
	}
}
@media(min-width:110rem) {
	.nsc-shell {
		width:min(87%,83rem)
	}
	.nsc-shell--narrow {
		max-width:60rem
	}
}
@media(max-width:72rem) {
	.nsc-header-inner {
		flex-wrap:wrap;
		padding-block:.8rem
	}
	.nsc-navigation {
		width:100%;
		justify-content:space-between
	}
	.nsc-nav-list {
		gap:1.6rem
	}
	.nsc-nav-list>li>a,.nsc-nav-dropdown summary {
		padding:.5rem 0
	}
	.nsc-hero-copy {
		width:68%
	}
	.nsc-hero-family {
		width:60%;
		opacity:.9
	}
	.nsc-comparison td {
		padding:1rem
	}
	.nsc-comparison-problem {
		gap:.6rem
	}
	.nsc-comparison-problem .nsc-image {
		width:5rem
	}
}
@media(max-width:52rem) {
	.nsc-js .nsc-v2 .nsc-menu-toggle {
		display:flex;
		align-items:center;
		gap:.7rem
	}
	.nsc-menu-bars {
		width:1.1rem;
		height:.65rem;
		border-block:.1rem solid currentColor
	}
	.nsc-js .nsc-v2 .nsc-navigation {
		display:none
	}
	.nsc-js .nsc-v2 .nsc-navigation.is-open {
		display:flex
	}
	.nsc-header-inner {
		min-height:4.5rem
	}
	.nsc-navigation {
		flex-direction:column;
		align-items:stretch;
		padding:.7rem 0 1rem;
		gap:1rem
	}
	.nsc-nav-list {
		display:block
	}
	.nsc-nav-list>li {
		border-bottom:.0625rem solid #e4e9ee
	}
	.nsc-nav-list>li>a,.nsc-nav-dropdown summary {
		padding:.85rem .5rem;
		font-size:1rem
	}
	.nsc-nav-dropdown summary {
		justify-content:space-between
	}
	.nsc-nav-dropdown>ul {
		position:static;
		box-shadow:none;
		border:0;
		min-width:0;
		padding:0 .6rem .6rem
	}
	.nsc-grid--3,.nsc-property-grid,.nsc-post-grid {
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
	.nsc-features {
		grid-template-columns:1fr;
		gap:2.5rem
	}
	.nsc-features article {
		max-width:35rem;
		margin-inline:auto
	}
	.nsc-split {
		gap:2rem
	}
	.nsc-contact-layout {
		grid-template-columns:1fr
	}
	.nsc-contact-aside {
		display:block
	}
	.nsc-footer-top {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:2.5rem
	}
	.nsc-footer-bottom {
		flex-wrap:wrap
	}
	.nsc-footer-bottom small {
		width:100%
	}
	.nsc-journey {
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:1rem
	}
	.nsc-journey .nsc-image {
		height:8rem
	}
	.nsc-journey .nsc-checklist {
		font-size:.85em
	}
	.nsc-comparison-support figure {
		width:3.2rem
	}
	.nsc-comparison-support .nsc-image {
		height:3.2rem
	}
	.nsc-reviews {
		grid-auto-columns:75%
	}
	.nsc-filter form {
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
}
@media(max-width:40rem) {
	.nsc-shell {
		width:calc(100% - 2.5rem)
	}
	.nsc-grid--2,.nsc-grid--3,.nsc-property-grid,.nsc-post-grid,.nsc-split {
		grid-template-columns:1fr
	}
	.nsc-brand {
		width:10.5rem
	}
	.nsc-hero-content {
		padding-top:2rem;
		padding-bottom:19rem;
		min-height:0
	}
	.nsc-hero-copy {
		width:100%
	}
	.nsc-hero h1 {
		font-size:clamp(1.15rem,.8rem + 1.7vw,1.65rem);
		line-height:1.9
	}
	.nsc-hero h1 strong {
		font-size:clamp(1.8rem,.6rem + 5.3vw,2.85rem)
	}
	.nsc-hero-family {
		width:85%;
		height:22rem!important;
		top:auto;
		bottom:0;
		object-fit:contain;
		object-position:right bottom;
		opacity:1
	}
	.nsc-hero-city {
		object-position:left center;
		opacity:.6
	}
	.nsc-hero-lead {
		max-width:100%;
		font-size:.95rem
	}
	.nsc-hero-eyebrow {
		font-size:.78rem
	}
	.nsc-shields {
		position:absolute;
		left:1.25rem;
		bottom:3rem;
		flex-direction:column;
		gap:.5rem
	}
	.nsc-shield {
		width:4.7rem;
		font-size:.65rem
	}
	.nsc-hero-band {
		padding:1.4rem 0
	}
	.nsc-hero-band .nsc-actions {
		gap:.8rem
	}
	.nsc-hero-band .nsc-button {
		min-width:0;
		width:100%
	}
	.nsc-actions>.nsc-button {
		max-width:100%
	}
	.nsc-service-body {
		padding:1.5rem
	}
	.nsc-steps {
		padding:1.8rem 1.2rem!important;
		gap:2rem
	}
	.nsc-steps li {
		width:100%;
		max-width:22rem
	}
	.nsc-steps .nsc-image {
		width:12rem
	}
	.nsc-steps h3 {
		font-size:1.15rem
	}
	.nsc-staff-body {
		padding:1.5rem
	}
	.nsc-reviews {
		grid-auto-columns:90%
	}
	.nsc-faq summary {
		padding:1.1rem;
		gap:.75rem;
		font-size:.95em
	}
	.nsc-faq-answer {
		padding:0 1.15rem 1.3rem
	}
	.nsc-page-intro {
		padding-block:1.7rem 2.5rem
	}
	.nsc-breadcrumb {
		padding-top:1.1rem
	}
	.nsc-cta-content .nsc-button {
		width:100%
	}
	.nsc-cta h2 {
		font-size:1.65rem
	}
	.nsc-footer-top {
		font-size:.95em
	}
	.nsc-footer-top>.nsc-brand-link {
		grid-column:1/-1
	}
	.nsc-footer-top {
		gap:2rem 1rem
	}
	.nsc-footer-bottom {
		gap:1rem
	}
	.nsc-contact-aside {
		padding:1.5rem
	}
	.nsc-company-table th,.nsc-company-table td {
		padding:1rem .8rem;
		font-size:.9em
	}
	.nsc-company-table th {
		width:29%
	}
	.nsc-journey {
		grid-template-columns:1fr;
		gap:2rem
	}
	.nsc-journey article {
		background:#fff;
		border-radius:1rem;
		padding:1.3rem
	}
	.nsc-journey .nsc-image {
		height:11rem
	}
	.nsc-journey .nsc-checklist {
		font-size:1em;
		max-width:25rem;
		margin-inline:auto
	}
	.nsc-comparison,.nsc-comparison tbody {
		display:block
	}
	.nsc-comparison thead {
		display:none
	}
	.nsc-comparison tr {
		display:grid;
		grid-template-columns:1fr;
		gap:0;
		margin-bottom:1.5rem;
		border:.0625rem solid #dce3e9;
		border-radius:.75rem;
		overflow:hidden
	}
	.nsc-comparison tbody th,.nsc-comparison td {
		width:auto;
		display:block;
		border:0;
		padding:1rem
	}
	.nsc-comparison tbody th {
		text-align:left
	}
	.nsc-comparison td:before {
		display:block;
		font-weight:700;
		margin-bottom:.65rem;
		color:#31536c
	}
	.nsc-comparison td:nth-child(2):before {
		content:"1人で準備をする場合"
	}
	.nsc-comparison td:nth-child(3):before {
		content:"NSCがサポートすると..."
	}
	.nsc-comparison-problem .nsc-image {
		width:6rem
	}
	.nsc-comparison-support figure {
		width:4rem
	}
	.nsc-comparison-support .nsc-image {
		height:4rem
	}
	.nsc-support-group .nsc-grid {
		grid-template-columns:1fr
	}
	.nsc-property-grid,.nsc-post-grid {
		gap:1.5rem
	}
	.nsc-filter form {
		grid-template-columns:1fr;
		padding:1rem
	}
	.nsc-filter .nsc-actions {
		flex-direction:column
	}
	.nsc-article {
		padding:1.4rem
	}
	.nsc-article .nsc-prose {
		font-size:1rem
	}
	.nsc-supervisor-body {
		grid-template-columns:1fr
	}
	.nsc-gallery-main [data-nsc-slide] img {
		aspect-ratio:1.3
	}
	.nsc-gallery [data-nsc-prev],.nsc-gallery [data-nsc-next] {
		width:2.3rem;
		height:2.3rem
	}
	.nsc-gallery [data-nsc-prev] {
		left:.6rem
	}
	.nsc-gallery [data-nsc-next] {
		right:.6rem
	}
	.nsc-property-amenities {
		grid-template-columns:1fr
	}
	.nsc-property-panel .nsc-grid--3 {
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:.5rem
	}
	.nsc-property-stat {
		padding:1rem .5rem;
		font-size:.85em
	}
}
@media(prefers-reduced-motion:reduce) {
	.nsc-v2 * {
		scroll-behavior:auto!important;
		transition:none!important;
		animation:none!important
	}
	.nsc-reveal-pending,.nsc-reveal-running {
		opacity:1!important;
		animation:none!important
	}
}
@media print {
	.nsc-site-header,.nsc-site-footer,.nsc-cta,.nsc-actions,.nsc-filter {
		display:none!important
	}
	.nsc-v2 {
		font-size:11pt
	}
	.nsc-shell {
		width:100%
	}
	.nsc-section {
		padding-block:1rem
	}
	.nsc-reveal-pending,.nsc-reveal-running {
		opacity:1;
		animation:none
	}
	.nsc-card {
		break-inside:avoid
	}
	.nsc-v2 main {
		min-height:0
	}
}
