/*
 * Natlus Capital theme styles.
 * Colors, fonts and sizes come from theme.json presets (var(--wp--preset--...)),
 * so changes made in Appearance > Editor > Styles carry through here.
 * Classes starting with "nc-" are set on blocks under Block > Advanced > Additional CSS class(es).
 */

:root {
	--nc-primary: var(--wp--preset--color--primary);
	--nc-secondary: var(--wp--preset--color--secondary);
	--nc-ink: var(--wp--preset--color--contrast);
	--nc-paper: var(--wp--preset--color--base);
	--nc-peach: var(--wp--preset--color--peach);
	--nc-peach-deep: var(--wp--preset--color--peach-deep);
	--nc-orange-ink: var(--wp--preset--color--orange-ink);
	--nc-muted: var(--wp--preset--color--muted);
	--nc-line: var(--wp--preset--color--line);
	--nc-char: var(--wp--preset--color--char);
	--nc-smoke: var(--wp--preset--color--smoke);
	--nc-display: var(--wp--preset--font-family--display);
	--nc-section-y: var(--wp--preset--spacing--70);
	--nc-radius: 22px;
	--nc-shadow: 0 28px 60px -34px rgb(24 24 24 / 0.45);
	--nc-header-offset: 132px;
}

/* ---------- Base ---------- */

html { scroll-padding-top: var(--nc-header-offset); }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:where(h1, h2, h3, h4) { text-wrap: balance; }
:where(p, li) { text-wrap: pretty; }
::selection { background: var(--nc-peach-deep); color: var(--nc-ink); }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--nc-primary);
	outline-offset: 3px;
}
a { text-decoration-thickness: 1.5px; text-underline-offset: 0.18em; }

/* Header, main and footer sit flush; full-width sections stack without gaps. */
:root .wp-site-blocks > *,
:root .nc-page-content > .alignfull { margin-block: 0; }

/* ---------- Buttons ---------- */

.wp-block-button__link { transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
:root .wp-block-button.is-style-outline > .wp-block-button__link {
	padding: 0.9rem 1.6rem;
	border: 2px solid currentColor;
	background: transparent;
}
:root .wp-block-button.is-style-outline > .wp-block-button__link:hover,
:root .wp-block-button .wp-block-button__link.has-background:hover {
	background-color: var(--nc-primary) !important;
	border-color: var(--nc-primary);
	color: var(--nc-ink) !important;
}

/* ---------- Sections ---------- */

.nc-section { position: relative; padding-block: var(--nc-section-y); }
:root .nc-wrap > *,
:root .nc-head > * { margin-block: 0; }
.nc-head { max-width: 46rem; margin-block-end: var(--wp--preset--spacing--50) !important; }
:root .nc-head > * + * { margin-block-start: 1rem; }
.nc-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	color: var(--nc-muted);
}
.has-contrast-background-color .nc-lead,
.has-primary-background-color .nc-lead { color: inherit; }
.nc-subhead { font-size: var(--wp--preset--font-size--large) !important; margin-block-end: 1.25rem !important; }
.nc-note { font-size: var(--wp--preset--font-size--x-small); color: var(--nc-muted); }
:root .nc-section__actions { margin-block-start: var(--wp--preset--spacing--50); }
.nc-more { font-weight: 700; }

:root .nc-split { gap: clamp(2rem, 5vw, 5rem); }
:root .nc-split--even { gap: clamp(2rem, 4vw, 4rem); }
.nc-head--side { position: sticky; top: calc(var(--nc-header-offset) + 1rem); }
.nc-prose p { max-width: 62ch; }

/* ---------- Header ---------- */

header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}
.nc-topbar { padding-block: 0.45rem; font-size: var(--wp--preset--font-size--x-small); }
:root .nc-topbar p { margin: 0; }
.nc-topbar a { color: inherit; text-decoration: none; font-weight: 600; }
.nc-topbar a:hover { color: var(--nc-secondary); }
.nc-topbar__note { color: var(--nc-smoke); }
:root .nc-topbar__contact { gap: 1.75rem; }

