/* The inherited transparent/fixed header needs a readable slot over a full-bleed hero.
   The body class is added only to pages containing this hero widget. */
.sync-gd-page .navbar.sticky-menu {
	position: sticky;
	top: 0;
	padding-block: 12px;
	background: #f7f7f4;
}

.sync-gd-section {
	--sync-gd-ink: #000000;
	--sync-gd-charcoal: #111318;
	--sync-gd-paper: #f7f7f4;
	--sync-gd-surface: #ffffff;
	--sync-gd-slate: #526174;
	--sync-gd-mist: #e8ebef;
	--sync-gd-accent: #947eea;
	--sync-gd-accent-mid: #90a1e9;
	--sync-gd-accent-end: #d2f1e1;
	--sync-gd-accent-angle: 105deg;
	--sync-gd-accent-gradient: linear-gradient(var(--sync-gd-accent-angle), var(--sync-gd-accent), var(--sync-gd-accent-mid) 52%, var(--sync-gd-accent-end));
	--sync-gd-heading: Nebulica, sans-serif;
	--sync-gd-body: "JUST Sans", sans-serif;
}

.sync-gd-section,
.sync-gd-section *,
.sync-gd-section *::before,
.sync-gd-section *::after {
	box-sizing: border-box;
}

.sync-gd-section {
	--sync-gd-accent: #947eea;
	position: relative;
	overflow: clip;
	color: var(--sync-gd-ink);
	font-family: var(--sync-gd-body);
	font-size: 18px;
	line-height: 1.65;
}

.sync-gd-shell {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
}

.sync-gd-title {
	max-width: 18ch;
	margin: 0 0 24px;
	color: var(--sync-gd-ink);
	font-family: var(--sync-gd-heading);
	font-size: clamp(40px, 5vw, 72px);
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1.04;
	text-wrap: balance;
}

h2.sync-gd-title {
	font-size: clamp(32px, 4vw, 44px);
}

.sync-gd-copy {
	max-width: 66ch;
	color: var(--sync-gd-slate);
	font-size: 18px;
	line-height: 1.7;
}

.sync-gd-copy > :first-child {
	margin-top: 0;
}

.sync-gd-copy > :last-child {
	margin-bottom: 0;
}

.sync-gd-section-heading {
	max-width: 760px;
	margin-bottom: clamp(44px, 6vw, 76px);
}

.sync-gd-section-heading--wide {
	max-width: 940px;
}

.sync-gd-button {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 52px;
	margin-top: 30px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--sync-gd-ink);
	color: #fff;
	font-family: var(--sync-gd-body);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background-color 220ms ease, color 220ms ease, transform 220ms ease;
}

/* The theme adds a decorative pseudo-element to generic links. Buttons own
   their surface here so no white dot/shine leaks into the left edge. */
.sync-gd-button::before {
	display: none !important;
	content: none !important;
}
.sync-gd-button--with-icon::after {
	display: none !important;
	content: none !important;
}

.sync-gd-button::after,
.sync-gd-service-card__link::after {
	width: 9px;
	height: 9px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: "";
	transform: rotate(45deg);
	transition: transform 220ms ease;
}

.sync-gd-button:hover,
.sync-gd-button:focus-visible {
	background: var(--sync-gd-accent);
	color: var(--sync-gd-ink);
	transform: translateY(-2px);
}

.sync-gd-service-card__link:hover::after,
.sync-gd-service-card__link:focus-visible::after {
	transform: translate(2px, -2px) rotate(45deg);
}

.sync-gd-button:active {
	transform: translateY(0) scale(0.98);
}

.sync-gd-button:focus-visible,
.sync-gd-service-card__link:focus-visible,
.sync-gd-cta__secondary:focus-visible,
.sync-gd-faq-item summary:focus-visible {
	outline: 3px solid var(--sync-gd-accent);
	outline-offset: 4px;
}

