/* SJ: exposed rails, shared cell edges, editorial type and physical citrus actions.
   Visible content stays in Elementor; this file defines the shared composition. */

.sj-header {
	box-shadow: inset 0 -1px 0 var(--sj-rule-on-dark);
}
.sj-header-inner {
	width: min(calc(100% - var(--sj-site-gutter) * 2), var(--sj-site-width));
	border-inline: 1px solid var(--sj-rule-on-dark);
}
.sj-header-brand { padding-left: var(--sj-cell-pad); }
.sj-header-actions { padding-right: var(--sj-cell-pad); }
.sj-header-middle {
	align-self: stretch;
	border-inline: 1px solid var(--sj-rule-on-dark);
}
.sj-header-search-form input[type="search"],
.sj-header-search button.sj-header-search-submit { border-radius: 0; }

/* Heroes open the grid: content reaches its outer edge without vertical rails. */
.elementor .sj-home-hero.e-con,
.elementor .sj-pricing-hero.e-con,
.sj-page-hero {
	position: relative;
	padding-inline: max(var(--sj-site-gutter), calc((100% - var(--sj-site-width)) / 2));
	border-bottom: 1px solid var(--sj-rule-on-dark);
}
.elementor .sj-home-hero.e-con::before,
.elementor .sj-pricing-hero.e-con::before,
.sj-page-hero::before {
	border: 0;
	content: none;
}
.elementor .sj-home-hero.e-con { padding-block: 40px 48px; }
.sj-home-title .elementor-heading-title { font-size: clamp(40px, 4.8vw, 70px); }
.sj-home-hero .sj-game { border-color: var(--sj-rule-on-dark); box-shadow: none; }

/* A shared 2px dither keeps offset depth and interactive accents visibly pixelated. */
:root {
	--sj-pixel-ink: color-mix(in srgb, var(--color-navy) 65%, transparent);
	--sj-pixel-pattern: repeating-conic-gradient(var(--sj-pixel-ink) 0% 25%, transparent 0% 50%);
	--sj-pixel-pattern-size: 4px 4px;
	--sj-pixel-shadow-size: 8px;
}
:where(.sj-dark-section, .sj-home-surface, .sj-header, .sj-footer) {
	--sj-pixel-ink: color-mix(in srgb, var(--color-offwhite) 38%, transparent);
}
:where(.sj-light-section) { --sj-pixel-ink: color-mix(in srgb, var(--color-navy) 65%, transparent); }
.sj-pixel-shadow,
.sj-game {
	--sj-pixel-pattern: repeating-conic-gradient(var(--sj-pixel-ink) 0% 25%, transparent 0% 50%);
	position: relative;
	isolation: isolate;
}
.sj-pixel-shadow::after,
.sj-game::after,
.sj-primary-menu .sub-menu::after {
	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);
	width: auto;
	height: auto;
	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;
	content: '';
}
.sj-primary-menu .sub-menu {
	--sj-pixel-ink: color-mix(in srgb, var(--color-navy) 20%, transparent);
	--sj-pixel-pattern: repeating-conic-gradient(var(--sj-pixel-ink) 0% 25%, transparent 0% 50%);
	isolation: isolate;
	box-shadow: none;
}
.sj-primary-menu .sub-menu::after { display: none; }
@media (min-width: 67.5001rem) {
	.sj-primary-menu .sub-menu::after { display: block; }
}

