/*
 * Formsieve base: type, links, focus, buttons, inputs, cards, chips, badges,
 * placeholders, the logo mark, layout helpers for WPBakery rows/columns.
 * Values come from "Formsieve Brand Sheet.dc.html" and the page artboards.
 *
 * Row classes go in the row "Extra class name" (Salient param `class`),
 * column classes in the column "Extra class name" (`el_class`).
 */

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

html body.fs-site {
	/*
	 * Visible page width (viewport minus a classic scrollbar), used by
	 * .fs-wide / .fs-block to find the viewport edges. assets/js/site.js (in
	 * the head) sets --fs-page-w-js from document.documentElement.clientWidth.
	 * 100vw alone is not reliable: browsers disagree on whether it includes
	 * the scrollbar when <html> has overflow-y: scroll (Salient sets it).
	 * Without JS: 100vw minus Salient's measure (clamped at 0 because Salient
	 * leaves −2 px on touch devices).
	 */
	--fs-page-w: var(--fs-page-w-js, calc(100vw - max(0px, var(--scroll-bar-w, 0px))));
	background: var(--fs-white);
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: var(--fs-body);
	font-weight: 400;
	line-height: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body.fs-site .container-wrap,
body.fs-site #ajax-content-wrap .container-wrap {
	background: var(--fs-white);
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
}

body.fs-site .container-wrap > .main-content > .row {
	padding-bottom: 0;
}

/* Salient's page container: 1240 px of content at 1440 (max 1420 − 2 × 90). */
@media (max-width: 999px) {
	body.fs-site .container,
	body.fs-site .container-wrap .container,
	body.fs-site .nectar-global-section > .container {
		max-width: none;
		width: auto;
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (max-width: 690px) {
	body.fs-site .container,
	body.fs-site .container-wrap .container,
	body.fs-site .nectar-global-section > .container {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* ------------------------------------------------------------------ */
/* Type                                                                 */
/* ------------------------------------------------------------------ */

body.fs-site p,
body.fs-site .wpb_text_column p,
body.fs-site .row .col p {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: 1.6;
	color: inherit;
}

body.fs-site h1,
body.fs-site h2,
body.fs-site h3,
body.fs-site h4,
body.fs-site h5,
body.fs-site h6,
body.fs-site .row .col h1,
body.fs-site .row .col h2,
body.fs-site .row .col h3,
body.fs-site .row .col h4,
body.fs-site .row .col h5,
body.fs-site .row .col h6 {
	margin: 0;
	padding: 0;
	color: inherit;
	font-family: var(--fs-font-display);
	text-transform: none;
}

/* The artboards balance/pretty-wrap a few headings and paragraphs. */
body.fs-site .fs-balance { text-wrap: balance; }
body.fs-site .fs-pretty { text-wrap: pretty; }

body.fs-site h1,
body.fs-site .row .col h1 {
	font-size: var(--fs-h1);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -.035em;
}

body.fs-site h2,
body.fs-site .row .col h2 {
	font-size: var(--fs-h2);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.03em;
}

body.fs-site h3,
body.fs-site .row .col h3 {
	font-size: var(--fs-h3);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

body.fs-site h4,
body.fs-site .row .col h4 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

body.fs-site h5,
body.fs-site .row .col h5,
body.fs-site h6,
body.fs-site .row .col h6 {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
}

body.fs-site strong,
body.fs-site b {
	font-weight: 700;
}

body.fs-site ul,
body.fs-site ol {
	margin: 0;
}

body.fs-site .wpb_text_column ul,
body.fs-site .wpb_text_column ol {
	margin: 0 0 0 1.25em;
	padding: 0;
}

body.fs-site li {
	line-height: 1.6;
}

/* Type utilities (apply to a text block, heading or paragraph). */
body.fs-site .fs-display,
body.fs-site .row .col .fs-display {
	font-family: var(--fs-font-display);
	font-size: var(--fs-display);
	font-weight: 800;
	line-height: var(--fs-display-lh);
	letter-spacing: -.035em;
}

body.fs-site .fs-title,
body.fs-site .row .col .fs-title {
	font-family: var(--fs-font-display);
	font-size: var(--fs-h1);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -.035em;
}

body.fs-site .fs-h2,
body.fs-site .row .col .fs-h2 {
	font-family: var(--fs-font-display);
	font-size: var(--fs-h2);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.03em;
}

body.fs-site .fs-h3,
body.fs-site .row .col .fs-h3 {
	font-family: var(--fs-font-display);
	font-size: var(--fs-h3);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

body.fs-site .fs-eyebrow,
body.fs-site .row .col .fs-eyebrow {
	display: block;
	font-family: var(--fs-font-display);
	font-size: var(--fs-eyebrow);
	font-weight: 700;
	line-height: normal;
}

body.fs-site .fs-lead,
body.fs-site .row .col .fs-lead {
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-lh);
}

body.fs-site .fs-body,
body.fs-site .row .col .fs-body {
	font-size: 16px;
	line-height: 1.6;
}

body.fs-site .fs-small,
body.fs-site .row .col .fs-small {
	font-size: 14px;
	line-height: 1.5;
}

body.fs-site .fs-mono,
body.fs-site .row .col .fs-mono,
body.fs-site code {
	font-family: var(--fs-font-mono);
	font-size: var(--fs-mono);
	font-weight: 400;
}

body.fs-site .fs-center {
	text-align: center;
}

/* Paragraph sizes used by the artboards (line-height 1.6). */
body.fs-site .fs-size-13, body.fs-site .row .col .fs-size-13 { font-size: 13px; line-height: 1.5; }
body.fs-site .fs-size-15, body.fs-site .row .col .fs-size-15 { font-size: 15px; line-height: 1.55; }
body.fs-site .fs-size-17, body.fs-site .row .col .fs-size-17 { font-size: 17px; line-height: 1.6; }
body.fs-site .fs-size-18, body.fs-site .row .col .fs-size-18 { font-size: 18px; line-height: 1.6; }

.fs-text-navy { color: var(--fs-navy); }
.fs-text-violet { color: var(--fs-violet); }
.fs-text-orange { color: var(--fs-orange); }
.fs-text-white { color: var(--fs-white); }
.fs-text-lavender { color: var(--fs-lavender); }

body.fs-site .fs-maxw-470 { max-width: 470px; }
body.fs-site .fs-maxw-560 { max-width: 560px; }
body.fs-site .fs-maxw-640 { max-width: 640px; }
body.fs-site .fs-maxw-720 { max-width: 720px; }
body.fs-site .fs-maxw-900 { max-width: 900px; }
body.fs-site .fs-maxw-1080 { max-width: 1080px; }

.fs-visually-hidden,
body.fs-site .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ------------------------------------------------------------------ */
/* Links and focus                                                      */
/* ------------------------------------------------------------------ */

body.fs-site a {
	color: var(--fs-navy);
	text-decoration: underline;
	transition: color .15s ease;
}

body.fs-site a:hover {
	color: var(--fs-violet);
}

/* White links on dark and violet surfaces. */
body.fs-site .fs-on-dark a:not(.fs-btn),
body.fs-site .fs-block--violet a:not(.fs-btn),
body.fs-site .fs-block--navy a:not(.fs-btn),
body.fs-site .fs-panel--navy a:not(.fs-btn),
body.fs-site .fs-panel--violet a:not(.fs-btn),
body.fs-site .fs-surface--navy a:not(.fs-btn),
body.fs-site .fs-surface--violet a:not(.fs-btn) {
	color: var(--fs-white);
}

body.fs-site a.fs-link-violet,
body.fs-site .fs-link-violet a {
	color: var(--fs-violet);
}

body.fs-site a.fs-link-violet:hover,
body.fs-site .fs-link-violet a:hover {
	color: var(--fs-navy);
}

body.fs-site :focus {
	outline: none;
}

body.fs-site :focus-visible {
	outline: 3px solid var(--fs-violet);
	outline-offset: 3px;
	border-radius: 4px;
}

body.fs-site .fs-on-dark :focus-visible,
body.fs-site .fs-block--violet :focus-visible,
body.fs-site .fs-block--navy :focus-visible,
body.fs-site .fs-panel--navy :focus-visible,
body.fs-site .fs-panel--violet :focus-visible,
body.fs-site .fs-surface--navy :focus-visible,
body.fs-site .fs-surface--violet :focus-visible {
	outline-color: var(--fs-white);
}

body.fs-site .fs-btn:focus-visible {
	outline-offset: 3px;
	border-radius: var(--fs-radius-pill);
}

body.fs-site .nectar-skip-to-content:focus {
	background: var(--fs-navy);
	color: var(--fs-white);
}

/* ------------------------------------------------------------------ */
/* Buttons (.fs-btn). Height 54 px, 48 in the nav, 58 in heroes.        */
/* ------------------------------------------------------------------ */

/*
 * Sizing matches the artboards, which use content-box: the 54 px height is the
 * inside of the 2 px border, so bordered buttons measure 58 px and borderless
 * (dark, primary-flat, nav) ones 54 px.
 */
body.fs-site .fs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: content-box;
	height: var(--fs-btn-h);
	margin: 0;
	padding: 0 28px;
	border: 0;
	border-radius: var(--fs-radius-pill);
	background: var(--fs-orange);
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: box-shadow .15s ease, background-color .15s ease, color .15s ease, text-decoration-thickness .15s ease;
}

body.fs-site .fs-btn--primary {
	background: var(--fs-orange);
	color: var(--fs-navy);
	border: 2px solid var(--fs-navy);
}

/* <button class="fs-btn …">: beat Salient's form-button styling. */
body.fs-site #ajax-content-wrap button.fs-btn,
body.fs-site #ajax-content-wrap input[type="submit"].fs-btn {
	height: var(--fs-btn-h) !important;
	margin: 0 !important;
	padding: 0 28px !important;
	border-radius: var(--fs-radius-pill) !important;
	font-family: var(--fs-font-body) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	opacity: 1 !important;
	transform: none !important;
}

body.fs-site #ajax-content-wrap button.fs-btn--primary,
body.fs-site #ajax-content-wrap input[type="submit"].fs-btn--primary {
	background: var(--fs-orange) !important;
	color: var(--fs-navy) !important;
	border: 2px solid var(--fs-navy) !important;
	box-shadow: none !important;
}

body.fs-site #ajax-content-wrap button.fs-btn--primary:hover,
body.fs-site #ajax-content-wrap input[type="submit"].fs-btn--primary:hover {
	box-shadow: var(--fs-shadow-hover) !important;
}

body.fs-site #ajax-content-wrap button.fs-btn--dark,
body.fs-site #ajax-content-wrap input[type="submit"].fs-btn--dark {
	background: var(--fs-navy) !important;
	color: var(--fs-white) !important;
	border: 0 !important;
}