/* Studio Poster hero: artwork and content are always vertically stacked. */
.sync-gd-hero {
	display: flex;
	flex-direction: column;
	background: var(--sync-gd-charcoal);
}
.sync-gd-hero--text-first .sync-gd-hero__media { order: 2; }
.sync-gd-hero__content-wrap { padding: 40px 32px 48px; }
.sync-gd-hero__content { position: relative; }
.sync-gd-hero .sync-gd-title {
	max-width: 25ch;
	font-size: clamp(48px, 6.25vw, 96px);
	line-height: 1.05;
	color: #fff;
	text-wrap: balance;
}
.sync-gd-hero__lead {
	margin: 0;
	max-width: 820px;
	color: var(--sync-gd-mist);
	font-size: 26px;
	line-height: 1.5;
}
.sync-gd-hero__rule {
	width: 86px;
	height: 4px;
	margin-bottom: 22px;
	background: var(--sync-gd-accent-gradient);
}
.sync-gd-hero__media {
	position: relative;
	height: 37vh;
	overflow: hidden;
	background: var(--sync-gd-charcoal);
}
.sync-gd-hero__media::after {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
}
.sync-gd-hero__media picture { display: block; width: 100%; height: 100%; }
.sync-gd-hero .sync-gd-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--sync-gd-image-x, 50%) var(--sync-gd-image-y, 50%);
}
.sync-gd-hero .sync-gd-button { margin-top: 24px; gap: 28px; min-height: 58px; font-size: 18px; }
.sync-gd-button--with-icon::after { content: none; }
.sync-gd-button__icon { display: inline-flex; align-items: center; font-size: 18px; }
.sync-gd-align--center .sync-gd-hero :is(.sync-gd-title, .sync-gd-hero__lead, .sync-gd-hero__rule) { margin-inline: auto; }
.sync-gd-align--right .sync-gd-hero :is(.sync-gd-title, .sync-gd-hero__lead, .sync-gd-hero__rule) { margin-left: auto; }
.sync-gd-intro .sync-gd-title { max-width: none; }
.sync-gd-intro .sync-gd-copy { max-width: 880px; }

/* Services */
.sync-gd-services__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-template-areas:
		"lead lead lead second second second"
		"fourth fourth accent accent fifth fifth";
	gap: 16px;
}

.sync-gd-service-card {
	position: relative;
	grid-column: auto;
	min-height: 310px;
	overflow: hidden;
	border: 1px solid rgba(105, 121, 141, 0.14);
	background: var(--sync-gd-paper);
	color: var(--sync-gd-ink);
	transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 280ms ease;
}

.sync-gd-service-card:nth-child(1) { grid-area: lead; min-height: 360px; }
.sync-gd-service-card:nth-child(2) { grid-area: second; }
.sync-gd-service-card:nth-child(3) { grid-area: accent; min-height: 250px; }
.sync-gd-service-card:nth-child(4) { grid-area: fourth; }
.sync-gd-service-card:nth-child(5) { grid-area: fifth; min-height: 250px; }

.sync-gd-services--balanced .sync-gd-services__grid {
	grid-template-areas:
		"lead lead second second accent accent"
		"fourth fourth fifth fifth accent accent";
}
.sync-gd-services--stacked .sync-gd-services__grid {
	grid-template-areas:
		"lead lead lead lead lead lead"
		"second second accent accent fourth fourth"
		"fifth fifth fifth fifth fifth fifth";
}

.sync-gd-service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 60px rgba(17, 19, 24, 0.12);
}

.sync-gd-service-card--dark {
	background: var(--sync-gd-charcoal);
	color: #fff;
}

.sync-gd-service-card--accent {
	background-color: var(--sync-gd-accent);
	background-image: var(--sync-gd-accent-gradient);
	color: var(--sync-gd-ink);
}

