/* slo-phase-card */
/* slo-phase-card widget: glass card with an animated phase timeline. */

.slo-phase-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	padding: 20px 24px 14px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 22px;
	background: rgba(10, 31, 22, .38);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
	box-shadow: 0 24px 60px -28px rgba(0, 0, 0, .6);
	color: #FFFFFF;
	font-family: var(--font-sans);
}

.slo-phase-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.slo-phase-card__label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.slo-phase-card__label::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 3px;
	background: var(--saffron);
}

.slo-phase-card__meta {
	color: rgba(255, 255, 255, .6);
}

.slo-phase-card__body {
	position: relative;
}

.slo-phase-card__track {
	position: absolute;
	left: 5px;
	top: 23px;
	bottom: 45px;
	width: 2px;
	border-radius: 1px;
	background: rgba(255, 255, 255, .2);
}

.slo-phase-card__fill {
	display: block;
	width: 2px;
	height: 100%;
	border-radius: 1px;
	background: linear-gradient(180deg, #FFFFFF, var(--canopy) 35%, var(--lagoon) 65%, var(--saffron));
	animation: slo-phase-fill 6s cubic-bezier(.65, 0, .35, 1) 3 forwards;
}

.slo-phase-card__steps {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.slo-phase-card__step {
	display: grid;
	grid-template-columns: 12px 22px 1fr;
	align-items: center;
	column-gap: 12px;
	row-gap: 3px;
	margin: 0 -12px;
	padding: 12px;
	border-radius: 14px;
	animation: slo-phase-step 6s ease-in-out calc(var(--i, 0) * 1.3s) 3 both;
}

.slo-phase-card__mark {
	position: relative;
	z-index: 1;
	width: 12px;
	height: 12px;
	border-radius: 3px;
	background: #FFFFFF;
	box-shadow: 0 0 0 4px rgba(10, 31, 22, .6);
}

.slo-phase-card__step--canopy .slo-phase-card__mark { background: var(--canopy); }
.slo-phase-card__step--lagoon .slo-phase-card__mark { background: var(--lagoon); }

.slo-phase-card__step--saffron .slo-phase-card__mark {
	background: var(--saffron);
	animation: slo-phase-ring 1.8s ease-out 6;
}

.slo-phase-card__num,
.slo-phase-card__title {
	font-size: 17px;
	line-height: 22px;
	font-weight: 700;
	letter-spacing: -.01em;
}

.slo-phase-card__num {
	color: rgba(255, 255, 255, .5);
	font-variant-numeric: tabular-nums;
}

.slo-phase-card__step--saffron .slo-phase-card__num {
	color: var(--saffron);
}

.slo-phase-card__text {
	grid-column: 2 / 4;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(255, 255, 255, .78);
}

@keyframes slo-phase-fill {
	0% { height: 0; }
	70%, 100% { height: 100%; }
}

@keyframes slo-phase-step {
	0% { background: rgba(255, 255, 255, 0); }
	6%, 22% { background: rgba(255, 255, 255, .1); }
	30%, 100% { background: rgba(255, 255, 255, 0); }
}

@keyframes slo-phase-ring {
	0% { box-shadow: 0 0 0 0 rgba(244, 183, 49, .55); }
	100% { box-shadow: 0 0 0 10px rgba(244, 183, 49, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.slo-phase-card__fill,
	.slo-phase-card__step,
	.slo-phase-card__step--saffron .slo-phase-card__mark {
		animation: none;
	}

	.slo-phase-card__fill {
		height: 100%;
	}
}

/* slo-reasons */
/* slo-reasons widget: "Why Sri Lanka" carousel. Ported from the WhySriLanka artboard. */

slo-reasons {
	display: block;
	--slo-reasons-gap: 24px;
	--slo-reasons-per: 3;
	font-family: var(--font-sans);
	color: var(--ink);
}

.slo-reasons__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: clamp(36px, 4vw, 56px);
}

.slo-reasons__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

body .slo-reasons__title {
	max-width: 760px;
	margin: 0;
	font-size: clamp(32px, 3.2vw, 48px);
	line-height: 1.06;
	letter-spacing: -.035em;
	font-weight: 800;
	color: var(--ink);
	text-wrap: balance;
}

.slo-reasons__nav {
	display: flex;
	gap: 12px;
}

.slo-reasons__nav[hidden] {
	display: none;
}

body .slo-reasons__arrow,
body .slo-reasons__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #F0EEE8;
	color: var(--ink);
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}

body .slo-reasons__arrow:hover:not(:disabled),
body .slo-reasons__toggle:hover {
	background: var(--line);
	color: var(--ink);
	transform: translateY(-1px);
}

body .slo-reasons__arrow:disabled {
	opacity: .4;
	cursor: default;
}

body .slo-reasons__toggle[hidden] {
	display: none;
}

.slo-reasons__toggle .slo-icon--play,
.slo-reasons__toggle.is-stopped .slo-icon--pause {
	display: none;
}

.slo-reasons__toggle.is-stopped .slo-icon--play {
	display: block;
}

/*
 * Without JS the track scrolls natively; the script switches to transforms.
 * The viewport clips, so it gets breathing room above (hover lift) and below
 * (hover shadow), cancelled by negative margins so the layout doesn't move.
 */
.slo-reasons__viewport {
	margin: -8px 0 -48px;
	padding: 8px 0 48px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

slo-reasons[data-ready] .slo-reasons__viewport {
	overflow: hidden;
}

.slo-reasons__track {
	display: flex;
	gap: var(--slo-reasons-gap);
	margin: 0;
	padding: 0;
	list-style: none;
	transition: transform .55s var(--ease);
}

.slo-reasons__card {
	position: relative;
	flex: 0 0 calc((100% - (var(--slo-reasons-per) - 1) * var(--slo-reasons-gap)) / var(--slo-reasons-per));
	box-sizing: border-box;
	height: 540px;
	margin: 0;
	padding: 32px;
	overflow: hidden;
	border-radius: var(--r-card);
	scroll-snap-align: start;
	transition: transform .3s ease, box-shadow .3s ease;
}

.slo-reasons__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 48px -28px rgba(10, 31, 22, .45);
}

body .slo-reasons__card-title {
	margin: 0 0 10px;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: -.02em;
	font-weight: 700;
	color: var(--slo-card-title);
}

.slo-reasons__card-text {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--slo-card-text);
}

.slo-reasons__art {
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.slo-reasons__art svg {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Tones */
.slo-reasons__card--sand   { background: #EFEDE6; --slo-card-title: var(--ink); --slo-card-text: #44564D; }
.slo-reasons__card--mint   { background: #E3F3EC; --slo-card-title: var(--ink); --slo-card-text: var(--muted); }
.slo-reasons__card--forest { background: var(--forest); --slo-card-title: #FFFFFF; --slo-card-text: var(--mint); }
.slo-reasons__card--ink    { background: var(--ink); --slo-card-title: #FFFFFF; --slo-card-text: var(--mint); }
.slo-reasons__card--sun    { background: #FDF3DC; --slo-card-title: var(--ink); --slo-card-text: #5A4A20; }

@media (max-width: 1024px) {
	slo-reasons {
		--slo-reasons-per: 2;
	}
}

@media (max-width: 767px) {
	slo-reasons {
		--slo-reasons-per: 1.15;
		--slo-reasons-gap: 16px;
	}

	.slo-reasons__card {
		height: 500px;
		padding: 28px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slo-reasons__track,
	.slo-reasons__card,
	body .slo-reasons__arrow,
	body .slo-reasons__toggle {
		transition: none;
	}

	.slo-reasons__card:hover {
		transform: none;
	}
}

/* Illustration animations (verbatim from the artboard; prefixes match the SVG files). */
@keyframes covx-task{0%,28%{offset-distance:0%}37%,41%{offset-distance:50%}50%,78%{offset-distance:100%}87%,91%{offset-distance:50%}100%{offset-distance:0%}}
.covx-task{animation:covx-task 12s cubic-bezier(.45,0,.25,1) infinite}
@keyframes covx-A{0%,30%{filter:none;opacity:1}46%,82%{filter:brightness(.86) saturate(.5);opacity:.78}96%,100%{filter:none;opacity:1}}
@keyframes covx-B{0%,30%{filter:brightness(.86) saturate(.5);opacity:.78}46%,82%{filter:none;opacity:1}96%,100%{filter:brightness(.86) saturate(.5);opacity:.78}}
.covx-teamA{animation:covx-A 12s ease-in-out infinite}.covx-teamB{animation:covx-B 12s ease-in-out infinite}
@keyframes covx-on{0%,32%{opacity:1}44%,84%{opacity:0}94%,100%{opacity:1}}
@keyframes covx-off{0%,32%{opacity:0}44%,84%{opacity:1}94%,100%{opacity:0}}
.covx-sunA,.covx-moonB{animation:covx-on 12s ease-in-out infinite}.covx-moonA,.covx-sunB{animation:covx-off 12s ease-in-out infinite}
@keyframes covx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.covx-float{animation:covx-float 7s ease-in-out infinite}
@keyframes covx-pulse{0%,30%{opacity:0;transform:scale(.6)}39%{opacity:1;transform:scale(1.2)}46%,80%{opacity:0;transform:scale(1.6)}89%{opacity:1;transform:scale(1.2)}96%,100%{opacity:0;transform:scale(1.6)}}.covx-pulse{transform-box:fill-box;transform-origin:center;animation:covx-pulse 12s ease-out infinite}
@keyframes covx-flow{to{stroke-dashoffset:-18}}.covx-flow{animation:covx-flow 2.8s linear infinite}
@media (prefers-reduced-motion: reduce){.covx-task,.covx-teamA,.covx-teamB,.covx-sunA,.covx-moonA,.covx-sunB,.covx-moonB,.covx-float,.covx-flow,.covx-pulse{animation:none !important}.covx-pulse{opacity:0}.covx-task{offset-distance:50%}.covx-moonA,.covx-moonB{opacity:0}}
@keyframes capx-float2{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.capx-float2{animation:capx-float2 6.3s ease-in-out infinite}
@keyframes capx-ring{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(1.5)}}
.capx-ring{transform-box:fill-box;transform-origin:center;animation:capx-ring 4.2s ease-out infinite}
@keyframes capx-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.capx-bob{animation:capx-bob 4.9s ease-in-out infinite}
@keyframes capx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.capx-float{animation:capx-float 6.3s ease-in-out infinite}
@keyframes capx-dash{to{stroke-dashoffset:-26}}.capx-flowline{stroke-dasharray:6 7;animation:capx-dash 2.8s linear infinite}
@media (prefers-reduced-motion: reduce){.capx-bob,.capx-float,.capx-flowline,.capx-ring,.capx-ring2,.capx-idle,.capx-core,.capx-in,.capx-o,.capx-float2{animation:none !important}}
@keyframes ecx2-o{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}.ecx2-o{animation:ecx2-o 5.6s ease-in-out infinite}
@keyframes ecx2-in{0%,100%{transform:scale(1,1)}40%{transform:scale(1.06,.8)}60%{transform:scale(.97,1.05)}}.ecx2-in{transform-box:fill-box;transform-origin:50% 100%;animation:ecx2-in 3.1s ease-in-out infinite}
.ecx2-core{animation:ecx2-core 4.2s ease-in-out infinite}.ecx2-ring{transform-box:fill-box;transform-origin:center;animation:ecx2-ring 4.2s ease-out infinite}
@keyframes ecx2-flow{to{stroke-dashoffset:-20}}.ecx2-flow{animation:ecx2-flow 2.4s linear infinite}
@keyframes ecx2-core{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes ecx2-ring{0%{opacity:.9;transform:scale(.7)}100%{opacity:0;transform:scale(2)}}
@media (prefers-reduced-motion: reduce){.ecx2-o,.ecx2-in,.ecx2-core,.ecx2-ring,.ecx2-flow{animation:none !important}}
@keyframes glox-ring{0%{opacity:.9;transform:scale(.55)}100%{opacity:0;transform:scale(1.4)}}
.glox-ring{transform-box:fill-box;transform-origin:center;animation:glox-ring 4.9s ease-out infinite}
@keyframes glox-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.glox-bob{animation:glox-bob 4.9s ease-in-out infinite}
@keyframes glox-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.glox-float{animation:glox-float 6.3s ease-in-out infinite}
@keyframes glox-dash{to{stroke-dashoffset:-26}}.glox-flowline{stroke-dasharray:6 7;animation:glox-dash 2.8s linear infinite}
@media (prefers-reduced-motion: reduce){.glox-bob,.glox-float,.glox-flowline,.glox-ring,.glox-ring2,.glox-idle,.glox-core,.glox-in,.glox-o{animation:none !important}}
@keyframes scx3-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.scx3-idle{animation:scx3-idle 4.2s ease-in-out infinite}
@keyframes scx3-ring{0%{opacity:.85;transform:scale(.6)}100%{opacity:0;transform:scale(1.6)}}.scx3-ring{transform-box:fill-box;transform-origin:center;animation:scx3-ring 4.9s ease-out infinite}
@keyframes scx3-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.scx3-bob{animation:scx3-bob 4.9s ease-in-out infinite}
@keyframes scx3-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.scx3-float{animation:scx3-float 6.3s ease-in-out infinite}
@keyframes scx3-dash{to{stroke-dashoffset:-26}}.scx3-flowline{stroke-dasharray:6 7;animation:scx3-dash 2.8s linear infinite}
@media (prefers-reduced-motion: reduce){.scx3-bob,.scx3-float,.scx3-flowline,.scx3-ring,.scx3-ring2,.scx3-idle,.scx3-core,.scx3-in,.scx3-o{animation:none !important}}

/* slo-figure */
/* slo-figure widget: animated illustration + caption (+ phone list). */

.slo-figure {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
}

.slo-figure__art svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.slo-figure__list {
	display: none;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.slo-figure__list li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--surface);
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
}

.slo-figure__tick {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--saffron);
	color: var(--ink);
}

.slo-figure__caption {
	font-family: var(--font-mono);
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: .1em;
	text-align: center;
	text-transform: uppercase;
	color: #5B6B63;
}

.slo-figure__caption span {
	display: block;
	color: var(--ink);
}

/* Phones: the illustration's labels get too small, so the list takes over. */
@media (max-width: 640px) {
	.slo-figure .bl-lbl {
		display: none;
	}

	.slo-figure__list {
		display: grid;
	}
}

/* Illustration animations (verbatim from the BigLeap artboard). */
@keyframes bl-on{0%{opacity:0}4%,86%{opacity:1}94%,100%{opacity:0}}
@keyframes bl-off{0%{opacity:1}4%,86%{opacity:0}94%,100%{opacity:1}}
.bl-on{opacity:0;animation:bl-on 14s ease-in-out infinite both}
.bl-off{animation:bl-off 14s ease-in-out infinite both}
@keyframes bl-pop{0%{transform:scale(.4)}5%{transform:scale(1.12)}8%,100%{transform:scale(1)}}
.bl-pop{animation:bl-on 14s ease-in-out infinite both,bl-pop 14s ease-out infinite both}
@keyframes bl-live{0%,100%{opacity:1}50%{opacity:.25}}
.bl-live{animation:bl-live 2.8s ease-in-out infinite}
@keyframes bl-halo{0%,100%{opacity:.6;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}
.bl-halo{transform-box:fill-box;transform-origin:center;animation:bl-halo 5.6s ease-in-out infinite}
@media (prefers-reduced-motion: reduce) {
	.bl-live, .bl-halo { animation: none; }
	.bl-on, .bl-pop { animation: none; opacity: 1; }
	.bl-off { animation: none; opacity: 0; }
}

/* Columns centre their children; the figure should fill its column. */
.elementor-widget-slo-figure {
	align-self: stretch;
	width: 100%;
}

/* slo-journey */
/* slo-journey widget: "decision journey" steps + live-pilot stage. Ported from the BigLeap artboard. */

slo-journey {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(12px, 1.2vw, 16px);
	padding: clamp(12px, 1.2vw, 16px);
	border-radius: 28px;
	background: var(--forest);
	color: #FFFFFF;
	font-family: var(--font-sans);
}

.slo-journey__intro {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: clamp(28px, 3vw, 44px);
	padding: clamp(32px, 4.5vw, 72px) clamp(24px, 3.5vw, 56px);
}

.slo-journey__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.slo-journey__kicker {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lagoon);
}

body .slo-journey__title {
	margin: 0;
	font-size: clamp(28px, 2.6vw, 38px);
	line-height: 1.15;
	letter-spacing: -.03em;
	font-weight: 700;
	color: #FFFFFF;
	text-wrap: balance;
}

.slo-journey__steps {
	margin: 0;
	padding: 0;
	list-style: none;
}

.slo-journey__item {
	padding-bottom: 16px;
}

body .slo-journey__step {
	display: grid;
	grid-template-columns: 44px 1fr;
	align-items: baseline;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 16px 0 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: opacity .3s ease;
}

slo-journey[data-ready] .slo-journey__item:not(.is-active) .slo-journey__step {
	opacity: .45;
}

body .slo-journey__step:hover {
	opacity: 1 !important; /* beats the inactive dimming above */
	background: none;
	color: inherit;
}

.slo-journey__step:focus-visible {
	outline: 3px solid var(--ember);
	outline-offset: 4px;
	border-radius: 6px;
}

.slo-journey__num,
.slo-journey__name {
	font-size: clamp(19px, 1.5vw, 22px);
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -.01em;
}

.slo-journey__num {
	color: var(--lagoon);
	font-variant-numeric: tabular-nums;
}

.slo-journey__name {
	color: #FFFFFF;
}

.slo-journey__detail {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 10px 0 4px 44px;
}

.slo-journey__detail[hidden] {
	display: none;
}

.slo-journey__detail p {
	max-width: 440px;
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--mint);
}

.slo-journey__progress {
	display: none;
	max-width: 440px;
	height: 2px;
	overflow: hidden;
	border-radius: 1px;
}

slo-journey[data-autoplay] .slo-journey__progress {
	display: block;
}

.slo-journey__progress span {
	display: block;
	width: 0;
	height: 100%;
	background: var(--saffron);
}

slo-journey[data-autoplay] .is-active .slo-journey__progress span {
	animation: slo-journey-progress var(--slo-journey-interval, 6s) linear both;
}

/* Stage */

.slo-journey__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 560px;
	padding: clamp(32px, 4vw, 64px) clamp(20px, 3vw, 48px);
	overflow: hidden;
	border-radius: 20px;
	background: #0A3A26;
}

slo-journey .slo-journey__photo { /* beats `.elementor img { height: auto }` */
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 40%;
}

.slo-journey__stage::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 31, 22, .5) 0%, rgba(10, 31, 22, .42) 50%, rgba(10, 31, 22, .72) 100%);
}

.slo-journey__stage-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	width: 100%;
	max-width: 460px;
}

.slo-journey__stage-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
}

.slo-journey__live {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lagoon);
}