body.fs-site #ajax-content-wrap button.fs-btn--dark:hover,
body.fs-site #ajax-content-wrap input[type="submit"].fs-btn--dark:hover {
	background: var(--fs-violet) !important;
}

body.fs-site #ajax-content-wrap button.fs-btn--outline,
body.fs-site #ajax-content-wrap input[type="submit"].fs-btn--outline {
	background: var(--fs-white) !important;
	color: var(--fs-navy) !important;
	border: 2px solid var(--fs-navy) !important;
}

body.fs-site #ajax-content-wrap button.fs-btn--outline:hover,
body.fs-site #ajax-content-wrap input[type="submit"].fs-btn--outline:hover {
	background: var(--fs-lavender) !important;
}

body.fs-site .fs-btn--primary:hover,
body.fs-site .fs-btn--primary-flat:hover {
	color: var(--fs-navy);
	box-shadow: var(--fs-shadow-hover);
}

body.fs-site .fs-btn--primary-flat {
	background: var(--fs-orange);
	color: var(--fs-navy);
	border: 0;
}

body.fs-site .fs-btn--dark {
	background: var(--fs-navy);
	color: var(--fs-white);
	border: 0;
}

body.fs-site .fs-btn--dark:hover {
	background: var(--fs-violet);
	color: var(--fs-white);
}

body.fs-site .fs-btn--outline {
	background: var(--fs-white);
	color: var(--fs-navy);
	border: 2px solid var(--fs-navy);
}

body.fs-site .fs-btn--outline:hover {
	background: var(--fs-lavender);
	color: var(--fs-navy);
}

body.fs-site .fs-btn--text,
body.fs-site .fs-btn--text-light {
	height: auto;
	min-height: var(--fs-target);
	padding: 0;
	background: none;
	border: 0;
	color: var(--fs-navy);
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 2px;
	white-space: normal;
	text-align: left;
	justify-content: flex-start;
	line-height: normal;
}

body.fs-site .fs-btn--text:hover {
	color: var(--fs-violet);
	text-decoration-thickness: 3px;
}

body.fs-site .fs-btn--text-light,
body.fs-site .fs-btn--text-light:hover {
	color: var(--fs-white);
}

body.fs-site .fs-btn--text-light:hover {
	text-decoration-thickness: 3px;
}

body.fs-site .fs-btn--sm {
	height: var(--fs-btn-h-sm);
	padding: 0 24px;
	font-size: 16px;
}