.sync-gd-service-card--accent::after {
	position: absolute;
	right: -12%;
	bottom: -42%;
	width: 52%;
	aspect-ratio: 1;
	border: 1px solid rgba(17, 19, 24, 0.22);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.sync-gd-service-card__media {
	height: 190px;
	overflow: hidden;
}

.sync-gd-service-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}

.sync-gd-service-card:hover .sync-gd-service-card__image {
	transform: scale(1.04);
}

.sync-gd-service-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	height: 100%;
	padding: 32px;
}

.sync-gd-service-card__icon {
	display: grid;
	width: 48px;
	height: 48px;
	margin-bottom: 48px;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	color: var(--sync-gd-accent);
	font-size: 20px;
}

.sync-gd-service-card--accent .sync-gd-service-card__icon {
	color: var(--sync-gd-ink);
}

.sync-gd-service-card__title {
	max-width: 18ch;
	margin: 0 0 14px;
	color: inherit;
	font-family: var(--sync-gd-heading);
	font-size: clamp(24px, 2.4vw, 30px);
	font-weight: 900;
	line-height: 1.1;
}

.sync-gd-service-card__copy {
	max-width: 52ch;
	margin: 0;
	color: var(--sync-gd-slate);
	font-size: 16px;
	line-height: 1.65;
}

.sync-gd-service-card--dark .sync-gd-service-card__copy {
	color: #cbd2db;
}

.sync-gd-service-card--accent .sync-gd-service-card__copy {
	color: var(--sync-gd-ink);
}

.sync-gd-service-card__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: auto;
	padding-top: 24px;
	color: inherit;
	font-weight: 600;
	text-underline-offset: 5px;
}

/* Platform matrix */
.sync-gd-platforms__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	align-items: center;
	gap: clamp(48px, 7vw, 96px);
}

.sync-gd-platforms__stage {
	position: relative;
	isolation: isolate;
	min-height: 520px;
	overflow: hidden;
	background: var(--sync-gd-charcoal);
	border: 1px solid rgba(255, 255, 255, 0.09);
	box-shadow: 0 24px 70px rgba(17, 19, 24, 0.14);
}

.sync-gd-platforms__stage::before,
.sync-gd-platforms__stage::after {
	position: absolute;
	top: 50%;
	left: 50%;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 50%;
	content: "";
	transform: translate(-50%, -50%);
}

.sync-gd-platforms__stage::before {
	width: 68%;
	aspect-ratio: 1;
}

.sync-gd-platforms__stage::after {
	width: 40%;
	aspect-ratio: 1;
}

.sync-gd-platforms__core {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	display: grid;
	width: 160px;
	aspect-ratio: 1;
	place-items: center;
	border-radius: 50%;
	background: var(--sync-gd-accent-gradient);
	color: var(--sync-gd-ink);
	text-align: center;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 16px rgba(148, 126, 234, 0.07), 0 20px 55px rgba(0, 0, 0, 0.3);
	animation: sync-gd-core-pulse 6s ease-in-out infinite;
}

@keyframes sync-gd-core-pulse {
	0%, 100% { box-shadow: 0 0 0 16px rgba(148, 126, 234, 0.07), 0 20px 55px rgba(0, 0, 0, 0.3); }
	50% { box-shadow: 0 0 0 26px rgba(148, 126, 234, 0.11), 0 26px 65px rgba(0, 0, 0, 0.34); }
}

.sync-gd-platforms__core span {
	font-size: 13px;
}

.sync-gd-platforms__core strong {
	max-width: 10ch;
	font-family: var(--sync-gd-heading);
	font-size: 16px;
	line-height: 1.1;
}

.sync-gd-platform {
	position: absolute;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 10px;
	width: max-content;
	max-width: 220px;
	padding: 12px 16px;
	border-radius: 999px;
	background: #fff;
	color: var(--sync-gd-ink);
	box-shadow: 0 14px 38px rgba(0, 0, 0, 0.2);
	transition: transform 220ms ease, background-color 220ms ease, color 220ms ease;
}

