/* Native Elementor images preserve the original brand artwork in a ruled band. */
.sj-home-page .sj-home-credentials.e-con {
	display: grid;
	grid-template-columns: var(--sj-grid-six);
	align-items: stretch;
	gap: 0;
	width: 100%;
	border-top: 1px solid var(--sj-home-line);
	background: var(--color-surface);
}
.sj-home-page .sj-home-credentials .sj-home-credential {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 132px;
	padding: 28px 24px;
}
.sj-home-page .sj-home-credentials .sj-home-credential + .sj-home-credential { border-left: 1px solid var(--sj-home-line); }
.sj-home-page .sj-home-credentials .sj-home-credential:nth-child(odd) { grid-column: span 1; }
.sj-home-page .sj-home-credentials .sj-home-credential:nth-child(even) { grid-column: span 2; }
.sj-home-page .sj-home-credential .elementor-widget-container {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.sj-home-page .sj-home-credential img {
	display: block;
	width: auto;
	max-width: min(100%, 240px);
	height: auto;
	max-height: 56px;
	object-fit: contain;
}

/* Without JavaScript, or while editing, the native quote grid stays intact. */
.sj-home-page .sj-home-quotes[data-sj-carousel-enhanced].e-con {
	display: grid;
	grid-template-columns: var(--sj-grid-six);
	gap: 0;
	touch-action: pan-y pinch-zoom;
}
.sj-home-quotes[data-sj-carousel-enhanced] > [hidden],
.sj-testimonials-controls[hidden],
.sj-testimonials-control[hidden] { display: none !important; }
.sj-home-page .sj-home-quotes[data-sj-carousel-enhanced] > .sj-home-quote.e-con {
	grid-column: span 3;
	gap: 0;
	min-height: 240px;
	padding-block: 40px;
	border: 0;
}
.sj-home-page .sj-home-quotes[data-sj-carousel-visible="1"] > .sj-home-quote.e-con { grid-column: 1 / -1; }
@media (min-width: 768px) {
	.sj-home-page .sj-home-quotes[data-sj-carousel-visible="2"] > .sj-home-quote:not([hidden]) + .sj-home-quote:not([hidden]) {
		border-left: 1px solid var(--sj-home-line);
	}
}
.sj-home-page .sj-home-quotes[data-sj-carousel-enhanced] .sj-home-quote-text { max-width: 58ch; margin-bottom: 24px; }
.sj-home-page .sj-home-quotes[data-sj-carousel-enhanced] .sj-home-quote-role { margin-top: 6px; }

/* Native image widgets can be replaced with real profile photos in Elementor. */
.sj-home-page .sj-home-section .sj-home-quote-text { flex: 1 1 auto; }
.sj-home-page .sj-home-section .sj-home-quote-person.e-con {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	align-items: center;
	column-gap: 16px;
	row-gap: 4px;
	width: 100%;
	min-height: 72px;
	margin-top: auto;
	padding: 0;
}
.sj-home-page .sj-home-section .sj-home-quote-person > .sj-home-quote-avatar {
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 72px;
	height: 72px;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--sj-home-line);
}
.sj-home-page .sj-home-quote-avatar .elementor-widget-container { width: 100%; height: 100%; }
.sj-home-page .sj-home-quote-avatar img {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	height: 100%;
	border: 0;
	border-radius: 0;
	object-fit: cover;
}
/* Frame the supplied originals without changing the Media Library photos. */
.sj-home-page .sj-home-quote-avatar--ryan img { transform: scale(4.1); transform-origin: 53% 29%; }
.sj-home-page .sj-home-quote-avatar--claire img { transform: scale(2.6); transform-origin: 51% 0; }
.sj-home-page .sj-home-quote-avatar--oscar img { object-position: center top; transform: scale(2.85); transform-origin: 87% 14%; }
.sj-home-page .sj-home-quote-avatar--logo { background: var(--color-white); }
.sj-home-page .sj-home-quote-avatar--logo img { padding: 4px; object-fit: contain; object-position: center; transform: none; }
/* Logos keep their native contained image, with the shared photo offset outside it. */
.sj-home-page .sj-home-quote-avatar--logo:not(:has(.sj-photo-frame)) {
	--sj-pixel-pattern: repeating-conic-gradient(var(--sj-pixel-ink) 0% 25%, transparent 0% 50%);
	position: relative;
	isolation: isolate;
}
.sj-home-page .sj-home-quote-avatar--logo:not(:has(.sj-photo-frame))::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: var(--sj-pixel-shadow-size) calc(-1 * var(--sj-pixel-shadow-size)) calc(-1 * var(--sj-pixel-shadow-size)) var(--sj-pixel-shadow-size);
	background-image: var(--sj-pixel-pattern);
	background-size: var(--sj-pixel-pattern-size);
	clip-path: polygon(calc(100% - var(--sj-pixel-shadow-size)) 0, 100% 0, 100% 100%, 0 100%, 0 calc(100% - var(--sj-pixel-shadow-size)), calc(100% - var(--sj-pixel-shadow-size)) calc(100% - var(--sj-pixel-shadow-size)));
	pointer-events: none;
}
.sj-home-page .sj-home-section .sj-home-quote-person > .sj-home-quote-name {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	min-width: 0;
}
.sj-home-page .sj-home-section .sj-home-quote-person > .sj-home-quote-role {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	min-width: 0;
	margin: 0;
}
.sj-home-page .sj-home-section .sj-home-quote-person--organisation > .sj-home-quote-name { grid-row: 1 / span 2; align-self: center; }

