/* Stitch layouts; Apple-like ink/gray chrome */
.entry-content > .nl-s,
.nl-s {
	max-width: none;
}

.nl-s {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	color: #1d1d1f;
}

.nl-s h1,
.nl-s h2,
.nl-s h3 {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	font-weight: 600;
	letter-spacing: -0.022em;
	color: #1d1d1f;
}

.nl-s-hero.wp-block-group,
.nl-s-band.wp-block-group {
	max-width: none;
}

.nl-s-hero .wp-block-group__inner-container,
.nl-s-band .wp-block-group__inner-container,
.nl-s-hero.wp-block-group,
.nl-s-band.wp-block-group {
	max-width: none;
}

.nl-s.wp-block-group > * {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}

.nl-s-hero .wp-block-buttons,
.nl-s-band .wp-block-buttons {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
}

.wp-block-column.nl-s-card {
	background: #ffffff;
	border: 1px solid #d2d2d7;
	border-radius: 14px;
	corner-shape: squircle;
	padding: 1.5rem;
}

.nl-s-band--navy .wp-element-button {
	background: #0071e3;
	color: #ffffff;
}

.nl-s-hero {
	background: #ffffff !important;
	color: #1d1d1f;
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
	border-bottom: 1px solid #d2d2d7;
}

/* One left reading column: Gutenberg constrained layout otherwise
   full-width H1 + auto-centered lede. */
.nl-s-hero.wp-block-group,
.nl-s-hero.is-layout-constrained {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.nl-s-hero.wp-block-group > *,
.nl-s-hero.is-layout-constrained > * {
	max-width: 44rem;
	width: 100%;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-block: 0;
}

.nl-s-hero h1 {
	color: #1d1d1f;
	font-size: clamp(1.5rem, 1.2vw + 1.15rem, 2.125rem);
	line-height: 1.2;
	letter-spacing: -0.022em;
	margin: 0 0 0.5rem;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
}

.nl-s-hero p,
.nl-s-hero .nl-s-lede {
	color: #6e6e73;
	font-size: 1.0625rem;
	line-height: 1.5;
	max-width: 44rem;
	margin: 0;
}

.nl-s-dir,
ul.wp-block-list.nl-s-dir {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	padding: 0.85rem 0 0;
	margin: 0;
}

.nl-s-dir li,
ul.wp-block-list.nl-s-dir li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nl-s-dir a {
	display: flex;
	align-items: center;
	min-height: 44px;
	color: #1d1d1f;
	text-decoration: none;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	font-weight: 500;
	font-size: 1rem;
	border-bottom: 1px solid #d2d2d7;
	padding: 0.35rem 0;
	line-height: 1.35;
}

.nl-s-dir a:hover {
	color: #0071e3;
}

.nl-s-band {
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
	background: #f5f5f7;
}

.nl-s-band--white {
	background: #fff;
}

.nl-s-band--navy {
	background: #202f46;
	color: #f5f5f7;
}

.nl-s-band--navy h2,
.nl-s-band--navy h3 {
	color: #f5f5f7;
}

.nl-s-band h2 {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	margin: 0 0 1.5rem;
}

.nl-s-rule {
	border-left: 4px solid #202f46;
	padding-left: 1.25rem;
}

.nl-s-grid-3,
.nl-s-grid-2,
.nl-s-cards {
	display: grid;
	gap: 1.5rem;
}

.nl-s-grid-3 {
	grid-template-columns: 1fr;
}

.nl-s-grid-2,
.nl-s-cards {
	grid-template-columns: 1fr;
}

.nl-s-card {
	background: #ffffff;
	border: 1px solid #d2d2d7;
	border-radius: 14px;
	corner-shape: squircle;
	padding: 1.5rem;
}

.nl-s-card h3 {
	margin-top: 0;
	font-size: 1.25rem;
}

.nl-s-card a {
	color: #0071e3;
	font-weight: 600;
	text-decoration: none;
}

.nl-s-card a:hover {
	color: #0077ed;
}

.nl-s-btn {
	display: inline-block;
	margin: 0.35rem 0.5rem 0.35rem 0;
	padding: 0.65rem 1.15rem;
	border-radius: 14px;
	corner-shape: squircle;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	background: #0071e3;
	color: #ffffff;
	transition: transform 100ms ease-out, background-color 120ms ease;
}

.nl-s-btn--ghost {
	background: transparent;
	color: #0071e3;
	border: 1px solid #0071e3;
}

.nl-s-btn--light {
	background: #ffffff;
	color: #1d1d1f;
}

.nl-s-btn:hover {
	background: #0077ed;
}

.nl-s-btn:active {
	transform: scale(0.97);
}

.nl-s-list {
	margin: 0 0 1.25rem;
	padding-left: 1.2rem;
}

.nl-s-faq details {
	border-bottom: 1px solid #e0e3e5;
	padding: 0.85rem 0;
}

.nl-s-faq summary {
	font-weight: 600;
	cursor: pointer;
	font-family: "Public Sans", sans-serif;
}

.nl-s-split {
	display: grid;
	gap: 2rem;
}

.wp-block-columns {
	gap: 1.25rem;
}

@media (min-width: 782px) {
	.nl-s-grid-2,
	.nl-s-cards,
	.nl-s-split,
	.nl-s-grid-3 {
		grid-template-columns: 1fr 1fr;
		display: grid;
	}

	.nl-s-dir,
	ul.wp-block-list.nl-s-dir {
		display: flex;
		flex-direction: column;
	}
}

@media (min-width: 1100px) {
	.nl-s-grid-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 781px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-direction: column !important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	.nl-s-card,
	.wp-block-column.nl-s-card {
		padding: 1.15rem;
	}

	.nl-s-hero h1 {
		font-size: clamp(1.375rem, 5.5vw, 1.75rem);
	}

	.nl-s-band h2 {
		font-size: clamp(1.45rem, 6vw, 1.85rem);
	}
}