.sync-gd-platform:nth-child(1) { top: 9%; left: 36%; }
.sync-gd-platform:nth-child(2) { top: 26%; right: 5%; }
.sync-gd-platform:nth-child(3) { top: 53%; right: 2%; }
.sync-gd-platform:nth-child(4) { right: 13%; bottom: 8%; }
.sync-gd-platform:nth-child(5) { bottom: 9%; left: 12%; }
.sync-gd-platform:nth-child(6) { top: 51%; left: 3%; }
.sync-gd-platform:nth-child(7) { top: 23%; left: 5%; }

.sync-gd-platform:hover {
	background: var(--sync-gd-accent-gradient);
	color: var(--sync-gd-ink);
	transform: translateY(-3px) scale(1.025);
}

.sync-gd-platform__icon {
	display: inline-flex;
	flex: 0 0 auto;
}

.sync-gd-platform__label {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
}

.sync-gd-platform small {
	display: block;
	color: inherit;
	opacity: 0.7;
}

.sync-gd-platforms--grid .sync-gd-platforms__stage,
.sync-gd-platforms--list .sync-gd-platforms__stage {
	display: flex;
	align-items: center;
}

.sync-gd-platforms--grid .sync-gd-platforms__stage::before,
.sync-gd-platforms--grid .sync-gd-platforms__stage::after,
.sync-gd-platforms--grid .sync-gd-platforms__core,
.sync-gd-platforms--list .sync-gd-platforms__stage::before,
.sync-gd-platforms--list .sync-gd-platforms__stage::after,
.sync-gd-platforms--list .sync-gd-platforms__core {
	display: none;
}

.sync-gd-platforms--grid .sync-gd-platforms__items {
	display: grid;
	width: 100%;
	padding: 40px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.sync-gd-platforms--grid .sync-gd-platform,
.sync-gd-platforms--list .sync-gd-platform {
	position: static;
	width: 100%;
	max-width: none;
	border-radius: 12px;
}

.sync-gd-platforms--list .sync-gd-platforms__items {
	display: flex;
	width: 100%;
	padding: 40px;
	flex-direction: column;
	gap: 12px;
}

/* Engines */
.sync-gd-engines {
	background: var(--sync-gd-paper);
}

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

.sync-gd-engine {
	position: relative;
	min-height: 460px;
	padding: 48px;
	border: 1px solid rgba(105, 121, 141, 0.16);
	background: #fff;
	transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 360ms ease, border-color 360ms ease;
}

.sync-gd-engine:hover {
	transform: translateY(-5px);
}

.sync-gd-engine--dark {
	background: var(--sync-gd-charcoal);
	color: #fff;
}

.sync-gd-engine__icon {
	display: grid;
	width: 72px;
	height: 72px;
	margin-bottom: 64px;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	color: var(--sync-gd-accent);
	font-size: 28px;
}

.sync-gd-engine__title {
	max-width: 16ch;
	margin: 0 0 18px;
	color: inherit;
	font-family: var(--sync-gd-heading);
	font-size: clamp(26px, 3.4vw, 34px);
	font-weight: 900;
	line-height: 1.08;
}

.sync-gd-engine > p {
	max-width: 54ch;
	margin: 0;
	color: var(--sync-gd-slate);
}

.sync-gd-engine--dark > p {
	color: #cbd2db;
}

.sync-gd-engine__fit {
	display: grid;
	margin-top: 42px;
	padding-top: 20px;
	border-top: 1px solid currentColor;
	gap: 6px;
}

.sync-gd-engine__fit span {
	color: var(--sync-gd-slate);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sync-gd-engine--dark .sync-gd-engine__fit span {
	color: #cbd2db;
}

.sync-gd-engine__fit strong {
	font-weight: 600;
}

.sync-gd-engines__closing {
	margin: 34px auto 0;
	text-align: center;
}

/* Advantages */
.sync-gd-advantages__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	align-items: start;
	gap: clamp(52px, 8vw, 120px);
}

.sync-gd-advantages__intro {
	position: sticky;
	top: 120px;
}

.sync-gd-advantages__list {
	border-top: 1px solid var(--sync-gd-mist);
}

.sync-gd-advantage {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 24px;
	padding-block: 36px;
	border-bottom: 1px solid var(--sync-gd-mist);
}

.sync-gd-advantage__icon {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	color: var(--sync-gd-accent);
}

.sync-gd-advantage__title {
	margin: 0 0 10px;
	color: var(--sync-gd-ink);
	font-family: var(--sync-gd-heading);
	font-size: clamp(22px, 2.4vw, 26px);
	font-weight: 900;
	line-height: 1.12;
}

.sync-gd-advantage p {
	margin: 0;
}

/* Process */
.sync-gd-process {
	background: var(--sync-gd-paper);
}

.sync-gd-process__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
	align-items: start;
	gap: clamp(42px, 6vw, 88px);
}