body.fs-site .fs-btn--nav {
	height: var(--fs-btn-h-nav);
	padding: 0 24px;
	font-size: 16px;
}

body.fs-site .fs-btn--lg {
	height: var(--fs-btn-h-lg);
	padding: 0 32px;
	font-size: 18px;
}

body.fs-site .fs-btn--text.fs-btn--sm,
body.fs-site .fs-btn--text.fs-btn--nav,
body.fs-site .fs-btn--text-light.fs-btn--sm { height: auto; padding: 0; font-size: 16px; }
body.fs-site .fs-btn--text.fs-btn--lg,
body.fs-site .fs-btn--text-light.fs-btn--lg { height: auto; padding: 0; font-size: 18px; }

body.fs-site .fs-btn--block {
	display: flex;
	width: auto;
	align-self: stretch;
}

.fs-btn-wrap.fs-align-left { text-align: left; }
.fs-btn-wrap.fs-align-center { display: flex; justify-content: center; }
.fs-btn-wrap.fs-align-right { display: flex; justify-content: flex-end; }

/*
 * A row of buttons: put several [fs_button] shortcodes in one text block with
 * class "fs-actions" (gap 12; fs-actions-20 / -28 for other gaps), or give a
 * column the class.
 */
body.fs-site .fs-actions {
	--fs-actions-gap: 12px;
}

body.fs-site .wpb_text_column.fs-actions > .wpb_wrapper,
body.fs-site .wpb_text_column.fs-actions > .wpb_wrapper > p,
body.fs-site .wpb_column.fs-actions > .vc_column-inner > .wpb_wrapper,
body.fs-site div.fs-actions:not(.wpb_text_column):not(.wpb_column) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--fs-actions-gap);
}

body.fs-site .wpb_text_column.fs-actions > .wpb_wrapper > p > br {
	display: none;
}

body.fs-site .fs-actions.fs-actions-10 { --fs-actions-gap: 10px; }
body.fs-site .fs-actions.fs-actions-16 { --fs-actions-gap: 16px; }
body.fs-site .fs-actions.fs-actions-20 { --fs-actions-gap: 20px; }
body.fs-site .fs-actions.fs-actions-28 { --fs-actions-gap: 28px; }

/*
 * Phones: "fs-actions--stack-mobile" stacks the row (Home and Product mobile
 * heroes): pill buttons full width, text links centred. Gap on phones:
 * fs-actions-m-N (default: the desktop gap).
 */
body.fs-site .fs-actions.fs-actions-m-8 { --fs-actions-gap-mobile: 8px; }
body.fs-site .fs-actions.fs-actions-m-12 { --fs-actions-gap-mobile: 12px; }
body.fs-site .fs-actions.fs-actions-m-16 { --fs-actions-gap-mobile: 16px; }
body.fs-site .fs-actions.fs-actions-m-18 { --fs-actions-gap-mobile: 18px; }
body.fs-site .fs-actions.fs-actions-m-22 { --fs-actions-gap-mobile: 22px; }

@media (max-width: 690px) {
	body.fs-site .wpb_text_column.fs-actions--stack-mobile > .wpb_wrapper,
	body.fs-site .wpb_text_column.fs-actions--stack-mobile > .wpb_wrapper > p,
	body.fs-site .wpb_column.fs-actions--stack-mobile > .vc_column-inner > .wpb_wrapper,
	body.fs-site div.fs-actions.fs-actions--stack-mobile:not(.wpb_text_column):not(.wpb_column) {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: var(--fs-actions-gap-mobile, var(--fs-actions-gap));
	}

	body.fs-site .fs-actions--stack-mobile .fs-btn,
	body.fs-site .fs-actions--stack-mobile .fs-btn-wrap {
		flex: 0 0 auto;
	}

	body.fs-site .fs-actions--stack-mobile .fs-btn--text,
	body.fs-site .fs-actions--stack-mobile .fs-btn--text-light {
		align-self: center;
	}
}

@media (max-width: 690px) {
	body.fs-site .fs-btn--block-mobile,
	body.fs-site .fs-btn-wrap--block-mobile .fs-btn {
		display: flex;
		width: auto;
		align-self: stretch;
	}

	/* In a wrapping (not stacked) row, a block button takes its own line. */
	body.fs-site .fs-actions:not(.fs-actions--stack-mobile) .fs-btn--block-mobile {
		flex: 1 1 100%;
	}

	body.fs-site .fs-btn--block-mobile.fs-btn--lg {
		height: var(--fs-btn-h-mobile);
		font-size: 17px;
	}

	body.fs-site .fs-btn--text.fs-btn--lg,
	body.fs-site .fs-btn--text-light.fs-btn--lg {
		font-size: 17px;
	}

	body.fs-site .fs-btn-wrap--block-mobile {
		width: 100%;
	}
}

/* ------------------------------------------------------------------ */
/* Form fields                                                          */
/* ------------------------------------------------------------------ */

body.fs-site .fs-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