.nc-header { padding-block: 0.8rem; border-bottom: 1px solid var(--nc-line); }
:root .nc-header__row { gap: 1.5rem; }
:root .nc-logo { margin: 0; flex: none; }
.nc-logo img { display: block; height: 46px; width: auto; }
:root .nc-header__right { gap: 1.75rem; }
:root .nc-header__actions { gap: 0.6rem; flex-wrap: nowrap; }
:root .nc-header__actions .wp-block-button .wp-block-button__link { padding: 0.65rem 1.15rem; white-space: nowrap; }

:root .nc-nav { gap: 1.6rem; }
.nc-nav a { text-decoration: none; }
.nc-nav .wp-block-navigation-item__content:hover { color: var(--nc-orange-ink); }
.nc-nav .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-color: var(--nc-primary);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.5em;
}
.nc-nav.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	min-width: 270px;
	padding: 0.5rem;
	border: 1px solid var(--nc-line);
	border-radius: 18px;
	box-shadow: var(--nc-shadow);
	margin-top: 0.4rem;
}
.nc-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.6rem 0.85rem;
	border-radius: 11px;
}
.nc-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--nc-peach);
	color: var(--nc-ink);
}

/* Menu button until the bar has room for every link. */
@media (min-width: 600px) and (max-width: 1023px) {
	.nc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.nc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 1023px) {
	:root { --nc-header-offset: 110px; }
	:root .nc-nav { order: 2; }
	:root .nc-header__right { gap: 1rem; }
}
.nc-nav .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	padding: 1.5rem clamp(1rem, 5vw, 2.5rem);
}
.nc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.nc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
	gap: 1.1rem;
}
.nc-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--nc-display);
	font-size: 1.5rem;
}
.nc-nav .is-menu-open .wp-block-navigation__submenu-container { gap: 0.6rem; padding: 0.75rem 0 0.25rem 1rem !important; border: 0 !important; box-shadow: none !important; }
.nc-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.0625rem; color: var(--nc-muted); }

@media (max-width: 1180px) { :root .nc-header__actions .nc-header__phone { display: none; } }
@media (max-width: 781px) {
	.nc-topbar__note { display: none; }
	:root .nc-topbar__row { justify-content: center; }
}
@media (max-width: 599px) {
	:root { --nc-header-offset: 76px; }
	header.wp-block-template-part { top: 0; }
	.nc-topbar { display: none; }
	.nc-logo img { height: 36px; }
	:root .nc-header__actions .wp-block-button .wp-block-button__link { padding: 0.55rem 0.95rem; }
}

/* ---------- Hero ---------- */

.nc-hero {
	overflow: hidden;
	padding-block: var(--wp--preset--spacing--60);
	background-image: url("../images/mark-tonal-orange.svg");
	background-repeat: no-repeat;
	background-size: auto 128%;
	background-position: right -9vw top 40%;
}
:root .nc-hero__cols { gap: clamp(2rem, 5vw, 4.5rem); }
.nc-hero__title { font-size: var(--wp--preset--font-size--huge) !important; max-width: 13ch; }
.nc-hero__lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	font-weight: 500;
	max-width: 34rem;
}
:root .nc-hero__main > .nc-hero__title + .nc-hero__lead { margin-block-start: 1.5rem; }
:root .nc-hero__actions { margin-block-start: 2rem; gap: 0.75rem; }
.nc-hero .wp-block-button__link:hover,
:root .nc-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: var(--nc-paper) !important;
	border-color: var(--nc-paper);
	color: var(--nc-ink) !important;
}
.nc-facts {
	list-style: none;
	padding: 0;
	margin-block-start: 2rem !important;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.6rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}
.nc-facts li { display: flex; align-items: center; gap: 0.55rem; }
.nc-facts li::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--nc-paper);
	flex: none;
}