.sync-gd-process__media {
	position: sticky;
	top: 100px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 28px 70px rgba(17, 19, 24, 0.12);
}

.sync-gd-process__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.sync-gd-process__steps {
	--sync-gd-line: var(--sync-gd-accent);
	position: relative;
	display: grid;
	margin: 0;
	padding: 0 0 0 28px;
	list-style: none;
	gap: 18px;
}

.sync-gd-process__steps::before {
	position: absolute;
	top: 22px;
	bottom: 22px;
	left: 7px;
	width: 2px;
	background: linear-gradient(var(--sync-gd-line), rgba(148, 126, 234, 0.12));
	content: "";
}

.sync-gd-process-step {
	position: relative;
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 22px;
	padding: 28px;
	border: 1px solid rgba(105, 121, 141, 0.14);
	border-radius: 16px;
	background: #fff;
	transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 360ms ease, border-color 360ms ease;
}

.sync-gd-process-step::before {
	position: absolute;
	top: 38px;
	left: -27px;
	width: 12px;
	height: 12px;
	border: 3px solid var(--sync-gd-paper);
	border-radius: 50%;
	background: var(--sync-gd-line);
	content: "";
}

.sync-gd-process-step__marker {
	display: grid;
	align-content: start;
	justify-items: start;
	gap: 12px;
	color: var(--sync-gd-accent);
}

.sync-gd-process-step__marker span {
	font-family: var(--sync-gd-heading);
	font-size: 16px;
	font-weight: 900;
}

.sync-gd-process-step__marker i {
	font-size: 22px;
}

.sync-gd-process-step__title {
	margin: 0 0 8px;
	font-family: var(--sync-gd-heading);
	font-size: clamp(21px, 2.2vw, 25px);
	font-weight: 900;
	line-height: 1.12;
}

.sync-gd-process-step p {
	margin: 0;
}

/* FAQ */
.sync-gd-faq__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	align-items: start;
	gap: clamp(48px, 8vw, 116px);
}

.sync-gd-faq__intro {
	position: sticky;
	top: 120px;
}

.sync-gd-faq__items {
	display: grid;
	gap: 12px;
}

.sync-gd-faq-item {
	overflow: hidden;
	border: 1px solid var(--sync-gd-mist);
	background: var(--sync-gd-paper);
	transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 360ms ease, border-color 360ms ease;
}

.sync-gd-faq-item summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 24px;
	align-items: center;
	gap: 20px;
	padding: 24px;
	color: var(--sync-gd-ink);
	cursor: pointer;
	font-family: var(--sync-gd-heading);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.2;
	list-style: none;
}

.sync-gd-faq-item summary::-webkit-details-marker {
	display: none;
}

.sync-gd-faq-item summary i {
	position: relative;
	width: 20px;
	height: 20px;
}