body.fs-site .fs-label,
body.fs-site .fs-field label {
	font-family: var(--fs-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
	color: var(--fs-navy);
}

body.fs-site .fs-input,
body.fs-site .fs-field input[type="email"],
body.fs-site .fs-field input[type="text"],
body.fs-site .fs-field input[type="url"],
body.fs-site .fs-field input[type="search"],
body.fs-site .fs-field input[type="password"] {
	box-sizing: content-box; /* 52 px inside a 2 px border = 56 px, as drawn */
	width: auto;
	align-self: stretch;
	height: var(--fs-input-h);
	margin: 0;
	padding: 0 16px;
	border: 2px solid var(--fs-navy);
	border-radius: var(--fs-radius-input);
	background: var(--fs-white);
	box-shadow: none;
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: 16px;
	line-height: normal;
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.fs-site .fs-input::placeholder,
body.fs-site .fs-field input::placeholder {
	color: rgba(21, 7, 53, .55);
	opacity: 1;
}

body.fs-site .fs-input:focus,
body.fs-site .fs-field input:focus {
	border-color: var(--fs-violet);
	box-shadow: var(--fs-ring);
	outline: none;
}

body.fs-site .fs-input--mono {
	font-family: var(--fs-font-mono);
	font-size: 15px;
}

body.fs-site .fs-input[aria-invalid="true"],
body.fs-site .fs-field input[aria-invalid="true"] {
	border-style: dashed;
	border-color: var(--fs-navy);
	background: var(--fs-ph-bg);
}

body.fs-site .fs-field__help {
	font-size: 14px;
	line-height: normal;
}

body.fs-site .fs-field__error {
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

/* ------------------------------------------------------------------ */
/* Surfaces: cards, panels and blocks share colour modifiers.           */
/* ------------------------------------------------------------------ */

.fs-surface--lavender { background: var(--fs-lavender); color: var(--fs-navy); }
.fs-surface--lime { background: var(--fs-lime); color: var(--fs-navy); }
.fs-surface--orange { background: var(--fs-orange); color: var(--fs-navy); }
.fs-surface--pink { background: var(--fs-pink); color: var(--fs-navy); }
.fs-surface--violet { background: var(--fs-violet); color: var(--fs-white); }
.fs-surface--navy { background: var(--fs-navy); color: var(--fs-white); }
.fs-surface--tint { background: var(--fs-tint); color: var(--fs-navy); }
.fs-surface--outline { background: var(--fs-white); color: var(--fs-navy); border: var(--fs-border); }
.fs-surface--shadow { background: var(--fs-white); color: var(--fs-navy); border: var(--fs-border); box-shadow: var(--fs-shadow-card); }

/* Card: radius 28, colour block or white with 2 px navy border (+ shadow). */
body.fs-site .fs-card {
	box-sizing: border-box;
	border-radius: var(--fs-radius-card);
	padding: 28px 24px;
	background: var(--fs-lavender);
	color: var(--fs-navy);
}

body.fs-site .fs-card--outline,
body.fs-site .fs-card--shadow {
	background: var(--fs-white);
	border: var(--fs-border);
}

body.fs-site .fs-card--shadow {
	box-shadow: var(--fs-shadow-card);
}

body.fs-site .fs-card--lime { background: var(--fs-lime); }
body.fs-site .fs-card--orange { background: var(--fs-orange); }
body.fs-site .fs-card--pink { background: var(--fs-pink); }
body.fs-site .fs-card--tint { background: var(--fs-tint); }
body.fs-site .fs-card--violet { background: var(--fs-violet); color: var(--fs-white); }
body.fs-site .fs-card--navy { background: var(--fs-navy); color: var(--fs-white); }

/* A WPBakery column as a card: column class "fs-card fs-card--shadow". */
body.fs-site .wpb_column.fs-card > .vc_column-inner {
	padding: 0;
}

/* ------------------------------------------------------------------ */
/* Verdict chips and the Example badge                                   */
/* ------------------------------------------------------------------ */

body.fs-site .fs-chip {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	align-self: flex-start;
	border-radius: var(--fs-radius-pill);
	font-family: var(--fs-font-body);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	white-space: nowrap;
	/* default size: M (14 px) */
	font-size: 14px;
	padding: 5px 12px;
}

body.fs-site .fs-chip--delivered { background: var(--fs-violet); color: var(--fs-white); }
body.fs-site .fs-chip--caught { background: var(--fs-pink); color: var(--fs-navy); }
body.fs-site .fs-chip--review {
	background: var(--fs-white);
	color: var(--fs-navy);
	border: var(--fs-border-dashed);
	padding-top: 3px;
	padding-bottom: 3px;
}

body.fs-site .fs-chip--lg { font-size: 15px; padding: 6px 14px; }
body.fs-site .fs-chip--lg.fs-chip--review { padding: 4px 14px; }
body.fs-site .fs-chip--md { font-size: 14px; padding: 5px 12px; }
body.fs-site .fs-chip--md.fs-chip--review { padding: 3px 12px; }
body.fs-site .fs-chip--sm { font-size: 13px; padding: 4px 10px; }
body.fs-site .fs-chip--sm.fs-chip--review { padding: 2px 10px; }
body.fs-site .fs-chip--xs { font-size: 12px; padding: 3px 9px; }
body.fs-site .fs-chip--xs.fs-chip--review { padding: 1px 9px; }

body.fs-site .fs-badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	box-sizing: border-box;
	background: var(--fs-white);
	color: var(--fs-navy);
	border-radius: var(--fs-radius-pill);
	padding: 5px 12px;
	font-family: var(--fs-font-body);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}

body.fs-site .fs-badge--lavender {
	background: var(--fs-lavender);
}

@media (max-width: 690px) {
	body.fs-site .fs-badge {
		font-size: 11px;
		padding: 4px 10px;
	}
}

/* ------------------------------------------------------------------ */
/* Placeholders (dashed pink, mono): keep them visible until replaced.   */
/* ------------------------------------------------------------------ */

body.fs-site .fs-ph {
	display: inline;
	background: var(--fs-ph-bg);
	border: 2px dashed var(--fs-pink);
	padding: 2px 6px;
	font-family: var(--fs-font-mono);
	font-size: 14px;
	font-weight: 400;
	color: var(--fs-navy);
	line-height: inherit;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

body.fs-site .fs-ph--price {
	display: inline-block;
	padding: 8px 12px;
	font-size: 17px;
	line-height: normal;
}

body.fs-site .fs-ph-block {
	box-sizing: border-box;
	border: 3px dashed var(--fs-pink);
	border-radius: var(--fs-radius-card);
	background: var(--fs-ph-bg);
	padding: 48px 40px;
	font-family: var(--fs-font-mono);
	font-size: 17px;
	line-height: 1.6;
	color: var(--fs-navy);
}

body.fs-site .fs-ph-note {
	box-sizing: border-box;
	border: 3px dashed var(--fs-pink);
	border-radius: var(--fs-radius-inner);
	background: var(--fs-ph-bg);
	padding: 18px 22px;
	font-family: var(--fs-font-mono);
	font-size: 14px;
	line-height: 1.6;
	color: var(--fs-navy);
}

body.fs-site .fs-ph-para {
	background: var(--fs-ph-bg);
	font-family: var(--fs-font-mono);
	font-size: 15px;
	line-height: 1.7;
	color: var(--fs-navy);
}

@media (max-width: 690px) {
	body.fs-site .fs-ph { font-size: 13px; }
	body.fs-site .fs-ph--price { padding: 4px 8px; font-size: 13px; }
	body.fs-site .fs-ph-block { border-radius: 22px; padding: 24px 20px; font-size: 15px; }
	body.fs-site .fs-ph-note { border-radius: 16px; padding: 14px 16px; font-size: 13px; line-height: 1.55; }
	body.fs-site .fs-ph-para { font-size: 14px; line-height: 1.65; }
}

/* ------------------------------------------------------------------ */
/* Logo mark: 3 × 2 dot mesh, one gap, passing dot (.fs-mark)            */
/* ------------------------------------------------------------------ */

.fs-mark {
	--d: 8px;   /* dot */
	--g: 3px;   /* gap */
	--w: 30px;  /* box width */
	--h: 36px;  /* box height */
	--px: 11px; /* passing dot left */
	--py: 27px; /* passing dot top */
	--ring: 2px;
	--dot: var(--fs-violet);
	--pass: var(--fs-pink);
	position: relative;
	display: block;
	flex: none;
	width: var(--w);
	height: var(--h);
}

.fs-mark__grid {
	position: absolute;
	left: 0;
	top: 0;
	width: var(--w);
	display: grid;
	grid-template-columns: repeat(3, var(--d));
	gap: var(--g);
}

.fs-mark__grid > i,
.fs-mark__pass {
	display: block;
	width: var(--d);
	height: var(--d);
	border-radius: 50%;
	background: var(--dot);
}

.fs-mark__grid > i.fs-mark__gap {
	background: transparent;
}

.fs-mark--ring .fs-mark__grid > i.fs-mark__gap {
	box-sizing: border-box;
	border: var(--ring) dashed var(--fs-navy);
}

.fs-mark__pass {
	position: absolute;
	left: var(--px);
	top: var(--py);
	background: var(--pass);
}

.fs-mark--xs { --d: 4px; --g: 3px; --w: 18px; --h: 22px; --px: 7px; --py: 15px; }
.fs-mark--sm { --d: 6px; --g: 3px; --w: 24px; --h: 29px; --px: 9px; --py: 22px; }
.fs-mark--md { --d: 8px; --g: 3px; --w: 30px; --h: 36px; --px: 11px; --py: 27px; }
.fs-mark--lg { --d: 10px; --g: 4px; --w: 38px; --h: 46px; --px: 14px; --py: 35px; }
.fs-mark--xl { --d: 26px; --g: 9px; --w: 96px; --h: 140px; --px: 35px; --py: 112px; }
.fs-mark--xxl { --d: 32px; --g: 12px; --w: 120px; --h: 146px; --px: 44px; --py: 112px; }
.fs-mark--hero { --d: 56px; --g: 16px; --w: 200px; --h: 300px; --px: 72px; --py: 240px; --ring: 3px; }

.fs-mark--dots-violet { --dot: var(--fs-violet); }
.fs-mark--dots-white { --dot: var(--fs-white); }
.fs-mark--dots-navy { --dot: var(--fs-navy); }
.fs-mark--pass-pink { --pass: var(--fs-pink); }
.fs-mark--pass-orange { --pass: var(--fs-orange); }
.fs-mark--pass-violet { --pass: var(--fs-violet); }

/* Lockup: mark + wordmark (Unbounded 700, lowercase, −2% tracking). */
.fs-lockup-wrap.fs-align-center { display: flex; justify-content: center; }
.fs-lockup-wrap.fs-align-right { display: flex; justify-content: flex-end; }

body.fs-site .fs-lockup {
	--fs-word-size: 24px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--fs-navy);
	text-decoration: none;
	vertical-align: middle;
}

body.fs-site a.fs-lockup,
body.fs-site .nectar-global-section a.fs-lockup,
body.fs-site a.fs-brand {
	text-decoration: none;
}

body.fs-site a.fs-lockup:hover {
	color: var(--fs-navy);
}

body.fs-site .fs-lockup--word-white,
body.fs-site a.fs-lockup--word-white:hover {
	color: var(--fs-white);
}

body.fs-site .fs-lockup--sm { --fs-word-size: 20px; gap: 10px; }
body.fs-site .fs-lockup--lg { --fs-word-size: 32px; gap: 14px; }
body.fs-site .fs-lockup--xs { --fs-word-size: 14px; gap: 8px; }

body.fs-site .fs-lockup__word {
	font-family: var(--fs-font-display);
	font-size: var(--fs-word-size);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: normal;
}

/* Brand link used by the theme (off-canvas menu): mark drawn in CSS. */
body.fs-site .fs-brand {
	--d: 8px;
	--g: 3px;
	--dot: var(--fs-violet);
	--pass: var(--fs-pink);
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--fs-navy);
	text-decoration: none;
}

body.fs-site .fs-brand__mark {
	position: relative;
	display: block;
	flex: none;
	width: calc(var(--d) * 3 + var(--g) * 2);
	height: calc(var(--d) * 4.5);
}

body.fs-site .fs-brand__mark::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: var(--d);
	height: var(--d);
	border-radius: 50%;
	background: var(--dot);
	box-shadow:
		calc(var(--d) + var(--g)) 0 0 var(--dot),
		calc((var(--d) + var(--g)) * 2) 0 0 var(--dot),
		0 calc(var(--d) + var(--g)) 0 var(--dot),
		calc((var(--d) + var(--g)) * 2) calc(var(--d) + var(--g)) 0 var(--dot),
		calc(var(--d) + var(--g)) var(--py, 27px) 0 var(--pass);
}

