/*
 * Formsieve billing and account screens (subscription spec 2026-09-25, §5, §6).
 * /subscribe/ (fs-sub*) and /welcome/ (fs-wel*) follow Javier's approved
 * artboards of 2026-09-26 ("Formsieve Subscribe.dc.html", "Formsieve
 * Welcome.dc.html"): values copied from them. The other rules are functional
 * styles built from the theme's tokens (tokens.css) and components (fs-card,
 * fs-btn, fs-field, fs-chip).
 */

/* ------------------------------------------------------------------ */
/* Public billing pages                                                 */
/* ------------------------------------------------------------------ */

body.fs-site .fs-bill {
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: var(--fs-body);
	line-height: 1.6;
}

body.fs-site .fs-bill--message,
body.fs-site .fs-bill--start,
body.fs-site .fs-bill--cancel,
body.fs-site .fs-bill--withdraw {
	max-width: 720px;
	margin: 0 auto;
}

body.fs-site .fs-bill__card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 40px;
	background: var(--fs-white);
	border: var(--fs-border);
	box-shadow: var(--fs-shadow-card);
}

body.fs-site .fs-bill__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 32px;
}

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

body.fs-site .fs-bill p.fs-bill__eyebrow {
	margin: 0;
	font-family: var(--fs-font-display);
	font-size: var(--fs-eyebrow);
	font-weight: 700;
	color: var(--fs-violet);
}

body.fs-site .fs-bill h1.fs-bill__h1 {
	margin: 0;
	font-family: var(--fs-font-display);
	font-size: 44px;
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.03em;
	color: var(--fs-navy);
}

body.fs-site .fs-bill h2.fs-bill__title {
	margin: 0;
	font-family: var(--fs-font-display);
	font-size: var(--fs-h3);
	font-weight: 700;
	line-height: 1.2;
	color: var(--fs-navy);
}

body.fs-site .fs-bill p.fs-bill__text,
body.fs-site .fs-bill p.fs-bill__small {
	margin: 0;
}

body.fs-site .fs-bill .fs-bill__small {
	font-size: var(--fs-small);
	line-height: 1.5;
}

body.fs-site .fs-bill a:not(.fs-btn):not(.fs-chip) {
	color: var(--fs-violet);
	text-decoration: underline;
}

body.fs-site ol.fs-bill__steps {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0 0 0 20px;
}

body.fs-site .fs-bill__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

body.fs-site .fs-bill__consent {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 16px;
	border-radius: var(--fs-radius-input);
	background: var(--fs-tint);
	font-size: 15px;
	line-height: 1.5;
}

body.fs-site .fs-bill__consent input[type="checkbox"] {
	width: 22px;
	height: 22px;
	margin: 1px 0 0;
	accent-color: var(--fs-violet);
}

body.fs-site .fs-bill__notice,
body.fs-site .fs-acc2 .fs-bill__notice {
	margin: 0;
	padding: 14px 16px;
	border-radius: var(--fs-radius-input);
	background: var(--fs-lime);
	color: var(--fs-navy);
	font-weight: 500;
}

body.fs-site .fs-bill__notice--error,
body.fs-site .fs-acc2 .fs-bill__notice--error {
	background: var(--fs-ph-bg);
	border: 2px solid var(--fs-pink);
}

body.fs-site .fs-bill__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

/* Key box */
body.fs-site .fs-bill-key {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	border-radius: var(--fs-radius-inner);
	background: var(--fs-tint);
}

body.fs-site .fs-bill-key__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

body.fs-site .fs-bill-key__value {
	flex: 1 1 260px;
	padding: 0;
	background: none;
	font-family: var(--fs-font-mono);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .04em;
	color: var(--fs-navy);
	overflow-wrap: anywhere;
}

body.fs-site .fs-bill-key .fs-btn[hidden] {
	display: none;
}

body.fs-site pre.fs-bill-code {
	margin: 0;
	padding: 16px;
	border-radius: var(--fs-radius-input);
	background: var(--fs-navy);
	color: var(--fs-white);
	font-family: var(--fs-font-mono);
	font-size: var(--fs-mono);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------------------ */
/* Account screens (re-hosted, §6): reuse the fs-acc layout            */
/* ------------------------------------------------------------------ */

body.fs-site .fs-acc2 .fs-acc__body > section,
body.fs-site .fs-acc2 .fs-acc2__panel {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px;
	border: var(--fs-border);
	border-radius: var(--fs-radius-card);
	background: var(--fs-white);
	box-shadow: var(--fs-shadow-panel);
}

body.fs-site .fs-acc2 h2.fs-acc2__h2 {
	margin: 0;
	font-family: var(--fs-font-display);
	font-size: var(--fs-h3);
	font-weight: 700;
	line-height: 1.2;
}

body.fs-site .fs-acc2 p {
	margin: 0;
}

body.fs-site .fs-acc2 a:not(.fs-btn):not(.fs-acc__link):not(.fs-chip) {
	color: var(--fs-violet);
}

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

body.fs-site .fs-acc2__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	margin: 0;
}

body.fs-site .fs-acc2__facts dt {
	font-size: var(--fs-small);
	font-weight: 500;
}

body.fs-site .fs-acc2 dl.fs-acc2__facts dd {
	margin: 4px 0 0;
	padding: 0;
	font-family: var(--fs-font-display);
	font-size: 20px;
	font-weight: 700;
}

body.fs-site .fs-acc2__chip {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 14px;
	border-radius: var(--fs-radius-pill);
	background: var(--fs-lime);
	font-size: var(--fs-small);
	font-weight: 700;
	white-space: nowrap;
}

body.fs-site .fs-acc2__chip--trial { background: var(--fs-lavender); }
body.fs-site .fs-acc2__chip--past_due,
body.fs-site .fs-acc2__chip--cancels { background: var(--fs-orange); }
body.fs-site .fs-acc2__chip--lapsed,
body.fs-site .fs-acc2__chip--revoked,
body.fs-site .fs-acc2__chip--disabled { background: var(--fs-ph-bg); border: 2px solid var(--fs-pink); }