.sync-gd-faq-item summary i::before,
.sync-gd-faq-item summary i::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	background: var(--sync-gd-accent);
	content: "";
	transform: translate(-50%, -50%);
	transition: transform 220ms ease;
}

.sync-gd-faq-item summary i::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.sync-gd-faq-item[open] summary i::after {
	transform: translate(-50%, -50%) rotate(0);
}

.sync-gd-faq-item__answer {
	padding: 0 24px 24px;
	color: var(--sync-gd-slate);
}

.sync-gd-faq-item__answer > :first-child {
	margin-top: 0;
}

.sync-gd-faq-item__answer > :last-child {
	margin-bottom: 0;
}

/* CTA */
.sync-gd-cta__panel {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 72px;
	border-radius: 24px;
	background: var(--sync-gd-charcoal);
	color: #fff;
}

.sync-gd-cta__panel::after {
	position: absolute;
	z-index: -1;
	top: -54%;
	right: -13%;
	width: 54%;
	aspect-ratio: 1;
	border: 2px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	content: "";
	box-shadow: 0 0 0 46px rgba(255, 255, 255, 0.035), 0 0 0 92px rgba(255, 255, 255, 0.02);
}

.sync-gd-cta__signal {
	position: absolute;
	z-index: -1;
	right: 8%;
	bottom: 16%;
	width: 18%;
	height: 3px;
	background: var(--sync-gd-accent);
	box-shadow: 32px -32px 0 var(--sync-gd-accent), 64px -64px 0 var(--sync-gd-accent);
	transform: rotate(-34deg);
}

.sync-gd-cta__content {
	max-width: 760px;
}

.sync-gd-cta__subtitle {
	max-width: 54ch;
	margin: 0 0 18px;
	color: var(--sync-gd-accent);
	font-size: 16px;
	font-weight: 700;
}

.sync-gd-cta__panel .sync-gd-title {
	max-width: 15ch;
	color: #fff;
}

.sync-gd-cta__panel .sync-gd-copy {
	color: #d4dae2;
}

.sync-gd-cta__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
}

.sync-gd-button--accent {
	background: var(--sync-gd-accent);
}

.sync-gd-button--accent:hover,
.sync-gd-button--accent:focus-visible {
	background: #fff;
	color: var(--sync-gd-ink);
}

.sync-gd-cta__secondary {
	margin-top: 30px;
	color: #fff;
	font-weight: 600;
	text-underline-offset: 5px;
}

/* Sections remain visible if JavaScript is unavailable. Once the motion
   script opts in, off-screen sections fade and rise into place at a calm pace. */
.sync-gd-motion-ready .sync-gd-section[data-sync-reveal="section"] {
	opacity: 0;
	transform: translateY(24px);
}
.sync-gd-section[data-sync-reveal="section"].sync-gd-enter {
	animation: sync-gd-section-fade 1100ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes sync-gd-section-fade {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: translateY(0); }
}
.sync-gd-section ::selection { background: var(--sync-gd-accent-end); color: var(--sync-gd-ink); }

/* Prevent the theme's global paragraph rules from ignoring editor controls. */
.sync-gd-section .sync-gd-copy :where(p, li) {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}
.sync-gd-section .sync-gd-copy :where(p, li),
.sync-gd-section .sync-gd-faq-item__answer {
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}
.sync-gd-section svg { display: inline-block; width: 1em; height: 1em; fill: currentColor; flex-shrink: 0; }
.sync-gd-section .sync-gd-advantage__icon { font-size: 22px; }
.sync-gd-section .sync-gd-process-step__marker svg { font-size: 22px; }
/* Scannable body copy does not require a narrower 10px-era measure. */
.sync-gd-service-card__copy { max-width: 56ch; }
.sync-gd-service-card__body { min-height: 100%; height: auto; }