body.fs-site .fs-brand__word {
	font-family: var(--fs-font-display);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: normal;
}

body.fs-site .fs-brand--sm { --d: 6px; --py: 22px; gap: 10px; }
body.fs-site .fs-brand--sm .fs-brand__mark { width: 24px; height: 29px; }
body.fs-site .fs-brand--sm .fs-brand__word { font-size: 20px; }
body.fs-site .fs-brand--md .fs-brand__mark { width: 30px; height: 36px; }
body.fs-site .fs-brand--footer .fs-brand__mark { width: 30px; height: 36px; }
body.fs-site .fs-brand--footer .fs-brand__word { font-size: 22px; }
body.fs-site .fs-brand--white { --dot: var(--fs-white); color: var(--fs-white); }
body.fs-site .fs-brand--on-violet { --dot: var(--fs-white); --pass: var(--fs-orange); color: var(--fs-white); }
body.fs-site a.fs-brand--white:hover,
body.fs-site a.fs-brand--on-violet:hover { color: var(--fs-white); }

/* ------------------------------------------------------------------ */
/* Layout helpers for WPBakery rows and columns                          */
/* ------------------------------------------------------------------ */

/* Reset Salient's default row/column spacing inside our rows. */
body.fs-site .wpb_row {
	margin-bottom: 0;
}

body.fs-site .wpb_row .wpb_content_element,
body.fs-site .wpb_row .wpb_text_column {
	margin-bottom: 0;
}

body.fs-site .wpb_row .wpb_text_column > .wpb_wrapper > *:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

/*
 * .fs-wide: the row breaks out of the 1240 container to an inset of 40 px
 * from the viewport edge (12 px on phones).
 * .fs-block: .fs-wide plus a colour, radius 40 (28 on phones) and 60 px
 * side padding (20 on phones). Vertical padding: the row's top/bottom
 * padding settings.
 */