/* Usage meter */
body.fs-site .fs-meter {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.fs-site .fs-meter__bar {
	position: relative;
	height: 16px;
	border: 2px solid var(--fs-navy);
	border-radius: var(--fs-radius-pill);
	background: var(--fs-tint);
	overflow: hidden;
}

body.fs-site .fs-meter__fill {
	position: absolute;
	inset: 0 auto 0 0;
	background: var(--fs-violet);
}

body.fs-site .fs-meter--warn .fs-meter__fill { background: var(--fs-orange); }
body.fs-site .fs-meter--over .fs-meter__fill { background: var(--fs-pink); }

/* Tables (sites, invoices, usage) */
body.fs-site .fs-acc2 table.fs-acc2__table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 15px;
}

body.fs-site .fs-acc2 table.fs-acc2__table th,
body.fs-site .fs-acc2 table.fs-acc2__table td {
	padding: 12px 8px;
	border: 0;
	border-bottom: var(--fs-hairline);
	text-align: left;
	vertical-align: middle;
}

body.fs-site .fs-acc2 table.fs-acc2__table th {
	font-size: var(--fs-small);
	font-weight: 700;
}

body.fs-site .fs-acc2__table-wrap {
	overflow-x: auto;
}

/* Usage chart (bars per day, allowance line) */
body.fs-site .fs-chart {
	display: flex;
	align-items: flex-end;
	gap: 2px;
	height: 160px;
	padding-top: 8px;
	border-bottom: 2px solid var(--fs-navy);
}

body.fs-site .fs-chart__bar {
	flex: 1 1 0;
	min-width: 2px;
	background: var(--fs-violet);
	border-radius: 2px 2px 0 0;
}

body.fs-site .fs-acc2__plans {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
}

body.fs-site .fs-acc2__plan {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	border-radius: var(--fs-radius-inner);
	background: var(--fs-tint);
}

body.fs-site .fs-acc2__plan.is-current {
	background: var(--fs-lavender);
	outline: 2px solid var(--fs-navy);
}

body.fs-site .fs-acc2__plan form {
	margin: 0;
}

body.fs-site .fs-acc2__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

body.fs-site .fs-acc2__actions form {
	margin: 0;
}

/* Phones (390 px artboards): one column, 16 px gutters come from the theme. */
@media (max-width: 999px) {
	body.fs-site .fs-bill__card,
	body.fs-site .fs-acc2 .fs-acc__body > section,
	body.fs-site .fs-acc2 .fs-acc2__panel {
		padding: 24px 20px;
	}

	body.fs-site .fs-bill h1.fs-bill__h1 {
		font-size: 32px;
	}
}

/* Account additions: progress meter, SVG usage chart, inline forms, downloads */
body.fs-site progress.fs-meter__bar {
	appearance: none;
	-webkit-appearance: none;
	display: block;
	width: 100%;
	height: 16px;
	border: 2px solid var(--fs-navy);
	border-radius: var(--fs-radius-pill);
	background: var(--fs-tint);
	overflow: hidden;
	color: var(--fs-violet);
}

body.fs-site progress.fs-meter__bar::-webkit-progress-bar {
	background: var(--fs-tint);
}

body.fs-site progress.fs-meter__bar::-webkit-progress-value {
	background: var(--fs-violet);
}

body.fs-site progress.fs-meter__bar::-moz-progress-bar {
	background: var(--fs-violet);
}

body.fs-site .fs-meter--warn progress.fs-meter__bar::-webkit-progress-value { background: var(--fs-orange); }
body.fs-site .fs-meter--warn progress.fs-meter__bar::-moz-progress-bar { background: var(--fs-orange); }
body.fs-site .fs-meter--over progress.fs-meter__bar::-webkit-progress-value { background: var(--fs-pink); }
body.fs-site .fs-meter--over progress.fs-meter__bar::-moz-progress-bar { background: var(--fs-pink); }

body.fs-site .fs-chart-svg {
	display: block;
	width: 100%;
}

body.fs-site .fs-chart-svg__bar {
	fill: var(--fs-violet);
}

body.fs-site .fs-chart-svg__allowance {
	stroke: var(--fs-pink);
	stroke-width: 2;
	stroke-dasharray: 6 4;
	vector-effect: non-scaling-stroke;
}

body.fs-site .fs-chart-svg__axis {
	stroke: var(--fs-navy);
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
}

body.fs-site .fs-acc2__inline {
	display: inline-block;
	margin: 8px 0 0;
}

body.fs-site ul.fs-acc2__downloads {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.fs-site .fs-acc2 .fs-acc__item--logout {
	margin-top: 8px;
}

body.fs-site .fs-acc2__plan .fs-btn {
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
	min-height: var(--fs-target);
	padding: 10px 18px;
	white-space: normal;
	line-height: 1.2;
}

/* ------------------------------------------------------------------ */
/* Copy that differs between the desktop (1440) and mobile (390)       */
/* artboards: fs-sub-d on desktop and tablet, fs-sub-m on phones.      */
/* ------------------------------------------------------------------ */

@media (min-width: 691px) {
	body.fs-site .fs-sub-m {
		display: none !important;
	}
}

@media (max-width: 690px) {
	body.fs-site .fs-sub-d {
		display: none !important;
	}
}

/* ------------------------------------------------------------------ */
/* /subscribe/<plan>/<interval>/ ("Formsieve Subscribe.dc.html" 3a-3e) */
/* Layout: views/subscribe-layout.php (no site header or footer).      */
/* ------------------------------------------------------------------ */

html body.fs-site.fs-bill-bare,
body.fs-site.fs-bill-bare #ajax-content-wrap.fs-sub-wrap {
	background: var(--fs-tint);
	color: var(--fs-navy);
}

/* Slim header row: ← Back to pricing, logo, Support. */
body.fs-site .fs-sub-top {
	background: var(--fs-white);
	border-bottom: 2px solid var(--fs-navy);
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
}

body.fs-site .fs-sub-top__inner {
	width: min(1240px, calc(100% - 180px));
	margin: 0 auto;
	padding: 18px 0;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}

