/* ==========================================================================
   New home page (ACF, no Elementor)

   The theme and Elementor still load their global CSS here (header/footer are
   Elementor templates) and they cascade hard onto h1-h6, p, a and button —
   including -webkit-text-fill-color. So every rule below is scoped to its
   block and the typography/colour declarations are forced.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Hero — Figma 3014:701 (desktop 1444) / 3096:61 (mobile 375)
   -------------------------------------------------------------------------- */
/* The Elementor header sits in normal flow but its container carries
   margin-bottom:-224px (-128px below 1025px), and that negative margin collapses
   outward and pulls whatever follows up underneath it — that is how the site
   runs a hero photo behind the header. So the section reserves exactly that much
   at the top; the inline script in templates/home/hero.php re-measures it at
   runtime, so the block survives any change to the header. */
.st-hero{
	--st-header-overlap:224px;
	position:relative;
	display:block;
	padding:var(--st-header-overlap) clamp(20px,9.7vw,140px) 0;
	background-color:#2C3338;
	overflow:hidden;
}

.st-hero__bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	max-width:none;
	margin:0;
	padding:0;
	border:0;
	object-fit:cover;
	object-position:center;
	pointer-events:none;
	z-index:0;
}

/* #2C3338 at 82% — the design darkens the photo this much. */
.st-hero__overlay{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#2C3338;
	opacity:.82;
	pointer-events:none;
	z-index:1;
}

.st-hero__inner{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	justify-content:center;
	max-width:1164px;
	min-height:436px;
	margin:0 auto;
	padding:48px 0;
}

.st-hero__text{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:36px;
}

.st-hero__head{
	max-width:755px;
}

.st-hero__eyebrow{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:400 !important;
	line-height:25.2px !important;
	letter-spacing:2px !important;
	text-transform:uppercase !important;
	color:#8DBD35 !important;
	-webkit-text-fill-color:#8DBD35 !important;
}

.st-hero__eyebrow svg{
	flex:0 0 14px;
	display:block;
	width:14px;
	height:14px;
}