/* All section frames share the same rails and use single internal rules. */
.sj-home-page .sj-home-section {
	--sj-home-line: var(--sj-rule-ink);
	border-bottom: 1px solid var(--sj-home-line);
}
.sj-home-page .sj-home-section.sj-dark-section { --sj-home-line: var(--sj-rule-on-dark); }
/* The footer owns the shared boundary; adjacent borders never accumulate. */
.sj-home-page .sj-home-next { border-bottom: 0; }
.sj-home-page .sj-home-section .sj-home-section-inner.e-con {
	width: min(calc(100% - var(--sj-site-gutter) * 2), var(--sj-site-width));
	gap: 0;
	padding: 0;
	border-inline: 1px solid var(--sj-home-line);
}
.sj-home-page .sj-home-section .sj-home-section-label {
	width: 100%;
	padding: 14px var(--sj-cell-pad);
	border-bottom: 1px solid var(--sj-home-line);
}
.sj-home-page .sj-home-section-label .elementor-heading-title {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.sj-home-page .sj-home-section .sj-home-section-heading.e-con {
	gap: 0;
	align-items: stretch;
	border-bottom: 1px solid var(--sj-home-line);
}
.sj-home-page .sj-home-section-heading > .elementor-widget {
	display: flex;
	align-items: center;
	max-width: none;
	padding: 36px var(--sj-cell-pad);
}
.sj-home-page .sj-home-section-heading > .elementor-widget + .elementor-widget { border-left: 1px solid var(--sj-home-line); }
:where(.sj-home-page .sj-home-section) .sj-home-section-title .elementor-heading-title {
	font-size: clamp(34px, 3.4vw, 50px);
	font-weight: 600;
	line-height: 1.08;
}
.sj-home-page .sj-home-story-grid.e-con {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	align-items: stretch;
	gap: 0;
}
.sj-home-page .sj-home-story-heading.e-con {
	justify-content: space-between;
	gap: 32px;
	padding: 40px var(--sj-cell-pad);
	background-color: var(--color-yellow);
	background-image: var(--sj-citrus-material);
	background-size: var(--sj-citrus-background-size);
	background-repeat: var(--sj-citrus-background-repeat);
	background-blend-mode: var(--sj-citrus-background-blend);
	color: var(--color-navy);
}
.sj-home-page .sj-home-story-heading .sj-home-kicker .elementor-heading-title { color: var(--color-navy); }
.sj-home-page .sj-home-story-heading .sj-home-section-title { max-width: 100%; }
:where(.sj-home-page) .sj-home-story-heading .sj-home-section-title .elementor-heading-title {
	font-size: clamp(48px, 5.6vw, 82px);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: .99;
	text-wrap: initial;
}
.sj-home-page .sj-home-story-copy {
	max-width: none;
	padding: 40px;
	border-left: 1px solid var(--sj-home-line);
}
.sj-home-page .sj-home-section .sj-home-story-copy { font-size: var(--font-size-body); line-height: 1.85; }
.sj-home-page :is(.sj-home-checks, .sj-home-service-grid, .sj-home-process-grid, .sj-home-quotes).e-con {
	gap: 0;
	align-items: stretch;
}
.sj-home-page :is(.sj-home-check, .sj-home-service, .sj-home-step, .sj-home-quote).e-con {
	gap: 20px;
	padding: 32px var(--sj-cell-pad);
	border: 0;
	background: transparent;
}
.sj-home-page :is(.sj-home-check, .sj-home-step).e-con + .e-con,
.sj-home-page .sj-home-quote.e-con + .e-con { border-left: 1px solid var(--sj-home-line); }
.sj-home-page .sj-home-service.e-con:not(:nth-child(3n + 1)) { border-left: 1px solid var(--sj-home-line); }
.sj-home-page .sj-home-service.e-con:nth-child(n + 4) { border-top: 1px solid var(--sj-home-line); }
.sj-home-page :is(.sj-home-service.e-con, .sj-home-credential) {
	position: relative;
	--sj-pixel-ink: var(--color-lime);
	--sj-pixel-pattern: repeating-conic-gradient(var(--sj-pixel-ink) 0% 25%, transparent 0% 50%);
	transition: background-color var(--duration-short) var(--ease-standard);
}
.sj-home-page :is(.sj-home-service.e-con, .sj-home-credential):is(:hover, :focus-within) {
	z-index: 2;
	background: var(--color-white);
	box-shadow: none;
}
.sj-home-page :is(.sj-home-service.e-con, .sj-home-credential)::before {
	position: absolute;
	z-index: 1;
	inset: auto 0 0;
	width: auto;
	height: 4px;
	background-image: var(--sj-pixel-pattern);
	background-size: var(--sj-pixel-pattern-size);
	opacity: 1;
	clip-path: inset(0 100% 0 0);
	transition: clip-path var(--duration-short) steps(12, end);
	pointer-events: none;
	content: '';
}
.sj-home-page :is(.sj-home-service.e-con, .sj-home-credential):is(:hover, :focus-within)::before { clip-path: inset(0); }
.sj-home-page :is(.sj-home-service.e-con, .sj-home-credential):focus-within { outline: 2px solid var(--color-navy); outline-offset: -5px; }
.sj-home-page .sj-home-step-number .elementor-heading-title {
	font-size: 32px;
	font-weight: 400;
	line-height: 1.2;
}
.sj-home-page :is(.sj-home-process, .sj-home-proof).sj-light-section { background: var(--color-surface); }
.sj-home-page .sj-home-about-grid.e-con { align-items: stretch; gap: 0; }
.sj-home-page .sj-home-about-image.e-con { gap: 16px; padding: var(--sj-cell-pad); }
.sj-home-page .sj-home-about-copy.e-con {
	justify-content: center;
	padding: 40px;
	border-left: 1px solid var(--sj-home-line);
}
.sj-home-page .sj-home-quotes.e-con { gap: 0; }
.sj-home-page .sj-home-section .sj-home-quote-text {
	font-family: var(--font-heading);
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.02em;
}
.sj-home-page .sj-home-section .sj-home-quote-role { margin-top: -12px; }
.sj-home-page .sj-home-proof .sj-home-section-inner > .sj-home-cta {
	align-self: stretch;
	width: 100%;
	padding: 24px var(--sj-cell-pad) 28px;
	border-top: 1px solid var(--sj-home-line);
}
.sj-home-page .sj-home-next-grid.e-con { align-items: stretch; gap: 0; }
.sj-home-page .sj-home-next-grid > .e-con { padding: 40px var(--sj-cell-pad); }
.sj-home-page .sj-home-next-grid > .e-con + .e-con { border-left: 1px solid var(--sj-home-line); }
:where(.sj-home-page) .sj-home-next .sj-home-section-title .elementor-heading-title { font-size: clamp(40px, 4.5vw, 64px); }
.sj-home-page .sj-home-home-rates .sj-home-rate .elementor-heading-title { font-size: clamp(28px, 2.5vw, 36px); }
.sj-home-page .sj-home-next-grid > .sj-home-home-rates.e-con { padding-inline: 0; }
.sj-home-page .sj-home-home-rates .sj-home-rate {
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
	padding-inline: var(--sj-cell-pad);
}
.sj-home-page .sj-home-home-rates :is(.sj-home-rate-note, .sj-home-next-actions) { padding-inline: var(--sj-cell-pad); }

/* The rate table, retainer band and working principles use the same cell system. */
.elementor .sj-pricing-page.e-con { --sj-pricing-line: var(--sj-rule-ink); }
.elementor .sj-pricing-body.e-con {
	width: min(calc(100% - var(--sj-site-gutter) * 2), var(--sj-site-width));
	gap: 0;
	padding: 0;
	border-inline: 1px solid var(--sj-pricing-line);
}
.elementor .sj-pricing-section-heading.e-con { gap: 0; align-items: stretch; margin-bottom: 0; }
.sj-pricing-section-heading > .elementor-widget { max-width: none; padding: 32px var(--sj-cell-pad); }
.sj-pricing-section-heading > .elementor-widget + .elementor-widget { border-left: 1px solid var(--sj-pricing-line); }
.elementor :is(.sj-pricing-rates, .sj-pricing-principles).e-con { gap: 0; }
.elementor :is(.sj-pricing-rate, .sj-pricing-principle).e-con {
	padding: 32px var(--sj-cell-pad);
	border: 0;
	border-top: 1px solid var(--sj-pricing-line);
	background: transparent;
}
.elementor :is(.sj-pricing-rate, .sj-pricing-principle).e-con + .e-con { border-left: 1px solid var(--sj-pricing-line); }
.sj-pricing-page .sj-pricing-note {
	margin-top: 0 !important;
	padding: 18px var(--sj-cell-pad);
	border-top: 1px solid var(--sj-pricing-line);
}
.elementor .sj-pricing-retainer.e-con {
	gap: 0;
	padding: 0;
	border: 0;
	border-block: 1px solid var(--sj-pricing-line);
	background: transparent;
}
.elementor .sj-pricing-retainer-copy.e-con { padding: 40px var(--sj-cell-pad); }
.elementor .sj-pricing-retainer-figure.e-con {
	padding: 40px var(--sj-cell-pad);
	background-color: var(--color-yellow);
	background-image: var(--sj-citrus-material);
	background-size: var(--sj-citrus-background-size);
	background-repeat: var(--sj-citrus-background-repeat);
	background-blend-mode: var(--sj-citrus-background-blend);
	color: var(--color-navy);
}
.sj-pricing-retainer-figure :is(.sj-pricing-label, .sj-pricing-unit) .elementor-heading-title,
.sj-pricing-retainer-figure .sj-pricing-retainer-basis { color: var(--color-navy); }
.elementor .sj-pricing-working.e-con { gap: 0; }
.elementor .sj-pricing-faq.e-con { align-items: stretch; gap: 0; padding-top: 0; }
.elementor .sj-pricing-faq-intro.e-con { padding: 36px var(--sj-cell-pad); }
.elementor .sj-pricing-faq-list.e-con { border-left: 1px solid var(--sj-pricing-line); }
.elementor .sj-pricing-faq-item.e-con,
.elementor .sj-pricing-faq-item.e-con:first-child { padding: 28px var(--sj-cell-pad); }
.elementor .sj-pricing-faq-item.e-con:last-child { border-bottom: 0; }
.elementor .sj-pricing-contact.e-con { padding: 36px var(--sj-cell-pad) 40px; }

/* Native pages and the shared footer continue the same vertical rails. */
.sj-page-body {
	position: relative;
	padding-inline: max(calc(var(--sj-site-gutter) + var(--sj-cell-pad)), calc((100% - var(--sj-site-width)) / 2 + var(--sj-cell-pad)));
}
.sj-page-body::before {
	position: absolute;
	inset: 0 max(var(--sj-site-gutter), calc((100% - var(--sj-site-width)) / 2));
	border-inline: 1px solid var(--sj-rule-ink);
	pointer-events: none;
	content: '';
}
.sj-footer { --sj-footer-rule: var(--sj-rule-on-dark); }
.sj-footer-inner {
	width: min(calc(100% - var(--sj-site-gutter) * 2), var(--sj-site-width));
}
.sj-footer-grid { gap: 0; padding: 0; border-inline: 1px solid var(--sj-footer-rule); }
.sj-footer-grid > * {
	--sj-footer-column-pad: var(--sj-footer-content-pad);
	min-width: 0;
	padding: 36px var(--sj-footer-column-pad);
}
.sj-footer-grid > * + * { border-left: 1px solid var(--sj-footer-rule); }
.sj-footer .sj-footer-heading {
	margin-inline: calc(-1 * var(--sj-footer-column-pad));
	padding-inline: var(--sj-footer-column-pad);
}
.sj-footer-bottom { padding: 20px calc(var(--sj-footer-content-pad) + 1px); }

@media (max-width: 1200px) {
	.sj-header-brand { padding-left: 16px; }
	.sj-header-actions { padding-right: 16px; gap: 8px; }
}
@media (max-width: 1080px) {
	.sj-header-brand, .sj-header-actions { padding-inline: 0; }
	.sj-header-inner { padding-inline: 16px; }
	.sj-header-middle { border-inline: 0; }
}
@media (max-width: 1000px) {
	.sj-home-page :is(.sj-home-check, .sj-home-service, .sj-home-step).e-con { border: 0; }
	.sj-home-page :is(.sj-home-check, .sj-home-service, .sj-home-step).e-con:nth-child(even) { border-left: 1px solid var(--sj-home-line); }
	.sj-home-page :is(.sj-home-check, .sj-home-service, .sj-home-step).e-con:nth-child(n + 3) { border-top: 1px solid var(--sj-home-line); }
	.sj-home-page .sj-home-story-grid.e-con { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
	.sj-home-page :is(.sj-home-story-copy, .sj-home-about-copy).e-con,
	.sj-home-page .sj-home-story-copy { padding: 32px var(--sj-cell-pad); }
}
@media (max-width: 1023px) {
	.sj-footer-grid > * { border-left: 0; }
	.sj-footer-grid > .sj-footer-brand { border-bottom: 1px solid var(--sj-footer-rule); }
	.sj-footer-grid > :nth-child(n + 3) { border-left: 1px solid var(--sj-footer-rule); }
}
@media (max-width: 767px) {
	:root { --sj-site-gutter: 16px; --sj-cell-pad: 24px; }
	.sj-header-inner { padding-inline: 0; border-inline: 0; }
	.elementor .sj-home-hero.e-con { padding: 28px 16px 32px; }
	.sj-home-title .elementor-heading-title { font-size: clamp(28px, 8.5vw, 50px); }
	.elementor .sj-home-hero.e-con::before { border: 0; }
	.elementor .sj-pricing-hero.e-con,
	.sj-page-hero { padding-block: 28px 36px; }
	.elementor .sj-home-intro.e-con { margin-bottom: 28px; }
	.sj-home-page .sj-home-section .sj-home-section-heading.e-con { gap: 0; }
	.sj-home-page .sj-home-section-heading > .elementor-widget { padding: 28px var(--sj-cell-pad); }
	.sj-home-page .sj-home-section-heading > .elementor-widget + .elementor-widget { padding-top: 0; border-left: 0; }
	:where(.sj-home-page .sj-home-section) .sj-home-section-title .elementor-heading-title { font-size: clamp(30px, 7.5vw, 40px); }
	.sj-home-page :is(.sj-home-story-grid, .sj-home-about-grid, .sj-home-next-grid).e-con { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.sj-home-page .sj-home-story-heading.e-con { padding: 32px var(--sj-cell-pad); }
	:where(.sj-home-page) .sj-home-story-heading .sj-home-section-title .elementor-heading-title { font-size: clamp(44px, 11vw, 76px); }
	.sj-home-page .sj-home-section .sj-home-story-copy { padding: 28px var(--sj-cell-pad); border-left: 0; border-top: 1px solid var(--sj-home-line); font-size: var(--font-size-body); }
	.sj-home-page .sj-home-about-copy.e-con { padding: 28px var(--sj-cell-pad) 32px; border-left: 0; border-top: 1px solid var(--sj-home-line); }
	.sj-home-page .sj-home-quotes.e-con { gap: 0; }
	.sj-home-page .sj-home-quote.e-con + .e-con { border-left: 0; border-top: 1px solid var(--sj-home-line); }
	.sj-home-page .sj-home-section .sj-home-quote-text { font-size: 26px; }
	.sj-home-page .sj-home-next-grid > .e-con { padding: 28px var(--sj-cell-pad) 32px; }
	.sj-home-page .sj-home-next-grid > .e-con + .e-con { border-left: 0; border-top: 1px solid var(--sj-home-line); }
	:where(.sj-home-page) .sj-home-next .sj-home-section-title .elementor-heading-title { font-size: 42px; }
	.elementor .sj-pricing-body.e-con { padding: 0; }
	.elementor .sj-pricing-section-heading.e-con { gap: 0; margin-bottom: 0; }
	.sj-pricing-section-heading > .elementor-widget { padding: 28px var(--sj-cell-pad); }
	.sj-pricing-section-heading > .elementor-widget + .elementor-widget { padding-top: 0; border-left: 0; }
	.elementor :is(.sj-pricing-rates, .sj-pricing-retainer, .sj-pricing-principles, .sj-pricing-working).e-con { gap: 0; padding: 0; }
	.elementor :is(.sj-pricing-rate, .sj-pricing-principle).e-con + .e-con { border-left: 0; }
	.elementor :is(.sj-pricing-retainer-copy, .sj-pricing-retainer-figure).e-con { padding: 28px var(--sj-cell-pad); }
	.elementor .sj-pricing-retainer-figure.e-con { border-top: 1px solid var(--sj-pricing-line); }
	.elementor .sj-pricing-faq.e-con { gap: 0; padding: 0; }
	.elementor .sj-pricing-faq-list.e-con { border-left: 0; border-top: 1px solid var(--sj-pricing-line); }
	.elementor .sj-pricing-contact.e-con { padding: 28px var(--sj-cell-pad) 32px; }
}
@media (max-width: 600px) {
	/* Keep the complete story readable without desktop-sized gaps on phones. */
	.sj-home-page { --sj-cell-pad: 20px; }
	.sj-home-page .sj-home-section .elementor-widget-text-editor { line-height: 1.75; }
	.sj-home-page .sj-home-section-heading > .elementor-widget { padding-block: 24px; }
	.sj-home-page .sj-home-section-heading > .elementor-widget + .elementor-widget { padding-top: 0; }
	.sj-home-page :is(.sj-home-check, .sj-home-service, .sj-home-step).e-con { padding-block: 24px; gap: 12px; }
	.sj-home-page .sj-home-step.e-con {
		display: grid;
		grid-template-columns: 36px minmax(0, 1fr);
		align-items: center;
		column-gap: 12px;
	}
	.sj-home-page .sj-home-step > .sj-home-card-copy { grid-column: 1 / -1; }
	.sj-home-page .sj-home-step-number .elementor-heading-title { font-size: 26px; }
	.sj-home-page :is(.sj-home-checks, .sj-home-service-grid, .sj-home-process-grid).e-con { gap: 0; }
	.sj-home-page :is(.sj-home-check, .sj-home-service, .sj-home-step).e-con:nth-child(n) { border: 0; }
	.sj-home-page :is(.sj-home-check, .sj-home-service, .sj-home-step).e-con + .e-con { border-top: 1px solid var(--sj-home-line); }
	.sj-home-page .sj-home-service-title .elementor-heading-title { font-size: 23px; }
}
@media (max-width: 599px) {
	.sj-footer-grid > :nth-child(n) { border-left: 0; }
	.sj-footer-grid > :nth-child(3) { border-left: 1px solid var(--sj-footer-rule); }
	.sj-footer-grid > .sj-footer-connect { border-top: 1px solid var(--sj-footer-rule); }
	.sj-footer-grid > nav { --sj-footer-column-pad: 16px; }
}
/* Mobile rows reach the screen edge; their copy retains one readable gutter. */
@media (max-width: 767px) {
	.sj-about-page, .sj-pricing-page, .sj-blog, .sj-footer { --sj-cell-pad: 20px; }
	.elementor .sj-about-page .sj-about-inner.e-con,
	.elementor .sj-pricing-page .sj-pricing-body.e-con,
	.sj-blog .sj-blog-frame,
	.sj-blog .sj-post-shell,
	.sj-footer .sj-footer-inner {
		width: 100%;
		border-inline: 0;
	}
	.sj-footer .sj-footer-grid { border-inline: 0; }
	.sj-footer .sj-footer-grid > * { --sj-footer-column-pad: 20px; }
	.sj-footer .sj-footer-bottom { padding-inline: 20px; }
	.sj-standard-page .sj-page-body { padding-inline: 20px; }
	.sj-standard-page .sj-page-body::before { border-inline: 0; }
	.sj-page-body .sj-visitor-grid {
		width: calc(100% + 40px);
		max-width: none;
		margin-inline: -20px;
		padding-inline: 0;
	}
	.sj-page-body .sj-visitor-card { padding-inline: 20px; }
}
/* All visible dividers sit on whole tracks of one shared six-column grid. */
@media (min-width: 768px) {
	.sj-home-page .sj-home-section :is(.sj-home-section-heading, .sj-home-story-grid, .sj-home-checks, .sj-home-service-grid, .sj-home-process-grid, .sj-home-about-grid, .sj-home-next-grid).e-con {
		grid-template-columns: var(--sj-grid-six);
	}
	.sj-home-page :is(.sj-home-section-heading, .sj-home-story-grid, .sj-home-checks, .sj-home-process-grid, .sj-home-about-grid, .sj-home-next-grid) > * { grid-column: span 3; }
	.sj-home-page .sj-home-service-grid > * { grid-column: span 2; }
	.sj-home-page :is(.sj-home-check, .sj-home-step).e-con:nth-child(odd) { border-left: 0; }
	.sj-home-page :is(.sj-home-check, .sj-home-step).e-con:nth-child(even) { border-left: 1px solid var(--sj-home-line); }
	.sj-home-page :is(.sj-home-check, .sj-home-step).e-con:nth-child(n + 3) { border-top: 1px solid var(--sj-home-line); }
	.elementor :is(.sj-pricing-section-heading, .sj-pricing-rates, .sj-pricing-retainer, .sj-pricing-principles, .sj-pricing-faq).e-con { grid-template-columns: var(--sj-grid-six); }
	.sj-pricing-page :is(.sj-pricing-section-heading, .sj-pricing-retainer) > * { grid-column: span 3; }
	.sj-pricing-page :is(.sj-pricing-rates, .sj-pricing-principles) > * { grid-column: span 2; }
	.sj-pricing-page .sj-pricing-faq-intro { grid-column: span 2; }
	.sj-pricing-page .sj-pricing-faq-list { grid-column: span 4; }
}
@media (min-width: 768px) and (max-width: 1000px) {
	.sj-home-page .sj-home-service-grid > * { grid-column: span 3; }
}
@media (min-width: 1001px) {
	.elementor .sj-home-intro.e-con,
	.elementor .sj-pricing-hero.e-con { grid-template-columns: var(--sj-grid-six); column-gap: 0; }
	.sj-home-intro > .sj-home-heading { grid-column: span 4; }
	.sj-home-intro > .sj-home-description { grid-column: span 2; }
	.sj-pricing-hero > .sj-pricing-title { grid-column: 1 / span 3; }
	.elementor .sj-pricing-hero-copy.e-con { grid-column: 4 / span 3; }
}
@media (min-width: 67.5001rem) {
	.sj-header-inner { grid-template-columns: var(--sj-grid-six); }
	.sj-header-brand { grid-column: span 1; }
	.sj-header-middle { grid-column: span 4; width: 100%; }
	.sj-header-actions { grid-column: span 1; gap: 8px; padding-right: 16px; }
	.sj-header .sj-header-cta,
	.sj-header button.sj-header-cta:disabled { padding-inline: 20px; }
}
@media (min-width: 67.5001rem) and (max-width: 1200px) {
	.sj-header-actions { gap: 4px; padding-right: 8px; }
	.sj-header .sj-header-cta,
	.sj-header button.sj-header-cta:disabled { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.sj-home-page .sj-home-service.e-con { transition: none; }
	.sj-home-page .sj-home-service.e-con::before { transition: none; }
}
@media (forced-colors: active) {
	.sj-pixel-shadow::after,
	.sj-game::after,
	.sj-primary-menu .sub-menu::after { display: none; }
	.sj-home-page .sj-home-service.e-con::before { background: Highlight; }
}