body.fs-site a.fs-sub-top__back,
body.fs-site a.fs-sub-top__support {
	min-height: 44px;
	display: flex;
	align-items: center;
	color: var(--fs-navy);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}

body.fs-site a.fs-sub-top__back {
	justify-self: start;
	text-decoration: none;
}

body.fs-site a.fs-sub-top__support {
	justify-self: end;
}

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

body.fs-site a.fs-sub-top__brand {
	color: var(--fs-navy);
}

/* Page */
body.fs-site .fs-sub {
	width: min(1240px, calc(100% - 180px));
	margin: 0 auto;
	padding: 56px 0 112px;
	display: flex;
	flex-direction: column;
	gap: 32px;
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: 16px;
	line-height: normal;
}

body.fs-site .fs-sub a {
	color: var(--fs-violet);
	text-decoration: underline;
}

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

body.fs-site .fs-sub p,
body.fs-site .fs-sub h1,
body.fs-site .fs-sub h2 {
	margin: 0;
	padding: 0;
}

body.fs-site .fs-sub p,
body.fs-site .fs-sub li {
	line-height: inherit;
}

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

body.fs-site .fs-sub a.fs-sub-strong-link {
	font-weight: 700;
}

body.fs-site .fs-sub__head {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

body.fs-site .fs-sub h1.fs-sub__h1 {
	font-family: var(--fs-font-display);
	font-size: 44px;
	font-weight: 800;
	line-height: normal;
	letter-spacing: -.03em;
	color: var(--fs-navy);
}

/* Mobile only (fs-sub-m): the row keeps the 22px its Example chip gave it. */
body.fs-site .fs-sub p.fs-sub__step-text {
	display: flex;
	align-items: center;
	min-height: 22px;
	font-size: 14px;
	font-weight: 700;
}

body.fs-site .fs-sub ol.fs-sub__steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 15px;
}

body.fs-site .fs-sub ol.fs-sub__steps > li {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
	line-height: normal;
}

body.fs-site .fs-sub ol.fs-sub__steps > li.is-current {
	font-weight: 700;
}

body.fs-site .fs-sub ol.fs-sub__steps > li.fs-sub__step-line {
	width: 32px;
	height: 2px;
	background: var(--fs-navy);
}

body.fs-site .fs-sub__step-num {
	width: 28px;
	height: 28px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid var(--fs-navy);
	background: var(--fs-white);
	color: var(--fs-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
}

body.fs-site li.is-done > .fs-sub__step-num {
	background: var(--fs-navy);
	color: var(--fs-white);
}

body.fs-site li.is-current > .fs-sub__step-num {
	background: var(--fs-violet);
	color: var(--fs-white);
}

body.fs-site .fs-sub__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 40px;
	align-items: start;
}

/* Order summary */
body.fs-site .fs-sub-sum {
	grid-column: span 6;
	margin: 0;
	background: var(--fs-white);
	border: 2px solid var(--fs-navy);
	border-radius: 28px;
	box-shadow: 6px 6px 0 var(--fs-navy);
	overflow: hidden;
}

body.fs-site .fs-sub-sum__top {
	background: var(--fs-violet);
	color: var(--fs-white);
	padding: 26px 32px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
}

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

body.fs-site .fs-sub-sum__label {
	font-size: 14px;
	font-weight: 700;
}

body.fs-site .fs-sub h2.fs-sub-sum__plan {
	font-family: var(--fs-font-display);
	font-size: 26px;
	font-weight: 800;
	line-height: normal;
	letter-spacing: 0;
	color: var(--fs-white);
}

body.fs-site .fs-sub-sum__billed {
	font-size: 16px;
}

body.fs-site .fs-sub a.fs-sub-sum__change,
body.fs-site .fs-sub a.fs-sub-sum__change:hover {
	min-height: 44px;
	display: flex;
	align-items: center;
	color: var(--fs-white);
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 5px;
}

body.fs-site .fs-sub-sum__body {
	padding: 28px 32px 32px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

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

body.fs-site .fs-sub ul.fs-sub-sum__list > li {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	gap: 10px;
}

body.fs-site .fs-sub-sum__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--fs-violet);
	margin-top: 7px;
}

body.fs-site .fs-sub strong.fs-sub-num {
	font-family: var(--fs-font-mono);
	font-weight: 500;
}