/* Every informational card gets the same calm lift, whether or not it has a link. */
@media (hover: hover) {
	.sync-gd-service-card:hover,
	.sync-gd-engine:hover,
	.sync-gd-process-step:hover,
	.sync-gd-faq-item:hover {
		border-color: rgba(148, 126, 234, 0.42);
		box-shadow: 0 20px 48px rgba(17, 19, 24, 0.14);
		transform: translateY(-6px);
	}
	.sync-gd-platform:hover {
		box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
	}
}

@media (max-width: 1024px) {
	.sync-gd-platforms__layout,
	.sync-gd-advantages__layout,
	.sync-gd-process__layout,
	.sync-gd-faq__layout {
		grid-template-columns: 1fr;
	}



	.sync-gd-hero__media { height: 28vh; }
	.sync-gd-hero .sync-gd-title { font-size: clamp(42px, 6vw, 64px); }

	.sync-gd-services__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-areas: "lead lead second second" "accent accent accent accent" "fourth fourth fifth fifth"; }
	.sync-gd-service-card,
	.sync-gd-service-card:nth-child(n) { grid-column: auto; }

	.sync-gd-platforms__content {
		max-width: 760px;
	}

	.sync-gd-advantages__intro,
	.sync-gd-process__media,
	.sync-gd-faq__intro {
		position: static;
	}

	.sync-gd-process__media {
		max-width: 680px;
	}
}