.slo-journey__live span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--saffron);
	animation: slo-journey-live 2.8s ease-in-out infinite;
}

.slo-journey__stage-name {
	font-size: clamp(20px, 1.6vw, 24px);
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -.01em;
	color: #FFFFFF;
}

/* Without JS every step's cards stack; the script shows one list at a time. */
slo-journey:not([data-ready]) .slo-journey__stage-name {
	display: none;
}

.slo-journey__cards {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.slo-journey__cards[hidden] {
	display: none;
}

.slo-journey__card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 18px;
	background: rgba(255, 255, 255, .06);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
	box-shadow: 0 24px 60px -28px rgba(0, 0, 0, .6);
	animation: slo-journey-card .5s var(--ease) calc(var(--c, 0) * var(--motion-step)) both;
}

.slo-journey__card-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.slo-journey__card-title {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.01em;
	color: #FFFFFF;
}

.slo-journey__card-text {
	font-size: 14px;
	color: rgba(255, 255, 255, .72);
}

.slo-journey__status {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 9px;
	background: rgba(10, 31, 22, .35);
	font-size: 13px;
	font-weight: 700;
	color: #FFFFFF;
}

.slo-journey__status span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lagoon);
}

.slo-journey__status.is-live span {
	background: var(--saffron);
}

@keyframes slo-journey-progress {
	from { width: 0; }
	to { width: 100%; }
}