body.fs-site .fs-sub-sum__price {
	border-top: 2px solid var(--fs-navy);
	padding-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

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

body.fs-site .fs-sub-sum__key {
	font-size: 16px;
	font-weight: 700;
}

body.fs-site .fs-sub-sum__amount-wrap {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

body.fs-site .fs-sub-sum__amount {
	font-family: var(--fs-font-display);
	font-size: 32px;
	font-weight: 800;
}

body.fs-site .fs-sub-sum__per {
	font-size: 16px;
}

body.fs-site .fs-sub .fs-sub-sum__price p {
	font-size: 15px;
	line-height: 1.5;
}

/* LAUNCH30 panel */
body.fs-site .fs-sub-offer {
	background: var(--fs-tint);
	border-radius: 18px;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

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

body.fs-site .fs-sub-offer__chip {
	display: inline-block;
	background: var(--fs-lime);
	font-size: 13px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
}

body.fs-site .fs-sub-offer__pct {
	font-size: 14px;
}

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

body.fs-site .fs-sub-offer__key {
	font-size: 16px;
	font-weight: 700;
}

body.fs-site .fs-sub-offer__first {
	font-family: var(--fs-font-display);
	font-size: 24px;
	font-weight: 800;
}

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

body.fs-site .fs-sub-offer__then {
	font-weight: 700;
	white-space: nowrap;
}

body.fs-site .fs-sub-sum__amount-wrap {
	white-space: nowrap;
}

body.fs-site .fs-sub-offer__ends {
	font-size: 14px;
	line-height: 1.55;
}

body.fs-site .fs-sub .fs-ph.fs-sub-offer__ph {
	font-size: 13px;
	padding: 2px 6px;
}

body.fs-site .fs-sub-sum__terms {
	border-top: 1px solid var(--fs-line);
	padding-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 15px;
	line-height: 1.55;
}

body.fs-site .fs-sub p.fs-sub-sum__eu {
	background: var(--fs-tint);
	border-radius: 14px;
	padding: 12px 14px;
}

/* The card on the right (3a e-mail, 3b code, 3c-3e confirm) */
body.fs-site .fs-sub__action {
	grid-column: 7 / span 6;
}

body.fs-site .fs-sub-card,
body.fs-site .fs-sub-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
}

body.fs-site .fs-sub-card {
	background: var(--fs-white);
	border: 2px solid var(--fs-navy);
	border-radius: 28px;
	padding: 40px;
}

body.fs-site .fs-sub h2.fs-sub-card__title {
	font-family: var(--fs-font-display);
	font-size: 28px;
	font-weight: 800;
	line-height: normal;
	letter-spacing: -.02em;
	color: var(--fs-navy);
}

body.fs-site .fs-sub p.fs-sub-card__text {
	font-size: 16px;
	line-height: 1.55;
}

body.fs-site .fs-sub p.fs-sub-card__note {
	font-size: 15px;
	line-height: 1.55;
	background: var(--fs-tint);
	border-radius: 14px;
	padding: 12px 14px;
}

body.fs-site .fs-sub p.fs-sub-card__small {
	font-size: 14px;
	line-height: 1.5;
}

body.fs-site .fs-sub p.fs-sub-card__notice {
	font-size: 15px;
	line-height: 1.5;
	font-weight: 700;
}

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

body.fs-site .fs-sub .fs-sub-field label {
	margin: 0;
	padding: 0;
	font-family: var(--fs-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fs-navy);
}

body.fs-site #ajax-content-wrap .fs-sub input.fs-sub-input {
	box-sizing: content-box;
	width: auto;
	height: 52px;
	margin: 0;
	padding: 0 16px;
	border: 2px solid var(--fs-navy);
	border-radius: 14px;
	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 #ajax-content-wrap .fs-sub input.fs-sub-input--code {
	align-self: flex-start;
	width: 260px;
	height: 60px;
	padding: 0 18px;
	font-family: var(--fs-font-mono);
	font-size: 26px;
	letter-spacing: .4em;
}

body.fs-site #ajax-content-wrap .fs-sub input.fs-sub-input::placeholder {
	color: rgba(21, 7, 53, .55);
	opacity: 1;
}

body.fs-site #ajax-content-wrap .fs-sub input.fs-sub-input:focus {
	border-color: var(--fs-violet);
	box-shadow: 0 0 0 4px var(--fs-lavender);
	outline: none;
}

body.fs-site #ajax-content-wrap .fs-sub input.fs-sub-input[aria-invalid="true"] {
	border-style: dashed;
	background: var(--fs-ph-bg);
}

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

/* Buttons: <a> in the artboards are 56 px inside a 2 px border (60). */
body.fs-site #ajax-content-wrap .fs-sub .fs-sub-btn {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0 24px;
	border: 2px solid var(--fs-navy);
	border-radius: 999px;
	background: var(--fs-orange);
	box-shadow: none;
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: 17px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	opacity: 1;
	transform: none;
	transition: box-shadow .15s ease;
}

body.fs-site #ajax-content-wrap .fs-sub .fs-sub-btn:hover {
	color: var(--fs-navy);
	box-shadow: 4px 4px 0 var(--fs-navy);
}

body.fs-site #ajax-content-wrap .fs-sub .fs-sub-btn:focus-visible {
	outline: 3px solid var(--fs-violet);
	outline-offset: 3px;
	border-radius: 999px;
}

/* "Continue to payment" is a <button>: 58 px, 18 px text. */
body.fs-site #ajax-content-wrap .fs-sub .fs-sub-btn--pay {
	height: 58px;
	margin-top: 4px;
	font-size: 18px;
}

body.fs-site .fs-sub-card__links {
	display: flex;
	gap: 24px;
	font-size: 15px;
	font-weight: 700;
}

body.fs-site #ajax-content-wrap .fs-sub button.fs-sub-linkbtn {
	min-height: 44px;
	height: auto;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--fs-violet);
	font-family: var(--fs-font-body);
	font-size: inherit;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: underline;
	cursor: pointer;
	opacity: 1;
}

body.fs-site #ajax-content-wrap .fs-sub button.fs-sub-linkbtn:hover {
	color: var(--fs-navy);
}

body.fs-site .fs-sub-card__who {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-size: 15px;
}

body.fs-site .fs-sub a.fs-sub-card__signout {
	min-height: 44px;
	display: flex;
	align-items: center;
}

/* 3e: error (also the handler's other messages) */
body.fs-site .fs-sub-alert {
	border: 2px dashed var(--fs-navy);
	background: var(--fs-ph-bg);
	border-radius: 16px;
	padding: 14px 16px;
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	font-size: 15px;
	line-height: 1.5;
}

body.fs-site .fs-sub-alert__icon {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--fs-pink);
	color: var(--fs-navy);
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Consent boxes: native checkboxes, validated on the server. */
body.fs-site .fs-sub fieldset.fs-sub-boxes {
	border: 0;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

body.fs-site .fs-sub fieldset.fs-sub-boxes > legend {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	font-family: var(--fs-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fs-navy);
}

body.fs-site .fs-sub label.fs-sub-box {
	margin: 0;
	border: 2px solid var(--fs-navy);
	background: var(--fs-white);
	border-radius: 16px;
	padding: 16px 18px;
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	cursor: pointer;
	font-family: var(--fs-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fs-navy);
}

body.fs-site .fs-sub label.fs-sub-box.is-invalid {
	border-style: dashed;
	background: var(--fs-ph-bg);
}

body.fs-site #ajax-content-wrap .fs-sub label.fs-sub-box input[type="checkbox"] {
	-webkit-appearance: auto;
	appearance: auto;
	position: static;
	opacity: 1;
	width: 22px;
	height: 22px;
	margin: 1px 0 0;
	padding: 0;
	accent-color: var(--fs-violet);
	cursor: pointer;
}

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

body.fs-site .fs-sub strong.fs-sub-box__error {
	font-size: 15px;
}