body.fs-site .wpb_row.fs-wide,
body.fs-site .wpb_row.fs-block {
	margin-left: calc((100% - var(--fs-page-w)) / 2 + var(--fs-block-inset));
	margin-right: calc((100% - var(--fs-page-w)) / 2 + var(--fs-block-inset));
	width: auto;
	max-width: none;
}

body.fs-site .wpb_row.fs-block {
	box-sizing: border-box;
	padding-left: var(--fs-block-pad-x);
	padding-right: var(--fs-block-pad-x);
	border-radius: var(--fs-radius-block);
	background: var(--fs-lavender);
	color: var(--fs-navy);
	overflow: hidden;
}

body.fs-site .wpb_row.fs-block--lavender { background: var(--fs-lavender); color: var(--fs-navy); }
body.fs-site .wpb_row.fs-block--violet { background: var(--fs-violet); color: var(--fs-white); }
body.fs-site .wpb_row.fs-block--navy { background: var(--fs-navy); color: var(--fs-white); }
body.fs-site .wpb_row.fs-block--orange { background: var(--fs-orange); color: var(--fs-navy); }
body.fs-site .wpb_row.fs-block--lime { background: var(--fs-lime); color: var(--fs-navy); }
body.fs-site .wpb_row.fs-block--pink { background: var(--fs-pink); color: var(--fs-navy); }
body.fs-site .wpb_row.fs-block--tint { background: var(--fs-tint); color: var(--fs-navy); }

/* Blocks and wide rows: no Salient column gutters (use fs-grid for columns). */
body.fs-site .wpb_row:is(.fs-block, .fs-wide) > .row_col_wrap_12 {
	margin-left: 0;
	margin-right: 0;
	width: auto;
}

body.fs-site .wpb_row:is(.fs-block, .fs-wide) > .row_col_wrap_12 > .wpb_column:not(.fs-panel):not(.fs-card) {
	padding-left: 0;
	padding-right: 0;
}

/* Content width inside a wide row / block (e.g. the 1120 max in the scale block). */
body.fs-site .wpb_row.fs-inner-1120 > :is(.row_col_wrap_12, .row_col_wrap_12_inner) { max-width: 1120px; margin-left: auto; margin-right: auto; }

/* Column panel: a column coloured like a block (Home cost / visitors' data). */
body.fs-site .wpb_column.fs-panel {
	box-sizing: border-box;
	border-radius: var(--fs-radius-block);
	padding: 64px 56px;
}

body.fs-site .wpb_column.fs-panel > .vc_column-inner {
	padding: 0;
}

body.fs-site .wpb_column.fs-panel--lavender { background: var(--fs-lavender); color: var(--fs-navy); }
body.fs-site .wpb_column.fs-panel--violet { background: var(--fs-violet); color: var(--fs-white); }
body.fs-site .wpb_column.fs-panel--navy { background: var(--fs-navy); color: var(--fs-white); }
body.fs-site .wpb_column.fs-panel--orange { background: var(--fs-orange); color: var(--fs-navy); }
body.fs-site .wpb_column.fs-panel--lime { background: var(--fs-lime); color: var(--fs-navy); }
body.fs-site .wpb_column.fs-panel--pink { background: var(--fs-pink); color: var(--fs-navy); }
body.fs-site .wpb_column.fs-panel--tint { background: var(--fs-tint); color: var(--fs-navy); }

@media (max-width: 690px) {
	body.fs-site .wpb_column.fs-panel {
		padding: 36px 20px;
	}
}

/*
 * .fs-grid: 12-column grid with a 32 px gap on a row; columns use their
 * WPBakery width and offset (1/2 = span 6, offset 1 = start one column later).
 * Gap modifiers: fs-grid-12 … fs-grid-40. Vertical alignment: fs-align-center,
 * fs-align-end, fs-align-stretch. Columns stack below 1000 px
 * (fs-grid--tablet keeps them side by side down to 691 px).
 */
body.fs-site .wpb_row.fs-grid {
	--fs-grid-gap: 32px;
	--fs-grid-row-gap: 32px;
}

body.fs-site .wpb_row.fs-grid > :is(.row_col_wrap_12, .row_col_wrap_12_inner),
body.fs-site .wpb_row.fs-grid > .span_12 {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: var(--fs-grid-gap);
	row-gap: var(--fs-grid-row-gap);
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100%;
	float: none;
}

body.fs-site .wpb_row.fs-grid > :is(.row_col_wrap_12, .row_col_wrap_12_inner) > .wpb_column {
	--fs-col: calc((100% - 11 * var(--fs-grid-gap)) / 12);
	float: none;
	flex: 0 0 auto;
	margin: 0 !important;
	min-height: 0;
}

body.fs-site .wpb_row.fs-grid > :is(.row_col_wrap_12, .row_col_wrap_12_inner) > .wpb_column:not(.fs-panel):not(.fs-card) {
	padding-left: 0;
	padding-right: 0;
}

body.fs-site .wpb_row.fs-grid > :is(.row_col_wrap_12, .row_col_wrap_12_inner) > .wpb_column > .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

/* Salient's clearfix pseudo-elements would become extra flex lines. */
body.fs-site .wpb_row.fs-grid > :is(.row_col_wrap_12, .row_col_wrap_12_inner)::before,
body.fs-site .wpb_row.fs-grid > :is(.row_col_wrap_12, .row_col_wrap_12_inner)::after {
	content: none;
	display: none;
}

body.fs-site code {
	display: inline;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	color: inherit;
	white-space: normal;
}

body.fs-site .wpb_row.fs-grid.fs-align-center > :is(.row_col_wrap_12, .row_col_wrap_12_inner) { align-items: center; }
body.fs-site .wpb_row.fs-grid.fs-align-end > :is(.row_col_wrap_12, .row_col_wrap_12_inner) { align-items: flex-end; }
body.fs-site .wpb_row.fs-grid.fs-align-stretch > :is(.row_col_wrap_12, .row_col_wrap_12_inner) { align-items: stretch; }

body.fs-site .wpb_row.fs-grid.fs-grid-0 { --fs-grid-gap: 0px; }
body.fs-site .wpb_row.fs-grid.fs-grid-10 { --fs-grid-gap: 10px; }
body.fs-site .wpb_row.fs-grid.fs-grid-12 { --fs-grid-gap: 12px; }
body.fs-site .wpb_row.fs-grid.fs-grid-14 { --fs-grid-gap: 14px; }
body.fs-site .wpb_row.fs-grid.fs-grid-16 { --fs-grid-gap: 16px; }
body.fs-site .wpb_row.fs-grid.fs-grid-20 { --fs-grid-gap: 20px; }
body.fs-site .wpb_row.fs-grid.fs-grid-24 { --fs-grid-gap: 24px; }
body.fs-site .wpb_row.fs-grid.fs-grid-28 { --fs-grid-gap: 28px; }
body.fs-site .wpb_row.fs-grid.fs-grid-32 { --fs-grid-gap: 32px; }
body.fs-site .wpb_row.fs-grid.fs-grid-40 { --fs-grid-gap: 40px; }
body.fs-site .wpb_row.fs-grid.fs-grid-48 { --fs-grid-gap: 48px; }
body.fs-site .wpb_row.fs-grid.fs-grid-56 { --fs-grid-gap: 56px; }