@keyframes slo-journey-card {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: none; }
}

@keyframes slo-journey-live {
	0%, 100% { opacity: 1; }
	50% { opacity: .3; }
}

@media (max-width: 960px) {
	slo-journey {
		grid-template-columns: 1fr;
	}

	.slo-journey__stage {
		min-height: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slo-journey__card,
	.slo-journey__live span {
		animation: none;
	}

	body .slo-journey__step {
		transition: none;
	}
}

/* slo-pilot */
/* slo-team-size, slo-checkgrid, slo-toggle widgets ("The pilot" section). */

/* Team size card */

.slo-team-size {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 6px 22px;
	padding: clamp(20px, 2vw, 28px);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--paper);
	font-family: var(--font-sans);
	color: var(--ink);
}

.slo-team-size__kicker {
	grid-column: 1 / -1;
	margin: 0 0 6px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #5B6B63;
}

.slo-team-size__figure {
	font-size: clamp(64px, 5.2vw, 84px);
	line-height: .85;
	letter-spacing: -.06em;
	font-weight: 800;
}

.slo-team-size__copy {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.slo-team-size__label {
	font-size: clamp(19px, 1.6vw, 22px);
	line-height: 1.2;
	letter-spacing: -.02em;
	font-weight: 800;
}

.slo-team-size__text {
	font-size: 15px;
	line-height: 1.5;
	color: #5B6B63;
}

.slo-team-size__foot {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
}

.slo-team-size__avatars {
	display: flex;
}

.slo-team-size__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	margin-left: -8px;
	border-radius: 50%;
}

.slo-team-size__avatar:first-child {
	margin-left: 0;
}

.slo-team-size__avatar--core {
	border: 2px solid var(--paper);
	background: var(--forest);
	color: #FFFFFF;
}

.slo-team-size__avatar--open {
	border: 1.5px dashed var(--lagoon);
	background: var(--paper);
	color: #5FAF98;
}

.slo-team-size__foot-label {
	font-size: 13px;
	font-weight: 700;
	color: var(--forest);
}

/* Check grid */

.slo-checkgrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-sans);
}

.slo-checkgrid__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border: 1px solid #ECE8DE;
	border-radius: 16px;
	background: var(--paper);
}

.slo-checkgrid__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #DCEBE3;
	border-radius: 10px;
	background: var(--surface);
	color: var(--forest);
}

.slo-checkgrid__label {
	flex: 1;
	font-size: 16px;
	font-weight: 600;
	color: var(--ink);
}

.slo-checkgrid__ok {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--canopy);
	color: #FFFFFF;
}

/* Staged entrance inside a revealed slo-reveal block: tiles rise, then ticks pop. */
.slo-reveal[data-armed]:not(.is-in) .slo-checkgrid__item,
.slo-reveal[data-armed]:not(.is-in) .slo-checkgrid__ok {
	opacity: 0;
}

.slo-reveal.is-in .slo-checkgrid__item {
	animation: slo-rise var(--motion-dur) var(--ease) calc(var(--slo-delay, 0ms) + 100ms + var(--i) * var(--motion-step)) both;
}

.slo-reveal.is-in .slo-checkgrid__ok {
	animation: slo-fade .4s ease calc(var(--slo-delay, 0ms) + 300ms + var(--i) * var(--motion-step)) both;
}

@keyframes slo-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@media (max-width: 960px) {
	.slo-checkgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.slo-checkgrid {
		grid-template-columns: 1fr;
	}
}

/* Status switch: rests on "to" (no JS / reduced motion), flips in on reveal. */

.slo-toggle {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.slo-toggle__from {
	color: #B5E3D5;
}

.slo-toggle__to {
	color: var(--lagoon);
}

.slo-toggle__track {
	position: relative;
	display: inline-block;
	width: 56px;
	height: 28px;
	border-radius: var(--r-pill);
	background: rgba(255, 255, 255, .14);
}

.slo-toggle__knob {
	position: absolute;
	top: 4px;
	left: 4px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--lagoon);
	transform: translateX(28px);
}

.slo-reveal[data-armed]:not(.is-in) .slo-toggle__knob {
	transform: translateX(0);
}

.slo-reveal.is-in .slo-toggle__knob {
	animation: slo-knob .5s var(--ease) calc(var(--slo-delay, 0ms) + 200ms) both;
}

@keyframes slo-knob {
	from { transform: translateX(0); }
	to { transform: translateX(28px); }
}

/* The card fills its column (columns centre/shrink children by default). */
.elementor-widget-slo-team-size {
	align-self: stretch;
	width: 100%;
}

/* slo-stages */
/* slo-stages widget ("The path to scale" stage cards). */

.slo-stages {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(20px, 2vw, 28px) clamp(16px, 1.4vw, 20px);
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-sans);
	color: var(--ink);
}

.slo-stages__card {
	margin: 0;
}

.slo-stages__vis {
	position: relative;
	overflow: hidden;
	min-height: 200px;
	aspect-ratio: 16 / 9;
	border-radius: var(--r-card);
}

.slo-stages__vis--mint {
	background: var(--mint);
}

.slo-stages__vis--sand {
	background: #ECE9E1;
}

.slo-stages__icon {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--surface);
	box-shadow: 0 6px 16px -10px rgba(10, 31, 22, .4);
	color: var(--forest);
}

.slo-stages__team {
	position: absolute;
	bottom: 18px;
	left: 18px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: var(--r-pill);
	background: var(--surface);
	font-family: var(--font-mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .04em;
	color: var(--ink);
}

.slo-stages__title {
	margin: 18px 0 10px;
	font-size: clamp(22px, 1.8vw, 26px);
	line-height: 1.15;
	letter-spacing: -.02em;
	font-weight: 800;
	color: var(--ink);
}

.slo-stages__points {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	line-height: 1.5;
	color: var(--muted);
}

.slo-stages__points li {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0;
}

.slo-stages__points li::before {
	content: "";
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	border-radius: 2px;
	background: var(--canopy);
	transform: translateY(-2px);
}

/* Art: right-hand 62% of the panel. */

.slo-stages__art {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 62%;
	pointer-events: none;
}

.slo-stages__art svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.slo-stages__art .st-ln {
	fill: none;
	stroke: var(--forest);
	stroke-width: 1.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.slo-stages__art .st-spin {
	transform-box: view-box;
	transform-origin: 110px 70px;
	animation: slo-st-spin 24s linear infinite;
}

.slo-stages__art .st-spin--rev {
	animation-duration: 36s;
	animation-direction: reverse;
}

.slo-stages__art .st-pulse {
	transform-box: fill-box;
	transform-origin: center;
	animation: slo-st-pulse 4.9s ease-in-out infinite;
}

.slo-stages__art .st-draw {
	stroke-dasharray: 120;
	stroke-dashoffset: 120;
	animation: slo-st-draw 8.4s cubic-bezier(.4, 0, .2, 1) var(--k, 0s) infinite;
}

.slo-stages__art .st-pop {
	opacity: 0;
	animation: slo-st-pop 8.4s ease var(--k, 0s) infinite;
}

.slo-stages__art .st-float {
	animation: slo-st-float 8s ease-in-out var(--k, 0s) infinite;
}

@keyframes slo-st-spin {
	to { transform: rotate(360deg); }
}

@keyframes slo-st-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.6); opacity: .5; }
}

@keyframes slo-st-draw {
	0% { stroke-dashoffset: 120; }
	40%, 80% { stroke-dashoffset: 0; }
	100% { stroke-dashoffset: -120; }
}

@keyframes slo-st-pop {
	0%, 30% { opacity: 0; }
	42%, 80% { opacity: 1; }
	95%, 100% { opacity: 0; }
}

@keyframes slo-st-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(var(--dy, -6px)); }
}

/* The grid takes the space beside the intro column, or the full row once stacked. */
.elementor-widget-slo-stages {
	flex: 1 1 0;
	align-self: stretch;
	min-width: 0;
}

/* Entrance: the widget carries "slo-reveal"; the cards rise in turn instead
   of the whole grid moving as one block. */
.elementor-widget-slo-stages.slo-reveal[data-armed]:not(.is-in) {
	opacity: 1;
}

.elementor-widget-slo-stages.slo-reveal.is-in {
	animation: none;
}

.slo-reveal[data-armed]:not(.is-in) .slo-stages__card {
	opacity: 0;
}

.slo-reveal.is-in .slo-stages__card {
	animation: slo-rise var(--motion-dur) var(--ease) calc(var(--slo-delay, 0ms) + 100ms + var(--i) * var(--motion-step)) both;
}