body.fs-site .fs-sub p.fs-sub-boxes__privacy {
	margin: 0 0 4px 20px;
	font-size: 14px;
	line-height: 1.5;
}

body.fs-site .fs-sub p.fs-sub-form__note {
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
}

/* Below 1100 px the two cards stack; below 1000 the header and page keep 40 px from the edges. */
@media (max-width: 1099px) {
	body.fs-site .fs-sub-sum,
	body.fs-site .fs-sub__action {
		grid-column: 1 / -1;
	}
}

@media (max-width: 999px) {
	body.fs-site .fs-sub-top__inner,
	body.fs-site .fs-sub {
		width: calc(100% - 80px);
	}
}

/* Phones (390 artboards) */
@media (max-width: 690px) {
	body.fs-site .fs-sub-top__inner {
		width: auto;
		padding: 10px 16px;
	}

	body.fs-site a.fs-sub-top__back,
	body.fs-site a.fs-sub-top__support {
		font-size: 15px;
	}

	body.fs-site a.fs-sub-top__brand {
		--d: 6px;
		--py: 22px;
		gap: 8px;
	}

	body.fs-site a.fs-sub-top__brand .fs-brand__mark {
		width: 24px;
		height: 29px;
	}

	body.fs-site a.fs-sub-top__brand .fs-brand__word {
		font-size: 18px;
	}

	body.fs-site .fs-sub {
		width: auto;
		padding: 24px 16px 48px;
		gap: 18px;
	}

	body.fs-site .fs-sub h1.fs-sub__h1 {
		font-size: 28px;
		line-height: 1.15;
	}

	body.fs-site .fs-sub__grid {
		gap: 18px;
	}

	body.fs-site .fs-sub-sum {
		border-radius: 22px;
		box-shadow: 4px 4px 0 var(--fs-navy);
	}

	body.fs-site .fs-sub-sum__top {
		padding: 18px 20px;
		gap: 12px;
	}

	body.fs-site .fs-sub-sum__name {
		gap: 4px;
	}

	body.fs-site .fs-sub-sum__label {
		font-size: 13px;
	}

	body.fs-site .fs-sub h2.fs-sub-sum__plan {
		font-size: 20px;
	}

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

	body.fs-site .fs-sub a.fs-sub-sum__change,
	body.fs-site .fs-sub a.fs-sub-sum__change:hover {
		font-size: 14px;
		text-underline-offset: 4px;
	}

	body.fs-site .fs-sub-sum__body {
		padding: 20px;
		gap: 18px;
	}

	body.fs-site .fs-sub ul.fs-sub-sum__list {
		gap: 8px;
		font-size: 15px;
	}

	body.fs-site .fs-sub ul.fs-sub-sum__list > li {
		grid-template-columns: 14px minmax(0, 1fr);
		gap: 8px;
	}

	body.fs-site .fs-sub-sum__price {
		padding-top: 16px;
		gap: 6px;
	}

	body.fs-site .fs-sub-sum__row {
		gap: 0;
	}

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

	body.fs-site .fs-sub-sum__amount-wrap {
		gap: 6px;
	}

	body.fs-site .fs-sub-sum__amount {
		font-size: 26px;
	}

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

	body.fs-site .fs-sub .fs-sub-sum__price p {
		font-size: 14px;
	}

	body.fs-site .fs-sub-offer {
		border-radius: 16px;
		padding: 14px 16px;
		gap: 8px;
	}

	body.fs-site .fs-sub-offer__chip {
		font-size: 12px;
		padding: 3px 10px;
	}

	body.fs-site .fs-sub-offer__row {
		gap: 0;
	}

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

	body.fs-site .fs-sub-offer__first {
		font-size: 20px;
	}

	body.fs-site .fs-sub-offer__renew {
		gap: 10px;
		font-size: 14px;
		line-height: 1.4;
	}

	body.fs-site .fs-sub-offer__then {
		white-space: nowrap;
	}

	body.fs-site .fs-sub-offer__ends {
		font-size: 13px;
		line-height: 1.6;
	}

	body.fs-site .fs-sub .fs-ph.fs-sub-offer__ph {
		font-size: 12px;
		padding: 1px 5px;
	}

	body.fs-site .fs-sub-sum__terms {
		padding-top: 16px;
		gap: 10px;
		font-size: 14px;
	}

	body.fs-site .fs-sub p.fs-sub-sum__eu {
		border-radius: 12px;
		padding: 10px 12px;
	}

	body.fs-site .fs-sub-card,
	body.fs-site .fs-sub-form {
		gap: 16px;
	}

	body.fs-site .fs-sub-card {
		border-radius: 22px;
		padding: 24px 20px;
	}

	body.fs-site .fs-sub h2.fs-sub-card__title {
		font-size: 22px;
	}

	body.fs-site .fs-sub p.fs-sub-card__text {
		font-size: 15px;
	}

	body.fs-site .fs-sub p.fs-sub-card__note {
		font-size: 14px;
		border-radius: 12px;
		padding: 10px 12px;
	}

	body.fs-site #ajax-content-wrap .fs-sub input.fs-sub-input {
		padding: 0 14px;
	}

	body.fs-site #ajax-content-wrap .fs-sub input.fs-sub-input--code {
		align-self: stretch;
		width: auto;
		padding: 0 16px;
		font-size: 24px;
	}

	body.fs-site #ajax-content-wrap .fs-sub .fs-sub-btn--pay {
		height: 56px;
		font-size: 17px;
	}

	body.fs-site .fs-sub-card__links {
		justify-content: space-between;
		gap: 12px;
		font-size: 14px;
	}

	body.fs-site .fs-sub-card__who {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
		font-size: 14px;
	}

	body.fs-site .fs-sub-alert {
		border-radius: 14px;
		padding: 12px 14px;
		grid-template-columns: 24px minmax(0, 1fr);
		gap: 10px;
		font-size: 14px;
	}

	body.fs-site .fs-sub-alert__icon {
		width: 24px;
		height: 24px;
	}

	body.fs-site .fs-sub fieldset.fs-sub-boxes {
		gap: 10px;
	}

	body.fs-site .fs-sub fieldset.fs-sub-boxes > legend {
		margin-bottom: 10px;
		font-size: 14px;
	}

	body.fs-site .fs-sub label.fs-sub-box {
		border-radius: 14px;
		padding: 14px;
		gap: 12px;
		font-size: 15px;
	}

	body.fs-site .fs-sub strong.fs-sub-box__error {
		font-size: 14px;
	}

	body.fs-site .fs-sub p.fs-sub-boxes__privacy {
		margin-left: 14px;
		font-size: 13px;
	}

	body.fs-site .fs-sub p.fs-sub-form__note {
		font-size: 14px;
	}
}