.st-hero p.st-hero__title{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:500 !important;
	line-height:54px !important;
	letter-spacing:-0.44px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

/* Own line on desktop, exactly as drawn; inline again on mobile. */
.st-hero__accent{
	display:block;
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-hero__row{
	display:flex;
	align-items:flex-start;
	gap:28px;
}

.st-hero__subtext{
	/* 450 = the headline block minus the button: the button's right edge lines up
	   with the headline, and the longer copy (client, 2026-09-16) sits in two lines. */
	flex:0 0 450px;
	max-width:450px;
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:300 !important;
	line-height:26px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-hero a.st-hero__cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:15px 28px;
	border:0;
	border-radius:8px;
	background-color:#88AE42 !important;
	background-image:none !important;
	box-shadow:none;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:700 !important;
	line-height:24px !important;
	text-align:center;
	text-decoration:none !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	transition:background-color .2s,transform .2s;
}

.st-hero a.st-hero__cta:hover,
.st-hero a.st-hero__cta:focus{
	background-color:#7A9E38 !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	transform:translateY(-2px);
}

/* Tablet — the design has no tablet frame, so the text column keeps the
   desktop scale while subtext and button stack to stop them squeezing. */
@media (max-width:1024px){
	.st-hero{
		--st-header-overlap:128px;
	}
}

@media (max-width:1023px){
	.st-hero__inner{
		min-height:0;
		padding:56px 0;
	}
	.st-hero p.st-hero__title{
		font-size:40px !important;
		line-height:48px !important;
		letter-spacing:-0.4px !important;
	}
	.st-hero__row{
		flex-direction:column;
		gap:24px;
	}
	.st-hero__subtext{
		flex:0 0 auto;
		max-width:450px;
	}
}

@media (max-width:767px){
	.st-hero{
		padding-left:20px;
		padding-right:20px;
	}
	.st-hero__inner{
		padding:32px 0 48px;
	}
	.st-hero__text{
		gap:28px;
	}
	.st-hero__head{
		max-width:none;
	}
	/* the row must span the container, otherwise the full-width button below
	   only fills the width of the longest line of subtext */
	.st-hero__row{
		width:100%;
	}
	.st-hero__eyebrow{
		margin:0 0 8px;
		line-height:18px !important;
	}
	.st-hero p.st-hero__title{
		font-size:38px !important;
		line-height:40px !important;
		letter-spacing:-0.38px !important;
	}
	.st-hero__accent{
		display:inline;
	}
	.st-hero__subtext{
		max-width:none;
		font-size:16px !important;
		line-height:24px !important;
	}
	.st-hero a.st-hero__cta{
		display:flex;
		width:100%;
	}
}

/* --------------------------------------------------------------------------
   Trust bar / stats — Figma 3014:834 (desktop) / 3080:20 (mobile 375)
   -------------------------------------------------------------------------- */
.st-stats{
	background-color:#fff;
	padding:80px clamp(20px,9.7vw,140px) 40px;
}

.st-stats__inner{
	display:flex;
	align-items:stretch;
	justify-content:center;
	max-width:1164px;
	margin:0 auto;
}

.st-stats__item{
	flex:1 1 0;
	min-width:0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:8px;
	padding:5px 15px 5px 24px;
	border-left:1px solid #DCE5DF;
}

.st-stats__value{
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:700 !important;
	line-height:1.15 !important;
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-stats__label{
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:400 !important;
	line-height:16px !important;
	color:#112C3B !important;
	-webkit-text-fill-color:#112C3B !important;
}

@media (max-width:1023px){
	.st-stats{
		padding:56px clamp(20px,5vw,40px) 32px;
	}
	.st-stats__inner{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:28px 16px;
	}
	.st-stats__value{
		font-size:36px !important;
	}
}

@media (max-width:767px){
	.st-stats{
		padding:40px 20px 24px;
	}
	.st-stats__inner{
		gap:20px 12px;
	}
	.st-stats__item{
		padding:0 12px 0 0;
		border-left:0;
	}
	.st-stats__value{
		font-size:32px !important;
		line-height:38px !important;
	}
	.st-stats__label{
		font-size:14px !important;
		line-height:18px !important;
	}
}

/* --------------------------------------------------------------------------
   The problem section — Figma 3073:2 (desktop) / 3083:2 (mobile 375)
   -------------------------------------------------------------------------- */
.st-problem{
	background-color:#fff;
	padding:80px clamp(20px,9.7vw,140px);
}

.st-problem__inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:64px;
	max-width:1164px;
	margin:0 auto;
}

.st-problem__media{
	position:relative;
	flex:0 0 474px;
	width:474px;
	height:625px;
	margin:0;
	border-radius:20px;
	overflow:hidden;
}

.st-problem__photo{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
	object-position:center;
}

.st-problem__shade{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:linear-gradient(to top,#000 0%,rgba(0,0,0,.4) 55.7%,rgba(0,0,0,0) 100%);
	pointer-events:none;
}

.st-problem__quote{
	position:absolute;
	left:33px;
	right:33px;
	bottom:42px;
	display:flex;
	align-items:flex-start;
	gap:8px;
	margin:0;
	padding:32px 37px;
	background-color:#88AE42;
	border:0;
	border-radius:16px;
}

.st-problem__quote-mark{
	flex:0 0 24px;
	font-family:'Ubuntu',sans-serif !important;
	font-size:56px !important;
	font-weight:400 !important;
	line-height:39.2px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-problem__quote-text{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:20px !important;
	font-style:italic !important;
	font-weight:400 !important;
	line-height:24px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-problem__text{
	flex:0 1 626px;
	display:flex;
	flex-direction:column;
	gap:40px;
}

.st-problem__head{
	display:flex;
	flex-direction:column;
	gap:24px;
}

.st-problem__eyebrow{
	display:flex;
	align-items:center;
	gap:11px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	line-height:15px !important;
	letter-spacing:3px !important;
	text-transform:uppercase !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-problem__dot{
	flex:0 0 6px;
	width:6px;
	height:6px;
	border-radius:3px;
	background-color:#658F2F;
}

.st-problem h2.st-problem__title{
	max-width:602px;
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:500 !important;
	line-height:54px !important;
	letter-spacing:-0.44px !important;
	color:#112C3B !important;
	-webkit-text-fill-color:#112C3B !important;
}

.st-problem__accent{
	color:#8DC323 !important;
	-webkit-text-fill-color:#8DC323 !important;
}

.st-problem__paras{
	display:flex;
	flex-direction:column;
	gap:18px;
	max-width:520px;
}

.st-problem__paras p{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-problem__cards{
	display:flex;
	align-items:stretch;
	gap:16px;
}

.st-problem__card{
	flex:1 1 0;
	min-width:0;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:16px;
	min-height:210px;
	padding:20px;
	border:1px solid #E5ECE7;
	border-radius:16px;
}

.st-problem__card--bad{
	background-color:rgba(239,244,241,.08);
}

.st-problem__card--good{
	background-color:rgba(239,244,241,.62);
}

.st-problem__card-head{
	display:flex;
	align-items:center;
	gap:10px;
}

.st-problem__card-head svg{
	flex:0 0 24px;
	display:block;
	width:24px;
	height:24px;
}

.st-problem h3.st-problem__card-title{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:20px !important;
	font-weight:500 !important;
	line-height:28px !important;
	color:#112C3B !important;
	-webkit-text-fill-color:#112C3B !important;
}

.st-problem__card-body{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:14px !important;
	font-weight:300 !important;
	line-height:20px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-problem__card-strong{
	font-weight:400 !important;
}

.st-problem__card-accent{
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

/* Below the desktop breakpoint the photo and the text stack: side by side they
   would squeeze the 626px text column past the point where the heading holds. */
@media (max-width:1023px){
	.st-problem{
		padding:56px clamp(20px,5vw,40px);
	}
	.st-problem__inner{
		flex-direction:column;
		align-items:stretch;
		gap:32px;
	}
	.st-problem__media{
		flex:0 0 auto;
		width:100%;
		height:420px;
	}
	.st-problem__text{
		flex:0 0 auto;
		gap:28px;
	}
	.st-problem h2.st-problem__title{
		max-width:none;
		font-size:36px !important;
		line-height:44px !important;
	}
	.st-problem__paras{
		max-width:none;
	}
}

@media (max-width:767px){
	.st-problem{
		padding:40px 20px;
	}
	.st-problem__inner{
		gap:28px;
	}
	.st-problem__media{
		height:416px;
		border-radius:16px;
	}
	.st-problem__shade{
		background:linear-gradient(to bottom,rgba(19,44,59,0) 35%,rgba(19,44,59,.75) 100%);
	}
	.st-problem__quote{
		left:16px;
		right:16px;
		bottom:16px;
		gap:6px;
		padding:16px 18px;
		border-radius:12px;
	}
	.st-problem__quote-mark{
		flex:0 0 auto;
		font-size:34px !important;
		line-height:28px !important;
	}
	.st-problem__quote-text{
		font-size:14px !important;
		line-height:20px !important;
	}
	.st-problem__head{
		gap:18px;
	}
	.st-problem__eyebrow{
		font-size:10px !important;
		font-weight:400 !important;
		line-height:16px !important;
	}
	.st-problem h2.st-problem__title{
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-problem__paras p{
		font-size:16px !important;
	}
	.st-problem__cards{
		flex-direction:column;
		gap:16px;
	}
	.st-problem__card{
		/* Side by side the cards split the row with flex:1 1 0. Stacked they must
		   go back to being sized by their own text: a zero basis in a column,
		   with the automatic minimum switched off by min-height, collapses the
		   card to its padding and spills the body over the next one. */
		flex:0 0 auto;
		min-height:0;
		gap:8px;
	}
	.st-problem h3.st-problem__card-title{
		font-weight:700 !important;
	}
}

/* --------------------------------------------------------------------------
   Mini CTA banner — Figma 3014:921 (desktop) / 3083:27 (mobile 375)
   -------------------------------------------------------------------------- */
.st-cta{
	display:flex;
	justify-content:center;
	padding:0 60px 80px;
	background-color:#fff;
}

.st-cta__card{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:48px;
	width:100%;
	max-width:812px;
	padding:32px 56px;
	background-color:#F1F6F5;
	border-radius:24px;
}

.st-cta__text{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.st-cta__heading{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:26px !important;
	font-weight:500 !important;
	line-height:28px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-cta__sub{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-cta a.st-cta__btn{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:15px 28px;
	border:0;
	border-radius:8px;
	background-color:#88AE42 !important;
	background-image:none !important;
	box-shadow:none;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:700 !important;
	line-height:24px !important;
	text-align:center;
	text-decoration:none !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	transition:background-color .2s,transform .2s;
}

.st-cta a.st-cta__btn:hover,
.st-cta a.st-cta__btn:focus{
	background-color:#7A9E38 !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	transform:translateY(-2px);
}

@media (max-width:1023px){
	.st-cta{
		padding:0 clamp(20px,5vw,40px) 56px;
	}
	.st-cta__card{
		gap:28px;
		padding:28px 32px;
	}
}

@media (max-width:767px){
	.st-cta{
		padding:0 20px 40px;
	}
	.st-cta__card{
		flex-direction:column;
		align-items:stretch;
		gap:28px;
		padding:24px 20px;
		border-radius:16px;
	}
	.st-cta__text{
		text-align:center;
	}
	.st-cta__heading{
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-cta a.st-cta__btn{
		display:flex;
		width:100%;
	}
}

/* --------------------------------------------------------------------------
   Framework section — Figma 3014:934 (desktop) / 3084:2 (mobile 375)
   -------------------------------------------------------------------------- */
.st-fw{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:56px;
	padding:80px clamp(20px,9.7vw,140px);
	background-color:#F1F6F5;
}

/* One centred paragraph on desktop; the sentences break apart on mobile. */
.st-fw__intro{
	max-width:894px;
	margin:0;
	text-align:center;
	font-family:'Ubuntu',sans-serif !important;
	font-size:32px !important;
	font-weight:400 !important;
	line-height:44px !important;
	letter-spacing:-0.32px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-fw__intro-accent{
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

/* The page H1 (SEO) sits on its own line above the intro and wears the intro's
   type, so the opening still reads as one statement. */
.st-fw__opening{
	max-width:894px;
	text-align:center;
}

.st-fw h1.st-fw__h1{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:32px !important;
	font-weight:400 !important;
	line-height:44px !important;
	letter-spacing:-0.32px !important;
	text-transform:none !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-fw__card{
	width:100%;
	max-width:1164px;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:40px;
	padding:60px 48px;
	background-color:#fff;
	border:1px solid #DCE5DF;
	border-radius:16px;
	box-shadow:0 10px 14px rgba(19,44,59,.04);
}

.st-fw__header{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:48px;
	width:100%;
}

.st-fw__head{
	flex:1 1 0;
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:18px;
}

.st-fw__eyebrow{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	line-height:15px !important;
	letter-spacing:3px !important;
	text-transform:uppercase !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-fw__dot{
	flex:0 0 6px;
	width:6px;
	height:6px;
	border-radius:3px;
	background-color:#658F2F;
}

.st-fw h2.st-fw__title{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:500 !important;
	line-height:54px !important;
	letter-spacing:-0.44px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-fw__accent{
	display:block;
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-fw__desc{
	flex:0 0 568px;
	max-width:568px;
	display:flex;
	flex-direction:column;
	gap:13px;
}

.st-fw__lead{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:500 !important;
	line-height:24px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-fw__arrow{
	flex:0 0 36px;
	width:36px;
	height:24px;
	color:#88AE42;
}

.st-fw__body{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-fw__pillars{
	display:flex;
	gap:16px;
	width:100%;
}

.st-fw__pillar{
	position:relative;
	flex:1 1 0;
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:8px;
	padding:56px 20px 32px;
	background-color:#EFF4F1;
	border:1px solid #F1F6F5;
	border-radius:16px;
}

.st-fw__num{
	position:absolute;
	top:20px;
	right:20px;
	font-family:'Ubuntu',sans-serif !important;
	font-size:32px !important;
	font-weight:700 !important;
	line-height:34px !important;
	color:rgba(136,174,66,.34) !important;
	-webkit-text-fill-color:rgba(136,174,66,.34) !important;
}

.st-fw h3.st-fw__pillar-title{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:20px !important;
	font-weight:500 !important;
	line-height:28px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-fw__pillar-text{
	max-width:230px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:14px !important;
	font-weight:300 !important;
	line-height:18px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-fw a.st-fw__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	padding:15px 24px;
	border:0;
	border-radius:8px;
	background-color:#88AE42 !important;
	background-image:none !important;
	box-shadow:none;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:700 !important;
	line-height:24px !important;
	text-align:center;
	text-decoration:none !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	transition:background-color .2s,transform .2s;
}

.st-fw a.st-fw__btn:hover,
.st-fw a.st-fw__btn:focus{
	background-color:#7A9E38 !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	transform:translateY(-2px);
}

.st-fw__btn svg{
	flex:0 0 17px;
	width:17px;
	height:17px;
	display:block;
}

@media (max-width:1023px){
	.st-fw{
		gap:40px;
		padding:56px clamp(20px,5vw,40px);
	}
	.st-fw__intro,
	.st-fw h1.st-fw__h1{
		font-size:26px !important;
		line-height:36px !important;
	}
	.st-fw__card{
		gap:28px;
		padding:40px 28px;
	}
	.st-fw__header{
		flex-direction:column;
		gap:28px;
	}
	.st-fw__head,
	.st-fw__desc{
		flex:0 0 auto;
		max-width:none;
		width:100%;
	}
	.st-fw h2.st-fw__title{
		font-size:36px !important;
		line-height:44px !important;
	}
	.st-fw__pillars{
		flex-direction:column;
		gap:12px;
	}
	.st-fw__pillar{
		padding:20px 16px;
	}
	.st-fw__num{
		top:10px;
		right:16px;
		font-size:36px !important;
		line-height:36px !important;
		color:rgba(136,174,66,.38) !important;
		-webkit-text-fill-color:rgba(136,174,66,.38) !important;
	}
	.st-fw__pillar-text{
		max-width:none;
	}
}

@media (max-width:767px){
	.st-fw{
		padding:40px 20px;
	}
	.st-fw__opening{
		text-align:left;
	}
	.st-fw__intro,
	.st-fw h1.st-fw__h1{
		text-align:left;
		font-size:20px !important;
		font-weight:500 !important;
		line-height:28px !important;
		letter-spacing:0 !important;
	}
	.st-fw h1.st-fw__h1{
		margin-bottom:28px;
	}
	.st-fw__intro-line{
		display:block;
	}
	.st-fw__intro-line + .st-fw__intro-line{
		margin-top:28px;
	}
	.st-fw__card{
		padding:40px 20px;
	}
	.st-fw__eyebrow{
		gap:11px;
		font-size:10px !important;
		font-weight:400 !important;
		line-height:16px !important;
	}
	.st-fw h2.st-fw__title{
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-fw__lead{
		gap:0 8px;
		font-size:16px !important;
		line-height:22px !important;
	}
	.st-fw__arrow{
		flex:0 0 30px;
		width:30px;
		height:20px;
	}
	.st-fw__body{
		font-size:16px !important;
	}
	.st-fw h3.st-fw__pillar-title{
		font-weight:700 !important;
	}
	.st-fw__pillar-text{
		font-size:14px !important;
		line-height:20px !important;
	}
	.st-fw a.st-fw__btn{
		display:flex;
		width:100%;
	}
}

/* --------------------------------------------------------------------------
   Sectors — Figma 3014:1004 (desktop) / 3084:35 (mobile 375)
   -------------------------------------------------------------------------- */
.st-sectors{
	padding:60px clamp(20px,9.7vw,140px);
	background-color:#fff;
}

.st-sectors__inner{
	display:flex;
	flex-direction:column;
	gap:56px;
	max-width:1164px;
	margin:0 auto;
}

.st-sectors__heading{
	display:flex;
	flex-direction:column;
	gap:18px;
}

.st-sectors__eyebrow{
	display:flex;
	align-items:center;
	gap:11px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	line-height:15px !important;
	letter-spacing:2px !important;
	text-transform:uppercase !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-sectors__dot{
	flex:0 0 6px;
	width:6px;
	height:6px;
	border-radius:3px;
	background-color:#658F2F;
}

.st-sectors__top{
	display:flex;
	align-items:flex-start;
	gap:18px;
}

.st-sectors__head{
	flex:1 1 0;
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:24px;
}

.st-sectors h2.st-sectors__title{
	max-width:543px;
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:500 !important;
	line-height:54px !important;
	letter-spacing:-0.44px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-sectors__desc{
	max-width:520px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#5C6367 !important;
	-webkit-text-fill-color:#5C6367 !important;
}

.st-sectors__media{
	position:relative;
	flex:1 1 0;
	min-width:0;
	height:230px;
	margin:0;
	border-radius:20px;
	overflow:hidden;
}

/* The file is pre-cropped to the wide view the design shows (skyline + benches),
   so cover only ever trims the sides on narrower screens and the framing stays
   the same everywhere. */
.st-sectors__photo{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
	object-position:center;
}

.st-sectors__shade{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#2C3338;
	opacity:.53;
	pointer-events:none;
}

.st-sectors__grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}

.st-sectors__card{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:30px;
	padding:32px 20px;
	background-color:#fff;
	border:1px solid #DADEE3;
	border-radius:16px;
}

.st-sectors__card-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
}

.st-sectors__tags{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0;
	padding:0;
	list-style:none;
}

.st-sectors__tag{
	margin:0;
	padding:4px 10px;
	background-color:#F1F6F5;
	border-radius:9.6px;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:500 !important;
	line-height:16px !important;
	white-space:nowrap;
	color:#71825C !important;
	-webkit-text-fill-color:#71825C !important;
}

.st-sectors__icon{
	flex:0 0 48px;
	width:48px;
	height:48px;
	object-fit:contain;
}

.st-sectors__card-body{
	display:flex;
	flex-direction:column;
	gap:12px;
}

.st-sectors h3.st-sectors__card-title{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:20px !important;
	font-weight:700 !important;
	line-height:28px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-sectors__card-text{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

@media (max-width:1023px){
	.st-sectors{
		padding:56px clamp(20px,5vw,40px);
	}
	.st-sectors__inner{
		gap:40px;
	}
	.st-sectors__top{
		flex-direction:column;
		gap:28px;
	}
	.st-sectors__head,
	.st-sectors__media{
		flex:0 0 auto;
		width:100%;
	}
	.st-sectors h2.st-sectors__title,
	.st-sectors__desc{
		max-width:none;
	}
	.st-sectors h2.st-sectors__title{
		font-size:36px !important;
		line-height:44px !important;
	}
	.st-sectors__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:767px){
	.st-sectors{
		padding:40px 20px;
	}
	.st-sectors__eyebrow{
		font-size:10px !important;
		font-weight:400 !important;
		line-height:16px !important;
		letter-spacing:3px !important;
	}
	.st-sectors h2.st-sectors__title{
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-sectors__desc{
		font-size:16px !important;
	}
	.st-sectors__media{
		height:188px;
		border-radius:16px;
	}
	.st-sectors__grid{
		grid-template-columns:minmax(0,1fr);
	}
	.st-sectors__card{
		gap:24px;
		padding:20px 16px;
	}
	.st-sectors__icon{
		flex:0 0 36px;
		width:36px;
		height:36px;
	}
	.st-sectors__card-text{
		line-height:22px !important;
	}
}

/* --------------------------------------------------------------------------
   Outcome guarantee banner — Figma 3014:1209 (desktop) / 3084:112 (mobile 375)
   -------------------------------------------------------------------------- */
.st-guarantee{
	padding:0 clamp(20px,9.7vw,140px) 80px;
	background-color:#fff;
}

.st-guarantee__card{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	max-width:1164px;
	margin:0 auto;
	padding:40px 60px;
	background-color:#2C3338;
	border-radius:20px;
}

.st-guarantee__text{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.st-guarantee h2.st-guarantee__title{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:500 !important;
	line-height:54px !important;
	letter-spacing:-0.44px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-guarantee__sub{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:400 !important;
	line-height:24px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-guarantee__link{
	display:flex;
	align-items:center;
	gap:7px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:400 !important;
	line-height:18px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-guarantee__link a{
	font-weight:500 !important;
	text-decoration:underline !important;
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-guarantee__link svg{
	flex:0 0 17px;
	display:block;
	width:17px;
	height:17px;
}

.st-guarantee__box{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	gap:24px;
	padding:20px 42px;
	background-color:#88AE42;
	border-radius:16px;
	color:#fff;
}

.st-guarantee__shield{
	flex:0 0 57px;
	display:block;
	width:57px;
	height:71px;
}

.st-guarantee__box-text{
	max-width:289px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:24px !important;
	font-weight:400 !important;
	line-height:32px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

@media (max-width:1023px){
	.st-guarantee{
		padding:0 clamp(20px,5vw,40px) 56px;
	}
	.st-guarantee__card{
		flex-direction:column;
		align-items:stretch;
		gap:32px;
		padding:32px;
	}
	.st-guarantee h2.st-guarantee__title{
		font-size:36px !important;
		line-height:44px !important;
	}
	.st-guarantee__box{
		padding:20px;
	}
	.st-guarantee__box-text{
		max-width:none;
	}
}

@media (max-width:767px){
	.st-guarantee{
		padding:0 20px 40px;
	}
	.st-guarantee__card{
		gap:60px;
		padding:24px 20px;
		border-radius:16px;
	}
	.st-guarantee h2.st-guarantee__title{
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-guarantee__sub{
		max-width:225px;
		font-size:14px !important;
		line-height:22px !important;
	}
	.st-guarantee__link{
		gap:8px;
		font-size:14px !important;
		line-height:22px !important;
	}
	.st-guarantee__box{
		gap:16px;
	}
	.st-guarantee__box-text{
		font-size:18px !important;
		line-height:24px !important;
	}
}

/* --------------------------------------------------------------------------
   Testimonials — Figma 3014:1240 (desktop) / 3085:2 (mobile 375)
   -------------------------------------------------------------------------- */
.st-tst{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:56px;
	padding:80px clamp(20px,9.7vw,140px) 40px;
	background-color:#EFF4F1;
}

.st-tst__head{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:16px;
	width:100%;
	max-width:1164px;
}

.st-tst__eyebrow{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:11px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	line-height:15px !important;
	letter-spacing:2px !important;
	text-transform:uppercase !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

/* the number is the desktop marker, the dot is the mobile one */
.st-tst__dot{
	display:none;
	flex:0 0 6px;
	width:6px;
	height:6px;
	border-radius:3px;
	background-color:#658F2F;
}

.st-tst h2.st-tst__title{
	margin:0;
	padding:0;
	text-align:center;
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:500 !important;
	line-height:54px !important;
	letter-spacing:-0.44px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-tst__accent{
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-tst__desc{
	max-width:640px;
	margin:0;
	text-align:center;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#66747A !important;
	-webkit-text-fill-color:#66747A !important;
}

.st-tst__carousel{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:24px;
	width:100%;
}

.st-tst__slides{
	display:flex;
	justify-content:center;
	width:100%;
}

.st-tst__slide{
	display:none;
	align-items:flex-start;
	gap:10px;
	max-width:808px;
	margin:0;
	padding:48px 56px;
	background-color:#fff;
	border:1px solid #DCE5DF;
	border-left:1px solid #DCE5DF;
	border-radius:16px;
}

.st-tst__slide.is-active{
	display:flex;
}

.st-tst__mark{
	flex:0 0 32px;
	display:block;
	width:32px;
	height:24px;
	color:#88AE42;
}

.st-tst__body{
	display:flex;
	flex-direction:column;
	gap:40px;
}

.st-tst__text{
	max-width:652px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:24px !important;
	font-style:italic !important;
	font-weight:300 !important;
	line-height:32px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-tst__meta{
	display:flex;
	align-items:stretch;
	gap:8px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:14px !important;
	line-height:16px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-tst__bar{
	flex:0 0 2px;
	width:2px;
	min-height:16px;
	background-color:#88AE42;
}

.st-tst__role{
	font-weight:300 !important;
}

.st-tst__org{
	font-weight:400 !important;
	text-transform:uppercase !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-tst__dots{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:6px;
}

.st-tst button.st-tst__dot-btn{
	width:8px;
	height:8px;
	min-width:0;
	min-height:0;
	padding:0;
	margin:0;
	border:0;
	border-radius:9999px;
	background-color:#D6DFC7 !important;
	background-image:none !important;
	box-shadow:none;
	cursor:pointer;
	transition:width .2s,background-color .2s;
}

.st-tst button.st-tst__dot-btn.is-active{
	width:24px;
	background-color:#658F2F !important;
}

@media (max-width:1023px){
	.st-tst{
		gap:40px;
		padding:56px clamp(20px,5vw,40px) 32px;
	}
	.st-tst h2.st-tst__title{
		font-size:36px !important;
		line-height:44px !important;
	}
	.st-tst__slide{
		padding:32px;
	}
	.st-tst__text{
		font-size:20px !important;
		line-height:28px !important;
	}
	.st-tst__body{
		gap:28px;
	}
}

@media (max-width:767px){
	.st-tst{
		gap:28px;
		padding:40px 20px 24px;
	}
	.st-tst__head{
		gap:28px;
	}
	.st-tst__num{
		display:none;
	}
	.st-tst__dot{
		display:block;
	}
	.st-tst__eyebrow{
		font-size:10px !important;
		font-weight:400 !important;
		line-height:16px !important;
		letter-spacing:3px !important;
	}
	.st-tst h2.st-tst__title{
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-tst__desc{
		font-size:16px !important;
	}
	.st-tst__slide{
		gap:8px;
		width:100%;
		padding:24px 20px;
		border-radius:12px;
	}
	.st-tst__mark{
		flex:0 0 20px;
		width:20px;
		height:15px;
	}
	.st-tst__body{
		gap:20px;
	}
	.st-tst__text{
		font-size:17px !important;
		line-height:26px !important;
	}
	.st-tst__meta{
		font-size:12px !important;
		line-height:18px !important;
	}
}

/* --------------------------------------------------------------------------
   Google reviews — Figma 3014:1330 (desktop) / 3085:21 (mobile 375)
   -------------------------------------------------------------------------- */
.st-rev{
	display:flex;
	align-items:flex-start;
	justify-content:center;
	gap:40px;
	padding:80px clamp(20px,9.7vw,140px);
	background-color:#EFF4F1;
}

.st-rev__media{
	flex:0 0 524px;
	width:524px;
	height:658px;
	margin:0;
	border-radius:20px;
	overflow:hidden;
}

.st-rev__photo{
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
	object-position:center;
}

.st-rev__content{
	flex:1 1 0;
	min-width:0;
	max-width:600px;
	display:flex;
	flex-direction:column;
	gap:40px;
}

.st-rev__head{
	display:flex;
	flex-direction:column;
	gap:24px;
}

.st-rev__rating{
	display:flex;
	align-items:center;
	gap:13px;
	margin:0;
}

.st-rev__score{
	font-family:'Ubuntu',sans-serif !important;
	font-size:38px !important;
	font-weight:500 !important;
	line-height:57px !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-rev__rating-side{
	display:flex;
	flex-direction:column;
}

.st-rev__stars{
	font-family:'Ubuntu',sans-serif !important;
	font-size:14px !important;
	line-height:21px !important;
	letter-spacing:2px !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-rev__count{
	font-family:'Ubuntu',sans-serif !important;
	font-size:10px !important;
	line-height:15px !important;
	color:#66747A !important;
	-webkit-text-fill-color:#66747A !important;
}

.st-rev h2.st-rev__title{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:500 !important;
	line-height:54px !important;
	letter-spacing:-0.44px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-rev__accent{
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-rev__desc{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-rev__grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:16px;
}

.st-rev__card{
	display:flex;
	flex-direction:column;
	gap:21px;
	align-self:start;
	min-height:205px;
	padding:19px 19px 36px;
	background-color:#fff;
	border:1px solid #DCE5DF;
	border-radius:16px;
}

.st-rev__card-head{
	display:flex;
	align-items:center;
	gap:9px;
}

.st-rev__avatar{
	flex:0 0 30px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	border-radius:50%;
	background-color:#D9E8C8;
	font-family:'Ubuntu',sans-serif !important;
	font-size:10px !important;
	font-weight:700 !important;
	line-height:15px !important;
	color:#112C3B !important;
	-webkit-text-fill-color:#112C3B !important;
}

.st-rev__who{
	display:flex;
	flex-direction:column;
	gap:2px;
	min-width:0;
}

.st-rev__name{
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:500 !important;
	line-height:18px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-rev__meta{
	font-family:'Ubuntu',sans-serif !important;
	font-size:9px !important;
	font-weight:400 !important;
	line-height:13.5px !important;
	color:#66747A !important;
	-webkit-text-fill-color:#66747A !important;
}

.st-rev__stars-sm{
	letter-spacing:2px !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-rev__g{
	margin-left:auto;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:700 !important;
	line-height:27px !important;
	color:#4285F4 !important;
	-webkit-text-fill-color:#4285F4 !important;
}

.st-rev__text{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:400 !important;
	line-height:18.24px !important;
	color:#66747A !important;
	-webkit-text-fill-color:#66747A !important;
}

@media (max-width:1023px){
	.st-rev{
		flex-direction:column;
		align-items:stretch;
		gap:32px;
		padding:56px clamp(20px,5vw,40px);
	}
	.st-rev__media{
		flex:0 0 auto;
		width:100%;
		height:360px;
	}
	.st-rev__content{
		max-width:none;
		gap:28px;
	}
	.st-rev h2.st-rev__title{
		font-size:36px !important;
		line-height:44px !important;
	}
}

@media (max-width:767px){
	.st-rev{
		gap:28px;
		padding:40px 20px;
	}
	.st-rev__media{
		height:251px;
		border-radius:16px;
	}
	.st-rev__score{
		font-size:38px !important;
		line-height:44px !important;
	}
	.st-rev__count{
		font-size:12px !important;
		line-height:16px !important;
	}
	.st-rev h2.st-rev__title{
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-rev__desc{
		font-size:16px !important;
	}
	.st-rev__grid{
		grid-template-columns:minmax(0,1fr);
	}
	.st-rev__card{
		gap:16px;
		min-height:0;
		padding:16px;
	}
	.st-rev__avatar{
		flex:0 0 34px;
		width:34px;
		height:34px;
		font-size:12px !important;
		line-height:16px !important;
	}
	.st-rev__name{
		font-size:14px !important;
		line-height:20px !important;
	}
	.st-rev__meta{
		font-size:10px !important;
		line-height:16px !important;
	}
	.st-rev__text{
		font-size:14px !important;
		line-height:21px !important;
	}
}

/* --------------------------------------------------------------------------
   Who Root.12 is not for — Figma 3014:1414 (desktop) / 3086:2 (mobile 375)
   The eyebrow marker is one element: a 26x1 dash on desktop, a 6px dot on 375.
   -------------------------------------------------------------------------- */
.st-nf{
	padding:80px clamp(20px,9.7vw,140px);
	background-color:#fff;
}

.st-nf__inner{
	display:flex;
	flex-direction:column;
	gap:18px;
	max-width:1164px;
	margin:0 auto;
}

.st-nf__eyebrow{
	display:flex;
	align-items:center;
	gap:11px;
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	line-height:15px !important;
	letter-spacing:2px !important;
	text-transform:uppercase !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-nf__dash{
	flex:0 0 26px;
	width:26px;
	height:1px;
	background-color:#658F2F;
}

.st-nf__cols{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:40px;
}

.st-nf__left{
	flex:0 1 483px;
	max-width:483px;
	display:flex;
	flex-direction:column;
	gap:16px;
}

.st-nf h2.st-nf__title{
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:44px !important;
	font-weight:500 !important;
	line-height:54px !important;
	letter-spacing:-0.44px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-nf__accent{
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-nf__sub{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

/* The left column stacks at 24px, the heading block inside it at 16px — this is
   one flex column, so the extra 8px is a margin instead of a second wrapper. */
.st-nf__note{
	display:flex;
	flex-direction:column;
	gap:11px;
	margin-top:8px;
	padding:14px 24px;
	border-radius:8px;
	background-color:#EFF4F1;
}

.st-nf__note-row{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:14px !important;
	font-weight:300 !important;
	line-height:15px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-nf__note-strong{
	font-weight:500 !important;
}

.st-nf ul.st-nf__list{
	flex:0 1 509px;
	max-width:509px;
	margin:0;
	padding:0;
	list-style:none;
}

.st-nf li.st-nf__item{
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin:0;
	padding:15px 0;
	border-bottom:1px solid #DCE5DF;
	list-style:none;
}

.st-nf__x{
	flex:0 0 18px;
	display:block;
	width:18px;
	height:18px;
	margin-top:2px;
}

.st-nf__item-text{
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:500 !important;
	line-height:22px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

@media (max-width:1023px){
	.st-nf{
		padding:56px clamp(20px,5vw,40px);
	}
	.st-nf__cols{
		flex-direction:column;
		gap:28px;
	}
	.st-nf__left,
	.st-nf ul.st-nf__list{
		flex:1 1 auto;
		max-width:none;
		width:100%;
	}
	.st-nf h2.st-nf__title{
		font-size:36px !important;
		line-height:44px !important;
	}
}

@media (max-width:767px){
	.st-nf{
		padding:40px 20px;
	}
	.st-nf__eyebrow{
		font-size:10px !important;
		font-weight:400 !important;
		line-height:16px !important;
		letter-spacing:3px !important;
	}
	.st-nf__dash{
		flex:0 0 6px;
		width:6px;
		height:6px;
		border-radius:3px;
	}
	.st-nf__left{
		gap:18px;
	}
	.st-nf h2.st-nf__title{
		/* The mobile frame holds the heading to a 222px measure so it breaks
		   after "Root.12" instead of leaving "for" alone on the second line. */
		max-width:222px;
		margin-bottom:10px;
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-nf__note{
		margin-top:0;
		padding:16px;
	}
	.st-nf__note-row{
		line-height:20px !important;
	}
	.st-nf li.st-nf__item{
		gap:10px;
		padding:14px 0;
	}
	.st-nf__x{
		margin-top:1px;
	}
	/* 375 drops the tinted square behind the cross and keeps the bare mark. */
	.st-nf__x rect{
		fill:transparent;
	}
}

/* --------------------------------------------------------------------------
   Final CTA — Figma 3014:1454 (desktop) / 3086:31 (mobile 375)
   The phone number is Plus Jakarta SemiBold in the file; the page only loads
   Ubuntu, so it renders in Ubuntu Medium like every other number on the page.
   -------------------------------------------------------------------------- */
.st-fcta{
	padding:20px clamp(20px,9.7vw,140px) 80px;
	background-color:#fff;
}

.st-fcta__card{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:40px;
	max-width:1164px;
	margin:0 auto;
	padding:40px 56px;
	background-color:#2C3338;
	border-radius:24px;
}

.st-fcta__left{
	flex:0 1 572px;
	max-width:572px;
	display:flex;
	flex-direction:column;
	gap:32px;
}

.st-fcta h2.st-fcta__title{
	margin:10px 0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:56px !important;
	font-weight:500 !important;
	line-height:58px !important;
	letter-spacing:-0.56px !important;
	color:#F6F9FC !important;
	-webkit-text-fill-color:#F6F9FC !important;
}

.st-fcta__lead{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:400 !important;
	line-height:24px !important;
	color:rgba(246,249,252,.7) !important;
	-webkit-text-fill-color:rgba(246,249,252,.7) !important;
}

.st-fcta__lead-strong{
	font-weight:700 !important;
	color:#F6F9FC !important;
	-webkit-text-fill-color:#F6F9FC !important;
}

.st-fcta__actions{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:24px;
}

.st-fcta__row{
	display:flex;
	flex-wrap:wrap;
	align-items:stretch;
	gap:16px;
}

.st-fcta a.st-fcta__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	padding:16px 20px;
	border:0;
	border-radius:8px;
	background-color:#88AE42 !important;
	background-image:none !important;
	box-shadow:none;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:700 !important;
	line-height:18px !important;
	text-align:center;
	text-decoration:none !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	transition:background-color .2s,transform .2s;
}

.st-fcta a.st-fcta__btn:hover,
.st-fcta a.st-fcta__btn:focus{
	background-color:#7A9E38 !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	transform:translateY(-2px);
}

.st-fcta__btn-arrow{
	flex:0 0 20px;
	display:block;
	width:20px;
	height:20px;
}

.st-fcta a.st-fcta__alt{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:14px 16px;
	border:1px solid rgba(255,255,255,.15);
	border-radius:8px;
	background-color:transparent !important;
	background-image:none !important;
	box-shadow:none;
	font-family:'Ubuntu',sans-serif !important;
	font-size:14px !important;
	font-weight:300 !important;
	line-height:24px !important;
	text-decoration:none !important;
	color:#F6F9FC !important;
	-webkit-text-fill-color:#F6F9FC !important;
	transition:border-color .2s,background-color .2s;
}

.st-fcta a.st-fcta__alt:hover,
.st-fcta a.st-fcta__alt:focus{
	border-color:rgba(255,255,255,.4);
	background-color:rgba(255,255,255,.06) !important;
	color:#F6F9FC !important;
	-webkit-text-fill-color:#F6F9FC !important;
}

.st-fcta__alt-icon{
	flex:0 0 20px;
	display:block;
	width:20px;
	height:20px;
}

.st-fcta a.st-fcta__video{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:'Ubuntu',sans-serif !important;
	font-size:14px !important;
	font-weight:400 !important;
	line-height:20px !important;
	text-decoration:none !important;
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-fcta a.st-fcta__video:hover,
.st-fcta a.st-fcta__video:focus{
	text-decoration:underline !important;
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-fcta__video-icon{
	flex:0 0 16px;
	display:block;
	width:16px;
	height:16px;
}

.st-fcta__contact{
	flex:0 0 374px;
	align-self:stretch;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:24px;
	padding:43px 28px;
	border:1px solid rgba(255,255,255,.1);
	border-radius:22px;
	background-color:rgba(255,255,255,.04);
}

.st-fcta__contact-top{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.st-fcta__contact-title{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	line-height:20px !important;
	letter-spacing:2px !important;
	text-transform:uppercase !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-fcta a.st-fcta__link{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px 0;
	text-decoration:none !important;
	color:#F6F9FC !important;
	-webkit-text-fill-color:#F6F9FC !important;
}

.st-fcta a.st-fcta__link:hover,
.st-fcta a.st-fcta__link:focus{
	color:#88AE42 !important;
	-webkit-text-fill-color:#88AE42 !important;
}

.st-fcta__link-icon{
	flex:0 0 20px;
	display:block;
	width:20px;
	height:20px;
	color:#88AE42;
}

.st-fcta__phone-text{
	font-family:'Ubuntu',sans-serif !important;
	font-size:20px !important;
	font-weight:500 !important;
	line-height:24px !important;
}

.st-fcta__email-text{
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:700 !important;
	line-height:24px !important;
	word-break:break-word;
}

.st-fcta__contact-bottom{
	display:flex;
	flex-direction:column;
	gap:24px;
}

.st-fcta__note{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:12px !important;
	font-weight:300 !important;
	line-height:18px !important;
	color:rgba(246,249,252,.69) !important;
	-webkit-text-fill-color:rgba(246,249,252,.69) !important;
}

.st-fcta a.st-fcta__btn--wide{
	align-self:flex-start;
}

/* The design lets the heading run 65px past its column into the gap before the
   contact card — that is what keeps it on two lines. The gap only gets that wide
   from ~1393px up (card content 0.806*vw - 112, minus the 572+374 columns), so
   below 1400 the heading stays inside its column and takes a third line. */
@media (min-width:1400px){
	.st-fcta h2.st-fcta__title{
		width:637px;
		max-width:none;
	}
}

@media (max-width:1023px){
	.st-fcta{
		padding:0 clamp(20px,5vw,40px) 56px;
	}
	.st-fcta__card{
		flex-direction:column;
		align-items:stretch;
		gap:40px;
		padding:32px;
	}
	.st-fcta__left{
		flex:1 1 auto;
		max-width:none;
	}
	.st-fcta h2.st-fcta__title{
		font-size:40px !important;
		line-height:46px !important;
	}
	.st-fcta__contact{
		flex:1 1 auto;
		padding:32px 24px;
	}
}

@media (max-width:767px){
	.st-fcta{
		padding:0 20px 40px;
	}
	.st-fcta__card{
		gap:48px;
		padding:24px 20px;
		border-radius:16px;
	}
	.st-fcta__left{
		gap:28px;
	}
	.st-fcta h2.st-fcta__title{
		margin:0;
		font-size:36px !important;
		line-height:40px !important;
		letter-spacing:-0.36px !important;
	}
	.st-fcta__lead{
		font-size:14px !important;
		font-weight:300 !important;
		line-height:22px !important;
	}
	.st-fcta__actions{
		align-items:center;
		gap:12px;
		width:100%;
	}
	.st-fcta__row{
		flex-direction:column;
		gap:12px;
		width:100%;
	}
	.st-fcta a.st-fcta__btn,
	.st-fcta a.st-fcta__alt{
		width:100%;
	}
	/* 375 shows the two secondary actions without their icons, and the video
	   link picks up the same arrow the primary button carries. */
	.st-fcta__alt-icon,
	.st-fcta__video-icon,
	.st-fcta__link-icon{
		display:none;
	}
	.st-fcta a.st-fcta__video::after{
		content:"\2192";
	}
	.st-fcta__contact{
		padding:24px 20px;
		border-radius:16px;
	}
	.st-fcta__contact-title{
		text-transform:none !important;
	}
	.st-fcta a.st-fcta__link{
		gap:0;
		padding:0;
	}
	.st-fcta__phone-text{
		font-size:18px !important;
	}
	.st-fcta__email-text{
		font-size:15px !important;
	}
	.st-fcta__contact-bottom{
		gap:16px;
	}
	.st-fcta a.st-fcta__btn--wide{
		align-self:stretch;
	}
}

/* "Talk to our team" popup — native <dialog>, so Esc, focus trapping and the
   backdrop come from the browser. The HubSpot form inside is the /contact-us/
   embed and is left to HubSpot and the Elementor kit to style, exactly as it
   looks on that page. */
.st-fcta dialog.st-fcta__dialog{
	position:fixed;
	inset:0;
	width:min(520px,calc(100vw - 40px));
	max-height:calc(100dvh - 40px);
	margin:auto;
	padding:36px 32px 32px;
	border:0;
	border-radius:20px;
	background-color:#fff;
	box-shadow:0 24px 60px rgba(19,44,59,.35);
	overflow:auto;
}

.st-fcta dialog.st-fcta__dialog::backdrop{
	background-color:rgba(19,44,59,.6);
}

.st-fcta button.st-fcta__dialog-close{
	position:absolute;
	top:14px;
	right:14px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	min-width:0;
	min-height:0;
	padding:0;
	margin:0;
	border:0;
	border-radius:10px;
	background:transparent !important;
	background-image:none !important;
	box-shadow:none;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
	cursor:pointer;
	transition:background-color .2s,color .2s;
}

.st-fcta button.st-fcta__dialog-close::before,
.st-fcta button.st-fcta__dialog-close::after{
	content:none;
}

.st-fcta button.st-fcta__dialog-close:hover,
.st-fcta button.st-fcta__dialog-close:focus{
	background-color:#EFF4F1 !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-fcta__dialog-title{
	margin:0;
	padding-right:36px;
	font-family:'Ubuntu',sans-serif !important;
	font-size:28px !important;
	font-weight:500 !important;
	line-height:34px !important;
	letter-spacing:-0.28px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-fcta__dialog-text{
	margin:8px 0 0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:300 !important;
	line-height:24px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-fcta__dialog-form{
	margin-top:20px;
}

@media (max-width:767px){
	.st-fcta dialog.st-fcta__dialog{
		width:calc(100vw - 24px);
		max-height:calc(100dvh - 24px);
		padding:32px 20px 24px;
		border-radius:16px;
	}
	.st-fcta__dialog-title{
		font-size:24px !important;
		line-height:30px !important;
	}
}

/* --------------------------------------------------------------------------
   FAQ over the London map — Figma 3014:1413 / 3085:69 (both are screenshots).
   Numbers taken from the old Elementor block on page 7: container 26c99517
   (bg #A6A6A6 + London-Map.png, charcoal overlay at 87%, 5em/7em padding),
   heading container fc016f2 capped at 780px, and the ElementsKit accordion
   5cdd9e8e (radius 15, 7px between cards, #F1F6F5 closed / #8DC332 open,
   body #FAFEFE, title Ubuntu 16/1.5/500, body Ubuntu 17/1.4/300).
   The "See all FAQs" button reuses the class that already lives in style.css,
   so nothing is duplicated here. All questions show at once in two columns
   (client, 2026-09-16); the old "show more" chevron is gone.
   -------------------------------------------------------------------------- */
.st-faq{
	position:relative;
	display:block;
	padding:80px 0 112px;
	background-color:#A6A6A6;
	overflow:hidden;
}

.st-faq__bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	max-width:none;
	margin:0;
	padding:0;
	border:0;
	object-fit:cover;
	object-position:center center;
	pointer-events:none;
	z-index:0;
}

/* Charcoal #545454 at 87% — the overlay the Elementor container carried. */
.st-faq__overlay{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#545454;
	opacity:.87;
	pointer-events:none;
	z-index:1;
}

.st-faq__inner{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	gap:20px;
	max-width:1320px;
	margin:0 auto;
	padding:0 20px;
}

.st-faq__head{
	max-width:780px;
	margin:0 auto;
	padding:16px;
	text-align:center;
}

.st-faq h2.st-faq__title{
	margin:0 0 20px;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:39px !important;
	font-weight:700 !important;
	line-height:1.2em !important;
	letter-spacing:-0.5px !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-faq__desc{
	margin:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:18px !important;
	font-weight:300 !important;
	line-height:1.4em !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-faq__body{
	width:100%;
}

/* Two independent columns rather than a grid: opening an answer only pushes
   down the questions under it, not the ones in the other column. */
.st-faq__list{
	display:flex;
	align-items:flex-start;
	gap:20px;
	width:100%;
}

.st-faq__col{
	flex:1 1 0;
	min-width:0;
}

.st-faq details.st-faq__item{
	margin:0 0 7px;
	border:0;
	border-radius:15px;
}

.st-faq details.st-faq__item:last-child{
	margin-bottom:0;
}

.st-faq summary.st-faq__q{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:21px;
	padding:21px;
	border-radius:15px;
	background-color:#F1F6F5;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:500 !important;
	line-height:1.5em !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
	cursor:pointer;
	list-style:none;
	transition:background-color .2s,color .2s;
}

.st-faq summary.st-faq__q::-webkit-details-marker{
	display:none;
}

/* The question is an H2 (site-wide FAQ standard); the Elementor kit and Hello
   style bare h2 hard, so it takes everything from the summary instead. */
.st-faq h2.st-faq__q-text{
	flex:1 1 auto;
	min-width:0;
	margin:0;
	padding:0;
	font:inherit !important;
	letter-spacing:inherit !important;
	text-transform:none !important;
	color:inherit !important;
	-webkit-text-fill-color:inherit !important;
}

.st-faq__chevron{
	flex:0 0 16px;
	display:block;
	width:16px;
	height:16px;
	transition:transform .25s ease;
}

.st-faq details[open] > summary.st-faq__q{
	border-radius:15px 15px 0 0;
	background-color:#8DC332;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}

.st-faq details[open] > summary.st-faq__q .st-faq__chevron{
	transform:rotate(180deg);
}

.st-faq__a{
	padding:21px 21px 21px 42px;
	border-radius:0 0 15px 15px;
	background-color:#FAFEFE;
	font-family:'Ubuntu',sans-serif !important;
	font-size:17px !important;
	font-weight:300 !important;
	line-height:1.4em !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-faq__a p{
	margin:0 0 1em;
	font:inherit !important;
	color:inherit !important;
	-webkit-text-fill-color:inherit !important;
}

.st-faq__a p:last-child{
	margin-bottom:0;
}

.st-faq__a a{
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
	text-decoration:underline !important;
}

.st-faq__a a:hover,
.st-faq__a a:focus{
	color:#8DC332 !important;
	-webkit-text-fill-color:#8DC332 !important;
}

@media (max-width:1024px){
	.st-faq{
		padding:16px 0 48px;
	}
	.st-faq__inner{
		gap:0;
	}
	/* one column: the zero basis of the desktop columns has to go, or the
	   stacked columns collapse (see GOTCHAS, flex:1 1 0 in a column) */
	.st-faq__list{
		flex-direction:column;
		gap:7px;
	}
	.st-faq__col{
		flex:0 0 auto;
		width:100%;
	}
	.st-faq h2.st-faq__title{
		font-size:31px !important;
	}
	.st-faq summary.st-faq__q{
		font-size:15px !important;
	}
}

@media (max-width:767px){
	.st-faq{
		padding:0 0 32px;
	}
	.st-faq h2.st-faq__title{
		font-size:24px !important;
	}
	.st-faq summary.st-faq__q{
		gap:16px;
		padding:16px;
		font-size:14px !important;
	}
	.st-faq__chevron{
		flex:0 0 14px;
		width:14px;
		height:14px;
	}
	.st-faq__a{
		padding:16px 16px 16px 36px;
	}
}

/* --------------------------------------------------------------------------
   SEO text at the very bottom — no Figma frame (SEO team, 2026-09-16).
   Plain long-form copy in the page's type and colours. The text column is held
   to a reading width but keeps the same left edge as every block above it.
   -------------------------------------------------------------------------- */
.st-seo{
	padding:0 clamp(20px,9.7vw,140px) 80px;
	background-color:#fff;
}

.st-seo__inner{
	max-width:1164px;
	margin:0 auto;
}

.st-seo h2.st-seo__title{
	max-width:880px;
	margin:0 0 16px;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:32px !important;
	font-weight:500 !important;
	line-height:40px !important;
	letter-spacing:-0.32px !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-seo__text{
	max-width:880px;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:300 !important;
	line-height:26px !important;
	color:#545454 !important;
	-webkit-text-fill-color:#545454 !important;
}

.st-seo__text p,
.st-seo__text li{
	font:inherit !important;
	color:inherit !important;
	-webkit-text-fill-color:inherit !important;
}

.st-seo__text p{
	margin:0 0 16px;
}

.st-seo__text > :last-child{
	margin-bottom:0;
}

.st-seo__text h3{
	margin:32px 0 12px;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:22px !important;
	font-weight:500 !important;
	line-height:30px !important;
	letter-spacing:0 !important;
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-seo__text ul{
	margin:0 0 16px;
	padding:0 0 0 22px;
	list-style:disc;
}

.st-seo__text li{
	margin:0 0 6px;
	list-style:disc;
}

.st-seo__text li::marker{
	color:#88AE42;
}

.st-seo__text a{
	font-weight:400 !important;
	text-decoration:underline !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
}

.st-seo__text a:hover,
.st-seo__text a:focus{
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-seo__more{
	margin-top:16px;
}

.st-seo summary.st-seo__toggle{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin:0;
	padding:0;
	font-family:'Ubuntu',sans-serif !important;
	font-size:16px !important;
	font-weight:500 !important;
	line-height:24px !important;
	color:#658F2F !important;
	-webkit-text-fill-color:#658F2F !important;
	cursor:pointer;
	list-style:none;
}

.st-seo summary.st-seo__toggle::-webkit-details-marker{
	display:none;
}

.st-seo summary.st-seo__toggle:hover,
.st-seo summary.st-seo__toggle:focus-visible{
	color:#132C3B !important;
	-webkit-text-fill-color:#132C3B !important;
}

.st-seo__toggle svg{
	flex:0 0 16px;
	display:block;
	width:16px;
	height:16px;
	transition:transform .25s ease;
}

.st-seo__toggle-close,
.st-seo__more[open] .st-seo__toggle-open{
	display:none;
}

.st-seo__more[open] .st-seo__toggle-close{
	display:inline;
}

.st-seo__more[open] .st-seo__toggle svg{
	transform:rotate(180deg);
}

/* The toggle stays where it was clicked; the opened text follows under it. */
.st-seo__more[open] > .st-seo__text{
	margin-top:16px;
}

@media (max-width:1023px){
	.st-seo{
		padding:0 clamp(20px,5vw,40px) 56px;
	}
}

@media (max-width:767px){
	.st-seo{
		padding:0 20px 40px;
	}
	.st-seo h2.st-seo__title{
		font-size:26px !important;
		line-height:32px !important;
		letter-spacing:-0.26px !important;
	}
	.st-seo__text h3{
		margin-top:28px;
		font-size:20px !important;
		line-height:28px !important;
	}
}