@media (max-width: 640px) {
	.slo-stages {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slo-stages__art * {
		animation: none !important;
	}

	.slo-stages__art .st-draw {
		stroke-dashoffset: 0;
	}

	.slo-stages__art .st-pop {
		opacity: 1;
	}

	.slo-stages__art animateMotion {
		display: none;
	}
}

/* slo-capability-map */
/* slo-capability-map widget ("What can you build?" domain panels). */

.slo-cap {
	--pbg: var(--paper);
	display: flex;
	flex-direction: column;
	gap: 22px;
	height: 100%;
	box-sizing: border-box;
	padding: 32px;
	border: 1px solid rgba(10, 31, 22, .06);
	border-radius: var(--r-panel);
	background: var(--pbg);
	font-family: var(--font-sans);
	color: var(--ink);
}

.slo-cap--mint {
	--pbg: #DCEEE5;
}

.slo-cap--sand {
	--pbg: #F1ECE1;
}

.slo-cap__title {
	margin: 0;
	text-align: center;
	font-size: clamp(26px, 2.3vw, 34px);
	line-height: 1.1;
	letter-spacing: -.03em;
	font-weight: 800;
	color: var(--ink);
}

.slo-cap__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(200px, 47%, 290px);
	align-items: start;
	gap: clamp(16px, 2vw, 28px);
}

/* List */

.slo-cap__items {
	display: flex;
	flex-direction: column;
	min-height: 322px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.slo-cap__item {
	position: relative;
	margin: 0;
	padding: 12px 12px 12px 14px;
	border-radius: 12px;
	outline: none;
	cursor: default;
	transition: background .3s ease;
}

.slo-cap__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.slo-cap__head > i {
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	border-radius: 2px;
	background: var(--canopy);
	transition: background .3s, transform .3s;
}

.slo-cap__name {
	flex: 1;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.01em;
	color: var(--body);
	transition: color .3s;
}

.slo-cap__arrow {
	display: flex;
	flex-shrink: 0;
	color: var(--forest);
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity .3s ease, transform .3s ease;
}

.slo-cap__desc {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .35s ease;
}

.slo-cap__desc > span {
	overflow: hidden;
	padding-left: 18px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--muted);
	opacity: 0;
	transition: opacity .3s ease, padding .3s ease;
}

.slo-cap__item:is(:hover, :focus-visible) {
	background: rgba(255, 255, 255, .75);
}

.slo-cap__item:is(:hover, :focus-visible) .slo-cap__head > i {
	background: var(--saffron);
	transform: scale(1.25);
}

.slo-cap__item:is(:hover, :focus-visible) .slo-cap__name {
	color: var(--ink);
}

.slo-cap__item:is(:hover, :focus-visible) .slo-cap__arrow {
	opacity: 1;
	transform: none;
}

.slo-cap__item:is(:hover, :focus-visible) .slo-cap__desc {
	grid-template-rows: 1fr;
}

.slo-cap__item:is(:hover, :focus-visible) .slo-cap__desc > span {
	padding-top: 4px;
	opacity: 1;
}

.slo-cap__item:focus-visible {
	box-shadow: 0 0 0 3px var(--ember);
}

/* Diagram */

.slo-cap__vis {
	position: relative;
	align-self: start;
	margin-top: 4px;
}

.slo-cap__stage {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
}