/* ------------------------------------------------------------------ */
/* /welcome/ ("Formsieve Welcome.dc.html" 4a, 4b). The page row is      */
/* .fs-wide (40 px from the viewport edges, 12 on phones); the body     */
/* inside it keeps the site's 1240 content width.                       */
/* ------------------------------------------------------------------ */

body.fs-site .wpb_row.fs-wel-row,
body.fs-site .wpb_row.fs-wel-row .wpb_wrapper {
	margin-bottom: 0;
}

body.fs-site .fs-wel {
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: 16px;
	line-height: normal;
}

body.fs-site .fs-wel p,
body.fs-site .fs-wel h1,
body.fs-site .fs-wel h2 {
	margin: 0;
	padding: 0;
}

body.fs-site .fs-wel p,
body.fs-site .fs-wel li {
	line-height: inherit;
}

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

body.fs-site .fs-wel__hero {
	border-radius: 40px;
	padding: 80px 60px;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 32px;
	align-items: center;
	background: var(--fs-lavender);
}

body.fs-site .fs-wel__hero--ready {
	background: var(--fs-lime);
	padding: 72px 60px;
}

body.fs-site .fs-wel__hero--signin {
	display: block;
	margin-bottom: 112px;
}

body.fs-site .fs-wel__hero--signin > .fs-account {
	margin: 0 auto;
}

body.fs-site .fs-wel__intro {
	grid-column: span 8;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

body.fs-site .fs-wel__intro--setup {
	grid-column: span 6;
	gap: 22px;
}

body.fs-site .fs-wel__hero--plain .fs-wel__intro--setup {
	grid-column: span 8;
}

body.fs-site .fs-wel__badge {
	align-self: flex-start;
	background: var(--fs-white);
	font-size: 14px;
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 999px;
}

body.fs-site .fs-wel h1.fs-wel__h1 {
	font-family: var(--fs-font-display);
	font-size: 64px;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -.035em;
	color: var(--fs-navy);
}

body.fs-site .fs-wel p.fs-wel__lead {
	font-size: 19px;
	line-height: 1.6;
	max-width: 640px;
}

body.fs-site .fs-wel__intro--setup p.fs-wel__lead {
	max-width: 560px;
	text-wrap: pretty;
}

/* 4b: the mark on the right of the lime block */
body.fs-site .fs-wel__mark {
	grid-column: 10 / span 3;
	justify-self: end;
	position: relative;
	width: 120px;
	height: 146px;
	display: block;
}

body.fs-site .fs-wel__mark-grid {
	position: absolute;
	left: 0;
	top: 0;
	width: 120px;
	display: grid;
	grid-template-columns: repeat(3, 32px);
	gap: 12px;
}

body.fs-site .fs-wel__mark-grid > i {
	display: block;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--fs-navy);
}

body.fs-site .fs-wel__mark-grid > i.fs-wel__mark-gap {
	background: none;
}

body.fs-site .fs-wel__mark-pass {
	position: absolute;
	left: 44px;
	top: 112px;
	display: block;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--fs-violet);
}

/* 4a: "What's happening" */
body.fs-site .fs-wel-progress {
	grid-column: 8 / span 5;
	background: var(--fs-white);
	border: 2px solid var(--fs-navy);
	border-radius: 28px;
	box-shadow: 6px 6px 0 var(--fs-navy);
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.fs-site .fs-wel h2.fs-wel-progress__title {
	margin-bottom: 6px;
	font-family: var(--fs-font-display);
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	color: var(--fs-navy);
}

body.fs-site .fs-wel ol.fs-wel-progress__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

body.fs-site .fs-wel ol.fs-wel-progress__list > li {
	margin: 0;
	list-style: none;
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--fs-line);
}

body.fs-site .fs-wel ol.fs-wel-progress__list > li:last-child {
	border-bottom: 0;
}

body.fs-site .fs-wel-progress__icon {
	width: 32px;
	height: 32px;
	box-sizing: border-box;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
}

body.fs-site .is-done > .fs-wel-progress__icon {
	background: var(--fs-navy);
	color: var(--fs-white);
	font-size: 15px;
}

body.fs-site .is-current > .fs-wel-progress__icon {
	background: var(--fs-violet);
	color: var(--fs-white);
}

body.fs-site .is-next > .fs-wel-progress__icon {
	border: 2px solid var(--fs-navy);
}

body.fs-site .fs-wel-progress__text {
	font-size: 16px;
	line-height: 1.4;
}

body.fs-site .fs-wel-progress__state {
	font-size: 13px;
	font-weight: 700;
	line-height: normal;
}

body.fs-site .fs-wel-progress__state--done {
	background: var(--fs-lime);
	padding: 4px 10px;
	border-radius: 999px;
}

body.fs-site .fs-wel-progress__state--now {
	background: var(--fs-white);
	border: 2px dashed var(--fs-navy);
	padding: 2px 10px;
	border-radius: 999px;
}

body.fs-site .fs-wel-progress__state--next {
	font-size: 14px;
}

body.fs-site .fs-wel-progress__bar {
	box-sizing: content-box;
	height: 12px;
	border: 2px solid var(--fs-navy);
	border-radius: 999px;
	overflow: hidden;
	margin-top: 8px;
	background: var(--fs-tint);
}

body.fs-site .fs-wel-progress__fill {
	display: block;
	width: 40%;
	height: 100%;
	background: var(--fs-violet);
	border-radius: 999px;
	animation: fs-wel-slide 1.8s ease-in-out infinite;
}

@keyframes fs-wel-slide {
	0% { transform: translateX(-110%); }
	100% { transform: translateX(260%); }
}