.sj-testimonials-controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	min-height: 60px;
	padding: 6px var(--sj-cell-pad);
	border-top: 1px solid var(--sj-home-line);
}
body .sj-testimonials-controls button.sj-testimonials-control,
body .sj-testimonials-controls button.sj-testimonials-control:is(:hover, :focus, :focus-visible, :active) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--color-navy);
	box-shadow: none;
	transform: none;
}
body .sj-testimonials-controls button.sj-testimonials-control:is(:hover, :active) {
	background: color-mix(in srgb, var(--color-navy) 7%, var(--color-offwhite));
}
body .sj-testimonials-controls button.sj-testimonials-control:focus-visible {
	outline: 2px solid var(--color-navy);
	outline-offset: 1px;
}
.sj-testimonials-position {
	order: -1;
	margin-right: auto;
	padding-right: 16px;
	color: var(--color-navy);
	font-family: var(--font-body);
	font-size: 12px;
	line-height: 1.5;
}
.sj-testimonials-status {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
@media (max-width: 1000px) {
	.sj-home-page .sj-home-credentials .sj-home-credential:nth-child(n) { grid-column: span 3; }
	.sj-home-page .sj-home-credentials .sj-home-credential:nth-child(odd) { border-left: 0; }
	.sj-home-page .sj-home-credentials .sj-home-credential:nth-child(n + 3) { border-top: 1px solid var(--sj-home-line); }
}
@media (max-width: 767px) {
	.sj-home-page .sj-home-credentials .sj-home-credential { min-height: 112px; padding: 24px 16px; }
	.sj-home-page .sj-home-quotes[data-sj-carousel-enhanced] > .sj-home-quote.e-con { grid-column: 1 / -1; min-height: 240px; padding-block: 24px; border: 0; }
	.sj-home-page .sj-home-section .sj-home-quote-person.e-con { column-gap: 12px; }
}
@media (max-width: 380px) {
	.sj-home-page .sj-home-section .sj-home-quote-person.e-con { grid-template-columns: 56px minmax(0, 1fr); min-height: 56px; }
	.sj-home-page .sj-home-section .sj-home-quote-person > .sj-home-quote-avatar { width: 56px; height: 56px; }
}
/* Two original cards on desktop/tablet, one on mobile; advance one card per slide. */
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced].e-con {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	height: var(--sj-quote-height, auto);
	overflow: hidden;
}
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced] > .sj-home-quote.e-con {
	grid-column: 1 / -1;
	min-width: 0;
	width: 100%;
}
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced][data-sj-carousel-visible="2"].e-con {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 64px;
}
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced][data-sj-carousel-visible="2"] > .sj-home-quote.e-con { grid-column: auto; }
@media (min-width: 768px) and (max-width: 1100px) {
	.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced][data-sj-carousel-visible="2"].e-con { column-gap: 40px; }
}
/* A synchronous, non-painted measurement keeps height steady across all quotes. */
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced].is-measuring.e-con {
	height: auto;
	visibility: hidden;
}
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced].is-measuring > .sj-home-quote.e-con {
	display: flex !important;
	grid-column: 1;
	grid-row: 1;
}
.sj-home-quotes[data-sj-carousel-draggable="true"] { cursor: grab; }
.sj-home-quotes.is-pointer-down { user-select: none; -webkit-user-select: none; }
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced]:is(.is-dragging, .is-snapping).e-con {
	grid-template-columns: none;
	grid-auto-flow: column;
	grid-auto-columns: var(--sj-quote-width);
	height: var(--sj-quote-height);
	overflow: hidden;
	cursor: grabbing;
}
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced]:is(.is-dragging, .is-snapping) > .sj-home-quote.e-con {
	grid-column: auto;
	transform: translateX(var(--sj-quote-offset, 0px));
	animation: none;
}
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced].is-dragging > .sj-home-quote.e-con { transition: none; }
.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced].is-snapping > .sj-home-quote.e-con { transition: transform 220ms var(--ease-standard); }
@media (prefers-reduced-motion: reduce) {
	.elementor .sj-home-page.sj-home-calm .sj-home-section .sj-home-quotes[data-sj-carousel-enhanced].is-snapping > .sj-home-quote.e-con { transition: none; }
}