/* Column spans. */
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-1 { width: calc(var(--fs-col) * 1) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-2 { width: calc(var(--fs-col) * 2 + var(--fs-grid-gap) * 1) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-3 { width: calc(var(--fs-col) * 3 + var(--fs-grid-gap) * 2) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-4 { width: calc(var(--fs-col) * 4 + var(--fs-grid-gap) * 3) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-5 { width: calc(var(--fs-col) * 5 + var(--fs-grid-gap) * 4) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-6 { width: calc(var(--fs-col) * 6 + var(--fs-grid-gap) * 5) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-7 { width: calc(var(--fs-col) * 7 + var(--fs-grid-gap) * 6) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-8 { width: calc(var(--fs-col) * 8 + var(--fs-grid-gap) * 7) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-9 { width: calc(var(--fs-col) * 9 + var(--fs-grid-gap) * 8) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-10 { width: calc(var(--fs-col) * 10 + var(--fs-grid-gap) * 9) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-11 { width: calc(var(--fs-col) * 11 + var(--fs-grid-gap) * 10) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-12 { width: 100% !important; }
/* Fifths (WPBakery 1/5 = vc_col-sm-1/5): equal columns. */
body.fs-site .wpb_row.fs-grid .wpb_column[class*="vc_col-sm-1/5"] { width: calc((100% - 4 * var(--fs-grid-gap)) / 5) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column[class*="vc_col-sm-2/5"] { width: calc((100% - 4 * var(--fs-grid-gap)) / 5 * 2 + var(--fs-grid-gap)) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column[class*="vc_col-sm-3/5"] { width: calc((100% - 4 * var(--fs-grid-gap)) / 5 * 3 + var(--fs-grid-gap) * 2) !important; }

/* Offsets (start N columns later). */
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-offset-1 { margin-left: calc(var(--fs-col) * 1 + var(--fs-grid-gap) * 1) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-offset-2 { margin-left: calc(var(--fs-col) * 2 + var(--fs-grid-gap) * 2) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-offset-3 { margin-left: calc(var(--fs-col) * 3 + var(--fs-grid-gap) * 3) !important; }
body.fs-site .wpb_row.fs-grid .wpb_column.vc_col-sm-offset-4 { margin-left: calc(var(--fs-col) * 4 + var(--fs-grid-gap) * 4) !important; }

/* Equal columns regardless of widths: fs-cols-2 … fs-cols-5 on the row. */
body.fs-site .wpb_row.fs-grid.fs-cols-2 .wpb_column { width: calc((100% - var(--fs-grid-gap)) / 2) !important; margin-left: 0 !important; }
body.fs-site .wpb_row.fs-grid.fs-cols-3 .wpb_column { width: calc((100% - 2 * var(--fs-grid-gap)) / 3) !important; margin-left: 0 !important; }
body.fs-site .wpb_row.fs-grid.fs-cols-4 .wpb_column { width: calc((100% - 3 * var(--fs-grid-gap)) / 4) !important; margin-left: 0 !important; }
body.fs-site .wpb_row.fs-grid.fs-cols-5 .wpb_column { width: calc((100% - 4 * var(--fs-grid-gap)) / 5) !important; margin-left: 0 !important; }

/* Stacking: tablets and phones. */
@media (max-width: 999px) {
	body.fs-site .wpb_row.fs-grid:not(.fs-grid--tablet) > :is(.row_col_wrap_12, .row_col_wrap_12_inner) {
		flex-direction: column;
		align-items: stretch;
		row-gap: var(--fs-grid-row-gap);
	}

	body.fs-site .wpb_row.fs-grid:not(.fs-grid--tablet) > :is(.row_col_wrap_12, .row_col_wrap_12_inner) > .wpb_column {
		width: 100% !important;
		margin-left: 0 !important;
	}
}

@media (max-width: 690px) {
	body.fs-site .wpb_row.fs-grid > :is(.row_col_wrap_12, .row_col_wrap_12_inner) {
		flex-direction: column;
		align-items: stretch;
		row-gap: var(--fs-grid-row-gap);
	}

	body.fs-site .wpb_row.fs-grid > :is(.row_col_wrap_12, .row_col_wrap_12_inner) > .wpb_column {
		width: 100% !important;
		margin-left: 0 !important;
	}
}

body.fs-site .wpb_row.fs-stack-gap-0 { --fs-grid-row-gap: 0px; }
body.fs-site .wpb_row.fs-stack-gap-12 { --fs-grid-row-gap: 12px; }
body.fs-site .wpb_row.fs-stack-gap-16 { --fs-grid-row-gap: 16px; }
body.fs-site .wpb_row.fs-stack-gap-20 { --fs-grid-row-gap: 20px; }
body.fs-site .wpb_row.fs-stack-gap-22 { --fs-grid-row-gap: 22px; }
body.fs-site .wpb_row.fs-stack-gap-24 { --fs-grid-row-gap: 24px; }

/*
 * .fs-stack (column): its elements stack with a gap (default 24 px);
 * fs-stack-4 … fs-stack-64 set the gap. Mirrors the design's flex columns.
 * .fs-flow (text block): children of the text block stack with a gap
 * (default 16 px); fs-flow-4 … fs-flow-48.
 */
body.fs-site .wpb_column.fs-stack {
	--fs-stack-gap: 24px;
}

body.fs-site .wpb_column.fs-stack > .vc_column-inner > .wpb_wrapper {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--fs-stack-gap);
}

body.fs-site .wpb_column.fs-stack > .vc_column-inner > .wpb_wrapper > * {
	margin-top: 0;
	margin-bottom: 0;
}

body.fs-site .wpb_column.fs-stack > .vc_column-inner > .wpb_wrapper > .fs-btn,
body.fs-site .wpb_column.fs-stack > .vc_column-inner > .wpb_wrapper > .fs-chip,
body.fs-site .wpb_column.fs-stack > .vc_column-inner > .wpb_wrapper > .fs-badge {
	align-self: flex-start;
}

body.fs-site .wpb_text_column.fs-flow {
	--fs-flow-gap: 16px;
}

body.fs-site .wpb_text_column.fs-flow > .wpb_wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--fs-flow-gap);
}

body.fs-site .wpb_text_column.fs-flow > .wpb_wrapper > * {
	margin: 0;
}

body.fs-site .wpb_column.fs-stack-4 { --fs-stack-gap: 4px; }
body.fs-site .wpb_column.fs-stack-6 { --fs-stack-gap: 6px; }
body.fs-site .wpb_column.fs-stack-8 { --fs-stack-gap: 8px; }
body.fs-site .wpb_column.fs-stack-10 { --fs-stack-gap: 10px; }
body.fs-site .wpb_column.fs-stack-12 { --fs-stack-gap: 12px; }
body.fs-site .wpb_column.fs-stack-14 { --fs-stack-gap: 14px; }
body.fs-site .wpb_column.fs-stack-16 { --fs-stack-gap: 16px; }
body.fs-site .wpb_column.fs-stack-18 { --fs-stack-gap: 18px; }
body.fs-site .wpb_column.fs-stack-20 { --fs-stack-gap: 20px; }
body.fs-site .wpb_column.fs-stack-22 { --fs-stack-gap: 22px; }
body.fs-site .wpb_column.fs-stack-24 { --fs-stack-gap: 24px; }
body.fs-site .wpb_column.fs-stack-28 { --fs-stack-gap: 28px; }
body.fs-site .wpb_column.fs-stack-32 { --fs-stack-gap: 32px; }
body.fs-site .wpb_column.fs-stack-40 { --fs-stack-gap: 40px; }
body.fs-site .wpb_column.fs-stack-48 { --fs-stack-gap: 48px; }
body.fs-site .wpb_column.fs-stack-56 { --fs-stack-gap: 56px; }
body.fs-site .wpb_column.fs-stack-64 { --fs-stack-gap: 64px; }

body.fs-site .wpb_text_column.fs-flow-4 { --fs-flow-gap: 4px; }
body.fs-site .wpb_text_column.fs-flow-6 { --fs-flow-gap: 6px; }
body.fs-site .wpb_text_column.fs-flow-8 { --fs-flow-gap: 8px; }
body.fs-site .wpb_text_column.fs-flow-10 { --fs-flow-gap: 10px; }
body.fs-site .wpb_text_column.fs-flow-12 { --fs-flow-gap: 12px; }
body.fs-site .wpb_text_column.fs-flow-14 { --fs-flow-gap: 14px; }
body.fs-site .wpb_text_column.fs-flow-16 { --fs-flow-gap: 16px; }
body.fs-site .wpb_text_column.fs-flow-18 { --fs-flow-gap: 18px; }
body.fs-site .wpb_text_column.fs-flow-20 { --fs-flow-gap: 20px; }
body.fs-site .wpb_text_column.fs-flow-22 { --fs-flow-gap: 22px; }
body.fs-site .wpb_text_column.fs-flow-24 { --fs-flow-gap: 24px; }
body.fs-site .wpb_text_column.fs-flow-28 { --fs-flow-gap: 28px; }
body.fs-site .wpb_text_column.fs-flow-32 { --fs-flow-gap: 32px; }
body.fs-site .wpb_text_column.fs-flow-40 { --fs-flow-gap: 40px; }
body.fs-site .wpb_text_column.fs-flow-48 { --fs-flow-gap: 48px; }

/* Phone gaps (≤ 690 px): fs-stack-m-N on a column, fs-flow-m-N on a text block. */
@media (max-width: 690px) {
	body.fs-site .wpb_column.fs-stack-m-4 { --fs-stack-gap: 4px; }
	body.fs-site .wpb_column.fs-stack-m-6 { --fs-stack-gap: 6px; }
	body.fs-site .wpb_column.fs-stack-m-8 { --fs-stack-gap: 8px; }
	body.fs-site .wpb_column.fs-stack-m-10 { --fs-stack-gap: 10px; }
	body.fs-site .wpb_column.fs-stack-m-12 { --fs-stack-gap: 12px; }
	body.fs-site .wpb_column.fs-stack-m-14 { --fs-stack-gap: 14px; }
	body.fs-site .wpb_column.fs-stack-m-16 { --fs-stack-gap: 16px; }
	body.fs-site .wpb_column.fs-stack-m-18 { --fs-stack-gap: 18px; }
	body.fs-site .wpb_column.fs-stack-m-20 { --fs-stack-gap: 20px; }
	body.fs-site .wpb_column.fs-stack-m-22 { --fs-stack-gap: 22px; }
	body.fs-site .wpb_column.fs-stack-m-24 { --fs-stack-gap: 24px; }
	body.fs-site .wpb_column.fs-stack-m-28 { --fs-stack-gap: 28px; }
	body.fs-site .wpb_column.fs-stack-m-32 { --fs-stack-gap: 32px; }
	body.fs-site .wpb_column.fs-stack-m-40 { --fs-stack-gap: 40px; }
	body.fs-site .wpb_text_column.fs-flow-m-4 { --fs-flow-gap: 4px; }
	body.fs-site .wpb_text_column.fs-flow-m-6 { --fs-flow-gap: 6px; }
	body.fs-site .wpb_text_column.fs-flow-m-8 { --fs-flow-gap: 8px; }
	body.fs-site .wpb_text_column.fs-flow-m-10 { --fs-flow-gap: 10px; }
	body.fs-site .wpb_text_column.fs-flow-m-12 { --fs-flow-gap: 12px; }
	body.fs-site .wpb_text_column.fs-flow-m-14 { --fs-flow-gap: 14px; }
	body.fs-site .wpb_text_column.fs-flow-m-16 { --fs-flow-gap: 16px; }
	body.fs-site .wpb_text_column.fs-flow-m-18 { --fs-flow-gap: 18px; }
	body.fs-site .wpb_text_column.fs-flow-m-20 { --fs-flow-gap: 20px; }
	body.fs-site .wpb_text_column.fs-flow-m-22 { --fs-flow-gap: 22px; }
	body.fs-site .wpb_text_column.fs-flow-m-24 { --fs-flow-gap: 24px; }
	body.fs-site .wpb_text_column.fs-flow-m-28 { --fs-flow-gap: 28px; }
	body.fs-site .wpb_text_column.fs-flow-m-32 { --fs-flow-gap: 32px; }
	body.fs-site .wpb_text_column.fs-flow-m-40 { --fs-flow-gap: 40px; }
}

/* Visibility helpers. */
@media (min-width: 691px) {
	body.fs-site .fs-only-mobile { display: none !important; }
}

@media (max-width: 690px) {
	body.fs-site .fs-only-desktop,
	body.fs-site .fs-hide-mobile { display: none !important; }
}