@media (prefers-reduced-motion: reduce) {
	body.fs-site .fs-wel-progress__fill {
		animation: none;
		transform: none;
	}
}

/* Below the block */
body.fs-site .fs-wel__body {
	width: min(1240px, calc(100% - 100px));
	margin: 0 auto;
	padding: 64px 0 112px;
}

body.fs-site .fs-wel__body--setup {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 32px;
	align-items: center;
}

body.fs-site .fs-wel__later {
	grid-column: span 7;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.fs-site .fs-wel h2.fs-wel__h2 {
	font-family: var(--fs-font-display);
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	color: var(--fs-navy);
}

body.fs-site .fs-wel p.fs-wel__text {
	font-size: 17px;
	line-height: 1.6;
}

body.fs-site .fs-wel__later-actions {
	grid-column: 8 / span 5;
	display: flex;
	gap: 12px;
	justify-content: flex-end;
}

/* Buttons: <a> 54 px inside a 2 px border; the dark one has no border. */
body.fs-site .fs-wel a.fs-wel-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: content-box;
	height: 54px;
	padding: 0 28px;
	border: 2px solid var(--fs-navy);
	border-radius: 999px;
	background: var(--fs-white);
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: 17px;
	font-weight: 700;
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
	transition: box-shadow .15s ease, background-color .15s ease, color .15s ease;
}

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

body.fs-site .fs-wel a.fs-wel-btn--sm {
	padding: 0 26px;
	font-size: 16px;
}

body.fs-site .fs-wel a.fs-wel-btn--primary {
	background: var(--fs-orange);
}

body.fs-site .fs-wel a.fs-wel-btn--primary:hover {
	background: var(--fs-orange);
	box-shadow: 4px 4px 0 var(--fs-navy);
}

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

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

body.fs-site .fs-wel a.fs-wel-btn:focus-visible {
	border-radius: 999px;
}

/* 4b */
body.fs-site .fs-wel__body--ready {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

body.fs-site .fs-wel-key {
	margin: 0;
	background: var(--fs-white);
	border: 2px solid var(--fs-navy);
	border-radius: 28px;
	box-shadow: 6px 6px 0 var(--fs-navy);
	padding: 32px 40px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 40px;
	align-items: center;
}

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

/* The row keeps the height its Example chip gave it (27px; 22px on phones). */
body.fs-site .fs-wel h2.fs-wel-key__title {
	display: flex;
	align-items: center;
	min-height: 27px;
	font-family: var(--fs-font-display);
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	color: var(--fs-navy);
}

body.fs-site .fs-wel-key__row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

body.fs-site .fs-wel code.fs-wel-key__value {
	flex: none;
	margin: 0;
	border: 0;
	font-family: var(--fs-font-mono);
	font-size: 24px;
	font-weight: 400;
	line-height: normal;
	background: var(--fs-tint);
	border-radius: 14px;
	padding: 12px 18px;
	letter-spacing: .02em;
	color: var(--fs-navy);
	overflow-wrap: anywhere;
}

body.fs-site #ajax-content-wrap .fs-wel button.fs-wel-key__btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	margin: 0;
	padding: 0 22px;
	border: 2px solid var(--fs-navy);
	border-radius: 999px;
	background: var(--fs-white);
	box-shadow: none;
	color: var(--fs-navy);
	font-family: var(--fs-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	opacity: 1;
	transition: background-color .15s ease;
}

body.fs-site #ajax-content-wrap .fs-wel button.fs-wel-key__btn:hover {
	background: var(--fs-lavender);
}

body.fs-site #ajax-content-wrap .fs-wel button.fs-wel-key__btn--dark,
body.fs-site #ajax-content-wrap .fs-wel button.fs-wel-key__btn--dark:hover {
	background: var(--fs-navy);
	color: var(--fs-white);
}

body.fs-site #ajax-content-wrap .fs-wel button.fs-wel-key__btn--dark:hover {
	background: var(--fs-violet);
	border-color: var(--fs-violet);
}

body.fs-site #ajax-content-wrap .fs-wel button.fs-wel-key__btn[hidden] {
	display: none;
}

body.fs-site #ajax-content-wrap .fs-wel button.fs-wel-key__btn:focus-visible {
	outline: 3px solid var(--fs-violet);
	outline-offset: 3px;
	border-radius: 999px;
}

body.fs-site .fs-wel p.fs-wel-key__text {
	font-size: 15px;
	line-height: 1.55;
}

body.fs-site .fs-wel dl.fs-wel-key__facts {
	margin: 0;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px 24px;
	font-size: 15px;
	line-height: 1.4;
	border-left: 1px solid var(--fs-line);
	padding-left: 40px;
}

body.fs-site .fs-wel .fs-wel-key__fact {
	display: contents;
}

body.fs-site .fs-wel .fs-wel-key__fact dt {
	margin: 0;
	color: inherit;
	font-weight: 700;
}

body.fs-site .fs-wel .fs-wel-key__fact dd {
	margin: 0;
	padding: 0;
}

body.fs-site .fs-wel ol.fs-wel-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