/* Amount picker */
.nc-amount {
	background: var(--nc-paper);
	color: var(--nc-ink);
	border-radius: 28px;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	box-shadow: 0 40px 80px -40px rgb(90 20 0 / 0.55);
}
.nc-amount p { margin: 0; }
.nc-amount__label { font-weight: 700; }
.nc-amount__value {
	margin-top: 0.4rem !important;
	font-family: var(--nc-display);
	font-size: clamp(2.25rem, 1.8rem + 1.8vw, 3.1rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.nc-amount__range {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	height: 34px;
	margin: 0.9rem 0 0;
	background: transparent;
	cursor: pointer;
	--fill: 44%;
}
.nc-amount__range:focus { outline: none; }
.nc-amount__range::-webkit-slider-runnable-track {
	height: 10px;
	border-radius: 10px;
	background: linear-gradient(to right, var(--nc-primary) var(--fill), var(--nc-peach-deep) var(--fill));
}
.nc-amount__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 30px;
	height: 30px;
	margin-top: -10px;
	border-radius: 50%;
	background: var(--nc-ink);
	border: 5px solid var(--nc-paper);
	box-shadow: 0 2px 10px rgb(24 24 24 / 0.35);
}
.nc-amount__range::-moz-range-track { height: 10px; border-radius: 10px; background: var(--nc-peach-deep); }
.nc-amount__range::-moz-range-progress { height: 10px; border-radius: 10px; background: var(--nc-primary); }
.nc-amount__range::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--nc-ink);
	border: 5px solid var(--nc-paper);
	box-shadow: 0 2px 10px rgb(24 24 24 / 0.35);
}
.nc-amount__range:focus-visible::-webkit-slider-thumb { outline: 3px solid var(--nc-primary); outline-offset: 2px; }
.nc-amount__range:focus-visible::-moz-range-thumb { outline: 3px solid var(--nc-primary); outline-offset: 2px; }
.nc-amount__scale {
	display: flex;
	justify-content: space-between;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	color: var(--nc-muted);
	font-variant-numeric: tabular-nums;
}
.nc-amount__use { border: 0; padding: 0; margin: 1.4rem 0 0; min-width: 0; }
.nc-amount__use legend { padding: 0; margin-bottom: 0.65rem; font-weight: 700; }
.nc-amount__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.nc-chip { position: relative; display: inline-flex; }
.nc-chip input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.nc-chip span {
	padding: 0.45rem 0.85rem;
	border: 1.5px solid var(--nc-line);
	border-radius: 999px;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.nc-chip:hover span { border-color: var(--nc-ink); }
.nc-chip input:checked + span { background: var(--nc-ink); border-color: var(--nc-ink); color: var(--nc-paper); }
.nc-chip input:focus-visible + span { outline: 3px solid var(--nc-primary); outline-offset: 2px; }
.nc-amount__fit {
	margin-top: 1.4rem !important;
	padding-top: 1.1rem;
	border-top: 1px solid var(--nc-line);
	font-size: var(--wp--preset--font-size--small);
	color: var(--nc-muted);
}
.nc-amount__fit a { color: var(--nc-ink); font-weight: 700; }
.nc-amount__go {
	display: block;
	width: 100%;
	margin-top: 1.1rem;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}
.nc-amount__note { margin-top: 0.75rem !important; text-align: center; font-size: var(--wp--preset--font-size--x-small); color: var(--nc-muted); }

@media (max-width: 781px) {
	.nc-hero {
		background-size: 125% auto;
		background-position: right -45% top -2rem;
		padding-block-start: var(--wp--preset--spacing--50);
	}
	.nc-hero__title { max-width: 12ch; }
	.nc-hero__lead { font-size: var(--wp--preset--font-size--medium); }
}

/* ---------- Financing options ---------- */

.nc-products { border-top: 1px solid var(--nc-line); }
.nc-product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 3rem;
	align-items: center;
	gap: 1.25rem clamp(1.5rem, 3vw, 3rem);
	padding-block: 1.75rem;
	border-bottom: 1px solid var(--nc-line);
	transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
:root .nc-product > *,
:root .nc-product__main > *,
:root .nc-specs > *,
:root .nc-spec > * { margin: 0; }
.nc-product::after {
	content: "";
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--nc-peach) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23181818' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat;
	transition: background-color 0.15s ease, transform 0.15s ease;
}
.nc-product:hover { background: var(--nc-peach); box-shadow: 0 0 0 1.25rem var(--nc-peach); }
.nc-product:hover::after { background-color: var(--nc-primary); transform: translateX(3px); }
.nc-product__name { font-size: var(--wp--preset--font-size--x-large) !important; }
.nc-product__name a { color: inherit; text-decoration: none; }
.nc-product__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.nc-product__desc { margin-top: 0.4rem !important; color: var(--nc-muted); }
.nc-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.nc-spec__label { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; color: var(--nc-muted); }
.nc-spec__value { font-weight: 700; line-height: 1.35; font-variant-numeric: tabular-nums; }