.slo-cap__lines {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.slo-cap__l {
	fill: none;
	stroke: var(--forest);
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke-opacity .3s ease, stroke-width .3s ease;
}

.slo-cap__l--spoke {
	stroke-opacity: .26;
	stroke-width: 1.2;
	stroke-dasharray: 2 5;
}

.slo-cap__l--chord {
	stroke-opacity: .42;
	stroke-width: 1.5;
}

.slo-cap__l--base {
	stroke-opacity: .3;
	stroke-width: 1.5;
}

.slo-cap__ring {
	fill: none;
	stroke: var(--forest);
	stroke-opacity: .2;
	stroke-width: 1;
	stroke-dasharray: 1 4;
	transition: stroke .3s, stroke-opacity .3s;
}

.slo-cap__n,
.slo-cap__hub {
	position: absolute;
	transform: translate(-50%, -50%);
	transition: opacity .3s ease;
}

.slo-cap__mk {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(14, 77, 51, .16);
	border-radius: 50%;
	background: var(--surface);
	box-shadow: 0 6px 14px -10px rgba(10, 31, 22, .45);
	color: var(--forest);
	transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.slo-cap--track .slo-cap__node .slo-cap__mk {
	border-radius: 11px;
}

/* Filled joints so the line doesn't show through the AI glyph. */
.slo-cap__mk .slo-icon--ai circle {
	fill: var(--surface);
	transition: fill .3s ease;
}

.slo-cap__hub-core {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--forest);
	box-shadow: 0 14px 28px -16px rgba(10, 31, 22, .7);
	color: #FFFFFF;
}

.slo-cap__hub-label {
	max-width: 52px;
	font-family: var(--font-mono);
	font-size: 10px;
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: .12em;
	text-align: center;
	text-transform: uppercase;
}

.slo-cap__add {
	position: absolute;
	top: 13px;
	left: 50%;
	width: 7px;
	height: 7px;
	margin-left: -3.5px;
	border-radius: 50%;
	background: var(--saffron);
	opacity: 0;
	transform: translateY(4px) scale(.4);
	transition: opacity .3s ease, transform .3s ease;
}

/* Support rails (track layout, last two items). */
.slo-cap__rail {
	display: flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	height: 34px;
	padding: 0 10px 0 4px;
	border: 1px solid rgba(10, 31, 22, .12);
	border-radius: 10px;
	background: var(--surface);
	box-shadow: 0 6px 14px -12px rgba(10, 31, 22, .45);
	transform: translateY(-50%);
	transition: opacity .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.slo-cap__mk--rail {
	width: 26px;
	height: 26px;
	border: 0;
	border-radius: 7px;
	background: #F1ECE1;
	box-shadow: none;
}

.slo-cap__rail > i {
	flex: 1;
	height: 4px;
	border-radius: 2px;
	background: rgba(14, 77, 51, .14);
}

.slo-cap__rail > i:nth-of-type(2) {
	flex: .6;
}

.slo-cap__rail > i:nth-of-type(3) {
	flex: .35;
}

/* Active item: everything else recedes, the item's node and lines light up. */
.slo-cap:has(.slo-cap__item[data-slot]:is(:hover, :focus-visible)) .slo-cap__n {
	opacity: .4;
}

.slo-cap:has(.slo-cap__item[data-slot]:is(:hover, :focus-visible)) .slo-cap__ring {
	stroke: var(--saffron);
	stroke-opacity: .9;
	stroke-dasharray: none;
}

.slo-cap:has(.slo-cap__item[data-slot]:is(:hover, :focus-visible)) .slo-cap__add {
	opacity: 1;
	transform: none;
}

.slo-cap:has(.slo-cap__item[data-slot="0"]:is(:hover, :focus-visible)) .c-0 {
	stroke-opacity: .95;
	stroke-width: 2;
	stroke-dasharray: none;
}

.slo-cap:has(.slo-cap__item[data-slot="0"]:is(:hover, :focus-visible)) .nb-0 {
	opacity: .85;
}

.slo-cap:has(.slo-cap__item[data-slot="0"]:is(:hover, :focus-visible)) .n-0 {
	opacity: 1;
}

.slo-cap:has(.slo-cap__item[data-slot="0"]:is(:hover, :focus-visible)) .n-0 .slo-cap__mk {
	border-color: var(--forest);
	background: var(--forest);
	box-shadow: 0 0 0 5px rgba(244, 183, 49, .3);
	color: #FFFFFF;
	transform: scale(1.12);
}

.slo-cap:has(.slo-cap__item[data-slot="0"]:is(:hover, :focus-visible)) .n-0 .slo-icon--ai circle {
	fill: var(--forest);
}

.slo-cap:has(.slo-cap__item[data-slot="0"]:is(:hover, :focus-visible)) .n-0.slo-cap__rail {
	border-color: var(--forest);
	box-shadow: 0 0 0 4px rgba(244, 183, 49, .26);
}

.slo-cap:has(.slo-cap__item[data-slot="1"]:is(:hover, :focus-visible)) .c-1 {
	stroke-opacity: .95;
	stroke-width: 2;
	stroke-dasharray: none;
}

.slo-cap:has(.slo-cap__item[data-slot="1"]:is(:hover, :focus-visible)) .nb-1 {
	opacity: .85;
}

.slo-cap:has(.slo-cap__item[data-slot="1"]:is(:hover, :focus-visible)) .n-1 {
	opacity: 1;
}

.slo-cap:has(.slo-cap__item[data-slot="1"]:is(:hover, :focus-visible)) .n-1 .slo-cap__mk {
	border-color: var(--forest);
	background: var(--forest);
	box-shadow: 0 0 0 5px rgba(244, 183, 49, .3);
	color: #FFFFFF;
	transform: scale(1.12);
}

.slo-cap:has(.slo-cap__item[data-slot="1"]:is(:hover, :focus-visible)) .n-1 .slo-icon--ai circle {
	fill: var(--forest);
}

.slo-cap:has(.slo-cap__item[data-slot="1"]:is(:hover, :focus-visible)) .n-1.slo-cap__rail {
	border-color: var(--forest);
	box-shadow: 0 0 0 4px rgba(244, 183, 49, .26);
}

.slo-cap:has(.slo-cap__item[data-slot="2"]:is(:hover, :focus-visible)) .c-2 {
	stroke-opacity: .95;
	stroke-width: 2;
	stroke-dasharray: none;
}

.slo-cap:has(.slo-cap__item[data-slot="2"]:is(:hover, :focus-visible)) .nb-2 {
	opacity: .85;
}

.slo-cap:has(.slo-cap__item[data-slot="2"]:is(:hover, :focus-visible)) .n-2 {
	opacity: 1;
}

.slo-cap:has(.slo-cap__item[data-slot="2"]:is(:hover, :focus-visible)) .n-2 .slo-cap__mk {
	border-color: var(--forest);
	background: var(--forest);
	box-shadow: 0 0 0 5px rgba(244, 183, 49, .3);
	color: #FFFFFF;
	transform: scale(1.12);
}

.slo-cap:has(.slo-cap__item[data-slot="2"]:is(:hover, :focus-visible)) .n-2 .slo-icon--ai circle {
	fill: var(--forest);
}

.slo-cap:has(.slo-cap__item[data-slot="2"]:is(:hover, :focus-visible)) .n-2.slo-cap__rail {
	border-color: var(--forest);
	box-shadow: 0 0 0 4px rgba(244, 183, 49, .26);
}

.slo-cap:has(.slo-cap__item[data-slot="3"]:is(:hover, :focus-visible)) .c-3 {
	stroke-opacity: .95;
	stroke-width: 2;
	stroke-dasharray: none;
}

.slo-cap:has(.slo-cap__item[data-slot="3"]:is(:hover, :focus-visible)) .nb-3 {
	opacity: .85;
}

.slo-cap:has(.slo-cap__item[data-slot="3"]:is(:hover, :focus-visible)) .n-3 {
	opacity: 1;
}

.slo-cap:has(.slo-cap__item[data-slot="3"]:is(:hover, :focus-visible)) .n-3 .slo-cap__mk {
	border-color: var(--forest);
	background: var(--forest);
	box-shadow: 0 0 0 5px rgba(244, 183, 49, .3);
	color: #FFFFFF;
	transform: scale(1.12);
}

.slo-cap:has(.slo-cap__item[data-slot="3"]:is(:hover, :focus-visible)) .n-3 .slo-icon--ai circle {
	fill: var(--forest);
}

.slo-cap:has(.slo-cap__item[data-slot="3"]:is(:hover, :focus-visible)) .n-3.slo-cap__rail {
	border-color: var(--forest);
	box-shadow: 0 0 0 4px rgba(244, 183, 49, .26);
}

.slo-cap:has(.slo-cap__item[data-slot="4"]:is(:hover, :focus-visible)) .c-4 {
	stroke-opacity: .95;
	stroke-width: 2;
	stroke-dasharray: none;
}

.slo-cap:has(.slo-cap__item[data-slot="4"]:is(:hover, :focus-visible)) .nb-4 {
	opacity: .85;
}

.slo-cap:has(.slo-cap__item[data-slot="4"]:is(:hover, :focus-visible)) .n-4 {
	opacity: 1;
}

.slo-cap:has(.slo-cap__item[data-slot="4"]:is(:hover, :focus-visible)) .n-4 .slo-cap__mk {
	border-color: var(--forest);
	background: var(--forest);
	box-shadow: 0 0 0 5px rgba(244, 183, 49, .3);
	color: #FFFFFF;
	transform: scale(1.12);
}

.slo-cap:has(.slo-cap__item[data-slot="4"]:is(:hover, :focus-visible)) .n-4 .slo-icon--ai circle {
	fill: var(--forest);
}

.slo-cap:has(.slo-cap__item[data-slot="4"]:is(:hover, :focus-visible)) .n-4.slo-cap__rail {
	border-color: var(--forest);
	box-shadow: 0 0 0 4px rgba(244, 183, 49, .26);
}

.slo-cap:has(.slo-cap__item[data-slot="5"]:is(:hover, :focus-visible)) .c-5 {
	stroke-opacity: .95;
	stroke-width: 2;
	stroke-dasharray: none;
}

.slo-cap:has(.slo-cap__item[data-slot="5"]:is(:hover, :focus-visible)) .nb-5 {
	opacity: .85;
}

.slo-cap:has(.slo-cap__item[data-slot="5"]:is(:hover, :focus-visible)) .n-5 {
	opacity: 1;
}

.slo-cap:has(.slo-cap__item[data-slot="5"]:is(:hover, :focus-visible)) .n-5 .slo-cap__mk {
	border-color: var(--forest);
	background: var(--forest);
	box-shadow: 0 0 0 5px rgba(244, 183, 49, .3);
	color: #FFFFFF;
	transform: scale(1.12);
}

.slo-cap:has(.slo-cap__item[data-slot="5"]:is(:hover, :focus-visible)) .n-5 .slo-icon--ai circle {
	fill: var(--forest);
}

.slo-cap:has(.slo-cap__item[data-slot="5"]:is(:hover, :focus-visible)) .n-5.slo-cap__rail {
	border-color: var(--forest);
	box-shadow: 0 0 0 4px rgba(244, 183, 49, .26);
}

/* Entrance inside a revealed "slo-reveal" widget: the panel rises (brand.css),
   then the list fades in, nodes pop, chords draw and rails grow
   (slo-cap-grow lives in brand.css, shared with the section close). */

.slo-reveal[data-armed]:not(.is-in) :is(.slo-cap__item, .slo-cap__fade, .slo-cap__node .slo-cap__mk, .slo-cap__hub-core) {
	opacity: 0;
}

.slo-reveal[data-armed]:not(.is-in) .slo-cap__rail {
	clip-path: inset(0 50% 0 50%);
}

.slo-reveal[data-armed] .slo-cap__draw {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
}

.slo-reveal.is-in :is(.slo-cap__item, .slo-cap__fade) {
	animation: slo-cap-fade .5s ease calc(var(--slo-delay, 0ms) + var(--d, 0ms) * .5) both;
}

/* Nodes pop on their inner mark, so the outer node stays free to dim on hover.
   --d is inherited from the node or hub. */
.slo-reveal.is-in :is(.slo-cap__node .slo-cap__mk, .slo-cap__hub-core) {
	animation: slo-cap-fade .5s ease calc(var(--slo-delay, 0ms) + var(--d, 0ms) * .5) both;
}

.slo-reveal.is-in .slo-cap__rail {
	animation: slo-cap-grow .6s var(--ease) calc(var(--slo-delay, 0ms) + var(--d, 0ms) * .5) both;
}

.slo-reveal.is-in .slo-cap__draw {
	animation: slo-cap-draw .7s var(--ease) calc(var(--slo-delay, 0ms) + var(--d, 0ms) * .5) forwards;
}

@keyframes slo-cap-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}


@keyframes slo-cap-draw {
	from { stroke-dashoffset: 1; }
	to { stroke-dashoffset: 0; }
}

/* Panels split the row evenly and share its height. */
.elementor-widget-slo-capability-map {
	align-self: stretch;
	min-width: 0;
}

@media (min-width: 1025px) {
	.elementor-widget-slo-capability-map {
		flex: 1 1 0;
	}
}

@media (max-width: 1024px) {
	.slo-cap__body {
		grid-template-columns: minmax(0, 1fr) 280px;
	}
}

@media (max-width: 640px) {
	.slo-cap {
		padding: 24px 20px;
		border-radius: 22px;
	}

	.slo-cap__body {
		grid-template-columns: 1fr;
	}

	.slo-cap__items {
		min-height: 0;
	}

	.slo-cap__vis {
		order: -1;
		width: 100%;
		max-width: 240px;
		margin: 0 auto;
	}

	.slo-cap__item {
		padding: 14px 4px;
	}

	.slo-cap__arrow {
		display: none;
	}

	.slo-cap__desc {
		grid-template-rows: 1fr;
	}

	.slo-cap__desc > span {
		padding-top: 4px;
		opacity: 1;
	}

	.slo-cap__item:is(:hover, :focus-visible) {
		background: transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slo-cap__dots {
		display: none;
	}

	.slo-cap__mk,
	.slo-cap__item,
	.slo-cap__desc,
	.slo-cap__desc > span,
	.slo-cap__arrow,
	.slo-cap__add,
	.slo-cap__n,
	.slo-cap__rail {
		transition: none !important;
	}
}

/* slo-our-model */
/* "Our model" widgets: slo-feature-list, slo-managed-areas, slo-cadence, slo-tiles. */

/* ---------- Feature list (white panel of icon rows) ---------- */

.slo-features {
	display: grid;
	margin: 0;
	padding: 8px !important; /* itecho-core sets ul { padding: 0 !important }. */
	list-style: none;
	border: 1px solid var(--line);
	border-radius: 24px;
	background: var(--surface);
	box-shadow: 0 30px 60px -48px rgba(10, 31, 22, .45);
	font-family: var(--font-sans);
}

.slo-features__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 54px;
	margin: 0;
	padding: 8px 14px 8px 10px;
	border-radius: 16px;
	outline: none;
	cursor: default;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.005em;
	color: var(--body);
	transition: background .3s ease, color .3s ease;
}

.slo-features__item + .slo-features__item::before {
	content: "";
	position: absolute;
	top: 0;
	right: 14px;
	left: 60px;
	height: 1px;
	background: var(--line);
	transition: opacity .3s ease;
}

.slo-features__icon {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--mint);
	color: var(--forest);
	transition: background .3s ease, color .3s ease;
}

.slo-features__arrow {
	display: flex;
	margin-left: auto;
	color: var(--forest);
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity .3s ease, transform .3s ease;
}

.slo-features__item:is(:hover, :focus-visible) {
	background: var(--mint-tint);
	color: var(--ink);
}

.slo-features__item:is(:hover, :focus-visible)::before,
.slo-features__item:is(:hover, :focus-visible) + .slo-features__item::before {
	opacity: 0;
}

.slo-features__item:is(:hover, :focus-visible) .slo-features__icon {
	background: var(--forest);
	color: #FFFFFF;
}

.slo-features__item:is(:hover, :focus-visible) .slo-features__arrow {
	opacity: 1;
	transform: none;
}

.slo-features__item:focus-visible {
	box-shadow: inset 0 0 0 3px var(--ember);
}

/* ---------- Managed areas (Forest band) ---------- */

.slo-managed {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	font-family: var(--font-sans);
}