body.fs-site .fs-wel ol.fs-wel-steps > li {
	margin: 0;
	list-style: none;
	background: var(--fs-lavender);
	border-radius: 28px;
	padding: 32px 28px 36px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

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

body.fs-site .fs-wel h2.fs-wel-steps__title {
	font-family: var(--fs-font-display);
	font-size: 22px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	color: var(--fs-navy);
}

body.fs-site .fs-wel p.fs-wel-steps__text {
	font-size: 16px;
	line-height: 1.6;
}

/* Step 1 before the WordPress.org listing: the button to the account's downloads (2026-09-26). */
body.fs-site .fs-wel ol.fs-wel-steps a.fs-wel-steps__action {
	align-self: flex-start;
	margin-top: 4px;
}

body.fs-site .fs-wel-actions {
	margin-top: 28px;
	display: flex;
	align-items: center;
	gap: 16px;
}

/* Desktop: Support is a text link. */
body.fs-site .fs-wel a.fs-wel-btn.fs-wel-actions__support,
body.fs-site .fs-wel a.fs-wel-btn.fs-wel-actions__support:hover {
	box-sizing: border-box;
	height: auto;
	min-height: 44px;
	padding: 0 8px;
	border: 0;
	background: none;
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 2px;
}

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

/* Tablet */
@media (max-width: 999px) {
	body.fs-site .fs-wel__body {
		width: auto;
	}

	body.fs-site .fs-wel__hero--setup .fs-wel__intro--setup,
	body.fs-site .fs-wel-progress,
	body.fs-site .fs-wel__later,
	body.fs-site .fs-wel__later-actions {
		grid-column: 1 / -1;
	}

	body.fs-site .fs-wel__later-actions {
		justify-content: flex-start;
	}

	body.fs-site .fs-wel-key {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	body.fs-site .fs-wel dl.fs-wel-key__facts {
		border-left: 0;
		padding-left: 0;
		border-top: 1px solid var(--fs-line);
		padding-top: 20px;
	}

	body.fs-site .fs-wel ol.fs-wel-steps {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Phones (390 artboards) */
@media (max-width: 690px) {
	body.fs-site .fs-wel__hero,
	body.fs-site .fs-wel__hero--ready {
		border-radius: 28px;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	body.fs-site .fs-wel__hero--setup {
		padding: 32px 20px 20px;
		gap: 16px;
	}

	body.fs-site .fs-wel__hero--signin {
		padding: 32px 20px;
		margin-bottom: 48px;
	}

	body.fs-site .fs-wel__hero--ready {
		padding: 36px 20px;
		gap: 14px;
	}

	body.fs-site .fs-wel__intro,
	body.fs-site .fs-wel__intro--setup {
		display: contents;
	}

	body.fs-site .fs-wel__badge {
		font-size: 13px;
		padding: 5px 12px;
	}

	body.fs-site .fs-wel h1.fs-wel__h1 {
		font-size: 34px;
		line-height: 1.08;
	}

	body.fs-site .fs-wel p.fs-wel__lead,
	body.fs-site .fs-wel__intro--setup p.fs-wel__lead {
		font-size: 16px;
		line-height: 1.55;
		text-wrap: wrap;
	}

	body.fs-site .fs-wel-progress {
		border-radius: 22px;
		box-shadow: 4px 4px 0 var(--fs-navy);
		padding: 18px;
		gap: 4px;
	}

	body.fs-site .fs-wel ol.fs-wel-progress__list > li {
		grid-template-columns: 28px minmax(0, 1fr);
		gap: 12px;
		padding: 10px 0;
	}

	body.fs-site .fs-wel-progress__icon,
	body.fs-site .is-done > .fs-wel-progress__icon {
		width: 28px;
		height: 28px;
		font-size: 13px;
	}

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

	body.fs-site .fs-wel-progress__bar {
		height: 10px;
		margin-top: 6px;
	}

	body.fs-site .fs-wel__body {
		padding: 24px 8px 48px;
	}

	body.fs-site .fs-wel__body--setup {
		padding-top: 28px;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	body.fs-site .fs-wel__later {
		display: contents;
	}

	body.fs-site .fs-wel h2.fs-wel__h2 {
		font-size: 18px;
	}

	body.fs-site .fs-wel p.fs-wel__text {
		font-size: 15px;
		line-height: 1.55;
	}

	body.fs-site .fs-wel__later-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin-top: 6px;
	}

	body.fs-site .fs-wel a.fs-wel-btn,
	body.fs-site .fs-wel a.fs-wel-btn--sm {
		height: 56px;
		padding: 0;
		font-size: 15px;
		line-height: 1.2;
		text-align: center;
		white-space: normal;
	}

	body.fs-site .fs-wel__body--ready {
		gap: 12px;
	}

	body.fs-site .fs-wel-key {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		border-radius: 22px;
		box-shadow: 4px 4px 0 var(--fs-navy);
		padding: 20px;
	}

	body.fs-site .fs-wel-key__main {
		gap: 12px;
	}

	body.fs-site .fs-wel h2.fs-wel-key__title {
		min-height: 22px;
		font-size: 16px;
	}

	body.fs-site .fs-wel-key__row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px 10px;
	}

	body.fs-site .fs-wel code.fs-wel-key__value {
		grid-column: 1 / -1;
		font-size: 17px;
		border-radius: 12px;
		padding: 12px 14px;
		letter-spacing: 0;
		text-align: center;
	}

	body.fs-site #ajax-content-wrap .fs-wel button.fs-wel-key__btn {
		display: flex;
		width: 100%;
		padding: 0;
	}

	body.fs-site .fs-wel p.fs-wel-key__text {
		font-size: 14px;
	}

	body.fs-site .fs-wel dl.fs-wel-key__facts {
		gap: 6px 16px;
		font-size: 14px;
		line-height: normal;
		padding-top: 12px;
	}

	body.fs-site .fs-wel ol.fs-wel-steps {
		gap: 12px;
	}

	body.fs-site .fs-wel ol.fs-wel-steps > li {
		border-radius: 22px;
		padding: 22px 20px;
		gap: 8px;
	}

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

	body.fs-site .fs-wel h2.fs-wel-steps__title {
		font-size: 18px;
	}

	body.fs-site .fs-wel p.fs-wel-steps__text {
		font-size: 15px;
		line-height: 1.55;
	}

	body.fs-site .fs-wel ol.fs-wel-steps a.fs-wel-steps__action {
		align-self: stretch;
	}

	body.fs-site .fs-wel-actions {
		margin-top: 12px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	body.fs-site .fs-wel a.fs-wel-btn.fs-wel-actions__account {
		grid-column: 1 / -1;
		font-size: 17px;
	}

	/* Phones: Support is a bordered button like Getting started. */
	body.fs-site .fs-wel a.fs-wel-btn.fs-wel-actions__support,
	body.fs-site .fs-wel a.fs-wel-btn.fs-wel-actions__support:hover {
		box-sizing: content-box;
		height: 56px;
		min-height: 0;
		padding: 0;
		border: 2px solid var(--fs-navy);
		text-decoration: none;
	}
}
