/*
 * Formsieve Site elements. Uses the theme's design tokens (tokens.css) with
 * fallbacks. Shared primitives (.fs-btn, .fs-chip, .fs-badge, .fs-ph, .fs-mark,
 * .fs-card, .fs-surface--*) live in the theme's base.css.
 * Desktop values from the 1440 artboards, phone values (≤ 690 px) from the
 * 390 artboards.
 */

/* ------------------------------------------------------------------ */
/* fs_hero_sieve                                                        */
/* ------------------------------------------------------------------ */

body.fs-site .fs-sieve {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	background: var(--fs-lavender, #E5D8E9);
	color: var(--fs-navy, #150735);
	border-radius: 32px;
	padding: 26px 30px 30px;
	font-family: var(--fs-font-body);
	line-height: normal;
}

body.fs-site .fs-sieve__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

body.fs-site .fs-sieve__head .fs-badge {
	align-self: center;
}

body.fs-site .fs-sieve__label {
	font-family: var(--fs-font-display);
	font-size: 15px;
	font-weight: 700;
}

body.fs-site .fs-sieve__form {
	margin-top: 12px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto;
	gap: 10px;
	align-items: end;
	background: var(--fs-white, #fff);
	border: var(--fs-border);
	border-radius: 20px;
	box-shadow: var(--fs-shadow-panel);
	padding: 14px 16px;
}

body.fs-site .fs-sieve__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

body.fs-site .fs-sieve__field-label {
	font-size: 13px;
	font-weight: 700;
}

body.fs-site .fs-sieve__input {
	display: block;
	height: 34px;
	box-sizing: content-box;
	border: var(--fs-border);
	border-radius: 10px;
}

body.fs-site .fs-sieve__send {
	display: flex;
	align-items: center;
	height: 38px;
	padding: 0 18px;
	border-radius: var(--fs-radius-pill);
	background: var(--fs-navy);
	color: var(--fs-white);
	font-size: 14px;
	font-weight: 700;
}

body.fs-site .fs-sieve__drops {
	height: 34px;
}

body.fs-site .fs-sieve__drops > i {
	position: relative;
	display: block;
	width: 2px;
	background: var(--fs-navy);
}

body.fs-site .fs-sieve__drops--in {
	display: flex;
	justify-content: center;
	gap: 44px;
}

body.fs-site .fs-sieve__drops--out {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

body.fs-site .fs-sieve__drops--out > i {
	justify-self: center;
}

body.fs-site .fs-sieve__mesh {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 64px;
	border-radius: var(--fs-radius-pill);
	background-color: var(--fs-navy);
	background-image: radial-gradient(circle, var(--fs-violet-light, #8A74FF) 3px, transparent 3.6px);
	background-size: 16px 16px;
	background-position: center;
}

body.fs-site .fs-sieve__mesh-label {
	background: var(--fs-white);
	border-radius: var(--fs-radius-pill);
	padding: 9px 18px;
	font-family: var(--fs-font-display);
	font-size: 15px;
	font-weight: 700;
}

body.fs-site .fs-sieve__outcomes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	align-items: stretch;
}

body.fs-site .fs-sieve__box {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--fs-white);
	border: var(--fs-border);
	border-radius: 20px;
	padding: 14px;
}

body.fs-site .fs-sieve__box--spam {
	background: var(--fs-navy);
	color: var(--fs-white);
}

body.fs-site .fs-sieve__msg {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
	background: var(--fs-tint);
	border-radius: 12px;
	padding: 10px 12px;
}

body.fs-site .fs-sieve__box--spam .fs-sieve__msg {
	background: var(--fs-white);
	color: var(--fs-navy);
}

body.fs-site .fs-sieve .fs-chip {
	font-size: 13px;
	padding: 4px 10px;
}

body.fs-site .fs-sieve .fs-chip--review {
	padding: 2px 10px;
}

body.fs-site .fs-sieve .fs-chip--caught {
	border-radius: 12px;
	line-height: 1.3;
	white-space: normal;
}

body.fs-site .fs-sieve__text {
	font-size: 15px;
	line-height: 1.35;
}

body.fs-site .fs-sieve__note {
	margin-top: auto;
	font-size: 14px;
	line-height: 1.4;
}

/*
 * Animation (Home desktop artboard). assets/js/hero-sieve.js steps
 * data-fs-step through 0–7 every 6.6 s on the desktop layout: Send is pressed
 * (1), three dots drop into the mesh (2), the mesh reads them (3), a violet and
 * a pink dot leave it (4, 5), the three messages appear (6) and clear (7).
 * Without the attribute (no script, reduced motion, compact layout, off
 * screen) the illustration shows the final frame, as before.
 */
body.fs-site .fs-sieve__dot {
	position: absolute;
	left: -5px;
	top: -6px;
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: 2px solid var(--fs-navy);
	border-radius: 50%;
	background: var(--fs-white);
	opacity: 0;
	transform: translateY(0);
	transition: transform .55s ease-in, opacity .2s;
}

body.fs-site .fs-sieve__dot--inbox { background: var(--fs-violet); }
body.fs-site .fs-sieve__dot--spam { background: var(--fs-pink); }

body.fs-site .fs-sieve[data-fs-step] .fs-sieve__send { transition: transform .2s, background .2s; }
body.fs-site .fs-sieve[data-fs-step] .fs-sieve__mesh { transition: transform .3s, background-position 1s linear; }
body.fs-site .fs-sieve[data-fs-step] .fs-sieve__msg { transition: opacity .35s, transform .35s; }
body.fs-site .fs-sieve[data-fs-step] .fs-sieve__box--inbox .fs-sieve__msg + .fs-sieve__msg { transition-delay: .15s; }
body.fs-site .fs-sieve[data-fs-step] .fs-sieve__box--spam .fs-sieve__msg { transition-delay: .3s; }

body.fs-site .fs-sieve[data-fs-step="1"] .fs-sieve__send,
body.fs-site .fs-sieve[data-fs-step="2"] .fs-sieve__send { background: var(--fs-violet); }
body.fs-site .fs-sieve[data-fs-step="1"] .fs-sieve__send { transform: scale(.92); }

body.fs-site .fs-sieve[data-fs-step="1"] .fs-sieve__drops--in .fs-sieve__dot,
body.fs-site .fs-sieve[data-fs-step="2"] .fs-sieve__drops--in .fs-sieve__dot { opacity: 1; }
body.fs-site .fs-sieve[data-fs-step="2"] .fs-sieve__drops--in .fs-sieve__dot { transform: translateY(34px); }

body.fs-site .fs-sieve[data-fs-step="3"] .fs-sieve__mesh,
body.fs-site .fs-sieve[data-fs-step="4"] .fs-sieve__mesh {
	background-image: radial-gradient(circle, var(--fs-orange, #FFB364) 3px, transparent 3.6px);
	background-position: 8px center;
}
body.fs-site .fs-sieve[data-fs-step="3"] .fs-sieve__mesh { transform: scale(1.03); }

body.fs-site .fs-sieve[data-fs-step="4"] .fs-sieve__drops--out .fs-sieve__dot,
body.fs-site .fs-sieve[data-fs-step="5"] .fs-sieve__drops--out .fs-sieve__dot { opacity: 1; }
body.fs-site .fs-sieve[data-fs-step="5"] .fs-sieve__drops--out .fs-sieve__dot { transform: translateY(34px); }

body.fs-site .fs-sieve[data-fs-step]:not([data-fs-step="6"]) .fs-sieve__msg {
	opacity: 0;
	transform: translateY(-10px);
}

/*
 * Compact layout (Home mobile, 326 px wide): always with variant "compact";
 * with "auto" whenever the illustration is under 460 px wide (phones, and
 * the 6/12 hero column from 1000 to about 1250 px). The wrapper is the
 * size container.
 */
body.fs-site .fs-sieve-wrap {
	container: fs-sieve / inline-size;
}

body.fs-site .fs-sieve--compact { border-radius: 22px; padding: 16px; }
body.fs-site .fs-sieve--compact .fs-sieve__label { font-size: 13px; }
body.fs-site .fs-sieve--compact .fs-sieve__form { margin-top: 10px; display: flex; gap: 8px; align-items: center; border-radius: 14px; box-shadow: var(--fs-shadow-small); padding: 10px; }
body.fs-site .fs-sieve--compact .fs-sieve__field--name,
body.fs-site .fs-sieve--compact .fs-sieve__field-label { display: none; }
body.fs-site .fs-sieve--compact .fs-sieve__field--message { flex: 1; }
body.fs-site .fs-sieve--compact .fs-sieve__input { height: 28px; border-radius: 8px; }
body.fs-site .fs-sieve--compact .fs-sieve__send { height: 30px; padding: 0 14px; font-size: 13px; }
body.fs-site .fs-sieve--compact .fs-sieve__drops { height: 20px; }
body.fs-site .fs-sieve--compact .fs-sieve__drops--in { gap: 30px; }
body.fs-site .fs-sieve--compact .fs-sieve__drops--out { display: flex; justify-content: center; }
body.fs-site .fs-sieve--compact .fs-sieve__drops--out > i + i { display: none; }
body.fs-site .fs-sieve--compact .fs-sieve__mesh { height: 48px; background-image: radial-gradient(circle, var(--fs-violet-light, #8A74FF) 2.5px, transparent 3px); background-size: 13px 13px; }
body.fs-site .fs-sieve--compact .fs-sieve__mesh-label { padding: 6px 14px; font-size: 12px; }
body.fs-site .fs-sieve--compact .fs-sieve__outcomes { display: flex; flex-direction: column; gap: 10px; }
body.fs-site .fs-sieve--compact .fs-sieve__box { gap: 8px; border-radius: 16px; padding: 12px; }
body.fs-site .fs-sieve--compact .fs-sieve__box--spam { border: 0; }
body.fs-site .fs-sieve--compact .fs-sieve__msg { gap: 5px; border-radius: 10px; padding: 8px 10px; }
body.fs-site .fs-sieve--compact .fs-chip { font-size: 12px; padding: 3px 9px; }
body.fs-site .fs-sieve--compact .fs-chip--review { padding: 1px 9px; }
body.fs-site .fs-sieve--compact .fs-chip--caught { border-radius: var(--fs-radius-pill); line-height: 1.3; white-space: nowrap; }
body.fs-site .fs-sieve--compact .fs-sieve__text { font-size: 14px; }
body.fs-site .fs-sieve--compact .fs-sieve__note { font-size: 13px; line-height: normal; }

@container fs-sieve (max-width: 459px) {
	body.fs-site .fs-sieve--auto { border-radius: 22px; padding: 16px; }
	body.fs-site .fs-sieve--auto .fs-sieve__label { font-size: 13px; }
	body.fs-site .fs-sieve--auto .fs-sieve__form { margin-top: 10px; display: flex; gap: 8px; align-items: center; border-radius: 14px; box-shadow: var(--fs-shadow-small); padding: 10px; }
	body.fs-site .fs-sieve--auto .fs-sieve__field--name,
	body.fs-site .fs-sieve--auto .fs-sieve__field-label { display: none; }
	body.fs-site .fs-sieve--auto .fs-sieve__field--message { flex: 1; }
	body.fs-site .fs-sieve--auto .fs-sieve__input { height: 28px; border-radius: 8px; }
	body.fs-site .fs-sieve--auto .fs-sieve__send { height: 30px; padding: 0 14px; font-size: 13px; }
	body.fs-site .fs-sieve--auto .fs-sieve__drops { height: 20px; }
	body.fs-site .fs-sieve--auto .fs-sieve__drops--in { gap: 30px; }
	body.fs-site .fs-sieve--auto .fs-sieve__drops--out { display: flex; justify-content: center; }
	body.fs-site .fs-sieve--auto .fs-sieve__drops--out > i + i { display: none; }
	body.fs-site .fs-sieve--auto .fs-sieve__mesh { height: 48px; background-image: radial-gradient(circle, var(--fs-violet-light, #8A74FF) 2.5px, transparent 3px); background-size: 13px 13px; }
	body.fs-site .fs-sieve--auto .fs-sieve__mesh-label { padding: 6px 14px; font-size: 12px; }
	body.fs-site .fs-sieve--auto .fs-sieve__outcomes { display: flex; flex-direction: column; gap: 10px; }
	body.fs-site .fs-sieve--auto .fs-sieve__box { gap: 8px; border-radius: 16px; padding: 12px; }
	body.fs-site .fs-sieve--auto .fs-sieve__box--spam { border: 0; }
	body.fs-site .fs-sieve--auto .fs-sieve__msg { gap: 5px; border-radius: 10px; padding: 8px 10px; }
	body.fs-site .fs-sieve--auto .fs-chip { font-size: 12px; padding: 3px 9px; }
	body.fs-site .fs-sieve--auto .fs-chip--review { padding: 1px 9px; }
	body.fs-site .fs-sieve--auto .fs-chip--caught { border-radius: var(--fs-radius-pill); line-height: 1.3; white-space: nowrap; }
	body.fs-site .fs-sieve--auto .fs-sieve__text { font-size: 14px; }
	body.fs-site .fs-sieve--auto .fs-sieve__note { font-size: 13px; line-height: normal; }
}

/* ------------------------------------------------------------------ */
/* fs_probability_scale                                                 */
/* ------------------------------------------------------------------ */

body.fs-site .fs-scale {
	display: flex;
	flex-direction: column;
	gap: 48px;
	color: var(--fs-navy);
	line-height: normal;
}

body.fs-site .fs-scale__graph {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.fs-site .fs-scale__markers {
	position: relative;
	height: 120px;
}

body.fs-site .fs-scale__markers .fs-scale__badge {
	position: absolute;
	left: 0;
	top: 0;
}

body.fs-site .fs-scale__chip {
	position: absolute;
	top: 52px;
	white-space: nowrap;
}

body.fs-site .fs-scale__chip--delivered { transform: translateX(-12px); }
body.fs-site .fs-scale__chip--review { transform: translateX(-50%); }
body.fs-site .fs-scale__chip--caught { right: 0; }

body.fs-site .fs-scale__tick {
	position: absolute;
	top: 88px;
	width: 2px;
	height: 32px;
	background: var(--fs-navy);
}

body.fs-site .fs-scale__bar {
	display: grid;
	grid-template-columns: var(--fs-scale-cols, 50fr 35fr 15fr);
	box-sizing: content-box;
	height: 56px;
	border: var(--fs-border);
	border-radius: var(--fs-radius-pill);
	overflow: hidden;
}

body.fs-site .fs-scale__band {
	display: block;
}

body.fs-site .fs-scale__band--delivered { background: var(--fs-violet); }
body.fs-site .fs-scale__band--caught { background: var(--fs-pink); }
body.fs-site .fs-scale__band--review {
	background: var(--fs-white);
	background-image: repeating-linear-gradient(135deg, transparent 0 10px, var(--fs-lavender) 10px 14px);
	border-left: var(--fs-border);
	border-right: var(--fs-border);
}

body.fs-site .fs-scale__labels {
	position: relative;
	height: 30px;
	font-family: var(--fs-font-mono);
	font-size: 14px;
}

body.fs-site .fs-scale__label {
	position: absolute;
	top: 6px;
	white-space: nowrap;
}

body.fs-site .fs-scale__label--start { left: 0; }
body.fs-site .fs-scale__label--end { right: 0; }
body.fs-site .fs-scale__label--mid { transform: translateX(-50%); font-weight: 500; }

body.fs-site .fs-scale__outcomes {
	display: grid;
	grid-template-columns: var(--fs-scale-cols, 50fr 35fr 15fr);
	gap: 24px;
}

body.fs-site .fs-scale__outcome {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.fs-site .fs-scale__outcome-title {
	font-family: var(--fs-font-display);
	font-size: 20px;
	font-weight: 700;
}

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

body.fs-site .fs-scale__outcome:first-child p {
	max-width: 420px;
}

body.fs-site .fs-scale__mobile {
	display: none;
	flex-direction: column;
	gap: 22px;
}

body.fs-site .fs-scale__graph--mobile {
	gap: 8px;
}

body.fs-site .fs-scale__graph--mobile .fs-scale__bar {
	height: 40px;
}

body.fs-site .fs-scale__graph--mobile .fs-scale__band--review {
	background-image: repeating-linear-gradient(135deg, transparent 0 8px, var(--fs-lavender) 8px 11px);
}

body.fs-site .fs-scale__graph--mobile .fs-scale__labels {
	height: 22px;
	font-size: 13px;
}

body.fs-site .fs-scale__graph--mobile .fs-scale__label {
	top: 0;
}

body.fs-site .fs-scale__graph--mobile .fs-scale__label--mid {
	font-weight: 400;
}

body.fs-site .fs-scale__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

body.fs-site .fs-scale__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}

body.fs-site .fs-scale__item-text {
	font-size: 15px;
	line-height: 1.5;
}

body.fs-site .fs-scale--mobile .fs-scale__graph--desktop,
body.fs-site .fs-scale--mobile .fs-scale__outcomes--desktop {
	display: none;
}

body.fs-site .fs-scale--mobile .fs-scale__mobile {
	display: flex;
}

/* Auto: the stacked layout below 1000 px (the markers need the desktop width). */
@media (max-width: 999px) {
	body.fs-site .fs-scale--auto .fs-scale__graph--desktop,
	body.fs-site .fs-scale--auto .fs-scale__outcomes--desktop {
		display: none;
	}

	body.fs-site .fs-scale--auto .fs-scale__mobile {
		display: flex;
	}
}

/* ------------------------------------------------------------------ */
/* fs_entry_panel                                                       */
/* ------------------------------------------------------------------ */

body.fs-site .fs-entry {
	color: var(--fs-navy);
	line-height: normal;
}

body.fs-site .fs-entry dl {
	margin: 0;
}

body.fs-site .fs-entry dd,
body.fs-site .fs-entry dt {
	margin: 0;
	padding: 0;
	color: inherit; /* Salient sets dt { color: #333 }; labels are navy like their values. */
}

body.fs-site .fs-entry__desktop {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--fs-lavender);
	border-radius: 32px;
	padding: 28px;
	container: fs-entry / inline-size;
}

body.fs-site .fs-entry--home-gf .fs-entry__desktop {
	gap: 16px;
	background: var(--fs-tint);
	padding: 32px;
}

body.fs-site .fs-entry__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

body.fs-site .fs-entry__head .fs-badge {
	align-self: center;
}

body.fs-site .fs-entry__title {
	font-family: var(--fs-font-display);
	font-size: 15px;
	font-weight: 700;
}

body.fs-site .fs-entry__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 16px;
	align-items: start;
}

body.fs-site .fs-entry__fields {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--fs-white);
	border: var(--fs-border);
	border-radius: 18px;
	padding: 20px;
	font-size: 15px;
}

body.fs-site .fs-entry__fields > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

body.fs-site .fs-entry__fields dt,
body.fs-site .fs-entry__message-card dt {
	font-size: 13px;
	font-weight: 700;
}

body.fs-site .fs-entry__message {
	line-height: 1.5;
}

body.fs-site .fs-entry__message-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	background: var(--fs-white);
	border: var(--fs-border);
	border-radius: 18px;
	padding: 16px 18px;
	font-size: 15px;
}

body.fs-site .fs-entry__panel {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--fs-white);
	border: var(--fs-border);
	border-radius: 18px;
	box-shadow: var(--fs-shadow-panel);
	padding: 20px;
}

body.fs-site .fs-entry__panel-head {
	display: flex;
	align-items: center;
	gap: 8px;
}

body.fs-site .fs-entry__panel-head--split {
	justify-content: space-between;
}

body.fs-site .fs-entry__panel-head--split .fs-chip {
	align-self: center;
}

body.fs-site .fs-entry__brand {
	font-family: var(--fs-font-display);
	font-size: 14px;
	font-weight: 700;
}

body.fs-site .fs-entry__prob {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}

body.fs-site .fs-entry__prob-label {
	font-size: 14px;
	font-weight: 700;
}

body.fs-site .fs-entry__prob-value {
	font-family: var(--fs-font-mono);
	font-size: 20px;
	font-weight: 400;
}

body.fs-site .fs-entry__prob-value--strong {
	font-weight: 500;
}

body.fs-site .fs-entry__bar {
	box-sizing: content-box;
	height: 14px;
	border: var(--fs-border);
	border-radius: var(--fs-radius-pill);
	overflow: hidden;
}

body.fs-site .fs-entry__fill {
	display: block;
	height: 100%;
	background: var(--fs-pink);
}

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

body.fs-site .fs-entry__details {
	font-size: 14px;
	line-height: 1.35;
}

body.fs-site .fs-entry__details dt {
	font-weight: 700;
}

body.fs-site .fs-entry__details .fs-mono,
body.fs-site .row .col .fs-entry__details .fs-mono {
	font-size: 13px;
}

body.fs-site .fs-entry__details--rows {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	row-gap: 8px;
}

body.fs-site .fs-entry__details--grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
}

body.fs-site .fs-entry__details--grid > div {
	display: flex;
	flex-direction: column;
}

body.fs-site .fs-entry__action {
	display: flex;
	align-items: center;
	align-self: flex-start;
	box-sizing: content-box;
	height: 44px;
	padding: 0 20px;
	border: var(--fs-border);
	border-radius: var(--fs-radius-pill);
	font-size: 14px;
	font-weight: 700;
}

body.fs-site .fs-entry__action--full {
	align-self: stretch;
	justify-content: center;
	padding: 0;
}

/* Compact card (mobile). */
body.fs-site .fs-entry-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--fs-white);
	color: var(--fs-navy);
	border: var(--fs-border);
	border-radius: 18px;
	box-shadow: var(--fs-shadow-panel);
	padding: 18px;
}

body.fs-site .fs-entry-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

body.fs-site .fs-entry-card .fs-entry__brand {
	font-size: 13px;
}

body.fs-site .fs-entry-card .fs-badge {
	align-self: center;
	font-size: 11px;
	padding: 4px 10px;
}

body.fs-site .fs-entry-card .fs-entry__prob-value {
	font-size: 18px;
}

body.fs-site .fs-entry-card .fs-entry__bar {
	height: 12px;
}

body.fs-site .fs-entry-card .fs-entry__details--rows {
	grid-template-columns: 80px minmax(0, 1fr);
	row-gap: 6px;
}

body.fs-site .fs-entry-card--sm {
	gap: 10px;
	padding: 16px;
	box-shadow: var(--fs-shadow-small);
}

body.fs-site .fs-entry-card--sm .fs-entry__details--rows {
	grid-template-columns: 76px minmax(0, 1fr);
	font-size: 13px;
}

body.fs-site .fs-entry-card--sm .fs-entry__details .fs-mono,
body.fs-site .row .col .fs-entry-card--sm .fs-entry__details .fs-mono {
	font-size: 12px;
}

body.fs-site .fs-entry__mobile {
	display: none;
}

/*
 * Narrow columns (e.g. home-gf in a 7/12 column at 1000–1199 px): the fields
 * card goes above the panel once the lavender box's content width is under
 * 536 px (fields card under 220 px; the artboard has 646), and the product
 * details grid goes to one column under 420 px.
 */
@container fs-entry (max-width: 535px) {
	body.fs-site .fs-entry--home-gf .fs-entry__cols {
		grid-template-columns: minmax(0, 1fr);
	}
}

@container fs-entry (max-width: 420px) {
	body.fs-site .fs-entry__details--grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 690px) {
	body.fs-site .fs-entry--mobile-compact .fs-entry__desktop {
		display: none;
	}

	body.fs-site .fs-entry--mobile-compact .fs-entry__mobile {
		display: block;
	}
}

/* ------------------------------------------------------------------ */
/* fs_step_card                                                         */
/* ------------------------------------------------------------------ */

body.fs-site .fs-step {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
	border-radius: var(--fs-radius-card);
	padding: 28px 24px 32px;
	line-height: normal;
}

body.fs-site .fs-step__num {
	font-family: var(--fs-font-display);
	font-size: 48px;
	font-weight: 800;
	line-height: 1;
}

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

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

body.fs-site .fs-step--compact {
	gap: 12px;
	padding: 28px 24px;
}

body.fs-site .fs-step--compact .fs-step__num {
	font-size: 40px;
}

/* Equal-height cards in a stretched grid row. */
body.fs-site .wpb_row.fs-align-stretch > :is(.row_col_wrap_12, .row_col_wrap_12_inner) > .wpb_column > .vc_column-inner,
body.fs-site .wpb_row.fs-align-stretch > :is(.row_col_wrap_12, .row_col_wrap_12_inner) > .wpb_column > .vc_column-inner > .wpb_wrapper {
	height: 100%;
}

@media (max-width: 690px) {
	body.fs-site .fs-step--auto {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 4px 12px;
		border-radius: 22px;
		padding: 22px 20px;
		height: auto;
	}

	body.fs-site .fs-step--auto .fs-step__num {
		grid-row: span 2;
		font-size: 34px;
	}

	body.fs-site .fs-step--auto .fs-step__title,
	body.fs-site .row .col .fs-step--auto .fs-step__title {
		font-size: 18px;
		line-height: normal;
	}

	body.fs-site .fs-step--auto .fs-step__text,
	body.fs-site .row .col .fs-step--auto .fs-step__text {
		font-size: 15px;
	}
}

/* ------------------------------------------------------------------ */
/* fs_feature_grid                                                      */
/* ------------------------------------------------------------------ */

body.fs-site .fs-features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: var(--fs-border);
	line-height: normal;
}

body.fs-site .fs-features__item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px 28px 32px;
	border-bottom: var(--fs-hairline);
	border-left: var(--fs-hairline);
}

body.fs-site .fs-features--cols-3 .fs-features__item:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
body.fs-site .fs-features--cols-3 .fs-features__item:nth-child(3n) { padding-right: 0; }

body.fs-site .fs-features--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.fs-site .fs-features--cols-2 .fs-features__item:nth-child(2n + 1) { padding-left: 0; border-left: 0; }
body.fs-site .fs-features--cols-2 .fs-features__item:nth-child(2n) { padding-right: 0; }

body.fs-site .fs-features__title,
body.fs-site .row .col .fs-features__title {
	margin: 0;
	font-family: var(--fs-font-display);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
}

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

@media (max-width: 999px) and (min-width: 691px) {
	body.fs-site .fs-features--cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.fs-site .fs-features--cols-3 .fs-features__item,
	body.fs-site .fs-features--cols-3 .fs-features__item:nth-child(3n + 1),
	body.fs-site .fs-features--cols-3 .fs-features__item:nth-child(3n) { padding: 28px 28px 32px; border-left: var(--fs-hairline); } /* undo the 3-column edge rules */
	body.fs-site .fs-features--cols-3 .fs-features__item:nth-child(2n + 1) { padding-left: 0; border-left: 0; }
	body.fs-site .fs-features--cols-3 .fs-features__item:nth-child(2n) { padding-right: 0; }
}

@media (max-width: 690px) {
	body.fs-site .fs-features,
	body.fs-site .fs-features--cols-2 {
		display: flex;
		flex-direction: column;
		gap: 8px;
		border-top: 0;
	}

	body.fs-site .fs-features .fs-features__item {
		gap: 6px;
		padding: 16px 0;
		border-left: 0;
	}

	body.fs-site .fs-features .fs-features__item:first-child {
		border-top: var(--fs-border);
	}

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

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

/* ------------------------------------------------------------------ */
/* fs_pricing_table                                                     */
/* ------------------------------------------------------------------ */

body.fs-site .fs-pricing {
	color: var(--fs-navy);
	line-height: normal;
}

body.fs-site .fs-pricing__table {
	border: var(--fs-border);
	border-radius: 32px;
	overflow: hidden;
	box-shadow: var(--fs-shadow-table);
	background: var(--fs-white);
}

body.fs-site .fs-pricing__row {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr) minmax(0, 1fr);
}

body.fs-site .fs-pricing__row--tier-1 { border-top: var(--fs-border); }
body.fs-site .fs-pricing__row--tier-5,
body.fs-site .fs-pricing__row--tier-unlimited { border-top: var(--fs-hairline); }

body.fs-site .fs-pricing__corner {
	align-self: end;
	padding: 32px;
	font-family: var(--fs-font-display);
	font-size: 16px;
	font-weight: 700;
}

body.fs-site .fs-pricing__product {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 32px;
}

body.fs-site .fs-pricing__product--violet { background: var(--fs-violet); color: var(--fs-white); }
body.fs-site .fs-pricing__product--lavender { background: var(--fs-lavender); border-left: var(--fs-border); }

body.fs-site .fs-pricing__name {
	font-family: var(--fs-font-display);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.15;
}

body.fs-site .fs-pricing__reqs {
	font-size: 15px;
}

body.fs-site .fs-pricing__tier {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 32px;
}

body.fs-site .fs-pricing__tier-name {
	font-family: var(--fs-font-display);
	font-size: 20px;
	font-weight: 700;
}

body.fs-site .fs-pricing__tier-note {
	font-size: 15px;
}

body.fs-site .fs-pricing__cell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 32px;
}

body.fs-site .fs-pricing__cell + .fs-pricing__cell {
	border-left: var(--fs-border);
}

body.fs-site .fs-pricing__price {
	font-family: var(--fs-font-display);
	font-size: 48px;
	font-weight: 800;
}

body.fs-site .fs-pricing__cards {
	display: none;
	flex-direction: column;
	gap: 20px;
}

body.fs-site .fs-pricing__card {
	border: var(--fs-border);
	border-radius: 24px;
	overflow: hidden;
	box-shadow: var(--fs-shadow-panel);
	background: var(--fs-white);
}

body.fs-site .fs-pricing__card-head {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 20px;
}

body.fs-site .fs-pricing__card-head--violet { background: var(--fs-violet); color: var(--fs-white); }
body.fs-site .fs-pricing__card-head--lavender { background: var(--fs-lavender); border-bottom: var(--fs-border); }

body.fs-site .fs-pricing__card-head .fs-pricing__name {
	font-size: 20px;
	line-height: 1.2;
}

body.fs-site .fs-pricing__card-head .fs-pricing__reqs {
	font-size: 14px;
}

body.fs-site .fs-pricing__card-row {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px 20px;
	border-bottom: var(--fs-hairline);
}

body.fs-site .fs-pricing__card-row:last-child {
	border-bottom: 0;
}

body.fs-site .fs-pricing__card-line {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

body.fs-site .fs-pricing__card-row--tier-1 .fs-pricing__card-line {
	align-items: baseline;
}

body.fs-site .fs-pricing__card-line .fs-pricing__tier-name {
	font-size: 16px;
}

body.fs-site .fs-pricing__card-line .fs-pricing__price {
	font-size: 32px;
}

body.fs-site .fs-pricing__card-line .fs-ph--price {
	padding: 4px 8px;
	font-size: 13px;
}

/* 1000–1199 px: narrower than the artboard, so each price sits above its button. */
@media (min-width: 1000px) and (max-width: 1199px) {
	body.fs-site .fs-pricing__row {
		grid-template-columns: 240px minmax(0, 1fr) minmax(0, 1fr);
	}

	body.fs-site .fs-pricing__corner,
	body.fs-site .fs-pricing__product,
	body.fs-site .fs-pricing__tier,
	body.fs-site .fs-pricing__cell {
		padding: 28px;
	}

	body.fs-site .fs-pricing__cell {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 14px;
	}
}

@media (max-width: 999px) {
	body.fs-site .fs-pricing__table { display: none; }
	body.fs-site .fs-pricing__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
}

/* Tablet 2-up: both cards share the head + three tier rows, so a head that
   wraps to two lines keeps the rows and bottom edges aligned. */
@media (min-width: 691px) and (max-width: 999px) {
	@supports (grid-template-rows: subgrid) {
		body.fs-site .fs-pricing__card {
			display: grid;
			grid-row: span 4;
			grid-template-rows: subgrid;
			row-gap: 0;
		}
	}
}

@media (max-width: 690px) {
	body.fs-site .fs-pricing__cards { display: flex; }
}

/* ------------------------------------------------------------------ */
/* fs_price_card                                                        */
/* ------------------------------------------------------------------ */

body.fs-site .fs-price-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: var(--fs-white);
	color: var(--fs-navy);
	border: var(--fs-border);
	border-radius: var(--fs-radius-card);
	box-shadow: var(--fs-shadow-card);
	padding: 40px;
	line-height: normal;
}

body.fs-site .fs-price-card__title {
	font-family: var(--fs-font-display);
	font-size: 22px;
	font-weight: 700;
}

body.fs-site .fs-price-card__price {
	font-family: var(--fs-font-display);
	font-size: 64px;
	font-weight: 800;
	line-height: 1;
}

body.fs-site .fs-price-card__note {
	font-size: 17px;
}

body.fs-site .fs-price-card__button {
	margin-top: 12px;
	align-self: flex-start;
}

body.fs-site .fs-price-card--compact {
	gap: 12px;
	padding: 28px 24px;
}

body.fs-site .fs-price-card--compact .fs-price-card__title { font-size: 18px; }
body.fs-site .fs-price-card--compact .fs-price-card__price { font-size: 40px; line-height: normal; }
body.fs-site .fs-price-card--compact .fs-price-card__note { font-size: 15px; }

@media (max-width: 690px) {
	body.fs-site .fs-price-card {
		gap: 10px;
		border-radius: 22px;
		box-shadow: var(--fs-shadow-panel);
		padding: 24px;
	}

	body.fs-site .fs-price-card__title { font-size: 17px; }
	body.fs-site .fs-price-card__price { font-size: 44px; }
	body.fs-site .fs-price-card__note { font-size: 15px; }

	body.fs-site .fs-price-card__button {
		align-self: stretch;
		height: var(--fs-btn-h-mobile);
	}
}

/* ------------------------------------------------------------------ */
/* fs_faq                                                               */
/* ------------------------------------------------------------------ */

body.fs-site .fs-faq {
	display: flex;
	flex-direction: column;
	border-top: var(--fs-border);
	color: var(--fs-navy);
}

body.fs-site .fs-faq__item {
	border-bottom: var(--fs-hairline);
}

body.fs-site .fs-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 64px;
	list-style: none;
	cursor: pointer;
	font-family: var(--fs-font-display);
	font-size: 18px;
	font-weight: 700;
	line-height: normal;
}

body.fs-site .fs-faq__q::-webkit-details-marker {
	display: none;
}

body.fs-site .fs-faq__q::marker {
	content: "";
}

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

body.fs-site .fs-faq__q:focus-visible {
	outline-offset: 2px;
}

body.fs-site .fs-faq__icon::before {
	content: "+";
	font-size: 24px;
}

body.fs-site .fs-faq__item[open] .fs-faq__icon::before {
	content: "\2013";
}

body.fs-site .fs-faq__a,
body.fs-site .row .col .fs-faq__a {
	max-width: 680px;
	margin: 0 0 24px;
	font-size: 16px;
	line-height: 1.6;
}

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

body.fs-site .fs-faq__a--placeholder,
body.fs-site .row .col .fs-faq__a--placeholder {
	max-width: none;
	background: var(--fs-ph-bg);
	border: 2px dashed var(--fs-pink);
	padding: 12px 14px;
	font-family: var(--fs-font-mono);
	font-size: 14px;
	line-height: 1.6;
}

@media (max-width: 690px) {
	body.fs-site .fs-faq__q {
		gap: 12px;
		min-height: 60px;
		font-size: 15px;
		line-height: 1.3;
	}

	body.fs-site .fs-faq__icon::before {
		font-size: 22px;
	}

	body.fs-site .fs-faq__a,
	body.fs-site .row .col .fs-faq__a {
		margin-bottom: 18px;
		font-size: 15px;
		line-height: 1.55;
	}

	body.fs-site .fs-faq__a--placeholder,
	body.fs-site .row .col .fs-faq__a--placeholder {
		padding: 10px 12px;
		font-size: 13px;
		line-height: 1.6;
	}
}

/* ------------------------------------------------------------------ */
/* fs_data_flow (on navy)                                               */
/* ------------------------------------------------------------------ */

body.fs-site .fs-flow-graphic-wrap {
	container: fs-flow / inline-size;
}

body.fs-site .fs-flow-graphic {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
	align-items: center;
	gap: 8px;
	color: var(--fs-white);
}

body.fs-site .fs-flow-graphic__node {
	box-sizing: border-box;
	border-radius: var(--fs-radius-node);
	padding: 14px 12px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

body.fs-site .fs-flow-graphic__node--site { background: var(--fs-white); color: var(--fs-navy); }
body.fs-site .fs-flow-graphic__node--gateway { border: 2px dashed var(--fs-white); padding: 12px 10px; color: var(--fs-white); }
body.fs-site .fs-flow-graphic__node--processor { background: var(--fs-lavender); color: var(--fs-navy); }

body.fs-site .fs-flow-graphic__line {
	display: block;
	height: 2px;
	background: var(--fs-white);
}

/* Vertical when narrow (phones; half columns from 1000 to about 1150 px). */
@container fs-flow (max-width: 399px) {
	body.fs-site .fs-flow-graphic {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	body.fs-site .fs-flow-graphic__node {
		border-radius: 14px;
		padding: 12px;
		line-height: normal;
	}

	body.fs-site .fs-flow-graphic__node--gateway {
		padding: 10px;
	}

	body.fs-site .fs-flow-graphic__line {
		align-self: center;
		width: 2px;
		height: 16px;
	}
}

/* ------------------------------------------------------------------ */
/* fs_checklist                                                         */
/* ------------------------------------------------------------------ */

body.fs-site .fs-checklist {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	line-height: 1.45;
}

body.fs-site .fs-checklist li {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin: 0;
	padding: 0;
	line-height: 1.45;
	list-style: none;
}

body.fs-site .fs-checklist__box {
	display: block;
	width: 20px;
	height: 20px;
	border: var(--fs-border);
	border-radius: 6px;
}

@media (max-width: 690px) {
	body.fs-site .fs-checklist {
		gap: 10px;
		font-size: 15px;
		line-height: normal;
	}

	body.fs-site .fs-checklist li {
		grid-template-columns: 26px minmax(0, 1fr);
		gap: 8px;
		line-height: normal;
	}

	body.fs-site .fs-checklist__box {
		width: 18px;
		height: 18px;
		border-radius: 5px;
	}
}

/* ------------------------------------------------------------------ */
/* fs_bullet_list                                                       */
/* ------------------------------------------------------------------ */

body.fs-site .fs-bullets {
	margin: 0;
	padding: 0;
	list-style: none;
	--fs-dot: var(--fs-violet);
}

body.fs-site .fs-bullets li {
	margin: 0;
	list-style: none;
}

body.fs-site .fs-bullets--dot-violet { --fs-dot: var(--fs-violet); }
body.fs-site .fs-bullets--dot-orange { --fs-dot: var(--fs-orange); }
body.fs-site .fs-bullets--dot-pink { --fs-dot: var(--fs-pink); }
body.fs-site .fs-bullets--dot-navy { --fs-dot: var(--fs-navy); }
body.fs-site .fs-bullets--dot-lime { --fs-dot: var(--fs-lime); }

body.fs-site .fs-bullets__dot {
	display: block;
	border-radius: 50%;
	background: var(--fs-dot);
}

/* Ruled (In the box). */
body.fs-site .fs-bullets--ruled {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 32px;
	border-top: var(--fs-border);
}

body.fs-site .fs-bullets--ruled.fs-bullets--cols-1 {
	grid-template-columns: minmax(0, 1fr);
}

body.fs-site .fs-bullets--ruled li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 12px;
	padding: 18px 0;
	border-bottom: var(--fs-hairline);
	font-size: 16px;
	line-height: 1.5;
}

body.fs-site .fs-bullets--ruled .fs-bullets__dot {
	width: 12px;
	height: 12px;
	margin-top: 6px;
}

/* Plain (on dark blocks). */
body.fs-site .fs-bullets--plain {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 16px;
	line-height: 1.5;
}

body.fs-site .fs-bullets--plain li {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 10px;
	line-height: 1.5;
}

body.fs-site .fs-bullets--plain .fs-bullets__dot {
	width: 10px;
	height: 10px;
	margin-top: 7px;
}

@media (max-width: 690px) {
	body.fs-site .fs-bullets--ruled {
		grid-template-columns: minmax(0, 1fr);
	}

	body.fs-site .fs-bullets--ruled li {
		display: block;
		padding: 14px 0;
		font-size: 15px;
		line-height: normal;
	}

	body.fs-site .fs-bullets--ruled .fs-bullets__dot {
		display: none;
	}

	body.fs-site .fs-bullets--plain {
		gap: 10px;
		font-size: 15px;
	}

	body.fs-site .fs-bullets--plain li {
		grid-template-columns: 16px minmax(0, 1fr);
		gap: 8px;
	}

	body.fs-site .fs-bullets--plain .fs-bullets__dot {
		width: 8px;
		height: 8px;
		margin-top: 8px;
	}
}

/* ------------------------------------------------------------------ */
/* fs_numbered_steps (Thank-you)                                        */
/* ------------------------------------------------------------------ */

body.fs-site .fs-steps {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--fs-navy);
	container: fs-steps / inline-size;
}

body.fs-site .fs-steps__item {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) 380px;
	gap: 32px;
	align-items: start;
	margin: 0;
	border-radius: var(--fs-radius-card);
	padding: 36px 40px;
	list-style: none;
	line-height: normal;
}