.slo-managed__area {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--r-card);
	background: rgba(255, 255, 255, .05);
	transition: background .3s ease, border-color .3s ease;
}

.slo-managed__area:hover {
	border-color: rgba(255, 255, 255, .18);
	background: rgba(255, 255, 255, .08);
}

.slo-managed__area::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: var(--saffron);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .45s var(--ease);
}

.slo-managed__area:is(:hover, :focus-within)::before {
	transform: scaleX(1);
}

.slo-managed__details {
	height: 100%;
	padding: 28px 28px 20px;
}

.slo-managed__summary {
	display: flex;
	flex-direction: column;
	gap: 18px;
	list-style: none;
	outline: none;
	cursor: default;
}

.slo-managed__summary::-webkit-details-marker {
	display: none;
}

.slo-managed__summary:focus-visible {
	border-radius: 8px;
	outline: 3px solid var(--ember);
	outline-offset: 4px;
}

.slo-managed__icon {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 12px;
	background: rgba(255, 255, 255, .08);
	color: var(--lagoon);
	transition: background .3s ease, color .3s ease;
}

.slo-managed__area:hover .slo-managed__icon {
	background: var(--lagoon);
	color: var(--forest);
}

.slo-managed__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.slo-managed__title {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.02em;
	color: #FFFFFF;
}

.slo-managed__chev {
	display: none;
	color: var(--lagoon);
	transition: transform .3s ease;
}

.slo-managed__desc {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .64);
}

.slo-managed__points {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.slo-managed__points li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 8px 0;
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.35;
	color: rgba(255, 255, 255, .9);
	transition: color .25s ease, opacity .25s ease;
}

.slo-managed__points li::before {
	content: "";
	flex-shrink: 0;
	width: 8px;
	height: 2px;
	border-radius: 1px;
	background: var(--lagoon);
	transition: width .25s ease, background .25s ease;
}

.slo-managed__points:hover li {
	opacity: .45;
}

.slo-managed__points li:hover {
	opacity: 1;
	color: #FFFFFF;
}

.slo-managed__points li:hover::before {
	width: 16px;
	background: var(--saffron);
}

/* Staged entrance inside a revealed slo-reveal block. */
.slo-reveal[data-armed]:not(.is-in) .slo-managed__area {
	opacity: 0;
}

.slo-reveal.is-in .slo-managed__area {
	animation: slo-rise var(--motion-dur) var(--ease) calc(var(--slo-delay, 0ms) + var(--i) * var(--motion-step)) both;
}

/* ---------- Cadence rows ---------- */

.slo-cadence {
	margin: 0;
	padding: 8px !important; /* itecho-core sets ul { padding: 0 !important }. */
	list-style: none;
	border: 1px solid var(--line);
	border-radius: 24px;
	background: var(--surface);
	box-shadow: 0 30px 60px -48px rgba(10, 31, 22, .45);
	font-family: var(--font-sans);
}

.slo-cadence__row {
	position: relative;
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	align-items: center;
	gap: 0 20px;
	margin: 0;
	padding: 22px 20px 22px 22px;
	border-radius: 18px;
	outline: none;
	cursor: default;
	transition: background .35s ease;
}

.slo-cadence__row + .slo-cadence__row::after {
	content: "";
	position: absolute;
	top: 0;
	right: 20px;
	left: 20px;
	height: 1px;
	background: var(--line);
	transition: opacity .3s ease;
}

.slo-cadence__row::before {
	content: "";
	position: absolute;
	top: 22px;
	bottom: 22px;
	left: 0;
	width: 3px;
	border-radius: 0 3px 3px 0;
	background: var(--saffron);
	transform: scaleY(0);
	transition: transform .35s var(--ease);
}

.slo-cadence__when {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 8px;
	padding: 6px 12px 6px 10px;
	border-radius: var(--r-pill);
	background: #ECE9E1;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--forest);
	transition: background .35s ease, color .35s ease;
}

.slo-cadence__when::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--canopy);
	transition: background .35s ease;
}

.slo-cadence__title {
	font-size: clamp(19px, 1.6vw, 23px);
	line-height: 1.25;
	letter-spacing: -.025em;
	font-weight: 800;
	color: var(--body);
	transition: color .3s ease;
}

/* Active row: the hovered/focused one, else the first. */
.slo-cadence:not(:has(.slo-cadence__row:is(:hover, :focus-visible))) .slo-cadence__row:first-child,
.slo-cadence__row:is(:hover, :focus-visible) {
	background: var(--mint-tint);
}

.slo-cadence:not(:has(.slo-cadence__row:is(:hover, :focus-visible))) .slo-cadence__row:first-child::before,
.slo-cadence__row:is(:hover, :focus-visible)::before {
	transform: scaleY(1);
}

.slo-cadence:not(:has(.slo-cadence__row:is(:hover, :focus-visible))) .slo-cadence__row:first-child + .slo-cadence__row::after,
.slo-cadence__row:is(:hover, :focus-visible)::after,
.slo-cadence__row:is(:hover, :focus-visible) + .slo-cadence__row::after {
	opacity: 0;
}

.slo-cadence:not(:has(.slo-cadence__row:is(:hover, :focus-visible))) .slo-cadence__row:first-child .slo-cadence__when,
.slo-cadence__row:is(:hover, :focus-visible) .slo-cadence__when {
	background: var(--forest);
	color: #FFFFFF;
}

.slo-cadence:not(:has(.slo-cadence__row:is(:hover, :focus-visible))) .slo-cadence__row:first-child .slo-cadence__when::before,
.slo-cadence__row:is(:hover, :focus-visible) .slo-cadence__when::before {
	background: var(--saffron);
}

.slo-cadence:not(:has(.slo-cadence__row:is(:hover, :focus-visible))) .slo-cadence__row:first-child .slo-cadence__title,
.slo-cadence__row:is(:hover, :focus-visible) .slo-cadence__title {
	color: var(--ink);
}

.slo-cadence__row:focus-visible {
	box-shadow: inset 0 0 0 3px var(--ember);
}

/* ---------- Icon tiles ---------- */

.slo-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-sans);
}

.slo-tiles__tile {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--tint);
	transition: background .3s ease, border-color .3s ease, transform .3s var(--ease);
}

.slo-tiles__tile:hover {
	border-color: #D9D4C7;
	background: var(--surface);
	transform: translateY(-2px);
}

.slo-tiles__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-bottom: 8px;
	border-radius: 12px;
	background: var(--mint);
	color: var(--forest);
	transition: background .3s ease, color .3s ease;
}

.slo-tiles__tile:hover .slo-tiles__icon {
	background: var(--forest);
	color: #FFFFFF;
}

.slo-tiles__title {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--ink);
}

.slo-tiles__text {
	font-size: 14px;
	line-height: 1.5;
	color: var(--soft);
}

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
	.slo-managed {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.slo-managed {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.slo-managed__details {
		padding: 0 18px;
	}

	.slo-managed__summary {
		flex-direction: row;
		align-items: center;
		gap: 14px;
		padding: 18px 0;
		cursor: pointer;
	}

	.slo-managed__icon {
		width: 40px;
		height: 40px;
	}

	.slo-managed__row {
		flex: 1;
	}

	.slo-managed__title {
		font-size: 19px;
	}

	.slo-managed__chev {
		display: flex;
	}

	.slo-managed__details[open] .slo-managed__chev {
		transform: rotate(180deg);
	}

	.slo-managed__desc {
		margin: 0;
	}

	.slo-managed__points {
		margin: 10px 0 0;
		padding-bottom: 18px !important; /* itecho-core sets ul { padding: 0 !important }. */
	}

	.slo-managed__points:hover li {
		opacity: 1;
	}

	.slo-cadence__row {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 18px 16px;
	}

	.slo-tiles {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slo-features__item,
	.slo-features__icon,
	.slo-features__arrow,
	.slo-managed__area,
	.slo-managed__area::before,
	.slo-managed__chev,
	.slo-cadence__row,
	.slo-cadence__row::before,
	.slo-tiles__tile {
		transition: none;
	}

	.slo-tiles__tile:hover {
		transform: none;
	}
}

/* slo-pricing */
/* slo-pricing-plan widget. */

.slo-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
	padding: 40px 36px 32px;
	border: 1px solid var(--line);
	border-radius: 24px;
	background: var(--tint);
	box-shadow: 0 24px 60px -50px rgba(10, 31, 22, .4);
	font-family: var(--font-sans);
	color: var(--ink);
	transition: transform .35s var(--ease), box-shadow .35s ease, border-color .35s ease;
}

.slo-plan:hover {
	box-shadow: 0 36px 70px -46px rgba(10, 31, 22, .5);
	transform: translateY(-2px);
}

.slo-plan--featured {
	border-color: var(--saffron);
	background: #FFFAEB;
}

.slo-plan__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.slo-plan__name {
	margin: 0;
	font-size: 28px;
	line-height: 1.15;
	letter-spacing: -.025em;
	font-weight: 800;
	color: var(--ink);
}

.slo-plan__badge {
	flex-shrink: 0;
	padding: 6px 12px;
	border-radius: var(--r-pill);
	background: var(--saffron);
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink);
}

.slo-plan__tag {
	margin: 8px 0 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--muted);
}

.slo-plan__price {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	gap: 8px;
	margin: 30px 0 0;
	white-space: nowrap;
}

.slo-plan__price small {
	font-size: 15px;
	font-weight: 600;
	color: var(--muted);
}

.slo-plan__price strong {
	font-size: clamp(40px, 3.5vw, 52px);
	line-height: 1;
	letter-spacing: -.045em;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: var(--ink);
}

.slo-plan__period {
	font-size: 16px;
	font-weight: 600;
	color: var(--muted);
}