@media (max-width: 900px) {
	.nc-product { grid-template-columns: minmax(0, 1fr) 3rem; }
	.nc-specs { grid-column: 1 / -1; grid-row: 2; }
	.nc-product::after { grid-column: 2; grid-row: 1; align-self: start; }
}
@media (max-width: 480px) {
	.nc-specs { grid-template-columns: 1fr 1fr; }
	.nc-spec:last-child { grid-column: 1 / -1; }
	.nc-product::after { width: 2.5rem; height: 2.5rem; background-size: 17px; }
}

/* ---------- Steps ---------- */

.nc-steps {
	--dot: 56px;
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem clamp(1.5rem, 3vw, 3rem);
}
.nc-steps::before {
	content: "";
	position: absolute;
	top: calc(var(--dot) / 2 - 3px);
	left: calc(var(--dot) / 2);
	right: calc((100% - 2 * clamp(1.5rem, 3vw, 3rem)) / 3 - var(--dot) / 2);
	height: 6px;
	border-radius: 6px;
	background: var(--nc-secondary);
}
:root .nc-step > *,
:root .nc-step__body > * { margin: 0; }
.nc-step { position: relative; }
.nc-step__num {
	display: grid;
	place-items: center;
	width: var(--dot);
	height: var(--dot);
	border-radius: 50%;
	background: var(--nc-primary);
	color: var(--nc-ink);
	font-family: var(--nc-display);
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1;
	position: relative;
	z-index: 1;
}
:root .nc-step__body { margin-top: 1.4rem; }
.nc-step__title { font-size: var(--wp--preset--font-size--large) !important; }
.nc-step__text { margin-top: 0.6rem !important; color: var(--nc-muted); max-width: 30ch; }

.nc-steps--vertical { grid-template-columns: minmax(0, 1fr); max-width: 44rem; --gap: 2.25rem; gap: var(--gap); }
.nc-steps--vertical::before { content: none; }
.nc-steps--vertical .nc-step { display: grid; grid-template-columns: var(--dot) minmax(0, 1fr); gap: 1.4rem; align-items: start; }
:root .nc-steps--vertical .nc-step__body { margin-top: calc(var(--dot) / 2 - 0.85rem); }
.nc-steps--vertical .nc-step__text { max-width: 54ch; }
.nc-steps--vertical .nc-step:not(:last-child)::before {
	content: "";
	position: absolute;
	left: calc(var(--dot) / 2 - 3px);
	top: calc(var(--dot) / 2);
	bottom: calc(-1 * var(--gap));
	width: 6px;
	border-radius: 6px;
	background: var(--nc-secondary);
}

@media (max-width: 781px) {
	.nc-steps:not(.nc-steps--vertical) { grid-template-columns: minmax(0, 1fr); --gap: 2rem; gap: var(--gap); }
	.nc-steps:not(.nc-steps--vertical)::before { content: none; }
	.nc-steps:not(.nc-steps--vertical) .nc-step { display: grid; grid-template-columns: var(--dot) minmax(0, 1fr); gap: 1.25rem; }
	:root .nc-steps:not(.nc-steps--vertical) .nc-step__body { margin-top: calc(var(--dot) / 2 - 0.85rem); }
	.nc-steps:not(.nc-steps--vertical) .nc-step:not(:last-child)::before {
		content: "";
		position: absolute;
		left: calc(var(--dot) / 2 - 3px);
		top: calc(var(--dot) / 2);
		bottom: calc(-1 * var(--gap));
		width: 6px;
		border-radius: 6px;
		background: var(--nc-secondary);
	}
}

/* ---------- Benefits, industries, values ---------- */

.nc-why { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.75rem clamp(2rem, 4vw, 3.5rem); }
.nc-why--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
:root .nc-why > *,
:root .nc-why__item > * { margin: 0; }
.nc-why__title {
	display: flex;
	align-items: baseline;
	gap: 0.7rem;
	font-size: var(--wp--preset--font-size--large) !important;
}
.nc-why__title::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--nc-primary);
	flex: none;
	transform: translateY(-0.05em);
}
.nc-why__item p { margin-top: 0.7rem !important; color: var(--nc-muted); }