body.fs-site .fs-steps__item--lavender { background: var(--fs-lavender); }
body.fs-site .fs-steps__item--shadow { background: var(--fs-white); border: var(--fs-border); box-shadow: var(--fs-shadow-card); }

body.fs-site .fs-steps__num {
	font-family: var(--fs-font-display);
	font-size: 56px;
	font-weight: 800;
	line-height: 1;
}

body.fs-site .fs-steps__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

body.fs-site .fs-steps__body--list {
	gap: 14px;
}

body.fs-site .fs-steps__title,
body.fs-site .row .col .fs-steps__title {
	margin: 0;
	font-family: var(--fs-font-display);
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
}

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

body.fs-site .fs-steps__sub {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.fs-site .fs-steps__sub li {
	margin: 0;
	background: var(--fs-white);
	border-radius: var(--fs-radius-node);
	padding: 14px;
	font-size: 15px;
	line-height: 1.4;
	list-style: none;
}

body.fs-site .fs-steps__action {
	justify-self: end;
}

body.fs-site .fs-steps__action.fs-btn--primary {
	padding: 0 26px;
	font-size: 16px;
}

body.fs-site .fs-steps__action.fs-btn--text {
	font-size: 16px;
}

/*
 * Narrower than the artboard (1240): under 1200 px the action goes under the
 * text so the text keeps its width; under 760 px the sub-steps go 2 × 2.
 */
@container fs-steps (max-width: 1199px) {
	body.fs-site .fs-steps__item {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 20px 24px;
	}

	body.fs-site .fs-steps__action {
		grid-column: 2;
		justify-self: start;
	}

	body.fs-site .fs-steps__action--none {
		display: none;
	}
}

@container fs-steps (max-width: 760px) {
	body.fs-site .fs-steps__sub {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 690px) {
	body.fs-site .fs-steps {
		gap: 12px;
	}

	body.fs-site .fs-steps__item {
		display: flex;
		flex-direction: column;
		gap: 10px;
		border-radius: 22px;
		padding: 22px 20px;
	}

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

	body.fs-site .fs-steps__num {
		font-size: 32px;
	}

	body.fs-site .fs-steps__body,
	body.fs-site .fs-steps__body--list {
		gap: 10px;
	}

	body.fs-site .fs-steps__title,
	body.fs-site .row .col .fs-steps__title {
		font-size: 18px;
	}

	body.fs-site .fs-steps__text,
	body.fs-site .row .col .fs-steps__text {
		font-size: 15px;
		line-height: 1.55;
	}

	body.fs-site .fs-steps__sub {
		display: block;
		padding-left: 20px;
		list-style: decimal;
	}

	body.fs-site .fs-steps__sub li {
		background: none;
		border-radius: 0;
		padding: 0;
		font-size: 15px;
		line-height: 1.6;
		list-style: decimal;
	}

	body.fs-site .fs-steps__action.fs-btn--primary {
		display: flex;
		align-self: stretch;
		height: var(--fs-btn-h-sm);
		margin-top: 6px;
		padding: 0;
		font-size: 15px;
	}

	body.fs-site .fs-steps__action--link {
		display: none !important;
	}
}

/* ------------------------------------------------------------------ */
/* fs_account_form (Account 11a)                                        */
/* ------------------------------------------------------------------ */

body.fs-site .fs-account {
	display: flex;
	flex-direction: column;
	gap: 20px;
	box-sizing: content-box; /* 480 + 2 × 40 padding + border, as drawn */
	width: 480px;
	max-width: calc(100% - 84px);
	margin: 0 auto;
	background: var(--fs-white);
	color: var(--fs-navy);
	border: var(--fs-border);
	border-radius: var(--fs-radius-card);
	box-shadow: var(--fs-shadow-card);
	padding: 40px;
	line-height: normal;
}

body.fs-site .fs-account__title,
body.fs-site .row .col .fs-account__title {
	margin: 0;
	font-family: var(--fs-font-display);
	font-size: 32px;
	font-weight: 800;
	line-height: normal;
	letter-spacing: -.03em;
}

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

body.fs-site #ajax-content-wrap button.fs-account__submit {
	height: var(--fs-btn-h-mobile) !important; /* 56 inside the border = 60, as drawn */
	font-size: 17px !important;
}

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

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

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

@media (max-width: 690px) {
	body.fs-site .fs-account {
		width: auto;
		max-width: none;
		padding: 28px 20px;
		border-radius: 22px;
		box-shadow: var(--fs-shadow-small);
	}
}