.slo-plan__unit {
	margin: 10px 0 0;
	font-family: var(--font-mono);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--soft);
}

.slo-plan__points {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 28px 0 0;
	padding: 28px 0 0 !important; /* itecho-core sets ul { padding: 0 !important }. */
	list-style: none;
	border-top: 1px solid var(--line);
}

.slo-plan--featured .slo-plan__points {
	border-top-color: #EBDDB4;
}

.slo-plan__points li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--body);
}

.slo-plan__points .slo-icon {
	flex-shrink: 0;
	margin-top: 4px;
	color: var(--canopy);
}

.slo-plan--featured .slo-plan__points .slo-icon {
	color: #B98400;
}

.slo-plan__cta {
	margin-top: auto;
	padding-top: 36px;
}

body a.slo-plan__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	box-sizing: border-box;
	padding: 18px 22px;
	border-radius: 14px;
	background: var(--forest);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	color: #FFFFFF;
	transition: background .25s ease;
}

body a.slo-plan__btn:hover {
	background: var(--ink);
	color: #FFFFFF;
}

body a.slo-plan__btn .slo-icon {
	transition: transform .25s var(--ease);
}

body a.slo-plan__btn:hover .slo-icon {
	transform: translateX(4px);
}

body .slo-plan--featured a.slo-plan__btn {
	background: var(--saffron);
	color: var(--ink);
}

body .slo-plan--featured a.slo-plan__btn:hover {
	background: var(--saffron-hover);
	color: var(--ink);
}

.slo-plan__note {
	margin: 14px 0 0;
	text-align: center;
	font-size: 13.5px;
	color: var(--soft);
}

/* Cards fill their row and share its height. */
.elementor-widget-slo-pricing-plan {
	align-self: stretch;
	min-width: 0;
}

@media (min-width: 1025px) {
	.elementor-widget-slo-pricing-plan {
		flex: 1 1 0;
	}

	/* Tighter rhythm side by side, so the three cards fit a 1080px-tall
	   screen whole when "Pricing" is reached from the nav. */
	.slo-plan {
		padding: 32px 32px 26px;
	}

	.slo-plan__price {
		margin-top: 22px;
	}

	.slo-plan__points {
		gap: 12px;
		margin-top: 22px;
		padding-top: 22px !important; /* itecho-core sets ul { padding: 0 !important }. */
	}

	.slo-plan__cta {
		padding-top: 28px;
	}

	.slo-plan__note {
		margin-top: 10px;
	}
}

@media (max-width: 640px) {
	.slo-plan {
		padding: 32px 24px 26px;
	}

	.slo-plan__name {
		font-size: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slo-plan,
	body a.slo-plan__btn,
	body a.slo-plan__btn .slo-icon {
		transition: none;
	}

	.slo-plan:hover,
	body a.slo-plan__btn:hover .slo-icon {
		transform: none;
	}
}

/* slo-capability-picker */
/* slo-capability-picker widget (on a Forest section). */

.slo-picker {
	display: block;
	font-family: var(--font-sans);
}

.slo-picker__heading {
	margin: 0 0 20px;
	font-family: var(--font-mono);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--saffron);
}

.slo-picker__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.slo-picker__list li {
	margin: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .16);
}

body a.slo-picker__row {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 4px 28px 0;
	outline: none;
	text-decoration: none;
	color: rgba(255, 255, 255, .92);
}

.slo-picker__row::before {
	content: "";
	position: absolute;
	top: 22px;
	bottom: 22px;
	left: -24px;
	width: 3px;
	border-radius: 2px;
	background: var(--saffron);
	transform: scaleY(0);
	transition: transform .35s var(--ease);
}

.slo-picker__q {
	font-size: clamp(22px, 2.2vw, 32px);
	line-height: 1.2;
	letter-spacing: -.03em;
	font-weight: 700;
	transition: color .3s ease, transform .35s var(--ease);
}

.slo-picker__go {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 50%;
	color: var(--lagoon);
	transition: background .3s ease, border-color .3s ease, color .3s ease, transform .35s var(--ease);
}

.slo-picker__list:hover .slo-picker__row:not(:hover) .slo-picker__q {
	color: rgba(255, 255, 255, .58);
}

.slo-picker__row:is(:hover, :focus-visible) .slo-picker__q {
	color: #FFFFFF;
	transform: translateX(6px);
}

.slo-picker__row:is(:hover, :focus-visible)::before {
	transform: scaleY(1);
}

.slo-picker__row:is(:hover, :focus-visible) .slo-picker__go {
	border-color: var(--saffron);
	background: var(--saffron);
	color: var(--ink);
	transform: translateX(4px);
}

body a.slo-picker__row:focus-visible {
	border-radius: 8px;
	box-shadow: inset 0 0 0 3px var(--ember);
}

body a.slo-picker__cta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 36px;
	padding: 18px 28px;
	border-radius: var(--r-pill);
	background: var(--saffron);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	color: var(--ink);
	transition: background .25s ease;
}

body a.slo-picker__cta:hover {
	background: var(--saffron-hover);
	color: var(--ink);
}

body a.slo-picker__cta .slo-icon {
	transition: transform .25s var(--ease);
}

body a.slo-picker__cta:hover .slo-icon {
	transform: translateX(5px);
}

/* The picker takes the space beside the sticky "Ask" column. */
.elementor-widget-slo-capability-picker {
	flex: 1 1 0;
	align-self: stretch;
	min-width: 0;
}

@media (max-width: 640px) {
	body a.slo-picker__row {
		padding: 22px 0;
	}

	.slo-picker__go {
		width: 40px;
		height: 40px;
	}

	.slo-picker__row::before {
		display: none;
	}

	body a.slo-picker__cta {
		display: flex;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slo-picker__row::before,
	.slo-picker__q,
	.slo-picker__go,
	body a.slo-picker__cta,
	body a.slo-picker__cta .slo-icon {
		transition: none;
	}
}

/* slo-final-cta */
/* Final CTA widgets: slo-growth-bars and slo-pilot-planner (CF7 form styling). */

/* ---------- Growth bars ("From pilot to scale") ---------- */

.slo-growth {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: clamp(24px, 2.2vw, 32px);
	border-radius: 24px;
	background: var(--forest);
	box-shadow: 0 40px 80px -48px rgba(10, 31, 22, .7);
	font-family: var(--font-sans);
	color: #FFFFFF;
}

.slo-growth::before {
	content: "";
	position: absolute;
	top: -40%;
	right: -30%;
	width: 90%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(127, 205, 182, .22), rgba(127, 205, 182, 0));
	pointer-events: none;
}

.slo-growth__heading {
	position: relative;
	margin: 0 0 clamp(20px, 2vw, 28px);
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lagoon);
}