/* Keep the carousel inside the same connected, edge-to-edge grid as the site. */
.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-section-inner.e-con {
	padding: 0;
	gap: 0;
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-section-heading.e-con {
	gap: 0;
	padding: 48px var(--sj-calm-pad);
	border-bottom: 1px solid var(--sj-home-line);
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quotes.e-con {
	position: relative;
	gap: 0;
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quotes[data-sj-carousel-visible="2"].e-con {
	column-gap: 0;
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quotes > .sj-home-quote.e-con {
	position: relative;
	padding: 40px var(--sj-calm-pad);
	border: 0;
}
/* Each panel carries its edge with its quote; the viewport clips outer edges. */
.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quotes[data-sj-carousel-enhanced] > .sj-home-quote::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -1px;
	width: 1px;
	background: var(--sj-home-line);
	pointer-events: none;
	z-index: 2;
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quote-text {
	font-size: clamp(22px, 2.1vw, 28px);
	line-height: 1.45;
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof .sj-home-quote-mark {
	display: block;
	width: 32px;
	height: 32px;
	margin-bottom: 16px;
	color: var(--color-forest);
	font-size: 32px;
	line-height: 1;
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-testimonials-controls {
	position: relative;
	width: 100%;
	gap: 0;
	min-height: 65px;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--sj-home-line);
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof .sj-testimonials-status {
	left: 0;
	top: 0;
	margin: 0;
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof .sj-testimonials-position {
	display: flex;
	align-items: center;
	align-self: stretch;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 12px var(--sj-calm-pad);
}
.elementor .sj-home-page.sj-home-calm .sj-home-proof .sj-testimonials-controls button.sj-testimonials-control {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	min-height: 64px;
	margin: 0;
	border-left: 1px solid var(--sj-home-line);
}
@media (min-width: 768px) {
	/* The unenhanced/editor grid has normal shared cell borders instead. */
	.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quotes:not([data-sj-carousel-enhanced]) > .sj-home-quote:nth-child(even) { border-left: 1px solid var(--sj-home-line); }
	.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quotes:not([data-sj-carousel-enhanced]) > .sj-home-quote:nth-child(n + 3) { border-top: 1px solid var(--sj-home-line); }
}
@media (max-width: 767px) {
	.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-section-heading.e-con { padding: 32px 20px; }
	.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quotes > .sj-home-quote.e-con { padding: 28px 20px; }
	.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quote-text { font-size: 24px; }
	.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-home-quotes:not([data-sj-carousel-enhanced]) > .sj-home-quote + .sj-home-quote { border-top: 1px solid var(--sj-home-line); }
	.elementor .sj-home-page.sj-home-calm .sj-home-proof.sj-home-section .sj-testimonials-controls { min-height: 57px; }
	.elementor .sj-home-page.sj-home-calm .sj-home-proof .sj-testimonials-position { padding-inline: 20px; }
	.elementor .sj-home-page.sj-home-calm .sj-home-proof .sj-testimonials-controls button.sj-testimonials-control { flex-basis: 56px; width: 56px; height: 56px; min-height: 56px; }
}