@media (max-width: 767px) {
	.sync-gd-section {
		font-size: 16px;
	}

	.sync-gd-title {
		font-size: clamp(32px, 8.5vw, 40px);
		letter-spacing: -0.02em;
	}

	h2.sync-gd-title {
		font-size: clamp(30px, 8vw, 36px);
	}

	.sync-gd-hero__media { height: 190px; }
	.sync-gd-hero .sync-gd-title { font-size: clamp(30px, 8.3vw, 38px); }
	.sync-gd-hero__lead, .sync-gd-copy { font-size: 17px; }
	.sync-gd-hero__content-wrap { padding: 28px 20px 36px; }
	.sync-gd-hero__rule { width: 64px; height: 3px; margin-bottom: 18px; }
	.sync-gd-hero .sync-gd-button { width: auto; min-width: 220px; min-height: 52px; font-size: 16px; }

	.sync-gd-services__grid { grid-template-columns: 1fr; grid-template-areas: "lead" "second" "accent" "fourth" "fifth"; }
	.sync-gd-service-card,
	.sync-gd-service-card:nth-child(n) { grid-column: auto; min-height: 300px; }

	.sync-gd-service-card__icon {
		margin-bottom: 34px;
	}

	.sync-gd-platforms__stage {
		display: block;
		min-height: auto;
		padding: 20px;
	}

	.sync-gd-platforms__stage::before,
	.sync-gd-platforms__stage::after,
	.sync-gd-platforms__core {
		display: none;
	}

	.sync-gd-platforms__items,
	.sync-gd-platforms--grid .sync-gd-platforms__items,
	.sync-gd-platforms--list .sync-gd-platforms__items {
		position: static;
		display: grid;
		width: 100%;
		padding: 0;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.sync-gd-platform,
	.sync-gd-platform:nth-child(n),
	.sync-gd-platforms--grid .sync-gd-platform,
	.sync-gd-platforms--list .sync-gd-platform {
		position: static;
		width: 100%;
		max-width: none;
		border-radius: 12px;
	}

	.sync-gd-engines__grid {
		grid-template-columns: 1fr;
	}

	.sync-gd-engine {
		min-height: auto;
	}

	.sync-gd-engine__icon {
		margin-bottom: 44px;
	}

	.sync-gd-advantage {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 18px;
	}

	.sync-gd-process__steps {
		padding-left: 18px;
	}

	.sync-gd-process__steps::before {
		left: 2px;
	}

	.sync-gd-process-step {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.sync-gd-process-step::before {
		left: -21px;
	}

	.sync-gd-process-step__marker {
		display: flex;
		align-items: center;
	}

	.sync-gd-cta__panel {
		padding: 40px 24px;
	}

	.sync-gd-cta__panel::after {
		top: auto;
		right: -34%;
		bottom: -20%;
		width: 82%;
	}

	.sync-gd-cta__actions {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
	}

	.sync-gd-button,
	.sync-gd-cta__secondary {
		width: 100%;
		text-align: center;
	}

	.sync-gd-platforms__stage { box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
	.sync-gd-section *,
	.sync-gd-section *::before,
	.sync-gd-section *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.sync-gd-motion-ready .sync-gd-section[data-sync-reveal="section"] {
		opacity: 1;
		transform: none;
	}
	.sync-gd-platforms__core { animation: none; }
}

/* Platform Deck: a calmer, editorial alternative to the orbit diagram. */
.sync-gd-platforms--deck .sync-gd-platforms__stage {
	display: block;
	padding: 32px;
	background: var(--sync-gd-charcoal);
}

.sync-gd-platforms--deck .sync-gd-platforms__stage::before,
.sync-gd-platforms--deck .sync-gd-platforms__stage::after {
	display: none;
}

.sync-gd-platforms--deck .sync-gd-platforms__core {
	position: relative;
	top: auto;
	left: auto;
	display: flex;
	width: auto;
	min-height: 0;
	aspect-ratio: auto;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	padding: 0 0 22px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 0;
	background: transparent;
	color: #fff;
	text-align: left;
	transform: none;
	box-shadow: none;
	animation: none;
}

.sync-gd-platforms--deck .sync-gd-platforms__core span {
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--sync-gd-accent-gradient);
	box-shadow: 0 0 0 8px rgba(148, 126, 234, 0.12);
	font-size: 0;
}

.sync-gd-platforms--deck .sync-gd-platforms__core strong {
	max-width: none;
	color: #fff;
	font-size: clamp(20px, 2.2vw, 28px);
	line-height: 1.1;
}

.sync-gd-platforms--deck .sync-gd-platforms__items {
	position: static;
	display: grid;
	width: 100%;
	margin-top: 18px;
	padding: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.sync-gd-platforms--deck .sync-gd-platform {
	position: static;
	display: grid;
	width: 100%;
	max-width: none;
	min-height: 118px;
	grid-template-columns: 32px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	padding: 18px;
	border: 1px solid rgba(148, 126, 234, 0.22);
	border-radius: 14px;
	box-shadow: none;
	transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1), background 360ms ease, border-color 360ms ease, box-shadow 360ms ease;
}

.sync-gd-platforms--deck .sync-gd-platform__icon {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 10px;
	color: var(--sync-gd-accent);
}

.sync-gd-platforms--deck .sync-gd-platform__label {
	align-self: center;
	font-size: 15px;
	line-height: 1.25;
}

.sync-gd-platforms--deck .sync-gd-platform small {
	grid-column: 2;
	margin-top: -4px;
	font-size: 12px;
}

/* Keep icon buttons single-source: the editor-selected icon is the only mark. */
.sync-gd-section .sync-gd-button.sync-gd-button--with-icon::after {
	display: none !important;
	content: none !important;
}

@media (hover: hover) {
	.sync-gd-platforms--deck .sync-gd-platform:hover {
		border-color: rgba(148, 126, 234, 0.62);
		background: var(--sync-gd-accent-gradient);
		box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
		transform: translateY(-5px);
	}
}

@media (max-width: 767px) {
	.sync-gd-platforms--deck .sync-gd-platforms__stage {
		padding: 20px;
	}

	.sync-gd-platforms--deck .sync-gd-platforms__core {
		padding-bottom: 16px;
	}

	.sync-gd-platforms--deck .sync-gd-platforms__items {
		grid-template-columns: 1fr;
	}

	.sync-gd-platforms--deck .sync-gd-platform {
		min-height: 96px;
		padding: 16px;
	}
}