:root .nc-industries { margin-top: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--nc-line); }
.nc-pills { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.nc-pills li {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.55rem 1.1rem 0.55rem 0.95rem;
	border: 1px solid var(--nc-line);
	border-radius: 999px;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}
.nc-pills li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--nc-primary); flex: none; }

@media (max-width: 781px) {
	.nc-head--side { position: static; }
	.nc-why--three { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
	.nc-why { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
}

/* ---------- Reviews ---------- */

.nc-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
:root .nc-reviews > *,
:root .nc-review > * { margin: 0; }
.nc-review {
	padding: 1.75rem;
	border: 2px dashed color-mix(in srgb, var(--nc-primary) 40%, transparent);
	border-radius: var(--nc-radius);
	background: var(--nc-paper);
}
.nc-review__quote { font-size: var(--wp--preset--font-size--large); line-height: 1.5; color: var(--nc-muted); font-style: italic; }
:root .nc-review__name { margin-top: 1.5rem; font-weight: 700; }
.nc-review__meta { font-size: var(--wp--preset--font-size--small); color: var(--nc-muted); }
@media (max-width: 781px) { .nc-reviews { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Lists ---------- */

.is-style-dots,
.is-style-checks { list-style: none; padding-left: 0; }
.is-style-dots li,
.is-style-checks li { position: relative; padding-left: 1.6rem; }
.is-style-dots li + li,
.is-style-checks li + li { margin-top: 0.7rem; }
.is-style-dots li::before {
	content: "";
	position: absolute;
	left: 0.15rem;
	top: 0.6em;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--nc-primary);
}
.is-style-checks li { padding-left: 2.2rem; }
.is-style-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.1em;
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 50%;
	background: var(--nc-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23181818' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 0.85rem no-repeat;
}

/* ---------- Requirements ---------- */

.nc-minimums {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border-radius: var(--nc-radius);
	background: var(--nc-peach);
}
.has-peach-background-color .nc-minimums { background: var(--nc-paper); }
:root .nc-minimums > *,
:root .nc-min > * { margin: 0; }
.nc-minimums__title { font-size: var(--wp--preset--font-size--large) !important; margin-bottom: 0.5rem !important; }
.nc-min {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding-block: 0.95rem;
	border-bottom: 1px solid var(--nc-line);
}
.nc-min__label { color: var(--nc-muted); }
.nc-min__value { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
:root .nc-minimums .nc-note { margin-top: 1rem; }

/* ---------- FAQ ---------- */

.nc-faq { border-top: 1px solid var(--nc-line); }
:root .nc-faq > * { margin: 0; }
.nc-faq details { border-bottom: 1px solid var(--nc-line); }
.nc-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.25rem;
	padding-block: 1.25rem;
	list-style: none;
	cursor: pointer;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.4;
}
.nc-faq summary::-webkit-details-marker { display: none; }
.nc-faq summary::after {
	content: "";
	flex: none;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background: var(--nc-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23181818' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 16px no-repeat;
	border: 1px solid var(--nc-line);
	transition: transform 0.2s ease, background-color 0.2s ease;
}
.nc-faq summary:hover::after { border-color: var(--nc-ink); }
.nc-faq details[open] summary::after { transform: rotate(45deg); background-color: var(--nc-primary); border-color: var(--nc-primary); }
:root .nc-faq details > p { margin: 0 0 1.4rem; max-width: 62ch; color: var(--nc-muted); }
:root .nc-more { margin-top: 1.5rem; }
:root .nc-faq-group + .nc-faq-group { margin-top: var(--wp--preset--spacing--60); }
.nc-faq-group__title { font-size: var(--wp--preset--font-size--x-large) !important; }

/* ---------- Call to action ---------- */

.nc-cta {
	overflow: hidden;
	background-image: url("../images/mark-tonal-dark.svg");
	background-repeat: no-repeat;
	background-size: auto 150%;
	background-position: right -6vw center;
}
.nc-cta__inner { max-width: 40rem; }
:root .nc-cta__inner > * { margin: 0; }
.nc-cta__lead { margin-top: 1rem !important; font-size: var(--wp--preset--font-size--large); color: var(--nc-smoke); }
.nc-cta__phone {
	margin-top: 1.75rem !important;
	font-family: var(--nc-display);
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 600;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.nc-cta__phone a { color: var(--nc-primary); text-decoration: none; }
.nc-cta__phone a:hover { color: var(--nc-secondary); text-decoration: underline; }
:root .nc-cta .wp-block-buttons { margin-top: 2rem; gap: 0.75rem; }
:root .nc-cta .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--nc-paper); }
:root .nc-cta .wp-block-button .wp-block-button__link.has-background:hover { background-color: var(--nc-paper) !important; border-color: var(--nc-paper); }
.nc-cta .wp-block-button__link.has-primary-background-color { border-color: var(--nc-primary); }
@media (max-width: 781px) {
	.nc-cta { background-size: 120% auto; background-position: right -40% bottom -30%; }
}

/* ---------- Footer ---------- */

.nc-footer {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	border-top: 1px solid var(--nc-char);
	font-size: var(--wp--preset--font-size--small);
}
:root .nc-footer__wrap > * { margin: 0; }
:root .nc-footer__cols { gap: clamp(1.5rem, 4vw, 3rem); }
:root .nc-footer__logo { margin: 0; }
.nc-footer__logo img { display: block; height: 52px; width: auto; }
.nc-footer__tag { color: var(--nc-smoke); max-width: 22rem; }
.nc-footer__title {
	font-size: var(--wp--preset--font-size--medium) !important;
	color: var(--nc-paper) !important;
	margin-bottom: 1rem !important;
}
.nc-footer__links { list-style: none; padding: 0; margin: 0; }
.nc-footer__links li + li { margin-top: 0.55rem; }
.nc-footer a { color: var(--nc-paper); text-decoration: none; }
.nc-footer a:hover { color: var(--nc-secondary); text-decoration: underline; }
:root .nc-footer__base { margin-top: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--nc-char); }
.nc-footer__legal { max-width: 70rem; font-size: var(--wp--preset--font-size--x-small); color: var(--nc-smoke); line-height: 1.6; }
:root .nc-footer__bottom { margin-top: 1.5rem; gap: 0.75rem 1.5rem; font-size: var(--wp--preset--font-size--x-small); color: var(--nc-smoke); }
:root .nc-footer__bottom p,
:root .nc-footer__legal-links p { margin: 0; }
:root .nc-footer__legal-links { gap: 1.5rem; }
.nc-footer__legal-links a { color: var(--nc-smoke); }

/* ---------- Page headers ---------- */

.nc-phero {
	overflow: hidden;
	padding-block: var(--wp--preset--spacing--60);
	background-image: url("../images/mark-tonal-peach.svg");
	background-repeat: no-repeat;
	background-size: auto 140%;
	background-position: right -8vw top 30%;
}
.nc-phero--product { background-position: right -22vw top 30%; }
:root .nc-phero__cols { gap: clamp(2rem, 5vw, 4.5rem); }
:root .nc-phero__text > *,
:root .nc-phero .wp-block-column > * { margin-block: 0; }
.nc-phero__text { max-width: 46rem; }
.nc-crumbs { font-size: var(--wp--preset--font-size--small); color: var(--nc-muted); margin-bottom: 1.25rem !important; }
.nc-crumbs a { color: inherit; }
.nc-phero__title { max-width: 16ch; }
:root .nc-phero .wp-block-column > .nc-lead, :root .nc-phero__text > .nc-lead { margin-top: 1.25rem; color: var(--nc-ink); max-width: 38rem; }
:root .nc-phero .nc-phero__actions { margin-top: 2rem; gap: 0.75rem; }
@media (max-width: 781px) {
	.nc-phero { background-size: 110% auto; background-position: right -45% bottom -30%; }
}

.nc-glance {
	background: var(--nc-paper);
	border-radius: var(--nc-radius);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	box-shadow: var(--nc-shadow);
}
:root .nc-glance > *,
:root .nc-glance__row > * { margin: 0; }
.nc-glance__title { font-size: var(--wp--preset--font-size--large) !important; margin-bottom: 0.5rem !important; }
.nc-glance__row {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 1rem;
	padding-block: 1rem;
	border-top: 1px solid var(--nc-line);
}
.nc-glance__row__label { color: var(--nc-muted); }
.nc-glance__row__value { font-weight: 700; font-variant-numeric: tabular-nums; }

.nc-aside-card { position: sticky; top: calc(var(--nc-header-offset) + 1rem); padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--nc-radius); background: var(--nc-peach); }
:root .nc-aside-card > * { margin-block: 0; }
:root .nc-aside-card > p + .wp-block-buttons { margin-top: 1.5rem; }
:root .nc-aside-card__actions { gap: 0.6rem; }
:root .nc-prose > * + p { margin-top: 1.1rem; }

/* ---------- About ---------- */

:root .nc-about__mark { margin: 0 auto; max-width: 360px; }
.nc-about__mark img { display: block; width: 100%; height: auto; }

/* ---------- Contact & apply ---------- */

.nc-contact-list { display: grid; gap: 0; border-top: 1px solid var(--nc-line); }
:root .nc-contact-list > *,
:root .nc-contact > * { margin: 0; }
.nc-contact { padding-block: 1.25rem; border-bottom: 1px solid var(--nc-line); }
.nc-contact__label { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--nc-muted); }
.nc-contact__value { margin-top: 0.25rem !important; font-family: var(--nc-display); font-size: var(--wp--preset--font-size--x-large); font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.nc-contact__value a { text-decoration: none; }
.nc-contact__value a:hover { text-decoration: underline; }

.nc-placeholder {
	padding: clamp(1.5rem, 4vw, 2.75rem);
	border: 2px dashed color-mix(in srgb, var(--nc-primary) 40%, transparent);
	border-radius: var(--nc-radius);
	background: var(--nc-peach);
}
:root .nc-placeholder > * { margin-block: 0; }
:root .nc-placeholder > * + * { margin-top: 1rem; }
.nc-placeholder__title { font-size: var(--wp--preset--font-size--x-large) !important; }
.nc-placeholder__label { font-weight: 700; }
:root .nc-placeholder .nc-placeholder__label { margin-top: 1.5rem; }

.nc-aside__title { font-size: var(--wp--preset--font-size--large) !important; }
:root .nc-apply-aside > * { margin: 0; }
:root .nc-apply-aside .nc-steps { --dot: 40px; --gap: 1.5rem; margin-top: 1.5rem; }
.nc-apply-aside .nc-step__num { font-size: 1rem; }
.nc-apply-aside .nc-step__title { font-size: var(--wp--preset--font-size--medium) !important; }
.nc-callout { margin-top: 2.25rem !important; padding: 1.5rem; border-radius: var(--nc-radius); background: var(--nc-ink); color: var(--nc-paper); }
:root .nc-callout > * { margin: 0; }
.nc-callout__label { color: var(--nc-smoke); font-weight: 600; }
.nc-callout__phone { font-family: var(--nc-display); font-size: var(--wp--preset--font-size--x-large); font-weight: 600; }
.nc-callout__phone a { color: var(--nc-primary); text-decoration: none; }

/* Form plugins (WPForms, Gravity Forms, Contact Form 7, Fluent Forms) pick up the brand look. */
.wp-block-post-content :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="date"], select, textarea) {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.8rem 1rem;
	border: 1.5px solid var(--nc-line);
	border-radius: 12px;
	background: var(--nc-paper);
	color: var(--nc-ink);
	font: inherit;
}
.wp-block-post-content :is(input, select, textarea):focus {
	border-color: var(--nc-ink);
	outline: 3px solid var(--nc-peach-deep);
	outline-offset: 0;
}
.wp-block-post-content form label { font-weight: 600; }
.wp-block-post-content form :is(input[type="submit"], button[type="submit"]) {
	padding: 0.9rem 1.8rem;
	border: 2px solid var(--nc-ink);
	border-radius: 999px;
	background: var(--nc-ink);
	color: var(--nc-paper);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.wp-block-post-content form :is(input[type="submit"], button[type="submit"]):hover {
	background: var(--nc-primary);
	border-color: var(--nc-primary);
	color: var(--nc-ink);
}

/* ---------- Standard pages, posts, 404 ---------- */

.nc-standard { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); }
.nc-standard .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large); }
.nc-post-list .wp-block-post-title a { text-decoration: none; }
.nc-post-list .wp-block-post-title a:hover { color: var(--nc-orange-ink); }
.nc-post-list .wp-block-post { padding-block: 1.75rem; border-bottom: 1px solid var(--nc-line); }
.wp-block-post-date { font-size: var(--wp--preset--font-size--small); color: var(--nc-muted); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