.slo-growth__steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr));
	gap: clamp(10px, 1vw, 14px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.slo-growth__step {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
}

.slo-growth__track {
	display: flex;
	align-items: flex-end;
	height: clamp(130px, 11vw, 170px);
}

.slo-growth__bar {
	width: 100%;
	height: 26%;
	border-radius: 12px;
	background: rgba(255, 255, 255, .12);
	transform-origin: bottom;
	transition: transform .7s var(--ease) calc(var(--slo-delay, 0ms) + 100ms + var(--b, 0) * var(--motion-step));
}

.slo-growth__step:nth-child(2) .slo-growth__bar {
	height: 46%;
	background: rgba(127, 205, 182, .32);
}

.slo-growth__step:nth-child(3) .slo-growth__bar {
	height: 70%;
	background: var(--canopy);
}

.slo-growth__step:nth-child(4) .slo-growth__bar {
	height: 100%;
}

.slo-growth__step--pay .slo-growth__bar {
	background: var(--saffron);
}

.slo-growth__txt {
	margin: 14px 0 0;
	font-size: 13px;
	line-height: 1.38;
	color: rgba(255, 255, 255, .72);
}

.slo-growth__txt b {
	display: block;
	margin-bottom: 3px;
	font-size: clamp(16px, 1.2vw, 18px);
	line-height: 1.2;
	letter-spacing: -.02em;
	font-weight: 800;
	color: #FFFFFF;
}

.slo-growth__step--pay .slo-growth__txt {
	color: #FFFFFF;
}

.slo-growth__step--pay .slo-growth__txt b {
	color: var(--saffron);
}

/* Columns grow from a stub once the widget's slo-reveal fires. */
.slo-reveal[data-armed]:not(.is-in) .slo-growth__bar {
	transform: scaleY(.08);
}

/* ---------- Pilot planner (CF7) ---------- */

.slo-pf {
	display: block;
	font-family: var(--font-sans);
	color: var(--ink);
}

.slo-pf .wpcf7-form {
	margin: 0;
}

.slo-pf__q {
	min-width: 0;
	margin: 0;
	padding: 0 0 36px;
	border: 0;
}

.slo-pf__q + .slo-pf__q {
	padding-top: 36px;
	border-top: 1px solid var(--line);
}

.slo-pf__legend {
	float: left;
	width: 100%;
	margin: 0 0 18px;
	padding: 0;
	font-size: clamp(20px, 1.8vw, 24px);
	line-height: 1.25;
	letter-spacing: -.02em;
	font-weight: 800;
	color: var(--ink);
}

.slo-pf__legend + * {
	clear: both;
}

.slo-pf__legend small {
	font-size: 15px;
	letter-spacing: 0;
	font-weight: 500;
	color: var(--soft);
}

.slo-pf__hint {
	margin: -8px 0 16px;
	font-size: 14.5px;
	color: var(--soft);
}

/* Chips: CF7 checkbox / radio lists with use_label_element (chip and size groups only). */
.slo-pf .wpcf7-form-control-wrap {
	display: block;
}

.slo-pf__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item {
	position: relative;
	display: inline-flex;
	margin: 0;
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item label {
	position: relative;
	display: inline-flex;
	width: 100%;
	margin: 0;
	cursor: pointer;
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item input {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid #D9D4C7;
	border-radius: var(--r-pill);
	background: var(--surface);
	font-size: 15.5px;
	font-weight: 700;
	color: var(--body);
	transition: background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item-label::before {
	content: "";
	width: 0;
	height: 14px;
	opacity: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: width .25s var(--ease), opacity .25s ease;
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item label:hover .wpcf7-list-item-label {
	border-color: var(--forest);
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item input:checked + .wpcf7-list-item-label {
	border-color: var(--forest);
	background: var(--forest);
	color: #FFFFFF;
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item input:checked + .wpcf7-list-item-label::before {
	width: 14px;
	opacity: 1;
}

.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item input:focus-visible + .wpcf7-list-item-label {
	box-shadow: 0 0 0 3px var(--surface), 0 0 0 6px var(--ember);
}

/* "Other" capability: its text field appears once Other is ticked. */
.slo-pf__field.slo-pf__other {
	display: none;
	max-width: 420px;
	margin-top: 16px;
}

.slo-pf__q:has(input[value="Other"]:checked) .slo-pf__other {
	display: flex;
}

/* Team size: segmented tiles, the last one a dashed "recommend" option. */
.slo-pf__size {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 2fr);
	gap: 10px;
}

.slo-pf .slo-pf__size .wpcf7-list-item-label {
	justify-content: center;
	width: 100%;
	min-height: 56px;
	border-radius: 14px;
}

.slo-pf .slo-pf__size .wpcf7-list-item.last .wpcf7-list-item-label {
	border-style: dashed;
	border-color: #D8B65A;
	background: var(--accent-tint);
	color: var(--ink);
}

.slo-pf .slo-pf__size .wpcf7-list-item.last .wpcf7-list-item-label::before {
	display: none;
}

.slo-pf .slo-pf__size .wpcf7-list-item.last input:checked + .wpcf7-list-item-label {
	border-style: solid;
	border-color: var(--saffron);
	background: var(--saffron);
	color: var(--ink);
}

/* Fields */
.slo-pf__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.slo-pf__field--narrow {
	max-width: 420px;
}

.slo-pf__field label {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--body);
}

.slo-pf__field label small {
	font-size: inherit;
	font-weight: 500;
	color: var(--soft);
}

.slo-pf .slo-pf__in {
	width: 100%;
	min-height: 56px;
	box-sizing: border-box;
	margin: 0;
	padding: 15px 18px;
	border: 1px solid #D9D4C7;
	border-radius: 14px;
	background: var(--surface);
	font: inherit;
	font-size: 16px;
	line-height: 1.4;
	color: var(--ink);
	transition: border-color .25s ease, box-shadow .25s ease;
	-webkit-appearance: none;
	appearance: none;
}

.slo-pf .slo-pf__in::placeholder {
	color: #97A39D;
	opacity: 1;
}

.slo-pf textarea.slo-pf__in {
	height: 132px; /* CF7 prints rows="10". */
	min-height: 132px;
	resize: vertical;
	line-height: 1.55;
}

.slo-pf select.slo-pf__in {
	padding-right: 48px;
	background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%230E4D33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 18px center / 16px no-repeat;
	cursor: pointer;
}

.slo-pf .slo-pf__in:hover {
	border-color: #BDB6A6;
}

.slo-pf .slo-pf__in:focus {
	border-color: var(--forest);
	outline: none;
	box-shadow: 0 0 0 4px rgba(14, 77, 51, .12);
}

.slo-pf .slo-pf__in.wpcf7-not-valid {
	border-color: #B4471A;
	box-shadow: 0 0 0 4px rgba(180, 71, 26, .1);
}

.slo-pf .wpcf7-not-valid-tip {
	display: block;
	margin: 8px 0 0;
	font-size: 13.5px;
	font-weight: 600;
	color: #B4471A;
}

.slo-pf__contact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

/* Privacy consent (CF7 acceptance): a square checkbox and its label. */
.slo-pf__consent {
	margin-top: 4px;
}

.slo-pf__consent .wpcf7-list-item {
	margin: 0;
}

.slo-pf__consent label {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--body);
	cursor: pointer;
}

.slo-pf__consent input {
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.slo-pf__consent .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	border: 1.5px solid #BDB6A6;
	border-radius: 7px;
	background: var(--surface) center / 14px no-repeat;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.slo-pf__consent .wpcf7-list-item-label {
	position: relative;
	display: block;
	padding-left: 36px;
}

.slo-pf__consent label:hover .wpcf7-list-item-label::before {
	border-color: var(--forest);
}

.slo-pf__consent input:checked + .wpcf7-list-item-label::before {
	border-color: var(--forest);
	background-color: var(--forest);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.slo-pf__consent input:focus-visible + .wpcf7-list-item-label::before {
	box-shadow: 0 0 0 3px var(--surface), 0 0 0 6px var(--ember);
}

.slo-pf__consent .wpcf7-not-valid .wpcf7-list-item-label::before {
	border-color: #B4471A;
}

body .slo-pf__consent a {
	display: inline; /* The parent theme makes links inline-block. */
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--forest);
}

body .slo-pf__consent a:hover {
	color: var(--ink);
}

/* Submit */
/* Cloudflare Turnstile ([turnstile]); empty until CF7's integration has keys. */
.slo-pf__captcha {
	max-width: 400px;
	margin-top: 24px;
}

.slo-pf__captcha:empty {
	display: none;
}

.slo-pf__submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: 28px;
}

.slo-pf .slo-pf__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 60px;
	padding: 0 30px;
	border: 0;
	border-radius: 14px;
	background: var(--forest);
	font: inherit;
	font-size: 17px;
	font-weight: 800;
	color: #FFFFFF;
	cursor: pointer;
	transition: background .25s ease;
}

/* Arrow drawn in CSS: CF7 strips <svg> from saved form markup. */
.slo-pf .slo-pf__btn::after {
	content: "";
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .25s var(--ease);
}

.slo-pf .slo-pf__btn:hover {
	background: var(--ink);
	color: #FFFFFF;
}

.slo-pf .slo-pf__btn:hover::after {
	transform: translateX(4px);
}

.slo-pf .slo-pf__btn:focus-visible {
	outline: 3px solid var(--ember);
	outline-offset: 3px;
}

.slo-pf .slo-pf__btn:disabled {
	cursor: progress;
	opacity: .7;
}

.slo-pf__submit p {
	max-width: 300px;
	margin: 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--soft);
}

.slo-pf .wpcf7-spinner {
	margin: 0;
}

/* CF7's response line, placed at the top of the form ([response]). */
.slo-pf .wpcf7 form .wpcf7-response-output {
	margin: 0 0 24px;
	padding: 14px 18px;
	border: 0;
	border-radius: 12px;
	background: var(--mint-tint);
	font-size: 14.5px;
	font-weight: 700;
	color: var(--forest);
}

.slo-pf .wpcf7 form.init .wpcf7-response-output,
.slo-pf .wpcf7 form.resetting .wpcf7-response-output,
.slo-pf .wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.slo-pf .wpcf7 form:is(.invalid, .unaccepted, .payment-required, .failed, .aborted, .spam) .wpcf7-response-output {
	background: #FBEDE6;
	color: #B4471A;
}

/* Confirmation */
.slo-pf__done {
	padding: clamp(28px, 3vw, 44px);
	border-radius: 24px;
	background: var(--mint-tint);
}

.slo-pf__done[hidden] {
	display: none;
}

.slo-pf__done-icon {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: var(--forest);
	color: #FFFFFF;
}

.slo-pf__done-title {
	margin: 24px 0 0;
	outline: none;
	font-size: clamp(26px, 2.4vw, 34px);
	line-height: 1.15;
	letter-spacing: -.03em;
	font-weight: 800;
	color: var(--ink);
}

.slo-pf__done-text {
	max-width: 560px;
	margin: 12px 0 0;
	font-size: 17px;
	line-height: 1.55;
	color: var(--muted);
}

.slo-pf__summary {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.slo-pf__summary:empty {
	display: none;
}

.slo-pf__summary li {
	margin: 0;
	padding: 8px 14px;
	border: 1px solid var(--line);
	border-radius: var(--r-pill);
	background: var(--surface);
	font-size: 14px;
	font-weight: 700;
	color: var(--body);
}

.slo-pf .slo-pf__edit {
	margin-top: 24px;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
	color: var(--forest);
	cursor: pointer;
}

.slo-pf .slo-pf__edit:hover {
	background: none;
	color: var(--ink);
}

/* Both widgets take the space beside their side column, or the full row once stacked. */
.elementor-widget-slo-growth-bars,
.elementor-widget-slo-pilot-planner {
	flex: 1 1 0;
	align-self: stretch;
	min-width: 0;
}

@media (min-width: 1025px) {
	.elementor-widget-slo-growth-bars {
		align-self: center;
	}
}

@media (max-width: 1024px) {
	.slo-pf__size {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.slo-pf .slo-pf__size .wpcf7-list-item.last {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.slo-pf .slo-pf__chips .wpcf7-list-item {
		flex: 1 1 calc(50% - 5px);
	}

	.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item-label {
		justify-content: center;
		width: 100%;
		padding: 0 12px;
		font-size: 14.5px;
		text-align: center;
	}

	.slo-pf__contact {
		grid-template-columns: 1fr;
	}

	.slo-pf .slo-pf__btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.slo-growth__bar,
	.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item-label,
	.slo-pf :is(.slo-pf__chips, .slo-pf__size) .wpcf7-list-item-label::before,
	.slo-pf .slo-pf__in,
	.slo-pf .slo-pf__btn,
	.slo-pf .slo-pf__btn::after {
		transition: none;
	}
}

