:root{--si-brand-teal:#1C878C;--si-brand-teal-hover:#176F73;--si-brand-teal-tint:#E8F3F4;--si-brand-teal-border:#C6E1E2;--si-brand-teal-rgb:28,135,140}
/* Deliberately narrow public-site helpers. Portal styles remain isolated. */
/*
 * The homepage is assembled from shortcode sections inside Spectra blocks.
 * Let those section backgrounds reach the viewport edges while their own
 * inner elements continue to control the readable content width.
 */
body.home.ast-full-width-layout #content > .ast-container,
body.home.ast-full-width-layout #primary,
body.home.ast-full-width-layout #main,
body.home.ast-full-width-layout article.page,
body.home.ast-full-width-layout article.page > .entry-content {
	box-sizing: border-box;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

/* Single-screen maintenance page and free SOP signup. */
html:has(body.si-maintenance-public-page),
body.si-maintenance-public-page,
html:has(.si-maintenance-page),
body:has(.si-maintenance-page),
body.si-maintenance-public-page #page,
body.si-maintenance-public-page #content,
body.si-maintenance-public-page .site-content,
body.si-maintenance-public-page .wp-site-blocks,
body:has(.si-maintenance-page) #page,
body:has(.si-maintenance-page) #content,
body:has(.si-maintenance-page) .site-content,
body:has(.si-maintenance-page) .wp-site-blocks { border: 0 !important; margin: 0 !important; padding: 0 !important; }
@media (min-width:901px) {
	html:has(.si-maintenance-page), body:has(.si-maintenance-page) { height: 100%; min-height: 100%; overflow: hidden !important; }
}
body:has(.si-maintenance-page) #masthead,
body:has(.si-maintenance-page) header.site-header,
body:has(.si-maintenance-page) .site-header,
body:has(.si-maintenance-page) .site-above-header-wrap,
body:has(.si-maintenance-page) .site-primary-header-wrap,
body:has(.si-maintenance-page) .site-below-header-wrap,
body:has(.si-maintenance-page) #colophon,
body:has(.si-maintenance-page) footer.site-footer,
body:has(.si-maintenance-page) .site-footer { display: none !important; height: 0 !important; margin: 0 !important; min-height: 0 !important; padding: 0 !important; }
.si-maintenance-public-page .wp-block-spectra-container:has(.si-maintenance-page),
body:has(.si-maintenance-page) .wp-block-spectra-container:has(.si-maintenance-page),
.si-maintenance-public-page .spectra-root-container:has(.si-maintenance-page),
body:has(.si-maintenance-page) .spectra-root-container:has(.si-maintenance-page) {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	height: auto !important;
	left: auto !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	overflow: visible !important;
	padding: 0 !important;
	position: relative !important;
	right: auto !important;
	transform: none !important;
	width: 100% !important;
}
.si-maintenance-public-page .wp-block-spectra-container:has(.si-maintenance-page)::before,
.si-maintenance-public-page .wp-block-spectra-container:has(.si-maintenance-page)::after,
body:has(.si-maintenance-page) .wp-block-spectra-container:has(.si-maintenance-page)::before,
body:has(.si-maintenance-page) .wp-block-spectra-container:has(.si-maintenance-page)::after,
.si-maintenance-public-page .spectra-root-container:has(.si-maintenance-page)::before,
.si-maintenance-public-page .spectra-root-container:has(.si-maintenance-page)::after,
body:has(.si-maintenance-page) .spectra-root-container:has(.si-maintenance-page)::before,
body:has(.si-maintenance-page) .spectra-root-container:has(.si-maintenance-page)::after { content: none !important; display: none !important; }
.si-maintenance-public-page .site-content > .ast-container,
.si-maintenance-public-page #primary,
.si-maintenance-public-page .site-main,
.si-maintenance-public-page .ast-article-single,
.si-maintenance-public-page .entry-content { box-sizing: border-box; float: none !important; margin: 0 !important; max-width: none !important; padding: 0 !important; width: 100% !important; }
.si-maintenance-public-page .entry-content > *,
.si-maintenance-public-page .wp-block-shortcode { margin-block: 0 !important; margin-bottom: 0 !important; margin-top: 0 !important; }
.si-maintenance-page { --si-maintenance-ink: #0b1632; --si-maintenance-copy: #58677a; --si-maintenance-teal: var(--si-brand-teal,#1C878C); background: linear-gradient(116deg,#f3efe8 0 48%,var(--si-brand-teal-tint,#E8F3F4) 48% 100%); border: 0; box-sizing: border-box; color: var(--si-maintenance-ink); display: flex; height: 100svh; isolation: isolate; margin: 0 !important; min-height: 0; overflow: hidden; padding: 0 !important; position: relative; width: 100%; }
body.admin-bar .si-maintenance-page { height: calc(100svh - 32px); }
.si-maintenance-page *, .si-maintenance-page *::before, .si-maintenance-page *::after { box-sizing: border-box; }
.si-maintenance-page__dots { background-image: radial-gradient(circle,rgba(168,200,199,.62) 1.4px,transparent 1.6px); background-size: 28px 28px; inset: 0; opacity: .55; pointer-events: none; position: absolute; z-index: -2; }
.si-maintenance-page__wash { background: rgba(255,255,255,.42); border-radius: 50%; bottom: -390px; height: 640px; left: -280px; position: absolute; width: 640px; z-index: -1; }
.si-maintenance-page__layout { align-items: center; display: grid; gap: clamp(42px,6vw,78px); grid-template-columns: minmax(0,1.05fr) minmax(360px,.76fr); margin: auto; max-width: 1180px; padding: clamp(20px,3vh,36px) 0; width: min(89%,1180px); }
.si-maintenance-page__copy { min-width: 0; }
.si-maintenance-page__eyebrow, .si-maintenance-page__form-label { color: var(--si-maintenance-teal); font-size: 12px; font-weight: 850; letter-spacing: .22em; line-height: 1.35; margin: 0 0 10px; text-transform: uppercase; }
.si-maintenance-page__copy > h1 { color: var(--si-maintenance-ink); font-size: clamp(44px,5vw,69px); font-weight: 750; letter-spacing: -.045em; line-height: .98; margin: 0; max-width: 650px; }
.si-maintenance-page__lead { color: var(--si-maintenance-copy); font-size: 17px; line-height: 1.48; margin: 14px 0 0; max-width: 650px; }
.si-maintenance-page__product { display: block; margin-top: 17px; max-width: 660px; }
.si-maintenance-page__product figure { background: transparent; border: 0; box-shadow: 0 14px 32px rgba(27,54,64,.16); height: clamp(185px,21vh,238px); margin: 0; overflow: hidden; width: 100%; }
.si-maintenance-page__product img { height: 100%; object-fit: cover; width: 100%; }
.si-maintenance-page__product > div { margin-top: 12px; }
.si-maintenance-page__product h2 { color: var(--si-maintenance-ink); font-size: 16px; font-weight: 750; line-height: 1.25; margin: 0 0 4px; }
.si-maintenance-page__product p { color: #657284; font-size: 13px; line-height: 1.45; margin: 0; }
.si-maintenance-page__product ul { display: flex; flex-wrap: wrap; gap: 13px; list-style: none; margin: 7px 0 0; padding: 0; }
.si-maintenance-page__product li { color: #405063; font-size: 11px; font-weight: 750; }
.si-maintenance-page__product li::before { color: var(--si-maintenance-teal); content: "\2713"; font-weight: 900; margin-right: 4px; }
.si-maintenance-page__form-card { background: #fff; border: 0; border-top: 5px solid var(--si-maintenance-teal); box-shadow: 0 25px 66px rgba(15,54,63,.15); padding: 23px 28px 19px; position: relative; width: 100%; }
.si-maintenance-page__free { background: var(--si-brand-teal-tint,#E8F3F4); color: var(--si-maintenance-teal); font-size: 9px; font-weight: 900; letter-spacing: .14em; padding: 7px 10px; position: absolute; right: 24px; text-transform: uppercase; top: 23px; }
.si-maintenance-page__form-label { letter-spacing: .17em; margin-bottom: 10px; }
.si-maintenance-page__form-card > h2 { color: var(--si-maintenance-ink); font-size: 30px; font-weight: 750; letter-spacing: -.027em; line-height: 1.09; margin: 0 65px 8px 0; }
.si-maintenance-page__form-card > p:not(.si-maintenance-page__form-label):not(.si-maintenance-page__privacy) { color: #667386; font-size: 13px; line-height: 1.47; margin: 0 0 18px; }
.si-maintenance-page__form .srfm-form-container, .si-maintenance-page__form .srfm-form { background: transparent !important; box-shadow: none !important; margin: 0 !important; max-width: none !important; padding: 0 !important; width: 100% !important; }
.si-maintenance-page__form form,
.si-maintenance-page__form .srfm-form,
.si-maintenance-page__form .srfm-form-container { gap: 8px !important; row-gap: 8px !important; }
.si-maintenance-page__form form > *,
.si-maintenance-page__form .srfm-form > *,
.si-maintenance-page__form .srfm-form-container > * { margin-bottom: 0 !important; margin-top: 0 !important; }
.si-maintenance-page__form .srfm-block-wrap,
.si-maintenance-page__form [class*="srfm-block-wrap"] { margin-bottom: 7px !important; margin-top: 0 !important; padding-bottom: 0 !important; padding-top: 0 !important; }
.si-maintenance-page__form .srfm-block-label { margin-bottom: 2px !important; }
.si-maintenance-page__form label { margin-bottom: 2px !important; }
.si-maintenance-page__form .srfm-block-wrap:has(input[type="checkbox"]) { margin-bottom: 4px !important; margin-top: 2px !important; }
.si-maintenance-page__form .srfm-button-wrap,
.si-maintenance-page__form .srfm-submit-button-wrap,
.si-maintenance-page__form [class*="submit"] { margin-bottom: 0 !important; margin-top: 5px !important; }
.si-maintenance-page__form .srfm-block-label p,
.si-maintenance-page__form .srfm-block-label__description,
.si-maintenance-page__form .srfm-input-label__description,
.si-maintenance-page__form .srfm-field-description,
.si-maintenance-page__form .srfm-description,
.si-maintenance-page__form .srfm-input-help-text,
.si-maintenance-page__form .wp-block-paragraph,
.si-maintenance-page__form p:has(a[href*="privacy"]) { display: none !important; }
.si-maintenance-page__form .srfm-block-wrap:has(input[type="checkbox"]) .srfm-checkbox-wrap label,
.si-maintenance-page__form .srfm-block-wrap:has(input[type="checkbox"]) .srfm-checkbox-label,
.si-maintenance-page__form .srfm-block-wrap:has(input[type="checkbox"]) label:has(input[type="checkbox"]) { font-size: 0 !important; line-height: 1.35 !important; }
.si-maintenance-page__form .srfm-block-wrap:has(input[type="checkbox"]) .srfm-checkbox-wrap label::after,
.si-maintenance-page__form .srfm-block-wrap:has(input[type="checkbox"]) .srfm-checkbox-label::after,
.si-maintenance-page__form .srfm-block-wrap:has(input[type="checkbox"]) label:has(input[type="checkbox"])::after { color: #667386; content: "I agree to receive the free SOP template and related emails."; font-size: 13px; line-height: 1.4; }
.si-maintenance-page__form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .si-maintenance-page__form textarea, .si-maintenance-page__form select { background: #fff !important; border: 1px solid #bdced0 !important; border-radius: 3px !important; height: 48px !important; min-height: 48px !important; padding-bottom: 8px !important; padding-top: 8px !important; }
.si-maintenance-page__form button[type="submit"], .si-maintenance-page__form input[type="submit"] { background: var(--si-maintenance-teal) !important; border: 0 !important; border-radius: 3px !important; color: #fff !important; font-size: 12px !important; font-weight: 900 !important; letter-spacing: .075em; min-height: 48px; text-transform: uppercase; width: 100%; }
.si-maintenance-page__form button[type="submit"]:hover, .si-maintenance-page__form button[type="submit"]:focus-visible, .si-maintenance-page__form input[type="submit"]:hover, .si-maintenance-page__form input[type="submit"]:focus-visible { background: var(--si-brand-teal-hover,#176F73) !important; }
.si-maintenance-page__privacy { color: #7b8796; font-size: 10px; margin: 7px 0 0; text-align: center; }
.si-maintenance-page__privacy span { color: var(--si-maintenance-teal); font-weight: 900; }
.si-maintenance-form__setup { border: 1px dashed #9bbbbb; color: var(--si-maintenance-copy); font-size: 13px; line-height: 1.5; padding: 18px; }
.si-maintenance-form__setup strong { color: var(--si-maintenance-ink); display: block; margin-bottom: 5px; }
.si-maintenance-form__setup p { margin: 0; }
@media (max-width:900px) { html:has(.si-maintenance-page), body:has(.si-maintenance-page) { height: auto; overflow: auto !important; } .si-maintenance-page, body.admin-bar .si-maintenance-page { height: auto; min-height: 100svh; overflow: visible; } .si-maintenance-page__layout { gap: 34px; grid-template-columns: 1fr; padding: 52px 0 58px; width: min(88%,700px); } .si-maintenance-page__form-card { margin: 0 auto; max-width: 540px; } }
@media screen and (max-width:782px) { body.admin-bar .si-maintenance-page { min-height: calc(100svh - 46px); } }
@media (max-width:640px) { .si-maintenance-page { background: linear-gradient(154deg,#f3efe8 0 45%,var(--si-brand-teal-tint,#E8F3F4) 45% 100%); } .si-maintenance-page__layout { padding: 40px 22px 44px; width: 100%; } .si-maintenance-page__copy > h1 { font-size: 43px; } .si-maintenance-page__lead { font-size: 15px; } .si-maintenance-page__product { margin-top: 18px; } .si-maintenance-page__product figure { height: auto; aspect-ratio: 3 / 2; } .si-maintenance-page__product ul { display: none; } .si-maintenance-page__form-card { padding: 25px 22px; } }

/* Contact page shortcode. */
.si-contact-page #masthead {
	background: #fff !important;
	position: relative !important;
}

.si-contact-page .site-content > .ast-container {
	display: block !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.si-contact-page #primary,
.si-contact-page .site-main,
.si-contact-page .ast-article-single,
.si-contact-page .entry-content {
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.si-contact-page-wrap {
	--si-contact-ink: #0f1933;
	--si-contact-copy: #5d6b78;
	--si-contact-teal: var(--si-brand-teal,#1C878C);
	--si-contact-teal-dark: var(--si-brand-teal-hover,#176F73);
	box-sizing: border-box;
	color: var(--si-contact-ink);
	left: auto !important;
	margin: 0 !important;
	max-width: none !important;
	position: relative;
	right: auto !important;
	width: 100% !important;
}

.si-contact-page-wrap *, .si-contact-page-wrap *::before, .si-contact-page-wrap *::after { box-sizing: border-box; }
.si-contact-shell { margin: 0 auto; max-width: 1240px; padding-left: 48px; padding-right: 48px; }
.si-contact-eyebrow { color: var(--si-contact-teal); font-size: 13px; font-weight: 800; letter-spacing: .18em; line-height: 1.4; margin: 0 0 18px; text-transform: uppercase; }
.si-contact-hero { background-color: #f8faf9; background-image: radial-gradient(circle at 12px 12px, rgba(28,135,140,.12) 2px, transparent 2.5px), linear-gradient(122deg, rgba(232,227,219,.72) 0 55%, rgba(232,243,244,.78) 55% 100%); background-size: 34px 34px, 100% 100%; padding: 88px 0 82px; text-align: center; }
.si-contact-hero h1 { color: var(--si-contact-ink); font-size: clamp(40px,5vw,62px); font-weight: 700; letter-spacing: -.035em; line-height: 1.08; margin: 0 0 24px; }
.si-contact-hero__intro { color: var(--si-contact-copy); font-size: 20px; line-height: 1.7; margin: 0 auto; max-width: 780px; }
.si-contact-main { background: #fff; padding: 88px 0 96px; }
.si-contact-grid { align-items: start; display: grid; gap: 72px; grid-template-columns: minmax(280px,.8fr) minmax(440px,1.2fr); }
.si-contact-details { padding-top: 18px; }
.si-contact-details > h2, .si-contact-form-card > h2 { color: var(--si-contact-ink); font-size: clamp(30px,3vw,42px); font-weight: 700; letter-spacing: -.025em; line-height: 1.16; margin: 0 0 20px; }
.si-contact-details > p:not(.si-contact-eyebrow):not(.si-contact-member-help), .si-contact-form-card > p { color: var(--si-contact-copy); font-size: 17px; line-height: 1.75; margin: 0 0 34px; }
.si-contact-note { align-items: start; border-top: 1px solid #dce6e6; display: grid; gap: 18px; grid-template-columns: 42px 1fr; padding: 24px 0; }
.si-contact-note > span { color: var(--si-contact-teal); font-size: 12px; font-weight: 800; letter-spacing: .12em; padding-top: 4px; }
.si-contact-note h3 { color: var(--si-contact-ink); font-size: 17px; line-height: 1.35; margin: 0 0 7px; }
.si-contact-note p { color: var(--si-contact-copy); font-size: 15px; line-height: 1.65; margin: 0; }
.si-contact-member-help {
	color: var(--si-contact-ink);
	font-size: 15px;
	margin: 26px 0 0;
	text-align: center;
	width: 100%;
}
.si-contact-member-help a,
.si-contact-member-help a:visited,
.si-contact-member-help a:hover,
.si-contact-member-help a:focus {
	color: var(--si-contact-teal-dark) !important;
	font-weight: 700;
	text-decoration: none !important;
}
.si-contact-form-card { background: #f4f7f7; border: 1px solid #dbe5e5; border-radius: 20px; box-shadow: 0 18px 44px rgba(15,25,51,.07); padding: 44px; }
.si-contact-form-card > h2 { font-size: 30px; margin-bottom: 12px; }
.si-contact-form-card > p { font-size: 15px; margin-bottom: 30px; }
.si-contact-form .srfm-form-container, .si-contact-form .srfm-form { background: transparent !important; box-shadow: none !important; margin: 0 !important; max-width: none !important; padding: 0 !important; width: 100% !important; }
.si-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .si-contact-form textarea, .si-contact-form select { background: #fff !important; border-color: #cddada !important; border-radius: 8px !important; }
.si-contact-form button[type="submit"], .si-contact-form input[type="submit"] { background: var(--si-contact-teal) !important; border-color: var(--si-contact-teal) !important; border-radius: 8px !important; color: #fff !important; font-weight: 800 !important; letter-spacing: .06em; min-height: 52px; text-transform: uppercase; }
.si-contact-form button[type="submit"]:hover, .si-contact-form button[type="submit"]:focus-visible, .si-contact-form input[type="submit"]:hover, .si-contact-form input[type="submit"]:focus-visible { background: var(--si-contact-teal-dark) !important; border-color: var(--si-contact-teal-dark) !important; }
.si-contact-form__setup { background: #fff; border: 1px dashed #9bbbbb; border-radius: 10px; color: var(--si-contact-copy); font-size: 14px; line-height: 1.6; padding: 22px; }
.si-contact-form__setup strong { color: var(--si-contact-ink); display: block; font-size: 16px; margin-bottom: 6px; }
.si-contact-form__setup p { margin: 0; }

@media (max-width: 900px) {
	.si-contact-grid { gap: 48px; grid-template-columns: 1fr; }
	.si-contact-details { padding-top: 0; }
}

@media (max-width: 640px) {
	.si-contact-shell { padding-left: 22px; padding-right: 22px; }
	.si-contact-hero { padding: 70px 0 66px; }
	.si-contact-hero h1 { font-size: 38px; }
	.si-contact-hero__intro { font-size: 17px; }
	.si-contact-main { padding: 62px 0 70px; }
	.si-contact-grid { gap: 38px; }
	.si-contact-form-card { border-radius: 16px; padding: 28px 22px; }
}

/* Branded affiliate application. */
.si-affiliate-signup {
	--si-affiliate-ink: #10182e;
	--si-affiliate-copy: #566572;
	--si-affiliate-teal: var(--si-brand-teal,#1C878C);
	--si-affiliate-teal-dark: var(--si-brand-teal-hover,#176F73);
	--si-affiliate-soft: var(--si-brand-teal-tint,#E8F3F4);
	--si-affiliate-line: #d4e3e3;
	box-sizing: border-box;
	color: var(--si-affiliate-ink);
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(42px, 6vw, 82px) 24px clamp(54px, 7vw, 92px);
	width: 100%;
}

.si-affiliate-signup *,
.si-affiliate-signup *::before,
.si-affiliate-signup *::after {
	box-sizing: border-box;
}

.si-affiliate-signup__hero {
	margin: 0 auto clamp(34px, 5vw, 58px);
	max-width: 800px;
	text-align: center;
}

.si-affiliate-signup__eyebrow,
.si-affiliate-signup__step {
	color: var(--si-affiliate-teal-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	margin: 0 0 13px;
	text-transform: uppercase;
}

.si-affiliate-signup__hero h1 {
	color: var(--si-affiliate-ink);
	font-size: clamp(38px, 5vw, 62px);
	letter-spacing: -.035em;
	line-height: 1.02;
	margin: 0;
}

.si-affiliate-signup__hero > p:last-child {
	color: var(--si-affiliate-copy);
	font-size: clamp(17px, 2vw, 20px);
	line-height: 1.65;
	margin: 24px auto 0;
	max-width: 700px;
}

/* 1.0.110: launch offer banner in the /affiliate-program/ hero.
   1.0.123: rounded rectangle card (12px) instead of a pill. */
.si-affiliate-signup__launch {
	align-items: center;
	background: var(--si-affiliate-soft);
	border: 1px solid var(--si-brand-teal-border,#C6E1E2);
	border-radius: 12px;
	color: var(--si-affiliate-ink);
	display: inline-flex;
	font-size: 16px;
	gap: 12px;
	line-height: 1.45;
	margin: 26px 0 0;
	max-width: 100%;
	padding: 22px 34px 22px 22px; /* 1.0.123: +14px each side (was 8px 20px 8px 8px) */
	text-align: left;
}

.si-affiliate-signup__launch-badge {
	background: #1C878C;
	border-radius: 999px;
	color: #fff;
	flex: none;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	padding: 6px 13px;
	text-transform: uppercase;
	white-space: nowrap;
}

.si-affiliate-signup__launch-text strong {
	color: var(--si-affiliate-teal-dark);
	font-weight: 800;
}

.si-affiliate-signup__launch-note {
	color: var(--si-affiliate-copy);
	font-size: 14px;
}

@media (max-width: 640px) {
	/* 1.0.123: badge stacks above the text: full-width column, badge sized to its label. */
	.si-affiliate-signup__launch {
		align-items: center;
		border-radius: 12px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 24px 26px; /* 1.0.123: +10px each side (was 14px 16px) */
		text-align: center;
		width: 100%;
	}

	.si-affiliate-signup__launch-badge {
		align-self: center;
	}

	.si-affiliate-signup__launch-text {
		display: block;
		width: 100%;
	}
}

.si-affiliate-signup__layout {
	align-items: start;
	display: grid;
	gap: clamp(28px, 5vw, 64px);
	grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
}

.si-affiliate-signup__summary {
	background: linear-gradient(145deg, var(--si-brand-teal-tint,#E8F3F4) 0%, var(--si-brand-teal-tint,#E8F3F4) 100%);
	border: 1px solid var(--si-affiliate-line);
	border-radius: 24px;
	padding: clamp(26px, 4vw, 42px);
}

.si-affiliate-signup__commission {
	border-bottom: 1px solid rgba(28,135,140,.18);
	margin-bottom: 31px;
	padding-bottom: 29px;
}

.si-affiliate-signup__commission > span {
	color: var(--si-affiliate-teal-dark);
	display: block;
	font-size: clamp(44px, 6vw, 68px);
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1;
}

.si-affiliate-signup__commission p,
.si-affiliate-signup__summary li p,
.si-affiliate-signup__review-note {
	color: var(--si-affiliate-copy);
	font-size: 14px;
	line-height: 1.55;
	margin: 8px 0 0;
}

.si-affiliate-signup__summary h2 {
	font-size: 24px;
	letter-spacing: -.02em;
	margin: 0 0 25px;
}

.si-affiliate-signup__summary ul {
	display: grid;
	gap: 23px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.si-affiliate-signup__summary li {
	align-items: start;
	display: grid;
	gap: 13px;
	grid-template-columns: 25px 1fr;
}

.si-affiliate-signup__summary li > span,
.si-affiliate-signup__notice > span {
	align-items: center;
	background: #fff;
	border-radius: 50%;
	color: var(--si-affiliate-teal-dark);
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	height: 25px;
	justify-content: center;
	width: 25px;
}

.si-affiliate-signup__summary li strong {
	font-size: 15px;
}

.si-affiliate-signup__review-note {
	border-top: 1px solid rgba(28,135,140,.18);
	font-style: italic;
	margin-top: 31px;
	padding-top: 24px;
}

.si-affiliate-signup__form-card {
	background: #fff;
	border: 1px solid var(--si-affiliate-line);
	border-radius: 24px;
	box-shadow: 0 22px 55px rgba(16, 24, 46, .08);
	padding: clamp(27px, 5vw, 50px);
}

.si-affiliate-signup__form-heading {
	border-bottom: 1px solid #e6eeee;
	margin-bottom: 31px;
	padding-bottom: 27px;
}

.si-affiliate-signup__form-heading h2 {
	font-size: clamp(27px, 3vw, 36px);
	letter-spacing: -.025em;
	margin: 0;
}

.si-affiliate-signup__form-heading > p:last-child {
	color: var(--si-affiliate-copy);
	font-size: 14px;
	line-height: 1.55;
	margin: 12px 0 0;
}

.si-affiliate-signup__form {
	display: grid;
	gap: 22px;
}

.si-affiliate-signup__row {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.si-affiliate-signup__form > label,
.si-affiliate-signup__row > label,
.si-affiliate-signup__form fieldset {
	color: #26323d;
	display: grid;
	font-size: 14px;
	font-weight: 700;
	gap: 8px;
	margin: 0;
	min-width: 0;
	width: 100%;
}

.si-affiliate-signup__field-label {
	align-items: baseline;
	display: inline-flex;
	gap: 4px;
	line-height: 1.4;
	min-height: 20px;
}

.si-affiliate-signup__required {
	color: #b53a3a;
	display: inline;
	line-height: 1;
}

.si-affiliate-signup__form input[type="text"],
.si-affiliate-signup__form input[type="email"],
.si-affiliate-signup__form input[type="url"],
.si-affiliate-signup__form select,
.si-affiliate-signup__form textarea {
	background: #fbfdfd;
	border: 1px solid #cbdada;
	border-radius: 10px;
	box-sizing: border-box;
	box-shadow: none;
	color: var(--si-affiliate-ink);
	font: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
	margin: 0;
	outline: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
	width: 100% !important;
}

.si-affiliate-signup__form input[type="text"],
.si-affiliate-signup__form input[type="email"],
.si-affiliate-signup__form input[type="url"],
.si-affiliate-signup__form select {
	display: block;
	height: 50px !important;
	max-width: none !important;
	min-height: 50px !important;
	padding: 0 14px !important;
}

.si-affiliate-signup__form textarea {
	display: block;
	min-height: 150px !important;
	padding: 14px !important;
	resize: vertical;
}

.si-affiliate-signup__form input:focus,
.si-affiliate-signup__form select:focus,
.si-affiliate-signup__form textarea:focus {
	background: #fff;
	border-color: var(--si-affiliate-teal);
	box-shadow: 0 0 0 3px rgba(28,135,140,.13);
}

.si-affiliate-signup__form small {
	color: #75818a;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
}

.si-affiliate-signup__form fieldset {
	border: 0;
	padding: 0;
}

.si-affiliate-signup__form legend {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 11px;
	padding: 0;
}

.si-affiliate-signup__choices {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.si-affiliate-signup__choices label {
	align-items: center;
	background: #f7fbfa;
	border: 1px solid #d7e5e4;
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	font-size: 13px;
	font-weight: 600;
	gap: 10px;
	box-sizing: border-box;
	height: 100%;
	min-height: 54px;
	padding: 10px 12px;
}

.si-affiliate-signup__choices input,
.si-affiliate-signup__terms input {
	accent-color: var(--si-affiliate-teal);
	flex: 0 0 auto;
	height: 17px;
	margin: 0;
	width: 17px;
}

.si-affiliate-signup__terms {
	align-items: start;
	background: #f6f9f9;
	border-radius: 10px;
	display: grid !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	gap: 11px !important;
	grid-template-columns: 18px 1fr;
	line-height: 1.55;
	padding: 14px;
}

.si-affiliate-signup__terms input {
	margin-top: 2px;
}

.si-affiliate-signup__terms a {
	color: var(--si-affiliate-teal-dark);
	font-weight: 700;
}

.si-affiliate-signup__submit {
	align-items: center;
	appearance: none;
	background: var(--si-affiliate-teal);
	border: 0;
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	gap: 12px;
	justify-content: center;
	letter-spacing: .07em;
	min-height: 54px;
	padding: 15px 24px;
	text-transform: uppercase;
	transition: background-color 160ms ease, transform 160ms ease;
}

.si-affiliate-signup__submit:hover,
.si-affiliate-signup__submit:focus-visible {
	background: var(--si-affiliate-teal-dark);
	color: #fff;
	transform: translateY(-1px);
}

.si-affiliate-signup__submit span {
	font-size: 20px;
	line-height: 0;
}

.si-affiliate-signup__privacy {
	color: #75818a;
	font-size: 11px;
	line-height: 1.45;
	margin: -8px 0 0;
	text-align: center;
}

.si-affiliate-signup__notice {
	align-items: start;
	border: 1px solid;
	border-radius: 16px;
	display: grid;
	gap: 15px;
	grid-template-columns: 32px 1fr;
	margin: 0 auto 34px;
	max-width: 760px;
	padding: 21px 23px;
}

.si-affiliate-signup__notice--success {
	background: #edf8f2;
	border-color: #a9d7bd;
}

.si-affiliate-signup__notice--error {
	background: #fff4f2;
	border-color: #e7b4ac;
}

.si-affiliate-signup__notice h2,
.si-affiliate-signup__notice p {
	margin: 0;
}

.si-affiliate-signup__notice h2 {
	font-size: 20px;
}

.si-affiliate-signup__notice p {
	color: #4f5d67;
	font-size: 14px;
	line-height: 1.55;
	margin-top: 5px;
}

.si-affiliate-signup__trap {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Branded affiliate program terms. */
.si-affiliate-terms {
	--si-terms-ink: #10182e;
	--si-terms-copy: #566572;
	--si-terms-teal: var(--si-brand-teal,#1C878C);
	--si-terms-teal-dark: var(--si-brand-teal-hover,#176F73);
	--si-terms-soft: var(--si-brand-teal-tint,#E8F3F4);
	--si-terms-line: #d4e3e3;
	box-sizing: border-box;
	color: var(--si-terms-ink);
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(48px, 7vw, 88px) 24px clamp(64px, 8vw, 104px);
	width: 100%;
}

.si-affiliate-terms *,
.si-affiliate-terms *::before,
.si-affiliate-terms *::after {
	box-sizing: border-box;
}

.si-affiliate-terms__hero {
	border-bottom: 1px solid var(--si-terms-line);
	margin-bottom: 42px;
	padding-bottom: 38px;
}

.si-affiliate-terms__eyebrow {
	color: var(--si-terms-teal-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.si-affiliate-terms__hero h1 {
	color: var(--si-terms-ink);
	font-size: clamp(38px, 5vw, 58px);
	letter-spacing: -.035em;
	line-height: 1.05;
	margin: 0;
}

.si-affiliate-terms__hero > p:not(.si-affiliate-terms__eyebrow) {
	color: var(--si-terms-copy);
	font-size: clamp(17px, 2vw, 20px);
	line-height: 1.6;
	margin: 18px 0 0;
	max-width: 750px;
}

.si-affiliate-terms__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 25px;
}

.si-affiliate-terms__meta span {
	background: var(--si-terms-soft);
	border: 1px solid var(--si-brand-teal-border,#C6E1E2);
	border-radius: 999px;
	color: var(--si-terms-teal-dark);
	font-size: 12px;
	font-weight: 750;
	padding: 8px 13px;
}

.si-affiliate-terms__layout {
	align-items: start;
	display: grid;
	gap: clamp(34px, 6vw, 74px);
	grid-template-columns: 240px minmax(0, 1fr);
}

.si-affiliate-terms__nav {
	background: #f5f9f8;
	border: 1px solid var(--si-terms-line);
	border-radius: 18px;
	padding: 23px;
	position: sticky;
	top: 28px;
}

.si-affiliate-terms__nav > strong {
	display: block;
	font-size: 14px;
	margin-bottom: 13px;
}

.si-affiliate-terms__nav ol {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.si-affiliate-terms__nav a:not(.si-affiliate-terms__apply) {
	color: #4f606c;
	font-size: 13px;
	line-height: 1.35;
	text-decoration: none;
}

.si-affiliate-terms__nav a:not(.si-affiliate-terms__apply):hover,
.si-affiliate-terms__nav a:not(.si-affiliate-terms__apply):focus-visible {
	color: var(--si-terms-teal-dark);
	text-decoration: underline;
}

.si-affiliate-terms__apply {
	align-items: center;
	background: var(--si-terms-teal);
	border-radius: 9px;
	color: #fff !important;
	display: flex;
	font-size: 13px;
	font-weight: 750;
	gap: 8px;
	justify-content: center;
	margin-top: 20px;
	min-height: 44px;
	padding: 10px 13px;
	text-decoration: none !important;
}

.si-affiliate-terms__apply:hover,
.si-affiliate-terms__apply:focus-visible {
	background: var(--si-terms-teal-dark);
}

.si-affiliate-terms__content {
	min-width: 0;
}

.si-affiliate-terms__notice,
.si-affiliate-terms__legal-note {
	background: var(--si-terms-soft);
	border: 1px solid var(--si-brand-teal-border,#C6E1E2);
	border-radius: 16px;
	padding: 22px 24px;
}

.si-affiliate-terms__notice {
	margin-bottom: 34px;
}

.si-affiliate-terms__notice strong,
.si-affiliate-terms__legal-note strong {
	display: block;
	font-size: 15px;
	margin-bottom: 6px;
}

.si-affiliate-terms__notice p,
.si-affiliate-terms__legal-note p {
	color: var(--si-terms-copy);
	font-size: 14px;
	line-height: 1.65;
	margin: 0;
}

.si-affiliate-terms__content > section {
	border-bottom: 1px solid var(--si-terms-line);
	scroll-margin-top: 30px;
	padding: 0 0 32px;
}

.si-affiliate-terms__content > section + section {
	padding-top: 32px;
}

.si-affiliate-terms__content h2 {
	color: var(--si-terms-ink);
	font-size: clamp(22px, 2.5vw, 28px);
	letter-spacing: -.02em;
	line-height: 1.25;
	margin: 0 0 14px;
}

.si-affiliate-terms__content section p,
.si-affiliate-terms__content section li {
	color: var(--si-terms-copy);
	font-size: 15px;
	line-height: 1.75;
}

.si-affiliate-terms__content section p {
	margin: 0;
}

.si-affiliate-terms__content section p + p {
	margin-top: 15px;
}

.si-affiliate-terms__content section ul {
	display: grid;
	gap: 9px;
	margin: 14px 0 0;
	padding-left: 22px;
}

.si-affiliate-terms__content a {
	color: var(--si-terms-teal-dark);
	font-weight: 700;
}

.si-affiliate-terms__legal-note {
	background: #fff8e9;
	border-color: #ead8ad;
	margin-top: 34px;
}

@media (max-width: 820px) {
	.si-affiliate-signup__layout {
		grid-template-columns: 1fr;
	}

	.si-affiliate-signup__summary {
		order: 2;
	}

	.si-affiliate-terms__layout {
		grid-template-columns: 1fr;
	}

	.si-affiliate-terms__nav {
		position: static;
	}

	.si-affiliate-terms__nav ol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.si-affiliate-signup {
		padding-left: 17px;
		padding-right: 17px;
	}

	.si-affiliate-signup__row,
	.si-affiliate-signup__choices {
		grid-template-columns: 1fr;
	}

	.si-affiliate-signup__form-card,
	.si-affiliate-signup__summary {
		border-radius: 18px;
	}

	.si-affiliate-terms {
		padding-left: 17px;
		padding-right: 17px;
	}

	.si-affiliate-terms__nav ol {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------- */
/* SureCart product pages                                                     */
/* -------------------------------------------------------------------------- */

.si-product-page {
	--si-product-ink: #10182f;
	--si-product-copy: #586775;
	--si-product-teal: var(--si-brand-teal,#1C878C);
	--si-product-teal-dark: var(--si-brand-teal-hover,#176F73);
	--si-product-mist: var(--si-brand-teal-tint,#E8F3F4);
	--si-product-line: #d8e3e3;
	--si-product-canvas: #f7f9f8;
	background: var(--si-product-canvas);
}

.si-product-page .site-content,
.si-product-page .ast-container,
.si-product-page #primary,
.si-product-page .site-main {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.si-product-page .ast-article-single {
	background: transparent !important;
	margin: 0 !important;
	padding: 56px clamp(22px, 5vw, 80px) 88px !important;
}

.si-product-page .wp-block-surecart-product-page {
	margin: 0 auto !important;
	max-width: 1320px !important;
}

.si-product-page .wp-block-surecart-product-page > .wp-block-columns {
	align-items: start !important;
	display: grid !important;
	gap: clamp(38px, 6vw, 86px) !important;
	grid-template-columns: minmax(340px, 0.84fr) minmax(460px, 1.16fr) !important;
	margin: 0 !important;
}

.si-product-page .wp-block-surecart-product-page > .wp-block-columns > .wp-block-column {
	min-width: 0 !important;
}

.si-product-page .wp-block-surecart-product-media {
	background: #edf3f2;
	border: 1px solid var(--si-product-line);
	border-radius: 24px;
	box-shadow: 0 24px 60px rgba(20, 48, 53, 0.09);
	overflow: hidden;
	padding: 18px;
	position: sticky;
	top: 110px;
}

.si-product-page .wp-block-surecart-product-media img {
	border-radius: 15px;
	cursor: zoom-in;
	display: block;
	height: auto !important;
	max-height: 570px;
	object-fit: cover;
	width: 100% !important;
}

.si-product-image-lightbox {
	align-items: center;
	background: rgba(7, 18, 34, 0.88);
	box-sizing: border-box;
	display: none;
	inset: 0;
	justify-content: center;
	padding: 42px;
	position: fixed;
	z-index: 999999;
}

.si-product-image-lightbox.is-open {
	display: flex;
}

.si-product-image-lightbox__image {
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
	display: block;
	max-height: calc(100vh - 84px);
	max-width: min(1100px, calc(100vw - 84px));
	object-fit: contain;
}

.si-product-image-lightbox__close {
	align-items: center;
	background: #fff;
	border: 0;
	border-radius: 999px;
	color: #0b1632;
	cursor: pointer;
	display: flex;
	font-size: 28px;
	height: 42px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 22px;
	top: 22px;
	width: 42px;
}

.si-product-image-lightbox__close:focus-visible {
	outline: 3px solid var(--si-brand-teal,#1C878C);
	outline-offset: 3px;
}

body.si-product-lightbox-open {
	overflow: hidden;
}

@media (max-width: 560px) {
	.si-product-image-lightbox {
		padding: 60px 16px 20px;
	}

	.si-product-image-lightbox__image {
		max-height: calc(100vh - 80px);
		max-width: calc(100vw - 32px);
	}
}

.si-product-page .wp-block-surecart-product-collection-tags {
	margin: 2px 0 18px !important;
	padding: 0 !important;
}

.si-product-page .wp-block-surecart-product-collection-tag {
	background: var(--si-product-mist) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: var(--si-product-teal-dark) !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	letter-spacing: 0.1em;
	padding: 9px 14px !important;
	text-transform: uppercase;
}

.si-product-page .wp-block-surecart-product-title {
	color: var(--si-product-ink) !important;
	font-size: clamp(28px, 2.7vw, 38px) !important;
	font-weight: 750 !important;
	letter-spacing: -0.035em;
	line-height: 1.07 !important;
	margin: 0 0 18px !important;
}

.si-product-page .wp-block-surecart-product-selected-price-amount {
	color: var(--si-product-teal-dark) !important;
	font-size: 24px !important;
	font-weight: 750 !important;
}

.si-product-page .wp-block-surecart-product-selected-price-interval {
	color: var(--si-product-copy) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

.si-product-page .wp-block-surecart-product-description {
	color: var(--si-product-copy) !important;
	font-size: 15px !important;
	line-height: 1.58 !important;
	margin: 28px 0 30px !important;
}

.si-product-page .wp-block-surecart-product-description p {
	margin-bottom: 18px !important;
}

.si-product-page .wp-block-surecart-product-description > h1,
.si-product-page .wp-block-surecart-product-description > h2,
.si-product-page .wp-block-surecart-product-description > h3,
.si-product-page .wp-block-surecart-product-description > h4,
.si-product-page .wp-block-surecart-product-description > h5,
.si-product-page .wp-block-surecart-product-description > h6,
.si-product-page .wp-block-surecart-product-description > p:first-child,
.si-product-page .wp-block-surecart-product-description > p:first-child strong {
	color: var(--si-product-ink) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.5 !important;
	margin: 0 0 14px !important;
	text-transform: none !important;
}

.si-product-page .wp-block-surecart-product-description > p:nth-child(2) {
	background: var(--si-product-mist);
	border-left: 4px solid var(--si-product-teal);
	border-radius: 14px;
	color: var(--si-product-ink);
	font-size: 14px !important;
	font-weight: 500;
	margin-bottom: 14px !important;
	padding: 15px 18px !important;
}

/* Native accordions used specifically inside SureCart product descriptions. */
.si-product-page .wp-block-surecart-product-description details {
	background: #ffffff;
	border: 1px solid rgba(11, 22, 50, 0.14);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(20, 48, 53, 0.05);
	margin: 12px 0;
	overflow: hidden;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.si-product-page .wp-block-surecart-product-description details[open] {
	border-color: rgba(28,135,140,0.55);
	box-shadow: 0 10px 28px rgba(28,135,140,0.09);
	padding-bottom: 20px;
}

.si-product-page .wp-block-surecart-product-description details > summary {
	align-items: center;
	color: var(--si-product-ink, #0b1632);
	cursor: pointer;
	display: flex;
	font-size: 14px;
	font-weight: 750;
	gap: 16px;
	justify-content: space-between;
	line-height: 1.35;
	list-style: none;
	padding: 18px 20px;
	transition: background-color 160ms ease, color 160ms ease;
	user-select: none;
}

.si-product-page .wp-block-surecart-product-description details > summary::-webkit-details-marker {
	display: none;
}

.si-product-page .wp-block-surecart-product-description details > summary::after {
	align-items: center;
	background: rgba(28,135,140,0.11);
	border-radius: 999px;
	color: var(--si-brand-teal,#1C878C);
	content: "+";
	display: inline-flex;
	flex: 0 0 30px;
	font-size: 23px;
	font-weight: 500;
	height: 30px;
	justify-content: center;
	line-height: 1;
}

.si-product-page .wp-block-surecart-product-description details[open] > summary {
	background: rgba(28,135,140,0.07);
	color: var(--si-brand-teal,#1C878C);
}

.si-product-page .wp-block-surecart-product-description details[open] > summary::after {
	background: var(--si-brand-teal,#1C878C);
	color: #ffffff;
	content: "\2212";
}

.si-product-page .wp-block-surecart-product-description details > summary:hover {
	background: rgba(28,135,140,0.07);
	color: var(--si-brand-teal,#1C878C);
}

.si-product-page .wp-block-surecart-product-description details > summary:focus-visible {
	border-radius: 10px;
	box-shadow: inset 0 0 0 3px rgba(28,135,140,0.28);
	outline: 2px solid var(--si-brand-teal,#1C878C);
	outline-offset: -4px;
}

.si-product-page .wp-block-surecart-product-description details > :not(summary) {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	margin-left: 20px !important;
	margin-right: 20px !important;
	padding: 0 !important;
}

.si-product-page .wp-block-surecart-product-description details > :not(summary) * {
	font-weight: 400 !important;
}

.si-product-page .wp-block-surecart-product-description details > summary + * {
	margin-top: 0 !important;
	padding-top: 12px !important;
}

.si-product-page .wp-block-surecart-product-description details > :last-child {
	margin-bottom: 0 !important;
}

.si-product-page .wp-block-surecart-product-description details li::marker,
.si-product-page .wp-block-surecart-product-description details a {
	color: var(--si-brand-teal,#1C878C);
}

.si-product-page .wp-block-surecart-product-price-chooser,
.si-product-page .wp-block-surecart-product-quantity {
	margin-top: 24px !important;
}

.si-product-page .sc-form-label {
	color: var(--si-product-ink) !important;
	display: block;
	font-size: 13px !important;
	font-weight: 750 !important;
	letter-spacing: 0.08em;
	margin-bottom: 10px !important;
	text-transform: uppercase;
}

.si-product-page .sc-choices {
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.si-product-page .sc-choice {
	background: #fff !important;
	border: 1px solid var(--si-product-line) !important;
	border-radius: 12px !important;
	min-height: 68px;
	padding: 14px 16px !important;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.si-product-page .sc-choice:hover,
.si-product-page .sc-choice--checked {
	background: var(--si-product-mist) !important;
	border-color: var(--si-product-teal) !important;
	box-shadow: 0 0 0 2px rgba(28,135,140,0.12);
}

.si-product-page .wp-block-surecart-price-name,
.si-product-page .wp-block-surecart-price-amount {
	color: var(--si-product-ink) !important;
	font-weight: 700 !important;
}

.si-product-page .wp-block-surecart-product-quantity-control {
	background: #fff;
	border: 1px solid var(--si-product-line);
	border-radius: 10px;
	max-width: 150px;
	overflow: hidden;
}

.si-product-page .wp-block-surecart-product-buy-buttons {
	gap: 12px !important;
	margin-top: 22px !important;
}

.si-product-page .wp-block-surecart-product-buy-button .sc-button__link {
	border: 2px solid var(--si-product-teal) !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	letter-spacing: 0.055em;
	min-height: 54px;
	text-transform: uppercase;
}

.si-product-page .wp-block-surecart-product-buy-button:not(.is-style-outline) .sc-button__link {
	background: var(--si-product-teal) !important;
	color: #fff !important;
}

.si-product-page .wp-block-surecart-product-buy-button:not(.is-style-outline) .sc-button__link:hover {
	background: var(--si-product-teal-dark) !important;
	border-color: var(--si-product-teal-dark) !important;
}

.si-product-page .wp-block-surecart-product-buy-button.is-style-outline .sc-button__link {
	background: transparent !important;
	color: var(--si-product-teal-dark) !important;
}

.si-product-page .wp-block-surecart-product-list-related {
	border: 0 !important;
	margin: 74px auto 0 !important;
	max-width: 1320px !important;
	padding-top: 24px;
}

.si-product-page .wp-block-surecart-product-list-related > h3 {
	color: var(--si-product-ink) !important;
	font-size: 24px !important;
	margin-bottom: 22px !important;
}

.si-product-page .wp-block-surecart-product-list-related .wp-block-surecart-product-template {
	display: grid !important;
	gap: 28px !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 240px)) !important;
	justify-content: start !important;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.si-product-page .wp-block-surecart-product-list-related .sc-product-item {
	align-content: start !important;
	align-items: start !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
	display: block !important;
	grid-auto-rows: auto !important;
	grid-template-rows: auto !important;
	height: auto !important;
	justify-content: flex-start !important;
	max-width: 240px;
	min-height: 0 !important;
	overflow: visible;
	padding: 0 !important;
}

.si-product-page .wp-block-surecart-product-list-related .sc-product-item-link,
.si-product-page .wp-block-surecart-product-list-related .sc-product-item > .wp-block-group,
.si-product-page .wp-block-surecart-product-list-related .sc-product-item-link > .wp-block-group {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block !important;
	grid-auto-rows: auto !important;
	grid-template-rows: auto !important;
	gap: 0 !important;
	height: auto !important;
	justify-content: flex-start !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
}

.si-product-page .wp-block-surecart-product-list-related .sc-product-item .wp-block-group {
	align-content: start !important;
	display: block !important;
	gap: 0 !important;
	grid-auto-rows: auto !important;
	grid-template-rows: auto !important;
	height: auto !important;
	justify-content: flex-start !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
}

.si-product-page .wp-block-surecart-product-list-related :is(a, li, article, div):has(> .wp-block-group > .wp-block-surecart-product-title) {
	align-content: start !important;
	display: block !important;
	height: auto !important;
	justify-content: flex-start !important;
	min-height: 0 !important;
}

.si-product-page .wp-block-surecart-product-list-related .wp-block-group:has(> .wp-block-surecart-product-title) {
	align-content: start !important;
	display: block !important;
	flex: 0 0 auto !important;
	height: auto !important;
	margin: 12px 0 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.si-product-page .wp-block-surecart-product-list-related .wp-block-surecart-product-collection-tags,
.si-product-page .wp-block-surecart-product-list-related [class*="product-collection-tag"] {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
}

.si-product-page .wp-block-surecart-product-list-related .sc-product-item .wp-block-cover {
	aspect-ratio: 1 / 1;
	border: 0 !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	height: auto !important;
	margin-bottom: 12px !important;
	min-height: 0 !important;
	overflow: hidden;
	position: relative;
	width: 100% !important;
	transition: opacity 160ms ease;
}

.si-product-page .wp-block-surecart-product-list-related .sc-product-item .wp-block-cover__image-background {
	inset: 0 !important;
	height: 100% !important;
	object-fit: cover !important;
	position: absolute !important;
	width: 100% !important;
}

.si-product-page .wp-block-surecart-product-list-related .wp-block-surecart-product-title {
	color: var(--si-product-ink) !important;
	display: block !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	margin: 0 0 5px !important;
	max-width: none !important;
	width: 100% !important;
}

.si-product-page .wp-block-surecart-product-list-related .wp-block-surecart-product-list-price {
	color: var(--si-product-teal-dark) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	margin: 0 !important;
}

.si-product-page .wp-block-surecart-product-list-related .wp-block-surecart-product-collection-tag {
	display: none !important;
}

.si-product-page .wp-block-surecart-product-list-related .sc-product-item:hover {
	box-shadow: none !important;
	transform: none !important;
}

.si-product-page .wp-block-surecart-product-list-related .sc-product-item:hover .wp-block-cover {
	opacity: 0.88;
}

.si-product-page .wp-block-surecart-product-list-related .si-related-product-link {
	color: inherit !important;
	display: block !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
}

.si-product-page .wp-block-surecart-product-list-related .si-related-product-image {
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	display: block;
	height: auto;
	margin: 0 0 12px;
	object-fit: cover;
	width: 100%;
}

.si-product-page .wp-block-surecart-product-list-related .si-related-product-title {
	color: var(--si-product-ink);
	display: block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 5px;
	width: 100%;
}

.si-product-page .wp-block-surecart-product-list-related .si-related-product-price {
	color: var(--si-product-teal-dark);
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
}

.si-product-page .wp-block-surecart-product-list-related .si-related-product-link:hover .si-related-product-image {
	opacity: 0.88;
}

@media (max-width: 900px) {
	.si-product-page .ast-article-single {
		padding: 34px 20px 62px !important;
	}

	.si-product-page .wp-block-surecart-product-page > .wp-block-columns {
		gap: 32px !important;
		grid-template-columns: 1fr !important;
	}

	.si-product-page .wp-block-surecart-product-media {
		max-width: 620px;
		position: static;
	}
}

@media (max-width: 560px) {
	.si-product-page .wp-block-surecart-product-media {
		border-radius: 18px;
		padding: 10px;
	}

	.si-product-page .wp-block-surecart-product-title {
		font-size: 32px !important;
	}

	.si-product-page .sc-choices {
		grid-template-columns: 1fr;
	}

	.si-product-page .wp-block-surecart-product-buy-buttons {
		flex-direction: column !important;
	}

	.si-product-page .wp-block-surecart-product-list-related .wp-block-surecart-product-template {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.si-product-page .wp-block-surecart-product-list-related .sc-product-item {
		max-width: 100%;
	}
}

body.home .entry-content > .spectra-is-root-container,
body.home .entry-content > .wp-block-spectra-container,
body.home .entry-content > .spectra-is-root-container.alignfull,
body.home .entry-content > .wp-block-spectra-container.alignfull {
	box-sizing: border-box;
	left: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	position: relative;
	right: auto !important;
	transform: none !important;
	width: 100% !important;
}

body.home a.si-outline-button.wp-block-button__link,
body.home .si-outline-button .wp-block-button__link {
	background: #fff !important;
	border: 2px solid var(--si-brand-teal,#1C878C) !important;
	border-radius: 5px !important;
	box-shadow: none !important;
	color: var(--si-brand-teal,#1C878C) !important;
}

body.home a.si-outline-button.wp-block-button__link:hover,
body.home a.si-outline-button.wp-block-button__link:focus-visible,
body.home .si-outline-button .wp-block-button__link:hover,
body.home .si-outline-button .wp-block-button__link:focus-visible {
	background: var(--si-brand-teal,#1C878C) !important;
	border-color: var(--si-brand-teal,#1C878C) !important;
	color: #fff !important;
}

.si-homepage-hero {
	background: #fff;
	box-sizing: border-box;
	color: #10182e;
	max-width: 100%;
	overflow: hidden;
	padding: 10px 20px 18px;
	width: 100%;
}

.si-homepage-hero *,
.si-homepage-hero *::before,
.si-homepage-hero *::after {
	box-sizing: border-box;
}

.si-homepage-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(40px, 6vw, 88px);
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	margin: 0 auto;
	max-width: 1380px;
	width: 100%;
}

.si-homepage-hero__content,
.si-homepage-hero__visual {
	min-width: 0;
}

.si-homepage-hero__content {
	text-align: center;
}

.si-homepage-hero__eyebrow {
	color: var(--si-brand-teal,#1C878C);
	font-size: clamp(13px, 1.3vw, 17px);
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0 0 24px;
}

.si-homepage-hero h1 {
	color: #10182e;
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.13;
	margin: 0;
	overflow-wrap: anywhere;
}

.si-homepage-hero__description {
	color: #18202b;
	font-size: clamp(18px, 1.55vw, 23px);
	line-height: 1.55;
	margin: 34px auto 0;
	max-width: 760px;
}

.si-homepage-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	justify-content: center;
	margin-top: 38px;
}

.si-homepage-hero__button {
	align-items: center;
	border: 2px solid var(--si-brand-teal,#1C878C);
	border-radius: 5px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: .08em;
	min-height: 58px;
	min-width: 240px;
	padding: 14px 26px;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.si-homepage-hero__button--outline {
	background: #fff;
	color: var(--si-brand-teal,#1C878C) !important;
}

.si-homepage-hero__button--solid {
	background: var(--si-brand-teal,#1C878C);
	color: #fff !important;
}

.si-homepage-hero__button:hover,
.si-homepage-hero__button:focus-visible {
	background: var(--si-brand-teal-hover,#176F73);
	border-color: var(--si-brand-teal-hover,#176F73);
	color: #fff !important;
	transform: translateY(-2px);
}

.si-homepage-hero__visual {
	align-items: center;
	display: flex;
	justify-content: center;
}

.si-homepage-hero__image {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

@media (max-width: 960px) {
	.si-homepage-hero {
		padding: 4px 20px 10px;
	}

	.si-homepage-hero__inner {
		gap: 44px;
		grid-template-columns: 1fr;
	}

	.si-homepage-hero__content {
		margin: 0 auto;
		max-width: 780px;
	}

	.si-homepage-hero__visual {
		margin: 0 auto;
		max-width: 760px;
		width: 100%;
	}
}

@media (max-width: 620px) {
	.si-homepage-hero {
		padding: 0px 20px 4px;
	}

	.si-homepage-hero__inner {
		gap: 34px;
	}

	.si-homepage-hero__eyebrow {
		font-size: 12px;
		margin-bottom: 18px;
	}

	.si-homepage-hero h1 {
		font-size: 28px;
		line-height: 1.12;
	}

	.si-homepage-hero__description {
		font-size: 17px;
		line-height: 1.5;
		margin-top: 24px;
	}

	.si-homepage-hero__actions {
		flex-direction: column;
		gap: 14px;
		margin-top: 30px;
	}

	.si-homepage-hero__button {
		min-height: 54px;
		min-width: 0;
		width: 100%;
	}
}

.si-faq {
	background: #f4f7f7;
	box-sizing: border-box;
	color: #10182e;
	margin: 0;
	max-width: 100%;
	padding: 20px 20px 48px;
	width: 100%;
}

.si-faq *,
.si-faq *::before,
.si-faq *::after {
	box-sizing: border-box;
}

.si-faq__inner {
	margin: 0 auto;
	max-width: 920px;
	padding: 28px 0;
	width: 100%;
}

.si-faq__header {
	margin: 0 auto 24px;
	max-width: 720px;
	text-align: center;
}

.si-faq__eyebrow {
	color: var(--si-brand-teal,#1C878C);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
	margin: 0 0 8px;
}

.si-faq__header h2 {
	color: #10182e;
	font-size: 30px;
	letter-spacing: -.03em;
	line-height: 1.16;
	margin: 0;
}

.si-faq__description {
	color: #63707a;
	font-size: 15px;
	line-height: 1.5;
	margin: 10px auto 0;
}

.si-faq__list {
	background: #fff;
	border: 1px solid #dce5e6;
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(16, 24, 46, .05);
	overflow: hidden;
}

.si-faq__item + .si-faq__item {
	border-top: 1px solid #e3e9ea;
}

.si-faq__question {
	align-items: center;
	appearance: none;
	background: #fff;
	border: 0;
	color: #10182e;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: 17px;
	font-weight: 700;
	gap: 18px;
	justify-content: space-between;
	line-height: 1.35;
	padding: 19px 22px;
	text-align: left;
	width: 100%;
}

.si-faq__question:hover,
.si-faq__question:hover > span:first-child,
.si-faq__question:focus-visible > span:first-child {
	background: #f9fbfb;
	color: var(--si-brand-teal,#1C878C) !important;
}

.si-faq__question:focus-visible {
	color: var(--si-brand-teal,#1C878C) !important;
	outline: 3px solid rgba(28,135,140,.3);
	outline-offset: -3px;
}

.si-site-footer {
	background: #e7e3dc;
	box-sizing: border-box;
	color: #10182e;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: none;
	position: relative;
	right: 50%;
	width: 100vw;
}

/* Keep the homepage content and footer boundary flush. */
body.home #colophon {
	margin-top: 0;
	position: relative;
}

body.home #colophon::before {
	content: none;
}

body.home #content,
body.home .site-content,
body.home #primary,
body.home #main,
body.home article.page,
body.home article.page > .entry-content,
body.home article.page > .entry-content > :last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.si-responsive-footer {
	margin: 0;
	padding: 0;
	width: 100%;
}

/* Let the shortcode replace Astra's padded footer canvas edge to edge. */
.site-footer:has(.si-responsive-footer),
.site-footer:has(.si-responsive-footer) .site-primary-footer-wrap,
.site-footer:has(.si-responsive-footer) .ast-builder-grid-row-container,
.site-primary-footer-wrap:has(.si-site-footer),
.site-primary-footer-wrap:has(.si-site-footer) .ast-builder-grid-row-container-inner,
.site-primary-footer-wrap:has(.si-site-footer) .ast-builder-grid-row,
.site-primary-footer-wrap:has(.si-site-footer) .site-footer-section,
.site-primary-footer-wrap:has(.si-site-footer) .footer-widget-area,
.site-primary-footer-wrap:has(.si-site-footer) .widget,
.site-primary-footer-wrap:has(.si-site-footer) .widget_block,
.site-primary-footer-wrap:has(.si-site-footer) .wp-block-shortcode,
.site-primary-footer-wrap:has(.si-site-footer) p:has(.si-responsive-footer) {
	background: #e7e3dc !important;
	border: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.site-primary-footer-wrap:has(.si-site-footer) .ast-builder-grid-row-container-inner {
	min-height: 0 !important;
}

/* Astra keeps the row that contains the hidden responsive footer in flow. */
.site-footer p:has(> .si-site-footer),
.site-footer p:has(> .si-responsive-footer) {
	margin: 0 !important;
	padding: 0 !important;
}

@media (min-width: 769px) {
	.site-footer > .site-primary-footer-wrap {
		display: none !important;
	}

	.site-footer > .site-below-footer-wrap,
	.site-footer > .site-below-footer-wrap .ast-builder-grid-row-container,
	.site-footer > .site-below-footer-wrap .ast-builder-grid-row-container-inner,
	.site-footer > .site-below-footer-wrap .ast-builder-grid-row,
	.site-footer > .site-below-footer-wrap .site-footer-section,
	.site-footer > .site-below-footer-wrap .footer-widget-area,
	.site-footer > .site-below-footer-wrap .widget,
	.site-footer > .site-below-footer-wrap .widget_block,
	.site-footer > .site-below-footer-wrap .wp-block-shortcode {
		background: #e7e3dc !important;
		border: 0 !important;
		margin: 0 !important;
		max-width: none !important;
		padding: 0 !important;
		width: 100% !important;
	}
}

@media (max-width: 768px) {
	.site-footer > .site-below-footer-wrap {
		display: none !important;
	}
}

.si-site-footer *,
.si-site-footer *::before,
.si-site-footer *::after {
	box-sizing: border-box;
}

.si-site-footer--desktop {
	display: block;
	padding: 32px 28px 0;
}

.si-site-footer--mobile {
	display: none;
}

.si-site-footer__desktop-main {
	display: grid;
	gap: 50px;
	grid-template-columns: 1.65fr .75fr .75fr .75fr;
	margin: 0 auto;
	max-width: 1180px;
	padding-bottom: 42px;
}

.si-site-footer__logo {
	display: inline-flex;
	margin-bottom: 18px;
	max-width: 330px;
}

.si-site-footer__logo img {
	display: block;
	height: auto;
	max-width: 100%;
	width: 285px;
}

.si-site-footer__description {
	color: #47535d !important;
	font-size: 14px;
	line-height: 1.65;
	margin: 0 0 20px;
	max-width: 410px;
}

/* 1.0.125: LinkedIn and Instagram links (icon + text) under the description, desktop and mobile.
 * 1.0.126: text now matches the other footer links (#172132, 12.63:1 on #e7e3dc); icons are brand teal #1C878C
 * (3.36:1, above the 3:1 needed for graphics; they are decorative, aria-hidden).
 * The li keeps a 20px row height (min-height) so the 1.3 line-height text does not move anything.
 * Desktop: the row sits in the description's bottom margin (-8px top margin + 20px row = +12px) and the same 12px
 * comes off the grid's bottom padding (42px to 30px), so the (c) line stays exactly where it was.
 * Mobile: the brand block stacks above the accordions, so the row needs its own room: 12px above, 20px row, 16px
 * to the accordions (the description/accordion margins used to collapse to 25px). Everything below moves down 23px. */
.si-site-footer ul.si-site-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	list-style: none;
	margin: -8px 0 0;
	padding: 0;
}

.si-site-footer__social li {
	align-items: center;
	display: flex;
	line-height: 20px;
	margin: 0;
	min-height: 20px;
	padding: 0;
}

/* 1.0.126: the link text is styled exactly like the other footer links, which come from the generic
 * `.si-site-footer a` rules below (#172132, 14px, line-height 1.3, weight inherited, no underline; hover and
 * focus turn brand teal #1C878C; default focus ring). Only layout is set here. The icons stay brand teal. */
.si-site-footer a.si-site-footer__social-link {
	align-items: center;
	display: inline-flex;
	gap: 7px;
}

.si-site-footer__social-icon {
	color: var(--si-brand-teal,#1C878C);
	display: block;
	flex: 0 0 18px;
	height: 18px;
	width: 18px;
}

.si-site-footer__sr-only {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.si-site-footer__desktop-main:has(.si-site-footer__social) {
	padding-bottom: 30px;
}

.si-site-footer--mobile .si-site-footer__mobile-main:has(.si-site-footer__social) .si-site-footer__accordions {
	margin-top: 16px;
}

/* 1.0.126: centre the social row on mobile, under the centred logo and description. Desktop is unchanged. */
.si-site-footer--mobile .si-site-footer__social {
	justify-content: center;
}

.si-site-footer__column h2 {
	color: var(--si-brand-teal,#1C878C);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.3;
	margin: 5px 0 11px;
	text-transform: uppercase;
}

.si-site-footer ul {
	display: grid;
	gap: 3px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.si-site-footer a {
	color: #172132 !important;
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none !important;
}

.si-site-footer a:hover,
.si-site-footer a:focus-visible {
	color: var(--si-brand-teal,#1C878C) !important;
}

.si-site-footer__bottom {
	align-items: center;
	background: #e7e3dc;
	border-top: 0;
	display: flex;
	gap: 22px;
	justify-content: space-between;
	margin: 0 -28px;
	padding: 18px max(28px, calc((100% - 1180px) / 2 + 28px));
}

.si-site-footer__bottom p {
	color: #47535d;
	font-size: 12px;
	margin: 0;
}

.si-site-footer__bottom nav ul {
	display: flex;
	flex-wrap: nowrap;
	gap: 17px;
}

.si-site-footer__bottom nav {
	flex: 0 0 auto;
}

.si-site-footer__bottom a {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	padding: 10px 0;
}

.si-site-footer__bottom .si-site-footer__consent button {
	appearance: none;
	background: transparent;
	border: 0;
	color: #172132;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	padding: 0;
	text-decoration: none;
}

.si-site-footer__bottom .si-site-footer__consent button:hover,
.si-site-footer__bottom .si-site-footer__consent button:focus-visible {
	color: var(--si-brand-teal,#1C878C);
}

.si-site-footer__mobile-main {
	padding: 30px 20px 0;
}

.si-site-footer--mobile .si-site-footer__logo {
	max-width: 285px;
}

.si-site-footer--mobile .si-site-footer__logo img {
	width: 250px;
}

.si-site-footer__accordions {
	border-top: 1px solid rgba(16, 24, 46, .14);
	margin-top: 25px;
}

.si-site-footer__mobile-group {
	border-bottom: 1px solid rgba(16, 24, 46, .14);
}

.si-site-footer__mobile-group button {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: #10182e;
	display: flex;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	justify-content: space-between;
	padding: 16px 0;
	width: 100%;
}

/*
 * Astra's theme stylesheet applies a solid teal fill to every button's
 * :hover/:focus state site-wide (button:focus, button:hover, ...), with the
 * same specificity as the rule above — on touch devices, tapping this
 * accordion toggle focuses it and triggers that theme-wide fill. Forcing our
 * own colors back with !important on every interactive state keeps this as
 * a plain text toggle, matching how it looks at rest.
 */
.si-site-footer__mobile-group button:hover,
.si-site-footer__mobile-group button:focus,
.si-site-footer__mobile-group button:active {
	background-color: transparent !important;
	border-color: transparent !important;
	color: #10182e !important;
}

.si-site-footer__mobile-group button:focus-visible {
	outline: 2px solid var(--si-brand-teal,#1C878C);
	outline-offset: 2px;
}

.si-site-footer__mobile-group button span:last-child {
	color: var(--si-brand-teal,#1C878C);
	font-size: 20px;
	font-weight: 400;
	transition: transform 180ms ease;
}

.si-site-footer__mobile-group button[aria-expanded="true"] span:last-child {
	transform: rotate(45deg);
}

.si-site-footer__mobile-group nav {
	padding-bottom: 16px;
}

.si-site-footer__mobile-group nav[hidden] {
	display: none;
}

.si-site-footer--mobile .si-site-footer__bottom {
	flex-direction: column-reverse;
	gap: 13px;
	margin: 26px 0 0;
	padding: 20px;
	text-align: center;
}

.si-site-footer--mobile .si-site-footer__bottom nav ul {
	flex-wrap: wrap;
	justify-content: center;
}

@media (max-width: 760px) {
	.si-site-footer--desktop {
		display: none;
	}

	.si-site-footer--mobile {
		display: block;
	}

	.si-site-footer__accordions,
	.si-site-footer__mobile-group,
	.si-site-footer--mobile .si-site-footer__bottom {
		border: 0;
	}
}

.si-faq__symbol {
	align-items: center;
	background: var(--si-brand-teal-tint,#E8F3F4);
	border-radius: 50%;
	color: var(--si-brand-teal,#1C878C);
	display: flex;
	flex: 0 0 auto;
	font-size: 21px;
	font-weight: 500;
	height: 34px;
	justify-content: center;
	transition: transform 180ms ease;
	width: 34px;
}

.si-faq__question[aria-expanded="true"] .si-faq__symbol {
	transform: rotate(45deg);
}

.si-faq__answer {
	color: #596773;
	font-size: 15px;
	line-height: 1.6;
	padding: 0 72px 20px 22px;
}

.si-faq__answer[hidden] {
	display: none;
}

.si-faq__answer p {
	margin: 0;
}

@media (max-width: 620px) {
	.si-faq {
		padding: 20px 16px 36px;
	}

	.si-faq__inner {
		padding: 24px 0;
	}

	.si-faq__header h2 {
		font-size: 26px;
	}

	.si-faq__question {
		font-size: 16px;
		padding: 17px 16px;
	}

	.si-faq__answer {
		font-size: 14px;
		padding: 0 58px 18px 16px;
	}

	.si-faq__symbol {
		height: 31px;
		width: 31px;
	}
}

.si-pricing {
	background: #fff;
	box-sizing: border-box;
	color: #10182e;
	max-width: 100%;
	padding: 20px;
	width: 100%;
}

.si-pricing *,
.si-pricing *::before,
.si-pricing *::after {
	box-sizing: border-box;
}

.si-pricing__inner {
	margin: 0 auto;
	max-width: 1180px;
	padding: 28px 0;
	width: 100%;
}

.si-pricing__header {
	margin: 0 auto 28px;
	max-width: 760px;
	text-align: center;
}

.si-pricing__eyebrow {
	color: var(--si-brand-teal,#1C878C);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
	margin: 0 0 8px;
}

.si-pricing__header h2 {
	color: #10182e;
	font-size: 30px;
	letter-spacing: -.03em;
	line-height: 1.16;
	margin: 0;
}

.si-pricing__description {
	color: #63707a;
	font-size: 15px;
	line-height: 1.5;
	margin: 10px auto 0;
}

.si-pricing__toggle {
	background: #edf3f3;
	border-radius: 10px;
	display: inline-flex;
	gap: 2px;
	margin-top: 20px;
	padding: 4px;
}

.si-pricing__toggle button {
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 7px;
	color: #63707a;
	cursor: pointer;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	min-width: 104px;
	padding: 10px 17px;
}

.si-pricing__toggle button.is-active {
	background: #fff;
	box-shadow: 0 3px 10px rgba(16, 24, 46, .09);
	color: var(--si-brand-teal-hover,#176F73);
}

.si-pricing__toggle button:focus-visible {
	outline: 3px solid rgba(28,135,140,.3);
	outline-offset: 2px;
}

.si-pricing__grid {
	align-items: stretch;
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.si-pricing-card {
	background: #fff;
	border: 1px solid #dce5e6;
	border-radius: 16px;
	box-shadow: 0 12px 30px rgba(16, 24, 46, .06);
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 28px 24px 24px;
	position: relative;
}

.si-pricing-card--featured {
	border: 2px solid var(--si-brand-teal,#1C878C);
	box-shadow: 0 16px 38px rgba(28,135,140,.14);
}

.si-pricing-card--featured::before {
	background: var(--si-brand-teal,#1C878C);
	border-radius: 999px;
	color: #fff;
	content: 'MOST POPULAR';
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	padding: 6px 11px;
	position: absolute;
	right: 18px;
	top: 17px;
}

.si-pricing-card--team {
	background: #f5f9f9;
}

.si-pricing-card h3 {
	color: #10182e;
	font-size: 21px;
	line-height: 1.25;
	margin: 0 0 16px;
	padding-right: 0;
}

.si-pricing-card--featured h3 {
	padding-right: 105px;
}

.si-pricing .si-pricing-card__price-group {
	display: flex;
	flex: 0 0 72px !important;
	flex-direction: column;
	height: 72px !important;
	justify-content: flex-start !important;
	max-height: 72px !important;
	min-height: 72px !important;
}

.si-pricing-card__price {
	align-items: baseline;
	color: #10182e;
	display: flex;
	font-size: 42px;
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1;
	margin: 0 !important;
}

.si-pricing-card__price--individual {
	align-items: flex-start;
	flex-direction: column;
	font-size: 32px;
	line-height: 1.1;
}

.si-pricing-card__currency {
	font-size: 23px;
	margin-right: 2px;
}

.si-pricing-card__period {
	color: #63707a;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	margin-left: 5px;
}

.si-pricing .si-pricing-card__period--standalone {
	display: block;
	line-height: 1.25;
	margin: 5px 0 0 !important;
	padding: 0 !important;
}

.si-pricing-card__summary {
	color: #4b5863;
	font-size: 14px;
	line-height: 1.5;
	margin: 18px 0;
}

.si-pricing-card__features {
	color: #25313c;
	display: grid;
	font-size: 14px;
	gap: 12px;
	line-height: 1.45;
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.si-pricing-card__features li {
	display: flex;
	gap: 10px;
}

.si-pricing-card__features li span {
	color: var(--si-brand-teal,#1C878C);
	font-weight: 900;
}

.si-pricing-card__button {
	align-items: center;
	background: var(--si-brand-teal,#1C878C);
	border: 2px solid var(--si-brand-teal,#1C878C);
	border-radius: 7px;
	color: #fff !important;
	display: flex;
	font-size: 13px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: .04em;
	margin-top: auto;
	min-height: 50px;
	padding: 12px 16px;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
}

.si-pricing-card:first-child .si-pricing-card__button {
	background: #fff;
	color: var(--si-brand-teal,#1C878C) !important;
}

.si-pricing-card__button:hover,
.si-pricing-card__button:focus-visible,
.si-pricing-card:first-child .si-pricing-card__button:hover,
.si-pricing-card:first-child .si-pricing-card__button:focus-visible {
	background: var(--si-brand-teal-hover,#176F73);
	border-color: var(--si-brand-teal-hover,#176F73);
	color: #fff !important;
}

.si-pricing__billing-note {
	color: #72808a;
	font-size: 12px;
	margin: 14px 0 0;
	text-align: center;
}

@media (max-width: 920px) {
	.si-pricing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.si-pricing-card--team {
		grid-column: 1 / -1;
	}
}

@media (max-width: 620px) {
	.si-pricing {
		padding: 20px;
	}

	.si-pricing__inner {
		padding: 24px 0;
	}

	.si-pricing__header {
		margin-bottom: 24px;
	}

	.si-pricing__header h2 {
		font-size: 26px;
	}

	.si-pricing__toggle {
		display: flex;
		width: 100%;
	}

	.si-pricing__toggle button {
		flex: 1;
		min-width: 0;
	}

	.si-pricing__grid {
		grid-template-columns: 1fr;
	}

	.si-pricing-card,
	.si-pricing-card--team {
		grid-column: auto;
		padding: 24px 20px 20px;
	}

	.si-pricing-card__price {
		font-size: 38px;
	}

	.si-pricing-card__price--individual {
		font-size: 29px;
	}
}

.si-how-it-works {
	background: #f4f7f7;
	box-sizing: border-box;
	color: #10182e;
	max-width: 100%;
	padding: 20px;
	width: 100%;
}

.si-how-it-works *,
.si-how-it-works *::before,
.si-how-it-works *::after {
	box-sizing: border-box;
}

.si-how-it-works__inner {
	margin: 0 auto;
	max-width: 1180px;
	padding: 28px 0;
	width: 100%;
}

.si-how-it-works__header {
	margin: 0 auto 32px;
	max-width: 720px;
	text-align: center;
}

.si-how-it-works__eyebrow {
	color: #65727c;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
	margin: 0 0 8px;
}

.si-how-it-works__header h2 {
	color: #10182e;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 1.16;
	margin: 0;
}

.si-how-it-works__steps {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.si-how-it-works__step {
	align-items: center;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 0 14px;
	text-align: center;
}

.si-how-it-works__number {
	align-items: center;
	background: var(--si-brand-teal-tint,#E8F3F4);
	border-radius: 50%;
	color: var(--si-brand-teal,#1C878C);
	display: inline-flex;
	font-size: 17px;
	font-weight: 800;
	height: 54px;
	justify-content: center;
	margin-bottom: 10px;
	width: 54px;
}

.si-how-it-works__step h3 {
	color: #10182e;
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.25;
	margin: 0 0 7px;
}

.si-how-it-works__step p {
	color: #65727c;
	font-size: 15px;
	line-height: 1.5;
	margin: 0;
	max-width: 330px;
}

@media (max-width: 760px) {
	.si-how-it-works__steps {
		gap: 24px;
		grid-template-columns: 1fr;
	}

	.si-how-it-works__step {
		padding: 0;
	}
}

@media (max-width: 620px) {
	.si-how-it-works {
		padding: 20px;
	}

	.si-how-it-works__inner {
		padding: 24px 0;
	}

	.si-how-it-works__header {
		margin-bottom: 26px;
	}

	.si-how-it-works__header h2 {
		font-size: 26px;
	}

	.si-how-it-works__number {
		height: 48px;
		width: 48px;
	}

	.si-how-it-works__step h3 {
		font-size: 20px;
	}
}

.si-benefits {
	background:
		radial-gradient(ellipse 38% 76% at -4% 108%, rgba(190, 205, 203, .48) 0 72%, transparent 73%),
		radial-gradient(ellipse 46% 58% at 89% 118%, rgba(207, 198, 187, .52) 0 70%, transparent 71%),
		linear-gradient(145deg, #eeeae4 0%, #e7e1d9 58%, #ede8e1 100%);
	box-sizing: border-box;
	color: #10182e;
	max-width: 100%;
	overflow: hidden;
	padding: 20px;
	position: relative;
	width: 100%;
}

.si-benefits::before {
	background: linear-gradient(145deg, rgba(203, 216, 214, .58), rgba(224, 219, 210, .5));
	clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 72%);
	content: '';
	inset: 0 0 0 48%;
	pointer-events: none;
	position: absolute;
}

.si-benefits::after {
	background-image: radial-gradient(circle, rgba(98, 159, 157, .34) 0 3px, transparent 3.5px);
	background-size: 28px 28px;
	content: '';
	height: 170px;
	opacity: .8;
	pointer-events: none;
	position: absolute;
	right: 1.5%;
	top: 21%;
	width: 230px;
}

.si-benefits *,
.si-benefits *::before,
.si-benefits *::after {
	box-sizing: border-box;
}

.si-benefits__inner {
	margin: 0 auto;
	max-width: 1180px;
	padding: 28px 0;
	position: relative;
	width: 100%;
	z-index: 1;
}

.si-benefits__header {
	margin: 0 auto 24px;
	max-width: 720px;
	text-align: center;
}

.si-benefits__eyebrow {
	color: var(--si-brand-teal,#1C878C);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
	margin: 0 0 8px;
}

.si-benefits__header h2 {
	color: #10182e;
	font-size: 30px;
	letter-spacing: -.03em;
	line-height: 1.16;
	margin: 0;
}

.si-benefits__description {
	color: #63707a;
	font-size: 15px;
	line-height: 1.5;
	margin: 10px auto 0;
}

.si-benefits__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.si-benefit-card {
	align-items: center;
	background: rgba(255, 255, 255, .94);
	border: 1px solid rgba(28,135,140,.16);
	border-radius: 16px;
	box-shadow: 0 14px 36px rgba(16, 24, 46, .07);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: 190px;
	min-width: 0;
	padding: 24px 20px;
	text-align: center;
}

.si-benefit-card__icon {
	align-items: center;
	background: var(--si-brand-teal-tint,#E8F3F4);
	border-radius: 14px;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	margin-bottom: 14px;
	width: 48px;
}

.si-benefit-card__icon svg {
	fill: none;
	height: 29px;
	stroke: var(--si-brand-teal,#1C878C);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 3;
	width: 29px;
}

.si-benefit-card h3 {
	color: #10182e;
	font-size: 21px;
	letter-spacing: -.02em;
	line-height: 1.2;
	margin: 0 0 9px;
	overflow-wrap: anywhere;
}

.si-benefit-card > p {
	color: #394552;
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
	max-width: 430px;
}

@media (max-width: 900px) {
	.si-benefits__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.si-benefit-card:last-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 620px) {
	.si-benefits {
		padding: 20px;
	}

	.si-benefits__inner {
		padding: 24px 0;
	}

	.si-benefits::before {
		clip-path: polygon(58% 0, 100% 0, 100% 100%, 18% 82%);
		inset: 0 0 0 30%;
		opacity: .65;
	}

	.si-benefits::after {
		background-size: 22px 22px;
		height: 112px;
		right: -34px;
		top: 8%;
		width: 140px;
	}

	.si-benefits__header {
		margin-bottom: 20px;
	}

	.si-benefits__header h2 {
		font-size: 26px;
	}

	.si-benefits__description {
		font-size: 16px;
		line-height: 1.55;
	}

	.si-benefits__grid {
		gap: 16px;
		grid-template-columns: 1fr;
	}

	.si-benefit-card,
	.si-benefit-card:last-child {
		grid-column: auto;
		min-height: 0;
		padding: 22px 18px;
	}

	.si-benefit-card h3 {
		font-size: 20px;
	}
}

.si-popular-templates {
	background: #fff;
	box-sizing: border-box;
	color: #10182e;
	max-width: 100%;
	overflow-x: clip;
	padding: 20px;
	width: 100%;
}

.si-popular-templates *,
.si-popular-templates *::before,
.si-popular-templates *::after {
	box-sizing: border-box;
}

.si-popular-templates__inner {
	margin: 0 auto;
	max-width: 1240px;
	min-width: 0;
	padding: 28px 0;
	width: 100%;
}

.si-popular-templates__header {
	margin: 0 auto 24px;
	max-width: 720px;
	text-align: center;
}

.si-popular-templates__eyebrow {
	color: var(--si-brand-teal,#1C878C);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
	margin: 0 0 8px;
}

.si-popular-templates__header h2 {
	color: #10182e;
	font-size: 30px;
	letter-spacing: -.035em;
	line-height: 1.16;
	margin: 0;
}

.si-popular-templates__header > p:last-child {
	color: #63707a;
	font-size: 15px;
	line-height: 1.5;
	margin: 10px auto 0;
	max-width: 680px;
}

.si-popular-templates__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-content: center;
}

.si-popular-template-card {
	background: #fff;
	border: 1px solid rgba(28,135,140,.55);
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(16, 24, 46, .06);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.si-popular-template-card:hover {
	box-shadow: 0 20px 42px rgba(16, 24, 46, .11);
	transform: translateY(-3px);
}

/* 1.0.92: the image fills the whole top of the card, edge to edge, at the same
 * height on every card (fixed 16:10 box, object-fit: cover). Images taller than
 * 16:10 (the square product images) are anchored to the top so their headline
 * stays visible; wider images (16:9 course images) are centred. The teal
 * background only shows behind the placeholder icon when there is no image. */
.si-popular-template-card__preview {
	align-items: center;
	aspect-ratio: 16 / 10;
	background: linear-gradient(145deg, var(--si-brand-teal-tint,#E8F3F4), #e5eeee);
	border-radius: 17px 17px 0 0;
	display: flex;
	flex: 0 0 auto;
	height: auto;
	justify-content: center;
	overflow: hidden;
	padding: 0;
	width: 100%;
}

.si-popular-template-card__image {
	display: block;
	height: 100%;
	max-height: none;
	max-width: none;
	object-fit: cover;
	object-position: var(--si-card-image-position, 50% 0%);
	width: 100%;
}

.si-popular-template-card__placeholder {
	color: var(--si-brand-teal,#1C878C);
	font-size: 64px;
}

.si-popular-template-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px;
}

.si-popular-template-card__category {
	align-self: flex-start;
	background: var(--si-brand-teal-tint,#E8F3F4);
	border-radius: 999px;
	color: var(--si-brand-teal-hover,#176F73);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 24px;
	padding: 10px 16px;
	text-transform: uppercase;
}

.si-popular-template-card__category a {
	color: inherit !important;
	text-decoration: none !important;
}

.si-popular-template-card__category a:hover,
.si-popular-template-card__category a:focus-visible {
	color: var(--si-brand-teal-hover,#176F73) !important;
	text-decoration: none !important;
}

.si-popular-templates a,
.si-popular-templates a:hover,
.si-popular-templates a:focus,
.si-popular-templates a:focus-visible,
.si-popular-templates a:active,
.si-popular-templates a:visited {
	text-decoration: none !important;
}

.si-popular-template-card h3 {
	font-size: 23px;
	letter-spacing: -.025em;
	line-height: 1.22;
	margin: 0 0 12px;
	overflow-wrap: anywhere;
}

.si-popular-template-card h3 a {
	color: #10182e !important;
	text-decoration: none !important;
}

.si-popular-template-card__excerpt {
	color: #63707a;
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 22px;
}

.si-popular-template-card__link {
	color: var(--si-brand-teal-hover,#176F73) !important;
	font-size: 14px;
	font-weight: 800;
	margin-top: auto;
	text-decoration: none !important;
}

.si-popular-templates__action {
	margin-top: 34px;
	text-align: center;
}

.si-popular-templates__action a {
	background: var(--si-brand-teal,#1C878C);
	border: 2px solid var(--si-brand-teal,#1C878C);
	border-radius: 8px;
	color: #fff !important;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: .03em;
	min-height: 52px;
	padding: 14px 26px;
	text-decoration: none !important;
}

.si-popular-templates__action a:hover,
.si-popular-templates__action a:focus-visible {
	background: var(--si-brand-teal-hover,#176F73);
	border-color: var(--si-brand-teal-hover,#176F73);
}

@media (max-width: 900px) {
	.si-popular-templates {
		padding: 20px;
	}

	.si-popular-templates__grid {
		gap: 20px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-content: center;
	}
}

@media (max-width: 620px) {
	.si-popular-templates {
		padding: 20px;
	}

	.si-popular-templates__inner {
		padding: 24px 0;
	}

	.si-popular-templates__header {
		margin-bottom: 20px;
	}

	.si-popular-templates__header h2 {
		font-size: 26px;
	}

	.si-popular-templates__header > p:last-child {
		font-size: 15px;
		line-height: 1.55;
	}

	.si-popular-templates__grid {
		gap: 18px;
		grid-template-columns: 1fr;
	}

	.si-popular-template-card__body {
		padding: 20px;
	}

	.si-popular-template-card h3 {
		font-size: 21px;
	}

	.si-popular-template-card__excerpt {
		font-size: 15px;
		margin-bottom: 18px;
	}

	.si-popular-templates__action {
		margin-top: 26px;
	}

	.si-popular-templates__action a {
		align-items: center;
		width: 100%;
	}
}

@media (max-width: 360px) {
	.si-popular-templates {
		padding: 20px;
	}

	.si-popular-template-card__body {
		padding: 18px;
	}
}

/* Public commerce and editorial styling moved to public-commerce-editorial.css. */

/* About page shortcode. */
.si-about-public-page .site-content > .ast-container {
	display: block !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.si-about-public-page #primary,
.si-about-public-page .site-main,
.si-about-public-page .ast-article-single,
.si-about-public-page .entry-content {
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.si-about-page {
	--si-about-ink: #0f1933;
	--si-about-copy: #5d6b78;
	--si-about-teal: var(--si-brand-teal,#1C878C);
	--si-about-teal-dark: var(--si-brand-teal-hover,#176F73);
	--si-about-pale: var(--si-brand-teal-tint,#E8F3F4);
	--si-about-taupe: #e8e3db;
	box-sizing: border-box;
	color: var(--si-about-ink);
	font-family: inherit;
	left: auto !important;
	margin: 0 !important;
	max-width: none !important;
	position: relative;
	right: auto !important;
	width: 100% !important;
}

.si-about-page *,
.si-about-page *::before,
.si-about-page *::after {
	box-sizing: border-box;
}

.si-about-shell {
	margin: 0 auto;
	max-width: 1240px;
	padding-left: 48px;
	padding-right: 48px;
}

.si-about-eyebrow {
	color: var(--si-about-teal);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .18em;
	line-height: 1.4;
	margin: 0 0 20px;
	text-transform: uppercase;
}

.si-about-hero {
	background-color: #f8faf9;
	background-image: radial-gradient(circle at 12px 12px, rgba(28,135,140,.12) 2px, transparent 2.5px), linear-gradient(122deg, rgba(232, 227, 219, .72) 0 55%, rgba(232,243,244,.78) 55% 100%);
	background-size: 34px 34px, 100% 100%;
	padding: 108px 0 100px;
	text-align: center;
}

.si-about-hero__inner {
	max-width: 1060px;
}

.si-about-hero h1 {
	color: var(--si-about-ink);
	font-size: clamp(38px, 5vw, 64px);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.08;
	margin: 0 auto 28px;
	max-width: 1000px;
}

.si-about-hero__intro {
	color: var(--si-about-copy);
	font-size: 20px;
	line-height: 1.7;
	margin: 0 auto;
	max-width: 860px;
}

.si-about-proof {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 34px;
	justify-content: center;
	list-style: none;
	margin: 38px 0 0;
	padding: 0;
}

.si-about-proof li {
	color: var(--si-about-ink);
	font-size: 14px;
	font-weight: 700;
}

.si-about-proof li::before {
	background: var(--si-about-teal);
	border-radius: 50%;
	color: #fff;
	content: "✓";
	display: inline-grid;
	height: 22px;
	margin-right: 9px;
	place-items: center;
	width: 22px;
}

.si-about-mission {
	background: #fff;
	padding: 96px 0;
}

.si-about-mission__grid {
	align-items: center;
	display: grid;
	gap: 76px;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
}

.si-about-mission h2,
.si-about-approach h2,
.si-about-cta h2 {
	color: var(--si-about-ink);
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.15;
	margin: 0 0 24px;
}

.si-about-mission__content > p:last-child,
.si-about-cta__inner > div:first-child > p:last-child {
	color: var(--si-about-copy);
	font-size: 18px;
	line-height: 1.8;
	margin: 0;
}

.si-about-note {
	background: var(--si-about-pale);
	border-left: 5px solid var(--si-about-teal);
	border-radius: 0 18px 18px 0;
	padding: 38px 38px 38px 42px;
}

.si-about-note__mark {
	color: var(--si-about-teal);
	display: block;
	font-family: Georgia, serif;
	font-size: 58px;
	line-height: .65;
	margin-bottom: 18px;
}

.si-about-note p {
	color: var(--si-about-ink);
	font-size: 22px;
	font-weight: 650;
	line-height: 1.55;
	margin: 0;
}

.si-about-approach {
	background: #f4f7f7;
	padding: 88px 0 96px;
}

.si-about-section-heading {
	margin: 0 auto 48px;
	max-width: 820px;
	text-align: center;
}

.si-about-values {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.si-about-value {
	background: #fff;
	border: 1px solid #dbe5e5;
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(15, 25, 51, .06);
	padding: 38px 34px;
}

.si-about-value > span {
	color: var(--si-about-teal);
	display: block;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	margin-bottom: 28px;
}

.si-about-value h3 {
	color: var(--si-about-ink);
	font-size: 23px;
	line-height: 1.25;
	margin: 0 0 16px;
}

.si-about-value p {
	color: var(--si-about-copy);
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
}

.si-about-cta {
	background: var(--si-about-taupe);
	padding: 76px 0;
}

.si-about-cta__inner {
	align-items: center;
	display: grid;
	gap: 50px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.si-about-cta h2 {
	font-size: clamp(30px, 3.5vw, 43px);
	margin-bottom: 16px;
}

.si-about-cta__actions {
	display: flex;
	gap: 14px;
}

.si-about-button {
	align-items: center;
	border: 2px solid var(--si-about-teal);
	border-radius: 8px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: .06em;
	min-height: 54px;
	padding: 12px 24px;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.si-about-button--solid {
	background: var(--si-about-teal);
	color: #fff !important;
}

.si-about-button--outline {
	background: transparent;
	color: var(--si-about-teal-dark) !important;
}

.si-about-button:hover,
.si-about-button:focus-visible {
	background: var(--si-about-teal-dark);
	border-color: var(--si-about-teal-dark);
	color: #fff !important;
	transform: translateY(-2px);
}

@media (max-width: 900px) {
	.si-about-mission__grid,
	.si-about-cta__inner {
		grid-template-columns: 1fr;
	}

	.si-about-values {
		grid-template-columns: 1fr;
	}

	.si-about-cta__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.si-about-shell {
		padding-left: 22px;
		padding-right: 22px;
	}

	.si-about-hero {
		padding: 72px 0 68px;
	}

	.si-about-hero h1 {
		font-size: 36px;
	}

	.si-about-hero__intro {
		font-size: 17px;
	}

	.si-about-proof {
		align-items: flex-start;
		flex-direction: column;
		margin-left: auto;
		margin-right: auto;
		max-width: 250px;
		text-align: left;
	}

	.si-about-mission,
	.si-about-approach {
		padding: 66px 0;
	}

	.si-about-mission__grid {
		gap: 38px;
	}

	.si-about-note {
		padding: 32px 28px;
	}

	.si-about-note p {
		font-size: 19px;
	}

	.si-about-value {
		padding: 30px 26px;
	}

	.si-about-cta {
		padding: 60px 0;
	}

	.si-about-cta__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.si-about-button {
		width: 100%;
	}
}

/* Homepage newsletter: preserve SureForms fields, validation, consent and submission. */
.si-newsletter { background:var(--si-brand-teal-tint,#E8F3F4); border-block:1px solid #dcebea; padding:12px 32px; }
.si-newsletter__inner { max-width:1256px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:28px; align-items:center; font-family:Poppins,sans-serif; }
.si-newsletter__copy h2 { color:#111a33; font-size:24px; line-height:1.2; margin:0 0 6px; }
.si-newsletter__copy p { color:#64717b; font-size:14px; line-height:1.5; margin:0; }
.si-newsletter__form { min-width:0; }
.si-newsletter .srfm-form-container { margin:0; padding:0; background:transparent; border:0; box-shadow:none; }
.si-newsletter .srfm-form { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto; gap:12px; margin:0; align-items:start; }
.si-newsletter .srfm-form > * { grid-column:1 / -1; }
.si-newsletter .srfm-form > .srfm-input-block { grid-column:1; grid-row:1; }
.si-newsletter .srfm-form > .srfm-email-block { grid-column:2; grid-row:1; }
.si-newsletter .srfm-form > .srfm-submit-container { grid-column:3; grid-row:1; align-self:end; margin:0; padding:0; }
.si-newsletter .srfm-form > .srfm-block { width:100% !important; min-width:0; margin:0; }
.si-newsletter .srfm-input-common { width:100%; min-height:48px; box-sizing:border-box; border-radius:6px; }
.si-newsletter .srfm-submit-button { min-height:48px; margin:0; padding:12px 22px; white-space:nowrap; background:var(--si-brand-teal,#1C878C); color:#fff; border-radius:6px; }
.si-newsletter :focus-visible { outline:2px solid var(--si-brand-teal,#1C878C); outline-offset:3px; }
@media(max-width:1000px) { .si-newsletter__inner {grid-template-columns:1fr;gap:16px;} }
@media(max-width:600px) {
 .si-newsletter {padding:12px 20px;}
 .si-newsletter .srfm-form {grid-template-columns:1fr;}
 .si-newsletter .srfm-form > :is(.srfm-input-block,.srfm-email-block,.srfm-submit-container) {grid-column:1;grid-row:auto;}
 .si-newsletter .srfm-submit-button {width:100%;}
}

/* Newsletter refinements: override SureForms' generated presentation locally. */
.si-newsletter .srfm-form-container,
.si-newsletter .srfm-form-container .srfm-form {
 background:transparent !important; padding:0 !important; border:0 !important; box-shadow:none !important;
}
.si-newsletter .srfm-form > :is(.srfm-input-block,.srfm-email-block) label {
 display:block; font-size:14px !important; line-height:20px !important; margin:0 0 8px !important;
}
/* Keep descriptive text available to assistive technology without adding a second visual line. */
.si-newsletter .srfm-form > :is(.srfm-input-block,.srfm-email-block) .srfm-description {
 position:absolute !important; width:1px !important; height:1px !important; padding:0 !important;
 margin:-1px !important; overflow:hidden !important; clip-path:inset(50%); white-space:nowrap; border:0;
}
.si-newsletter .srfm-form .srfm-block-wrap {margin:0 !important;}
.si-newsletter .srfm-form .srfm-input-common {
 height:48px !important; min-height:48px !important; padding:10px 12px !important; margin:0 !important;
 font-size:16px !important; line-height:24px !important; background:#fff !important;
}
.si-newsletter .srfm-form > .srfm-submit-container {
 align-self:start; margin:0 !important; padding:28px 0 0 !important;
}
.si-newsletter .srfm-submit-container .wp-block-button {margin:0 !important; padding:0 !important;}
.si-newsletter .srfm-form .srfm-submit-button {
 box-sizing:border-box; height:48px !important; min-height:48px !important;
 margin:0 !important; padding:10px 20px !important; border:1px solid var(--si-brand-teal,#1C878C) !important;
 background:var(--si-brand-teal,#1C878C) !important; color:#fff !important; font-size:14px !important; line-height:26px !important;
}
.si-newsletter .srfm-form .srfm-submit-button:hover {background:var(--si-brand-teal-hover,#176F73) !important;}
@media(max-width:600px) {
 .si-newsletter .srfm-form > .srfm-submit-container {padding-top:0 !important;}
}

/* Visible hints live inside the inputs; original associated labels remain accessible. */
.si-newsletter .srfm-form > :is(.srfm-input-block,.srfm-email-block) label {
 position:absolute !important; width:1px !important; height:1px !important; padding:0 !important;
 margin:-1px !important; overflow:hidden !important; clip-path:inset(50%); white-space:nowrap; border:0;
}
.si-newsletter .srfm-form > .srfm-submit-container {padding:0 !important;}
.si-newsletter .srfm-form .srfm-input-common::placeholder {color:#64717b;opacity:1;}

/* Match the surrounding full-width homepage sections, with a centered content limit. */
body.home .si-newsletter {
 box-sizing:border-box;
 width:100% !important;
 max-width:none !important;
 margin-left:0 !important;
 margin-right:0 !important;
 flex-shrink:0;
 align-self:stretch;
}
body.home .si-newsletter__inner {
 box-sizing:border-box;
 width:100%;
 max-width:1380px;
 margin-left:auto;
 margin-right:auto;
}

/* Compact purchase actions use the public navigation's teal. */
.si-purchase-button,
.si-product-page .wp-block-surecart-product-buy-button .sc-button__link {
 background:var(--si-brand-teal,#1C878C) !important; color:#fff !important; border:1px solid var(--si-brand-teal,#1C878C) !important;
 border-radius:5px !important; font-size:14px !important; line-height:20px !important;
 min-height:40px !important; padding:9px 18px !important; width:auto !important;
 font-weight:700 !important; text-decoration:none !important; box-sizing:border-box;
}
.si-purchase-button:hover,
.si-product-page .wp-block-surecart-product-buy-button .sc-button__link:hover {background:var(--si-brand-teal-hover,#176F73) !important;border-color:var(--si-brand-teal-hover,#176F73) !important;}
.si-course-purchase-price {font-size:20px;font-weight:700;color:var(--si-brand-teal,#1C878C);margin:12px 0;}
